skill-creator
Skill0 starsChanged 4 months agoMITView on GitHub
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
189 other projects use a version of this, 53 of them edited.
Adopted by
Most recently taken up by
- SebastienDegodez/copilot-instructionstheir own version, first seen Nov 8, 2026
- idavidov13/agentic-playwrightedited, first seen Nov 8, 2026
- HughYau/AcademicForgetheir own version, first seen Nov 8, 2026
- Ar9av/obsidian-wikiedited, first seen Nov 8, 2026
- rvdbreemen/OTGW-firmwaretheir own version, first seen Nov 8, 2026
- scenario-labs/skillsedited, 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 · 53
- anthropics/skills★ 189k11% same
- bytedance/deer-flow★ 85k11% same
- anthropics/claude-plugins-official★ 46k11% same
- zeroclaw-labs/zeroclaw★ 33k11% same
- trycompai/crm★ 12k11% same
- getsentry/sentry-javascript★ 8.8k11% same
- digoal/blog★ 8.6k11% same
- netease-youdao/LobsterAI★ 6.2k10% same
- mono/SkiaSharp★ 5.6k11% same
- OpenBMB/PilotDeck★ 5k11% same
43 more not listed
Wrote their own version · 136
- 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
- openai/codex★ 134ksame name
- google-gemini/gemini-cli★ 109ksame name
- ComposioHQ/awesome-claude-skills★ 75ksame name
126 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.
- analyzing-financial-statementsSkill
- chat-summarySkill
- claude-apiSkill
- creating-financial-modelsSkill
- mcp-builderSkill
- post-extractorSkill
- skill-security-auditorSkill
- vault-triageSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 9 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 185 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Create test prompts and run Claude-with-skill on them
- Distinctive: line 33
If the current conversation already contains a workflow to capture, extract it — tools used, sequence, corrections, input/output formats.
- Distinctive: line 37
When should it trigger? (what phrases/contexts)
- Distinctive: line 39
Should we set up test cases?
- Distinctive: line 45
Ask about edge cases, input/output formats, example files, success criteria, dependencies.
- Distinctive: line 47
Check available MCPs for research.
- Very specific: line 78
Keep SKILL.md under 500 lines.
- Distinctive: line 85
Use imperative form. Define output formats as exact templates.
- Distinctive: line 105
Do not stop partway through this sequence.
- Very specific: line 107
Put results in <skill-name>-workspace/ as a sibling to the skill directory.
- Very specific: line 115
Create eval_metadata.json per test case:
- Very specific: line 129
Update eval_metadata.json and evals/evals.json with assertions once drafted.
- Distinctive: line 196
After the skill is working, run the description improver script to optimize triggering accuracy.
“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
Skill Creator
A skill for creating new skills and iteratively improving them.
The loop:
- Decide what the skill should do
- Write a draft
- Create test prompts and run Claude-with-skill on them
- Evaluate results qualitatively and quantitatively
- Rewrite based on feedback
- Repeat until satisfied
- Expand test set and run at larger scale
Jump in wherever the user is in this process.
Communicating with the user
Users range from non-technical to expert. Read context cues. "Evaluation" and "benchmark" are borderline OK. "JSON" and "assertion" need context before using without explanation. Brief definitions are fine when in doubt.
Creating a skill
Capture Intent
If the current conversation already contains a workflow to capture, extract it — tools used, sequence, corrections, input/output formats. Fill gaps with the user.
Four questions to answer before writing:
- What should this skill enable Claude to do?
- When should it trigger? (what phrases/contexts)
- What's the expected output format?
- Should we set up test cases?
Skills with objectively verifiable outputs (file transforms, data extraction, code generation) benefit from test cases. Skills with subjective outputs (writing style, art) often don't need them.
Interview and Research
Ask about edge cases, input/output formats, example files, success criteria, dependencies. Wait to write test prompts until this is settled.
Check available MCPs for research. Research in parallel via subagents if available.
Write the SKILL.md
Components:
- name: skill identifier (kebab-case, no
claudeoranthropic) - description: when to trigger AND what it does. This is the primary triggering mechanism — all "when to use" info goes here, not in the body. Make descriptions slightly "pushy" — Claude undertriggers by default. "Use this skill whenever the user mentions X" rather than "For X tasks."
- compatibility: required tools/dependencies (optional, rarely needed)
- body: the rest of the skill
Anatomy of a Skill
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter (name, description required)
│ └── Markdown instructions
└── Bundled Resources (optional)
├── scripts/ - Executable code for deterministic/repetitive tasks
├── references/ - Docs loaded into context as needed
└── assets/ - Files used in output (templates, icons, fonts)Progressive Disclosure
Three loading levels:
- Metadata (name + description) — always in context (~100 tokens)
- SKILL.md body — in context when skill triggers (<500 lines ideal)
- Bundled resources — loaded on demand (unlimited)
Key patterns:
- Keep SKILL.md under 500 lines; add hierarchy and references if approaching limit
- Reference files clearly with guidance on when to read them
- For large reference files (>300 lines), include a table of contents
- Multi-domain skills: organize by variant in
references/(e.g.,references/aws.md,references/gcp.md)
Writing Patterns
Use imperative form. Define output formats as exact templates. Explain why behind instructions — LLMs respond better to rationale than MUST/NEVER. Write the draft, then read it with fresh eyes and improve.
Output format example:
## Report structure
ALWAYS use this exact template:
# [Title]
## Executive summary
## Key findings
## RecommendationsSecurity
Skills must not contain malware, exploit code, or content that could compromise system security. Don't create misleading skills or skills designed for unauthorized access or data exfiltration.
Running and evaluating test cases
Do not stop partway through this sequence.
Put results in <skill-name>-workspace/ as a sibling to the skill directory. Organize by iteration (iteration-1/, iteration-2/), each test case gets a directory (eval-0/, eval-1/). Create directories as you go.
Step 1: Spawn all runs in the same turn
For each test case, spawn two subagents simultaneously — one with-skill, one baseline (no skill for new skills, old-skill snapshot for improvements).
For improvements: snapshot the old skill first (cp -r <skill-path> <workspace>/skill-snapshot/).
Create eval_metadata.json per test case:
{
"eval_id": 0,
"eval_name": "descriptive-name",
"prompt": "The user's task prompt",
"assertions": []
}Step 2: Draft assertions while runs are in progress
Good assertions are objectively verifiable with descriptive names. Subjective skills get qualitative review, not assertions.
Update eval_metadata.json and evals/evals.json with assertions once drafted.
Step 3: Capture timing data from completion notifications
Each subagent completion notification contains total_tokens and duration_ms. Save immediately to timing.json:
{
"total_tokens": 84852,
"duration_ms": 23332,
"total_duration_seconds": 23.3
}This data is only available in the completion notification — capture it or lose it.
Step 4: Grade, aggregate, launch viewer
- Grade each run — spawn a grader subagent reading
agents/grader.md. Save tograding.json. Usetext,passed,evidencefields (notname/met/details). - Aggregate:
python -m scripts.aggregate_benchmark <workspace>/iteration-N --skill-name <name>Produces benchmark.json and benchmark.md.
- Analyst pass — read
agents/analyzer.mdfor patterns: non-discriminating assertions, high-variance evals, time/token tradeoffs. - Launch viewer:
nohup python <skill-creator-path>/eval-viewer/generate_review.py \
<workspace>/iteration-N \
--skill-name "my-skill" \
--benchmark <workspace>/iteration-N/benchmark.json \
> /dev/null 2>&1 &
VIEWER_PID=$!For Cowork/headless: use --static <output_path> for a standalone HTML file.
Tell the user: "Results are open in your browser. 'Outputs' tab for per-test feedback, 'Benchmark' tab for quantitative comparison. Come back when done."
Step 5: Read feedback
{
"reviews": [
{"run_id": "eval-0-with_skill", "feedback": "chart is missing axis labels", "timestamp": "..."}
],
"status": "complete"
}Empty feedback = user thought it was fine. Focus on specific complaints.
Kill viewer when done: kill $VIEWER_PID 2>/dev/null
Improving the skill
How to think about improvements
- Generalize from feedback — you're building a skill that will run a million times, not just on these examples. Avoid overfitting to the test cases.
- Keep the prompt lean — remove things not pulling their weight. Read transcripts, not just outputs — if the model wastes time on unproductive actions, cut the instructions causing them.
- Explain the why — LLMs respond to rationale, not just imperatives. Understand what the user actually wants and transmit that understanding into the instructions.
Description optimization
After the skill is working, run the description improver script to optimize triggering accuracy. The description is the most load-bearing line — it determines whether the skill triggers at all.
Security Audit
Source: https://github.com/anthropics/skills — Anthropic first-party. Audit: PASS.
Note on this installation
The official skill-creator includes a full eval-viewer UI (eval-viewer/generate_review.py), grader/analyzer subagent definitions (agents/), and aggregation scripts (scripts/). This SKILL.md captures the workflow; the scripts live in the source repo. For the complete toolchain, install via Claude Code: /plugin install example-skills@anthropic-agent-skills.
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.

