Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create or update Pi skills (SKILL.md plus optional scripts, references, or assets). Use when someone asks to design a new Pi skill, refine an existing one, or structure skills for Pi discovery or packaging.
.claude/skills/dicklesworthstone-skill-creator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 21% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -63% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -18% | 0% |
Provide guidance for creating effective Pi skills.
description. "When to use" information in the body comes too late.name, description. Directory name must equal name.license, compatibility, metadata (arbitrary key-value pairs for tooling), allowed-tools (restrict which tools the skill may invoke).disable-model-invocation: when set, Pi won't auto-trigger the skill; the user must invoke it explicitly with /skill:name.{baseDir} placeholders are not supported.~/.pi/agent/skills/, .pi/skills/, skills/ in a package, settings skills, or --skill <path>.pi-skill/
├── SKILL.md
├── README.md # Optional: human summary + installation
├── scripts/ # Optional executables
├── references/ # Optional docs loaded on demand
└── assets/ # Optional templates/assets2-4 concrete example requests usually suffice to scope triggers and functionality.
For each example, decide if you need:
A skill needs a directory containing a SKILL.md. Only add resource sub-directories that are actually needed.
bashmkdir -p ~/.pi/agent/skills/my-skill touch ~/.pi/agent/skills/my-skill/SKILL.md
If you plan to share the skill with humans, a README.md helps discovery and installation. If you have a README, installation info can live there to save space in SKILL.md.
markdown# My Skill Short summary for humans discovering the skill. ## Installation `pi install git:github.com/org/my-skill`
Use only the fields you need.
markdown--- name: my-skill description: What it does + when to use it. ---
If you need to hide auto-invocation, set:
yamldisable-model-invocation: true
SKILL.md is the agent's interface to the skill — usage examples and input/output descriptions let it call scripts without needing to understand internals.
bashscripts/validate_skill.py /path/to/my-skill
bashpi --no-skills --skill /path/to/my-skill
bash/skill:my-skill
/reload.To share beyond a single machine, publish as a Pi package (package.json-based, not a .skill archive).
package.json with a pi manifest (or rely on the conventional skills/ directory)."keywords": ["pi-package"] for discoverability.pi install <source> and enable via pi config if needed.json{ "name": "my-pi-skills", "keywords": ["pi-package"], "pi": { "skills": ["./skills"] } }
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 15,279 | 14,308 | -6% | 1 | 1 | 0% | 2,773 | 3,571 | +29% | 0 | 0 | — |
case-02 | fail→pass | 14,920 | 11,203 | -25% | 1 | 1 | 0% | 2,487 | 3,095 | +24% | 0 | 0 | — |
case-03 | pass→pass | 7,724 | 4,435 | -43% | 1 | 1 | 0% | 1,133 | 1,939 | +71% | 0 | 0 | — |
case-04 | pass→pass | 8,437 | 7,420 | -12% | 1 | 1 | 0% | 1,568 | 2,501 | +60% | 0 | 0 | — |
case-05 | pass→pass | 10,050 | 7,230 | -28% | 1 | 1 | 0% | 1,744 | 2,588 | +48% | 0 | 0 | — |
case-06 | fail→pass | 9,737 | 3,820 | -61% | 1 | 1 | 0% | 1,568 | 1,901 | +21% | 0 | 0 | — |
case-07 | fail→pass | 25,832 | 2,809 | -89% | 1 | 1 | 0% | 4,338 | 1,584 | -63% | 0 | 0 | — |
case-08 | pass→pass | 11,360 | 3,968 | -65% | 1 | 1 | 0% | 1,954 | 1,873 | -4% | 0 | 0 | — |
case-09 | fail→pass | 12,889 | 3,454 | -73% | 1 | 1 | 0% | 2,224 | 1,633 | -27% | 0 | 0 | — |
case-10 | fail→pass | 12,076 | 2,399 | -80% | 1 | 1 | 0% | 1,919 | 1,576 | -18% | 0 | 0 | — |
case-11 | pass→pass | 14,165 | 6,372 | -55% | 1 | 1 | 0% | 2,269 | 2,142 | -6% | 0 | 0 | — |
case-12 | fail→pass | 16,520 | 2,658 | -84% | 1 | 1 | 0% | 2,797 | 1,532 | -45% | 0 | 0 | — |
case-13 | fail→pass | 3,252 | 2,204 | -32% | 1 | 1 | 0% | 451 | 1,463 | +224% | 0 | 0 | — |
case-14 | pass→pass | 16,083 | 1,866 | -88% | 1 | 1 | 0% | 2,374 | 1,411 | -41% | 0 | 0 | — |
case-15 | fail→pass | 14,651 | 1,912 | -87% | 1 | 1 | 0% | 2,514 | 1,422 | -43% | 0 | 0 | — |
case-16 | fail→pass | 11,906 | 1,852 | -84% | 1 | 1 | 0% | 2,008 | 1,449 | -28% | 0 | 0 | — |
case-17 | fail→pass | 13,218 | 4,363 | -67% | 1 | 1 | 0% | 2,068 | 1,903 | -8% | 0 | 0 | — |
case-18 | pass→pass | 14,150 | 3,463 | -76% | 1 | 1 | 0% | 1,887 | 1,761 | -7% | 0 | 0 | — |
case-19 | pass→pass | 12,551 | 6,694 | -47% | 1 | 1 | 0% | 1,867 | 2,212 | +18% | 0 | 0 | — |
case-20 | pass→pass | 10,241 | 5,695 | -44% | 1 | 1 | 0% | 1,716 | 2,059 | +20% | 0 | 0 | — |
case-21 | pass→pass | 17,149 | 8,822 | -49% | 1 | 1 | 0% | 2,717 | 2,659 | -2% | 0 | 0 | — |
case-22 | pass→pass | 10,852 | 3,432 | -68% | 1 | 1 | 0% | 1,825 | 1,553 | -15% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +45 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.