Back to Skills

skill-creator

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.

77,023stars10,465forksUpdated 7/14/2026

Security Assessment

Safe(100/100)
Security Score100/100

About skill-creator

The skill-creator skill helps users create new skills, modify and improve existing ones, and measure skill performance. It is used to build a skill from scratch, edit or optimize an existing skill, run evals to test a skill, benchmark performance with variance analysis, or optimize a skill's description for better triggering accuracy. It frames skill development as an iterative loop and helps figure out where the user is in that process before jumping in.

The high-level process it supports is: decide what the skill should do, write a draft, create a few test prompts and run Claude-with-the-skill on them, evaluate results both qualitatively and quantitatively, rewrite based on feedback, and repeat, then expand the test set for larger-scale runs. It includes scripts such as init_skill.py, run_eval.py, run_loop.py, aggregate_benchmark.py, improve_description.py, package_skill.py, quick_validate.py, and generate_report.py, plus an eval-viewer/generate_review.py for showing results and agents for analysis, grading, and comparison. A dedicated description improver script optimizes skill triggering. The skill also documents a DeerFlow sandboxed environment mode: when the skill_manage tool is available, all skill file operations (create, edit, patch, delete, write_file, remove_file) must go through skill_manage rather than sandbox write_file, because sandbox writes land in a per-thread output directory invisible to new chats. In DeerFlow, the package_skill.py and present_files steps are skipped since skill_manage persists skills to the per-user directory automatically, though eval workspace files can still use sandbox write_file.

It is aimed at users across a wide range of technical familiarity, and the skill advises adapting terminology accordingly, only using terms like JSON and assertion when the user shows they understand them and briefly explaining terms when in doubt. During intent capture it asks what the skill should enable, when it should trigger, the expected output format, and whether to set up test cases, suggesting test cases for objectively verifiable outputs and noting they are often unnecessary for subjective ones like writing style or art. The workflow remains flexible so users can skip formal evaluation if they prefer.

FAQ

What can this skill do?

It helps create new skills from scratch, edit or optimize existing skills, run evals to test a skill, benchmark skill performance with variance analysis, and optimize a skill's description for better triggering accuracy.

What is the overall skill-creation process?

Decide what the skill should do, write a draft, create a few test prompts and run Claude-with-the-skill on them, evaluate results qualitatively and quantitatively (using eval-viewer/generate_review.py to show results), rewrite the skill based on feedback, and repeat, then expand the test set and try again at larger scale. The order is flexible.

Do I have to run evaluations?

No. Test cases are suggested for skills with objectively verifiable outputs (file transforms, data extraction, code generation, fixed workflow steps) and are often unnecessary for subjective outputs like writing style or art. The user decides, and you can skip formal evals and just iterate informally if preferred.

How does it behave in a DeerFlow environment?

If the skill_manage tool is available, all skill file operations must use skill_manage (create, edit, patch, delete, write_file, remove_file) instead of sandbox write_file, because sandbox writes go to a per-thread output directory invisible to new chats. The package_skill.py and present_files steps are skipped, since skill_manage persists the skill to the per-user directory automatically.

How does it adapt to non-technical users?

It pays attention to context cues about the user's familiarity with jargon. Terms like evaluation and benchmark are generally acceptable, while JSON and assertion should only be used without explanation when the user clearly understands them, and it briefly defines terms when in doubt.

All Files

20 files
scripts/aggregate_benchmark.py14.0 KB
View
scripts/improve_description.py10.8 KB
View
scripts/package_skill.py4.1 KB
View
scripts/run_eval.py11.2 KB
View
scripts/utils.py1.6 KB
View
agents/analyzer.md10.1 KB
View
agents/grader.md8.8 KB
View
eval-viewer/generate_review.py15.9 KB
View
LICENSE.txt11.1 KB
View
references/schemas.md11.8 KB
View
agents/comparator.md7.1 KB
View
assets/eval_review.html6.9 KB
View
eval-viewer/viewer.html43.9 KB
View
references/output-patterns.md1.8 KB
View
references/workflows.md0.8 KB
View
scripts/generate_report.py12.5 KB
View
scripts/init_skill.py10.5 KB
View
scripts/quick_validate.py3.9 KB
View
scripts/run_loop.py13.3 KB
View
SKILL.md35.6 KB
View

Install skill-creator

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill