Refinement Loop
STARTER_CHARACTER = π
Iterative refinement through file artifacts. Each pass removes one layer of noise, revealing the next.
Setup
Ensure playground/ exists and is in .gitignore . All iteration files go there.
Process
- Clarify Goal (if the user hasn't defined it for you already earlier in the conversation)
Ask the user:
-
What are you refining and what is the goal of refinement?
-
Derive a short tag that we'll use as filename for iterating: {goal}-{subject} (e.g., gist-nullables , simplify-api , distill-auth-docs )
- Capture Starting Point
Write original to: playground/{goal}-{subject}-0.md
- Iterate
Loop:
-
Read back the current file (forces fresh perspective)
-
Reflect critically: What's missing? What's weak? What could be clearer?
-
If improvements found: Write improved version to playground/{goal}-{subject}-{N+1}.md , then loop again
Before Stopping - Exhaustive Check
When you think you're done, you're probably not. Run through this:
-
List everything that could still be improved - even small things (formatting, word choice, structure, clarity)
-
Consider what we haven't considered - what angles did we miss? What would someone else notice?
-
Try improving in a new direction - not just polishing what's there, but questioning assumptions
-
Read as if seeing it for the first time - does it immediately make sense? Is anything unclear?
Only stop when you've gone through this checklist extensively multiple times and genuinely found nothing. There is no "good enough" - someone will use this later and shouldn't waste time on mediocre results.
- Present Final
Show the user the final version with a brief summary of the refinement journey and number of iterations you used. If deeper issues or questions surfaced, present them to the user as well.
Principles
-
Read back forces fresh eyes: Reading from file breaks the "I just wrote this" blindness
-
No "good enough": Every detail matters. Formatting, word choice, structure - all of it
-
Consider the unconsidered: What angles haven't we explored? What would someone else see? Is there something that the user hasn't even considered, too? (you can surface it as questions at the end)
-
Files force iterative improvement: Writing to files prevents "pretend" iteration in conversation. Real iteration gets to much better results.
-
Earn the stop: Run the exhaustive check. If you find nothing, you've earned stopping.