agentleFS
dylanfeltusdylanfeltus/skills/recursive-improvement/SKILL.md

recursive-improvement

Skill179 starsChanged 9 months agoMITView on GitHub

A pattern for generating higher-quality output by iterating against explicit scoring criteria. Use for headlines, CTAs, landing page copy, social content, ad copy — anything where quality matters. Generate → Evaluate → Diagnose → Improve → Repeat.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Never ship first-draft output for important content: Run the loop.

    line 16
  2. Distinctive:

    Create the initial output as you normally would.

    line 23
  3. Distinctive:

    After passing criteria, attack the output from a hostile perspective:

    line 44
  4. Distinctive:

    If it survives, ship it. If not, iterate.

    line 49

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Recursive Self-Improvement Loop

A pattern for generating higher-quality output by iterating against explicit scoring criteria.

The Pattern

generate → evaluate → diagnose → improve → repeat (until passing)

Never ship first-draft output for important content. Run the loop.


How It Works

1. Generate

Create the initial output as you normally would.

2. Evaluate

Score the output against each criterion (1-10). Be brutally honest.

3. Diagnose

For any criterion scoring below threshold:

  • What specifically is weak?
  • Why does it fail?
  • What would "passing" look like?

4. Improve

Rewrite addressing each diagnosed weakness. Don't patch — rebuild the weak sections.

5. Repeat

Re-evaluate. Keep looping until all criteria pass threshold (usually 8/10 minimum).


Adversarial Pressure (Optional but Powerful)

After passing criteria, attack the output from a hostile perspective:

  • Skeptical customer: "Why should I believe this? What's the catch?"
  • Distracted scroller: "Would I stop for this? In 2 seconds?"
  • Competitor: "How would a rival tear this apart?"

If it survives, ship it. If not, iterate.


Example Criteria by Use Case

Social Content

CriterionWhat to evaluate
Hook strengthFirst line grabs attention? Pattern interrupt?
Curiosity gapCreates urge to keep reading?
ClarityOne clear idea? No confusion?
Voice matchSounds like the target voice/brand?
Engagement potentialPeople will reply/share/save?
Thumb-stop powerScroller would pause?
Value densityEvery line earns its place?
CTA clarityClear what reader should do next?

Adversarial test: Would a distracted, skeptical user at 11pm engage with this?


Landing Page / Web Copy

CriterionWhat to evaluate
Headline clarityInstantly clear what this business does?
Value prop strengthWhy choose them over competitors?
Benefit focusFeatures translated to customer benefits?
CTA effectivenessClear, compelling action? Low friction?
Trust signalsCredibility established? Social proof?
ReadabilityScannable? Short paragraphs? Clear hierarchy?
Objection handlingCommon concerns addressed?
SpecificityConcrete details vs vague claims?

Adversarial test: Would someone searching on their phone take action within 30 seconds?


Email Copy

CriterionWhat to evaluate
Subject lineWould this get opened? Stands out in inbox?
Opening hookFirst sentence earns the second?
Single focusOne clear ask per email?
SkimmabilityCan get the gist in 5 seconds?
CTA prominenceAction is obvious and easy?
Voice consistencyMatches brand/sender personality?
Length appropriateNo fluff, nothing missing?
Mobile friendlyWorks on small screens?

Adversarial test: Would a busy person with 200 unread emails act on this?


Ad Copy

CriterionWhat to evaluate
Thumb-stop powerPattern interrupt in first 2 seconds?
Curiosity gapCreates need to know more?
Emotional triggerHits a real pain point or desire?
CredibilityBelievable? Not too good to be true?
CTA strengthClear next step with low friction?
Persona matchSpeaks directly to target audience?
DifferentiationStands out from competitor ads?
Platform nativeFits the platform's style/format?

Adversarial test: Would this stop YOUR scroll? Would you click?


When to Use

Always use for:

  • Headlines and hooks
  • CTAs and value props
  • Key landing page sections
  • Social posts (especially threads)
  • Ad copy
  • Important emails

Can skip for:

  • Internal notes
  • First-pass brainstorming
  • Technical documentation
  • Boilerplate content

Building Your Own Criteria

  1. Pick one task you do repeatedly
  2. Write down how YOU evaluate that output — what makes "good" vs "mid"?
  3. Turn each into a pass/fail threshold — be specific ("9/10 minimum" not "make it good")
  4. Add adversarial pressure — who would attack this? What would they say?
  5. Save and reuse — now you have a system, not just a prompt

Quick Loop Template

## Output v1
[Initial generation]

## Evaluation v1
- Hook strength: 6/10 — Opens weak, no pattern interrupt
- Clarity: 8/10 — Clear enough
- Voice match: 7/10 — Too formal
[... score all criteria]

## Diagnosis
1. Hook needs a surprising stat or contrarian take
2. Voice should be more casual, shorter sentences
3. [...]

## Output v2
[Revised version addressing weaknesses]

## Evaluation v2
[Re-score — continue until all pass]

The loop typically adds 2-3 iterations. Worth it for anything that matters.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.