Prompts are disposable. Skills compound.
A prompt in chat history dies with the conversation; a skill saved to the repo gets better every time someone edits it.
Every prompt you write for a recurring task is thrown away the moment the chat ends. Write a skill instead, and the same work compounds: the tenth run benefits from every fix made after runs one through nine.
Why a prompt in chat history dies
A good prompt for "review this API endpoint" or "write a release note from these commits" lives in one conversation. Next week you retype something close to it from memory, missing whatever refinement you made last time. Nothing about the improvement survives, because nothing about a chat prompt is versioned, shared, or diffable — it is text that existed for one exchange and then scrolled away. If two people on your team both do this task, they invent two different versions of the same instructions, and neither improves the other's.
Why a skill in the repo improves
A skill is the same instructions saved as a file the agent reads on demand — in Claude Code, a SKILL.md under .claude/skills/<name>/ in the project, or ~/.claude/skills/<name>/ if it's personal across projects. Anthropic's engineering team describes the model as "a well-organized manual that starts with a table of contents, then specific chapters, and finally a detailed appendix" — the agent loads just the skill's name and description by default, and reads the full instructions only when the task matches (Anthropic, "Equipping agents for the real world with Agent Skills"). Because the file is checked into git, the next time the review-endpoint skill misses a check, you fix that one line — not the whole prompt — and every future run and every teammate gets the fix.
The mechanism, concretely
---
name: review-endpoint
description: Review a REST endpoint for auth, validation, and error handling. Use when reviewing or writing an API route.
---
## Checklist
- Auth check happens before any DB read
- Input validated against a schema, not just typed
- Errors return a consistent shape, never a raw stack trace
The first time this catches a missing auth check, you add a line for it. The line stays. A prompt typed fresh in chat would need that lesson relearned by whoever hits the same bug next.
What actually compounds
It's not the instructions alone — it's the edit history. A skill accumulates the specific failures your team has already hit: the endpoint that leaked a stack trace, the migration that locked a table, the release note that omitted a breaking change. Each incident becomes one more line in a file everyone's agent reads, rather than a story retold in standup.
Try it today
- Find a prompt you've retyped more than twice in the last month.
- Create
.claude/skills/<task-name>/SKILL.mdwith anameanddescriptionstating what it does and when to use it. - Paste in the current version of your prompt as the instructions body.
- Run it once, and the next time it misses something, edit the file instead of the chat message.
- Commit it, so the fix ships to every teammate's agent, not just yours.
Where this breaks
A skill only compounds if someone actually edits it after a miss — an unmaintained skill is just a prompt that's harder to find. Skills also add a small discovery cost: too many overlapping skills with vague descriptions make the agent guess wrong about which one to load, so keep descriptions specific about when to use each one. And a skill is still not verification — it tells the agent what to check, it doesn't force the check to happen, which is what hooks are for.
Next: the anatomy of a SKILL.md.