# Refinement Loop

> Iterative refinement through multiple passes. Use when the user asks to 'meditate on', 'distill', 'refine', or 'iterate on' something, or proactively when a problem benefits from multiple passes rather than a single attempt.

- Skill: `lexler/refinement-loop` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lexler/refinement-loop`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lexler/refinement-loop/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: lexler (https://skillmd.com/u/lexler)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/lexler/refinement-loop

---


# 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

### 1. 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`)

### 2. Capture Starting Point

Write original to: `playground/{goal}-{subject}-0.md`

### 3. Iterate

Loop:

1. **Read back** the current file (forces fresh perspective)
2. **Reflect critically**: What's missing? What's weak? What could be clearer?
3. **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:

1. **List everything** that could still be improved - even small things (formatting, word choice, structure, clarity)
2. **Consider what we haven't considered** - what angles did we miss? What would someone else notice?
3. **Try improving in a new direction** - not just polishing what's there, but questioning assumptions
4. **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.

### 4. 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.

