pack context into the issue, not the prompt.
the issue file IS the agent prompt. it took me a while to stop treating them as separate. now i write issues like i'm packing a lunchbox for an agent.
Early mistake: I'd write a Linear issue in natural language ("add caching to the API layer"), then when I handed it to an agent I'd paste a bunch of context into the prompt: what files to look at, what the existing pattern is, what I wanted the output to look like.
The issue and the prompt were two separate documents with different audiences. The issue was for me to remember what I meant. The prompt was for the agent to do the work.
This is the wrong mental model.
The issue should be written for the agent. Every piece of context an agent needs to start immediately and work to completion should be in the issue: file paths, existing patterns, constraints, acceptance criteria, what "done" looks like. The issue body is the prompt. When an agent picks it up, it should be able to read the issue and start without any additional message from me.
The lunchbox metaphor works because: you pack it the night before, you don't repack it in the morning. The context goes in at issue-writing time, not at task-assignment time. If I find myself adding context at assignment time, that's a signal the issue wasn't written well enough.
Side effect: my issues got longer. My prompts got shorter. My agents got better results.