skill-shaper
Skill31 starsChanged 22 days agoMITView on GitHub
Creates a new agent skill or reshapes one that triggers on the wrong requests. Use when asked to make a skill, turn a workflow into a skill, or fix how a skill triggers. Not for writing about skills.
In this repository8 other files it gives its agents.
- AGENTS.mdAGENTS.md
- article-audioSkill
- explainerSkill
- free-memorySkill
- knowledgeSkill
- system-diffSkill
- transcribeSkill
- unknown-unknownsSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
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
- Distinctive: line 24
Chesterton's fence: When reshaping a skill, find out why a rule exists before removing it.
- Distinctive: line 26
Ask in one message: each question in bold, then your guess and default.
- Distinctive: line 30
Use the lightest steering that works.
≈ “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.
Files
Skill Shaper
You already know how to write instructions. This skill adds the judgment calls and the few facts about skill loading you can't infer. The user's instructions take precedence.
Think it through
Answer from evidence first: the conversation, the project, and the skills your harness lists. Ask only what the evidence can't settle.
- Job to be done. What failure does the skill fix? That decides the rules. Label guesses: "my guess is X, because Y".
- Poka-yoke. One right answer → a script, CI check or hook. An always-on one-liner →
AGENTS.md. Judgment plus a step that must never be skipped → a thin skill and a guard. If it isn't a skill, say why. - MECE. Each request belongs to exactly one skill. On overlap, extend the neighbour or add "Not for X; use Y" to the new description.
- Baseline. When the task is safe to run, have a fresh agent with the same tools do it once without the skill. The bare tool run with its defaults isn't a baseline, and neither is your own run: you know too much. If you can't start a fresh agent, say so and give the user the prompt to run. Its mistakes are the skill's job; if it makes none, the skill may not be needed.
- Newcomer test. Write only what the baseline got wrong and local facts no model can know: names, paths, flags, limits, footguns. Cut general know-how (using common tools, reading
--help, guarding secrets, checking output, reporting back) and anything the tool's own help orAGENTS.mdalready says. - Pre-mortem. Picture it firing on the wrong request, staying silent, or acting without permission. Test those cases. Only a failure you see, or can't test, becomes a line.
- Chesterton's fence. When reshaping a skill, find out why a rule exists before removing it.
Ask in one message: each question in bold, then your guess and default. Decide the name and structure yourself, and list them as assumptions.
Steer the new skill
Use the lightest steering that works.
- Judgment work (writing, review, design): one or two precise named concepts ("steelman", "inverted pyramid") and a few questions the agent asks itself. Say how each concept applies. Skip personas and praise.
- Fragile work (deploys, migrations, exact formats): exact steps, commands and scripts.
- Every skill: at most one opening sentence on what goes wrong without it, then the local facts. No section that restates the tool's documentation.
Facts to get right
Description: one or two sentences, about 250 characters at most: what the skill does and when to use it, third person, in the words a user would type. No lists of examples, file types or features; the model generalizes from one clear phrase. Add "Not for X" only for a near miss the wording would otherwise catch, and name the skill that should take it. It's the only text an agent sees when choosing a skill.
Slop: "Transcribes local audio and video recordings, such as meetings, calls, interviews, lectures, podcasts and voice memos, into well-formatted Markdown with named speakers and correct spelling of terms… (.mp3, .m4a, .wav…) … Not for live dictation, reading text aloud, subtitle files…" Clean: "Transcribes audio and video recordings with the
transcribeCLI. Use when the user wants a transcript, notes or quotes from a recording."- Spec:
nameis lowercase letters, digits and hyphens, at most 64 characters, and matches the folder.descriptionis at most 1,024 characters, with no XML. Avoid names already listed or built in (skill-creator,create-skill). - Placement: repo-specific → the project. Personal or cross-project → the global folder. Keep one copy in
.agents/skills/<name>/and link it into.claude/skills/only for Claude Code users. Details: references/placement.md. - Side effects: a skill that deploys, sends, deletes or spends is explicit-only. That means
disable-model-invocation: truefor Claude Code and Cursor, andpolicy.allow_implicit_invocation: falseinagents/openai.yamlfor Codex. Say what invoking the skill authorises and what needs a fresh yes. A plain request never loads an explicit-only skill, so add a guard or anAGENTS.mdpointer. - User data: rules and lists the user edits live in the project, not the skill folder. A personal skill keeps them in its body.
- Portability: frontmatter outside the spec and agent-specific syntax work in one agent only.
Hand off
This session already knows the answers (curse of knowledge), so test routing and the task in fresh subagents. Cut every line whose behaviour the baseline already showed. Then give the user:
- the files and the description
- your assumptions, unanswered questions first
- how to invoke it:
/namein Claude Code and Cursor,$namein Codex - three requests that should load it, and two near misses that shouldn't
- one real task whose output should differ with and without the skill
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
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.

