You open the chat. You paste the project summary you keep in a note. You paste the error from the terminal. The agent answers. You copy its command back into the terminal. It fails. You paste the new error. You remind it that you decided not to use that library yesterday. You approve. You update your task list by hand.
At some point you notice: the agent is writing the code, and you are doing everything around it.
This is the first post in the series Working for the AI — about the quiet role swap where a solo developer becomes the assistant of their own tool.
How the roles flip
AI agents are great at one thing: turning clear context into work. They are bad at holding context over days, across sessions, across projects. Something has to hold it.
If you don’t design where that context lives, it defaults to you. And then you become:
- The clipboard — carrying errors, logs and file contents between windows.
- The historian — retelling what was tried yesterday and why it didn’t work.
- The secretary — updating the task board after every session.
- The router — remembering which chat had which task, on which machine.
None of those jobs need your judgment. They just need someone to remember. That’s the trap.
The test: does this chore need me?
Look at the last hour of work and sort each thing you did into two piles:
| Needs your judgment | Just needs memory |
|---|---|
| Deciding what to build next | Re-explaining the project |
| Reviewing a diff | Pasting the same context again |
| Choosing between two approaches | Finding which chat had the fix |
| Deciding to release | Updating the tracker by hand |
The left column is your job. The right column is a symptom: some state lives only in your head, so you have to move it by hand.
Put the context where the agent can read it
The fix is not a smarter prompt. It’s moving memory out of you and into files the agent reads on its own — the idea behind memory lives in files.
For each task, keep a small record in the repo:
{
"name": "Tip Split — store listing",
"phase": "4/6",
"next": "write captions for 3 screenshots",
"notes": "Decided: no dark-mode screenshots in v1."
}
Start every session with “read the state file, then continue the next step”. At the end, ask the agent to update the same file. Now the next session starts where this one ended — and you didn’t carry anything.
Hand back one chore a week
Don’t rebuild your workflow in a day. Take the most annoying chore from the right-hand column and remove it:
- Re-explaining → a state file per project.
- Hunting sessions → write the session id next to the task.
- Updating a board → let the agent write the status; read it instead of typing it.
- Pasting errors → let the agent run the command and read the output itself.
Each one you remove is time back for the left column — the part only you can do. The end-to-end workflow shows where each of these fits.
Why this also fixes the busy-but-nothing-shipped feeling
Most of the chores in the right-hand column feel like work. They fill the day without moving a task forward — the exact pattern in busy all day, nothing shipped. Remove them and what remains is mostly decisions, reviews and releases: the things that change state.
Where ShotMatic fits
ShotMatic keeps the session id next to each task, so ✦ resumes the exact Claude session — or starts a new one
with the task’s context already written from progress.json. Your agent keeps the file up to date; ShotMatic
reads it. You stop being the clipboard.
