Screenshot with a caption goes to Telegram, an agent compiles the round, one command hands it to the coding agent. I'm the bridge on purpose.
Started from a real annoyance: testing a freshly launched site across desktop and mobile while dumping screenshots into Apple Notes. The session was a design conversation, not a code-writing one — the output was a set of behaviours and constraints, which only later became packages. The useful moves were mostly subtractive. Screenshot-with-caption instead of screenshot-then-note, because pairing them later is where these systems break. A tag taxonomy sorted by what the fix is rather than what the symptom looks like, which is what stops a conditional-render bug getting filed as a copy tweak. Two output formats aimed at two different readers instead of one format compromising for both. And a hard scope on where the capture agent may write, so an agent with shell access never gets loose in the source tree. The decision I keep coming back to is the one to not automate the handoff. It would have been easy to have the implementation agent watch the folder and start work when a round lands. Deliberately didn't. The gap between capture and implementation is the review gate, and closing it would have removed the only place a human looks at the whole round before code changes. What the later /feedback round command changed was the cost of crossing that gap, not the fact of it — one keystroke instead of a typed paragraph, still a keystroke. The generalization step was the surprise. Once the thing worked for one site, almost everything project-specific turned out to be a parameter — root path, site name, whether a coding-agent inbox exists at all. What was left was a skill anyone can install.
Nearly shipped PDF as the format handed to the implementation agent. It seemed obviously right — one file, images embedded, nothing to lose track of. Wrong reader. PDF is self-contained for a human on a phone, but it flattens the screenshots into a document the coding agent has to work harder to use, when that agent reads image files natively and benefits from having them as separate addressable files next to a Markdown report. The fix was to stop looking for one format and generate both, aimed at different readers. The cheaper lesson underneath: the moment a deliverable has two audiences, check whether it actually has two deliverables.
Design-first, artifact-second. The session spent most of its length on how the system should behave before any prompt text was written, and the prompts fell out of the design almost mechanically once the constraints were settled. Two prompting habits did most of the work. First, closing off over-engineering explicitly — the capture agent's setup prompt ends with a line telling it to build no dashboards and no databases, because agents handed an open-ended "build me a system" brief reliably invent infrastructure the problem doesn't need. Filesystem and Markdown was the whole system. Second, requiring a plan back before the first destructive action, so the first write into a live project directory got one human look. The brief for the implementation agent started as standing context rather than an instruction — it explained where feedback comes from and how a round gets worked, and did nothing until asked. That framing is what made it straightforward to turn into a command later: the behaviour was already specified, it just needed a trigger.