skills/skill-creator/SKILL.md
Create, review, and improve skills for Pi agents. A skill is a folder with a SKILL.md that teaches an agent specialized workflows, domain knowledge, or tool integrations. Use when asked to create a new skill, improve an existing skill, review a skill for quality, scaffold a skill from a workflow, or convert documentation into a skill. Also triggers on "make a skill for", "build a skill", "skill for [topic]", "teach the agent to", or "package this workflow as a skill".
npx skillsauth add espennilsen/pi skill-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create effective, well-structured skills for Pi agents. This skill covers the full lifecycle: planning, scaffolding, writing, validating, and iterating.
Pi implements the Agent Skills standard. Skills work across Pi, Claude Code, and the Anthropic API.
A skill is a folder that teaches an agent how to handle specific tasks:
skill-name/
├── SKILL.md # Required — frontmatter + instructions
├── scripts/ # Optional — executable code (deterministic operations)
├── references/ # Optional — documentation loaded on-demand
└── assets/ # Optional — templates, fonts, icons used in output
Skills are NOT code. They are structured instructions — like an onboarding guide for a new team member who happens to be an AI.
Before writing anything, answer these questions:
Ask 2-3 clarifying questions if the use case isn't clear. Get concrete examples of how the skill would be used before proceeding.
For each step in the workflow, decide what belongs where:
| Content type | Where it goes | When to use |
|---|---|---|
| Workflow steps, decisions, guidance | SKILL.md body | Core instructions the agent follows |
| Executable code that's reused | scripts/ | Deterministic operations, data processing, validation |
| Detailed docs, API refs, schemas | references/ | Loaded only when the agent needs them |
| Templates, images, boilerplate | assets/ | Files used in output, not loaded into context |
Key principle: Only include what the agent doesn't already know. Claude is already smart — don't explain how to write Python or use git. Add the domain knowledge, specific workflows, and tribal knowledge that make this task unique.
Run the init script to create the directory structure:
bash scripts/init-skill.sh <skill-name> [target-directory]
Default target: current working directory. The script creates the folder with SKILL.md template and optional subdirectories.
See references/writing-guide.md for the full writing guide. Key points:
---
name: kebab-case-name
description: >
What it does + when to use it + specific trigger phrases.
Max 1024 chars. This is the ONLY thing loaded by default.
---
The description is the most important part — it determines whether the skill activates. Include:
Rules:
name: kebab-case, lowercase, max 64 chars, must match folder namedescription: required, max 1024 chars, no XML angle bracketsclaude or anthropic in the name (reserved)Keep SKILL.md body under 500 lines / ~5000 words. This goes into the agent's context window alongside conversation history, other skills, and system prompt.
Structure options (pick the best fit):
| Pattern | Best for | Example | |---|---|---| | Workflow | Sequential processes | Steps 1→2→3 with validation gates | | Task-based | Tool collections | "Merge PDFs" / "Split PDFs" / "Extract text" | | Reference | Standards, guidelines | Brand guide with colors / typography / voice | | Capabilities | Feature sets | Numbered list of related features |
Writing rules:
scripts/validate.sh, references/api.md## Advanced Configuration
For database schema details, see [references/schema.md](references/schema.md).
For deployment patterns by provider, see:
- [references/aws.md](references/aws.md)
- [references/gcp.md](references/gcp.md)
The agent reads these files only when it needs them. This is progressive disclosure — keep SKILL.md lean, push detail into reference files.
Guidelines:
Run the validation script:
python3 scripts/validate.py <path/to/skill-folder>
Checks: frontmatter format, naming conventions, description quality, file structure, broken references, line count.
Skills are living documents. After real usage:
When asked to review an existing skill, evaluate against this checklist:
--skill or discovery)Report findings as: 🔴 Critical | 🟡 Important | 🔵 Minor | ✅ Good
| Mistake | Fix |
|---|---|
| Description too vague ("Helps with projects") | Add specific triggers and capabilities |
| Everything in SKILL.md (2000+ lines) | Move detail to references/, keep body lean |
| Explaining things the agent already knows | Remove — only add novel domain knowledge |
| No trigger phrases in description | Add "Use when..." with natural language examples |
| Inline scripts in SKILL.md | Move to scripts/, reference with relative path |
| Magic values without explanation | Document all constants, paths, credentials |
| Missing error handling | Add "If X fails..." for each critical step |
| README.md in the skill folder | Delete — all docs go in SKILL.md or references |
Skills are discovered from these locations (first match wins on name collision):
~/.pi/agent/skills/, ~/.agents/skills/.pi/skills/, .agents/skills/ (cwd + ancestors to git root)skills array in settings.json--skill <path> (always loads, even with --no-skills)skills/ dirs or pi.skills in package.jsonSkills register as /skill:name commands in interactive mode.
tools
# pi-a2a Long-Running Tasks Skill ## Overview The pi-a2a extension supports **long-running tasks** that can execute for hours or days without timeouts. This is essential for: - Data processing pipelines - Batch operations - Research and aggregation tasks - External API jobs with unpredictable duration - Any A2A task that exceeds the standard timeout ## When to Use **Use long-running tasks when:** - Task execution time is unpredictable or known to exceed 10 minutes - The remote agent is proc
development
Orchestrate cmux terminal panes — split terminals, run parallel processes, read output from other panes, and use the built-in browser. Use when working inside cmux and you need to run a dev server, watch tests, spawn sub-agents, or preview web pages.
testing
Review UI designs and implementations for accessibility, consistency, usability, and visual quality. Use when asked to review a design, audit accessibility, check UI consistency, compare implementation against mockups, or evaluate a user interface.
development
Best practices for Remotion - Video creation in React