Convert a Conversation to a Prompt — the Full Anatomy
What a converged conversation contains: a rejected voice, an accepted framing, a hard constraint, a format decision, and a final-version moment — each mapped to its prompt section.
A converged email thread becomes a standing asset: the usage-anchored subject pattern, the value-before-discount rule, the five-sentence cap — extracted, not retyped.
Extraction is the difference between solving a task once and owning the solution. A renewal-email thread that converged on a usage-anchored subject line, a value-recap-first rule, and a five-sentence cap contains a reusable asset — but only if it leaves the thread. The package extracts it: the salesy rejection travels as AVOID, the "use this style for all the renewal emails" declaration becomes a standing rule, and the result is a prompt the whole recurring task runs on. This setup loads exactly that thread.
Find the declaration
"Use this style for all the renewal emails" — the conversation itself declares the asset.
Extract, don't retype
The rules travel verbatim from the thread; memory adds nothing and loses plenty.
Run the task on it
The recurring task now starts from the extracted prompt — iteration paid once.
The later instruction wins. The REQUIREMENTS block is labeled 'later items override earlier ones where they conflict', so 'Keep the usage-anchored subject pattern' outranks anything earlier that clashes with it, mirroring how the thread actually resolved. If two lines still read as genuinely ambiguous, the QUALITY BAR tells the model to say so and ask rather than silently pick one reading.
The rejected phrasing travels as an AVOID entry — 'Too salesy — that subject line reads like spam.' — carried verbatim so the model treats it as a path already walked back, not fresh territory. It sits separately from REQUIREMENTS, so the walked-back direction is named explicitly instead of being silently absent, which is what lets the model avoid rediscovering it.
Yes — that declaration was captured as an Accepted preference, not a Standing rule. The PRESERVED REQUIREMENTS tally reads 'Corrections carried: 2 · Accepted preferences: 2 · Standing rules: 0', and 'That works. Use this style for all the renewal emails.' lives in the QUALITY BAR as the accepted reaction. Because signals are extracted verbatim and deduplicated, read the prompt once before trusting it on a real run.
What a converged conversation contains: a rejected voice, an accepted framing, a hard constraint, a format decision, and a final-version moment — each mapped to its prompt section.
The result you finally liked lives inside the chat. Distill the iterations into one prompt: corrections become requirements, the accepted version becomes the quality bar.
In feedback threads the rejections carry the knowledge: the mocking empty-state enthusiasm, the passive phrasing — converted into the avoid-rules that define the style.
End a working session like a shift change, not an abandonment: state captured, decisions logged, next step named — ready for the next session to pick up.
Turns a reusable API request prompt into a clean variable set covering endpoint, method, auth, payload, response format, and error handling.
A reusable AI agent task template with variables for objective, context, available tools, constraints, success criteria, failure handling, and output format.
Distill an iterated conversation into one reusable prompt — corrections become requirements, rejections become an avoid-list.
Carry a project into a new chat, model, or teammate without the context evaporating — capture the state, distill what's worth keeping, and rebuild it as durable context on the other side.
After a dozen corrections, the AI finally gives you what you wanted — but the prompt that produces it is smeared across the whole chat. Here's how to distill it into one reusable prompt you can run again.