Your AI writes a draft. You make your final edits and publish. Then the lesson dies and next week it makes the same mistake. Here’s how to make your skill learn from every edit.
A skill that gets smarter every time you use it. Almost nobody sets this up.
Here’s the loop. Your skill writes a draft. You edit and publish. Then you hand the published version back and make it compare the two, pull out the edits that will happen again, and write those rules into its own instructions. The actual file that tells it how to work, not a memory it might forget.
Your final edit is the answer key. What you decided was good enough to ship is the one piece of evidence that can’t be argued with.
The Loop At A Glance
1. Your skill hands you a draft. 2. You edit and publish. 3. The agent compares its draft to your final version. 4. The edits that will repeat get written into SKILL.md. 5. The next run starts smarter.
I run this on the email agent for my clothing brand. It drafts, my team edits, we send, then the agent reads the sent version against its draft. Two months in, the drafts need a lot less work. It works on anything a person edits before it goes out, like a newsletter, proposals, product descriptions, job posts or ad copy.
Why This Beats "Review Your Own Draft"
A model grading itself grades against its own taste, and its taste is what was wrong. Your edit is outside evidence.
Two minutes, once. This runs in Claude Code, because the agent needs to read your files and edit its own skill.
The file. A skill is a text file named SKILL.md in its own folder, either personal (~/.claude/skills/newsletter/SKILL.md, available everywhere) or in the project (.claude/skills/newsletter/SKILL.md, shared with your team). Claude Code watches those folders, so an edited skill takes effect in the session you’re already in. One catch: if the skills folder didn’t exist when you started the session, run /reload-skills once. (Claude Code docs) Never built a skill? Start with 3 Ways To Build A Claude Skill.
The folders. Make drafts/ and published/ in your project. Every piece gets the same filename in both, a date then a short slug, like drafts/2026-11-01-welcome-email.md and published/2026-11-01-welcome-email.md. Matching names is how the agent finds the pair.
Do This First
If the skill came from a plugin, copy it into ~/.claude/skills/ and work on your copy. Plugin updates install a fresh copy in a new location, so rules written inside the plugin’s folder can disappear. (plugin docs)
01
Save the raw draft before anyone edits it
The moment the agent finishes, the draft has to land in a file, not the chat and not the doc you’re about to edit. You can’t compare two versions if you only kept one.
Add one line to the bottom of your skill file so it happens on its own: "When you finish a draft, save it to drafts/ as YYYY-MM-DD-slug.md before showing it to me."
02
Save what actually shipped
After it goes out, copy the exact final version, including any last-second change someone made in the email tool at 11pm, into published/ with the matching filename. Thirty seconds.
03
Run the engine
This prompt reads both versions, lists what changed, keeps only the edits that will happen again, and writes them into your skill file after you approve them. Swap in your file paths and change nothing else the first few times.
Expect three to eight rules on the first run, and most will be right, because your edits are more consistent than you think. The next thing you ask it to write already follows the new rules. Reading the proposed rules and cutting the bad ones takes thirty seconds and is the only quality control this loop has, so don’t skip it.
This quietly kills these loops. Month one you have six sharp rules and better drafts. Month four you have sixty, some repeat, two contradict each other, and the output is worse than it was at rule fifteen. A learning loop with no pruning is a hoarding loop.
One prompt runs the whole prune pass:
The Test For Every Rule
Could a freelancer who started this morning follow it without asking a question? "Be more concise" fails. "Product descriptions are 40 words or fewer" passes.
~/.claude/skills/.published/ with the matching filename.Almost nobody has this running because the edit feels finished the moment you hit publish. Every edit you make is training data, and right now you’re throwing it away. For the theory underneath, Loop Engineering covers what a loop actually is.
If You Commented IMPROVE
You have everything you need on this page. Start small and keep going. Save your next draft before anyone touches it.