skill-creator
Skill10 starsChanged 3 months agoMITView on GitHub
Generate a new Claude Code skill from a plain-language description — decides invocation control (disable-model-invocation vs user-invocable), arguments (argument-hint, $ARGUMENTS), and context cost, then scaffolds and tests it.
- Commits and pushes
189 other projects use a version of this.
Adopted by
Most recently taken up by
- SebastienDegodez/copilot-instructionstheir own version, first seen Nov 8, 2026
- idavidov13/agentic-playwrighttheir own version, first seen Nov 8, 2026
- HughYau/AcademicForgetheir own version, first seen Nov 8, 2026
- Ar9av/obsidian-wikitheir own version, first seen Nov 8, 2026
- rvdbreemen/OTGW-firmwaretheir own version, first seen Nov 8, 2026
- scenario-labs/skillstheir own version, first seen Nov 7, 2026
Used with
Projects with it also use taskflow-inbox-triage, mermaid-diagram-generator and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
AtomicBot-aiSkilltaskflow-inbox-triage
Also in 6 projects that use this
shalombSkillmermaid-diagram-generator
Guide on creating and editing Mermaid charts safely. Use when asked to draw a diagram, flowchart, or architecture chart. Triggers on: 'mermaid', 'diagram', 'flowchart', 'visualize'.
Also in 5 projects that use this
naman10parikhSkillecosystem-reference
Quick-access directory of Claude Code ecosystem repos, skills, plugins, MCPs, and patterns. Use when improving the harness.
Also in 5 projects that use this
naman10parikhSkillfractal-delegation
Also in 5 projects that use this
Liang-MHSkillstock_analysis
获取 A 股、基金和港股的实时行情和技术分析数据
Also in 5 projects that use this
nicepkgSkillcommunity-led-growth
Expert in community-led growth (CLG) - leveraging user communities to drive acquisition, retention, and expansion. Covers building developer communities, user groups, ambassador programs, and turning customers into advocates. Knows the difference between community as a feature vs community as a growth engine, and how to measure community ROI. Use when "community-led, CLG, ambassador program, champion program, user community, developer community, word of mouth, user group, " mentioned.
Also in 5 projects that use this
- +6 more from naman10parikh
Other versions189 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 189
- moltbot/clawdbot★ 394ksame name
- steipete/warelay★ 394ksame name
- steipete/clawdis★ 394ksame name
- moltbot/moltbot★ 394ksame name
- clawdbot/clawdbot★ 394ksame name
- openclaw/openclaw★ 394ksame name
- molt-bot/clawdbot★ 391ksame name
- anthropics/skills★ 189ksame name
- openai/codex★ 134ksame name
- google-gemini/gemini-cli★ 109ksame name
179 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository8 other files it gives its agents.
- angel-diligenceSkill
- code-reviewSkill
- eval-integritySkill
- guest-circuitSkill
- reconcileSkill
- recoverSkill
- session-managementSkill
- ssot-checkSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 4 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 185 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
Ask (or infer from context):
- Very specific: line 38
Data at load time: use dynamic context injection (
!commandat line start) to inline live data (a diff, a status file) before Claude … - Very specific: line 39
Only set model/effort overrides with a specific reason.
- Very specific: line 45
If disable-model-invocation: true, Claude never sees the description — write it for the human scanning the / menu, and keep it short.
- Distinctive: line 83
If model-invocable: in a *fresh* session, phrase a matching request naturally and confirm it triggers — then phrase a near-miss and confirm …
- Distinctive: line 93
Spend context deliberately: Every model-invocable description is loaded into every session.
- Distinctive: line 95
Reference, don't duplicate: If a skill needs data from a file, read the file — don't copy its contents into the skill.
“Common” is measured: kept by at least 6 in 10 of the 185 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<!-- x-source: agent-skill-builder/SKILL.md @ 9f0a6e8 -->skill-creator — Build New Skills Fast
Takes a plain-language description of a task and generates a ready-to-ship skill. The design goal is skills that are cheap in ambient context and current with the skill spec — most skill-creator skills in the wild fail on exactly those two axes: they don't know about arguments/argument-hint, never suggest disable-model-invocation, and write bloated descriptions that tax every session.
When to Use
- "I want a skill that does X"
- "Build me a slash command for Y"
- "Add a skill for [recurring task I do]"
Before You Start
Read:
- reference.md — snapshot of the current frontmatter spec, argument substitutions, and invocation/context-loading behavior. Check its snapshot date first: if older than 3 months, warn the user and continue with the pinned snapshot — don't re-fetch or modify the reference mid-generation. Spec updates are maintenance, not a side effect of building a skill: the canonical copy at agent-skill-builder has weekly spec-drift CI that opens an issue on upstream changes; sync from there, or update on an explicit ask.
- The host repo's
CLAUDE.mdand existing skills — avoid duplicating a skill that already exists, and match local conventions.
Instructions
1. Clarify the skill
Ask (or infer from context):
- Name: lowercase, hyphenated. The directory name under
.claude/skills/is the command you type; frontmatternameis only a display label. - Who invokes it — this is the most important design decision:
- User-only (side effects, or timing the user controls: publish, send, deploy, log) →
disable-model-invocation: true. Bonus: the description is then not loaded into every session — zero ambient context cost. - Claude-only (background knowledge, not an action) →
user-invocable: false. - Both (default) → the description must carry the trigger keywords, and it becomes a permanent per-session context cost. Make it earn that.
- User-only (side effects, or timing the user controls: publish, send, deploy, log) →
- Arguments: does the user pass input on the command line? If yes: set
argument-hint, and use$ARGUMENTS(or$0/$1, or namedarguments:) in the body. Don't make Claude guess what the trailing text means. - Input/Output: what does it read (files, MCP data, live command output), what does it produce?
- Tools:
allowed-toolsis a pre-approval grant (no permission prompts while active), not a restriction — scope entries tightly, e.g.Bash(git add *)notBash. Usedisallowed-toolsto actually remove tools. - Where it runs: inline (default — shares conversation context) or
context: fork+agent:for isolated, self-contained tasks. Fork only works when the body is an explicit task, not reference guidelines. - Data at load time: use dynamic context injection (
!`command`at line start) to inline live data (a diff, a status file) before Claude reads the skill. - Only set
model/effortoverrides with a specific reason. Usepaths:for skills scoped to certain files.
2. Write the description — the context-budget step
- 1–2 sentences, key use case first, third person, containing the words the user would actually say. Target ~250 chars; the listing truncates at 1,536.
- Detail, steps, and edge cases go in the body — the body loads only on invocation, so it's nearly free until used. Never pad the description to be "thorough"; that's the anti-pattern that bloats every session.
- If
disable-model-invocation: true, Claude never sees the description — write it for the human scanning the/menu, and keep it short.
3. Draft the SKILL.md
Frontmatter template — include only the fields this skill needs (all are optional; see reference.md for the full table):
---
name: [skill-name]
description: [1-2 sentences, triggers first]
argument-hint: "[expected args, e.g. [issue-number] [format]]" # only if it takes arguments
disable-model-invocation: true # only for user-triggered workflows
allowed-tools: [tightly-scoped grants] # only if prompts would be annoying
---Body structure: short purpose line, "When to Use" bullets, numbered step-by-step instructions, explicit output format.
Quality checklist:
- Steps, not paragraph prose; each step names the tool or command
- Output format defined, not left ambiguous
- Instructions written as standing rules — skill content stays in context for the rest of the session, so "do X once" phrasing goes stale; "always X when Y" doesn't
- Body under 500 lines; long reference material moved to supporting files in the skill directory, linked from SKILL.md
- No hardcoded IDs, paths, or credentials — use config files, env vars, or
${CLAUDE_SKILL_DIR}for bundled scripts - Confirmation gate on anything that changes external state (git push, API calls, file deletes)
4. Install it
Before writing, check the target path is clear — if .claude/skills/<skill-name>/SKILL.md already exists, stop and confirm an overwrite rather than clobbering it silently.
.claude/skills/<skill-name>/SKILL.md is the whole installation — the directory name becomes the command, supporting files live alongside, and changes hot-reload within a session. No routing stub or registry edit is needed. (.claude/commands/ files still work, but they're the legacy form.)
Then follow whatever conventions the host repo has: a changelog entry, a command table in CLAUDE.md, a routing doc. Check before assuming none exist.
5. Test before shipping
- Confirm it's listed: ask
What skills are available?(or check/skills). - Invoke it directly (
/namewith realistic arguments) and check the output matches the spec. - If model-invocable: in a fresh session, phrase a matching request naturally and confirm it triggers — then phrase a near-miss and confirm it stays quiet. Leftover authoring context masks trigger gaps, so fresh session matters.
- For skills worth hardening, offer the official eval loop:
/plugin install skill-creator@claude-plugins-officialruns with/without-skill benchmarks and description tuning.
6. Present for review
Show the SKILL.md and any wiring changes in labeled fenced code blocks. Ask: "Want me to save these, or make any changes first?"
Tips for Good Skills
- Be specific over flexible. A skill that does one thing well beats one that tries to handle every edge case.
- Spend context deliberately. Every model-invocable description is loaded into every session. The body is free until invoked. Put things on the right side of that line.
- Gate destructive actions. Anything that changes external state should require explicit approval — and consider
disable-model-invocation: trueso Claude can't decide to run it because the code "looks ready." - Reference, don't duplicate. If a skill needs data from a file, read the file — don't copy its contents into 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.

