make it look cooler and add more stuff
No role, no context, no limits. Codex will guess, and its guesses come from everyone else's work.
How to set up Codex, how to work with it without giving up authorship, and twenty prompts for the month, from the first question to the final file.
Codex is a coding agent. It reads the files in your project folder, proposes changes, writes code and runs commands, asking for your approval as it goes. It is not an image generator, and it is not the author.
Across the month you'll ask it to play five roles, one at a time. Naming the role in your prompt keeps it from drifting into the others.
Questions the identity and offers computational metaphors. No code.
Finds the algorithms, artists and data behind a metaphor.
Plans the architecture, then writes code one step at a time.
Judges the outputs against the manifesto, without rewriting the voice.
Prepares files for the plotter, the resin printer or the archival printer.
Day 1, after you've set up GitHub and created your repository (Repository, part 01). About twenty minutes. If a step fails, stop and ask; don't work around it.
Terminal on a Mac, or the terminal inside VS Code. If you've never used one, that's fine; you'll only need a few commands.
This needs Node.js. If the command isn't found, ask before installing anything else.
npm install -g @openai/codexAlways start Codex from inside your project, so it works on your files and nothing else.
cd ~/Documents/your-project
codexUse the account the studio gives you, not a personal one. Never paste a password or key into a prompt.
This checks that it can see your folder, and that you can read what it says.
Read this folder and tell me, in plain language, what is in it. Don't change anything.Git is your undo button. Commit before every change you ask Codex for, so you can always go back, and push to GitHub at the end of every day.
git add -A
git commit -m "start"
git pushIf you prefer working in an editor, Codex is also available as a VS Code extension, using the same account. Keep approvals on, so Codex asks before it edits files or runs commands, until you're confident reading its changes. Your project's AGENTS.md tells Codex about you and your identity; section 09 of the handbook covers it.
Codex is fast and fluent, which is exactly why authorship needs rules. These hold all month.
A good prompt has five parts. Point at your files rather than retyping them: Codex can read identity.md, manifesto.md and your code.
Which of the five roles it's playing.
The files to read and what they are.
One thing. Not three.
What it must not do or change.
How you'll both know it worked.
make it look cooler and add more stuff
No role, no context, no limits. Codex will guess, and its guesses come from everyone else's work.
You're my collaborator. Read manifesto.md and src/draw.js. Rule 2 says absence is drawn heavier than presence, but line weight is currently fixed. Change only the line-weight calculation so it follows the deficit column in data/rain.csv. Don't touch the grid or the export. When you're done, render seed 41822 and tell me the thinnest and thickest weights.
Names the role, the files, the rule it serves, the one change, what to leave alone, and a check.
Twenty prompts, in the order you'll need them. Replace anything in [brackets], and add your own limits.
Read this folder and tell me, in plain language, what is in it and what each file is for. Then list anything that looks missing for a generative art project. Don't change anything.
Watch for: any edits. This prompt should change nothing.
Explain what [file] does, section by section, as if to an artist who has never coded. Use the names in the code. Then ask me three questions to check that I understood it.
Watch for: answering its questions honestly. If you can't, ask again before you move on.
Something broke after your last change. Show me exactly what changed since my last commit, in plain language, and tell me how to return to that commit. Don't run anything until I say yes.
Watch for: it trying to "fix forward" with more changes. Going back is usually faster.
You're an interlocutor. Read identity.md. Interview this identity as a sceptical journalist who knows its field. Ask one hard question at a time and wait for my answer. Don't suggest answers, and don't make the identity more likeable.
Watch for: questions you can't answer. They point to tomorrow's research.
You're an interlocutor. Read identity.md, especially the condition, the position, the beliefs and the rules. Don't write code. Propose five computational metaphors for how this identity might make work. For each: the process, what in the condition it stands for, and one way it could fail to carry the identity's position. Then ask me two questions that would sharpen them.
Watch for: metaphors that fit any identity. Record what it got wrong in your metaphor log.
You're an interlocutor. Read manifesto.md. Don't rewrite it. Tell me which sentence is the most generic, which claim is least supported by identity.md, and which line someone could reasonably disagree with. Then stop.
Watch for: offers to "improve" the text. Decline; the words stay yours.
You're a researcher. My identity works on [condition]. Where could I find real, public data or archives about it? For each source: what it contains, who publishes it, and a link. Mark clearly anything you're not certain exists.
Watch for: invented sources. Open every link before it goes in references.md.
You're a researcher. My metaphor is: [metaphor]. What algorithms or techniques could realise it? For each one: a plain explanation, one artist or artwork known for it, and how hard it is for a beginner. No code yet.
Watch for: artists it names. Check that the work exists and is what it says.
You're my collaborator. Read identity.md, manifesto.md and system.md. Before writing any code, propose an architecture: the files and what each is for; every parameter in one config with a default and range; one seeded random generator for every random choice; an export that names each file by its seed and parameters. Show how each of my rules maps to the code. Wait for my go-ahead.
Watch for: more files than you can read. Ask for it smaller.
Implement only step [n] of the plan we agreed. Keep every value that might change in the config. When you're done, show me what changed and explain it in plain language. Don't start the next step.
Watch for: it doing two steps at once. Commit after each step.
Make every random choice in the system come from one seeded random generator. Put the seed and the key parameters in each output's filename. Then prove it: render seed [n] twice and confirm the two files are identical.
Watch for: hidden randomness, such as a library call that uses its own random source.
Add a way to render twenty outputs in one run, with seeds [1–20] or a list I give you, into outputs/digital. Write a contact sheet image showing all twenty with their seeds underneath. Don't change how a single output is drawn.
Watch for: the contact sheet. It's the fastest way to see the system's range.
Here is the error I get: [paste the error] Explain what it means in plain words and where it comes from in my code. Then propose the smallest fix. Don't change anything else.
Watch for: large rewrites in answer to small errors. Say no and ask again.
You're a critic, not a collaborator. Read manifesto.md and system.md, and look at the contact sheet in outputs/digital. Which outputs carry the manifesto most clearly, and which least, and why? Which rule does the most work, and which could go? Don't suggest new features. Don't rewrite my voice.
Watch for: praise. Ask what's weakest if it only tells you what's good.
You're a critic. My system uses [technique]. Compare my outputs with what that technique typically produces in tutorials and well-known examples. What in mine is the default look of the technique, and what belongs to the identity? Be specific.
Watch for: the parts it calls default. That's where your next rule is needed.
You're a fabricator. Prepare seed [n] for an A2 pen plotter (420 × 594 mm, units in mm). Strokes only, no fills. Remove duplicate and overlapping lines, merge paths that touch, and order paths to reduce pen travel. Report the number of paths and the total drawing length. Don't change the composition.
Watch for: lines that vanish in optimisation. Compare before and after side by side.
You're a fabricator. Export seed [n] as a watertight STL in millimetres, no larger than [size]. Every wall at least [thickness] mm thick. Check for holes and non-manifold edges and report them. Report the final dimensions and volume.
Watch for: walls that are too thin to print. Check in the slicer too.
You're a fabricator. Render seed [n] at its final print size of [size] at 300 PPI, as a TIFF with an embedded colour profile. Render it at full resolution from the system; don't upscale a smaller image. Report the pixel dimensions and file size.
Watch for: upscaling. Thin lines and text show it first.
Read my code, system.md and log.md. Suggest an outline for process.md: headings only, in the order a visitor would need them to understand how the system works. Don't write the text; I'll write it.
Watch for: it filling the headings with prose. Delete it and write your own.
Check my repo for the final submission. It needs: README with parameter table, identity.md, manifesto.md, references.md, system.md, process.md, log.md, the authorship log, outputs/digital with twenty outputs, and photographs of the final work. List what's missing or incomplete. Don't write anything for me.
Watch for: nothing. This is a checklist, not a collaborator.
Keep authorship.md next to log.md. Add an entry whenever Codex suggests something that matters, especially when you say no.
# Authorship log ## Day 09 · Thu 3 Dec **Codex suggested:** **I kept:** **I rejected, and why:** **What this says about the identity:**
The last line matters most. A good rejection says something about the identity that the work then has to honour.