Documentation Index
Fetch the complete documentation index at: https://mintlify.com/badlogic/pi-mono/llms.txt
Use this file to discover all available pages before exploring further.
Pi can create skills for you. Just ask it to build one for your use case.
How Skills Work
System Prompt
Available skills are included in the system prompt in XML format per the specification
On-Demand Loading
When a task matches, the agent uses
read to load the full SKILL.md(Models don’t always do this automatically - use prompting or /skill:name to force it)Skill Locations
Pi loads skills from: Global:~/.pi/agent/skills/~/.agents/skills/
.pi/skills/.agents/skills/incwdand ancestor directories (up to git repo root)
skills/directories in pi packagespi.skillsentries inpackage.json
skillsarray with files or directories
--skill <path>(repeatable, additive even with--no-skills)
Discovery Rules
- Direct
.mdfiles in the skills directory root - Recursive
SKILL.mdfiles under subdirectories
--no-skills (explicit --skill paths still load).
Using Skills from Other Harnesses
To use skills from Claude Code or OpenAI Codex, add their directories:Skill Commands
Skills register as/skill:name commands:
User: <args>.
Toggle skill commands:
- Interactive
- settings.json
Use
/settings to toggle skill commandsSkill Structure
A skill is a directory with aSKILL.md file. Everything else is freeform.
SKILL.md Format
Frontmatter
Per the Agent Skills specification:Max 64 chars. Lowercase a-z, 0-9, hyphens. Must match parent directory.Valid:
pdf-processing, data-analysis, code-reviewInvalid: PDF-Processing, -pdf, pdf--processingMax 1024 chars. What the skill does and when to use it.Be specific - this determines when the agent loads the skill.
License name or reference to bundled file
Max 500 chars. Environment requirements
Arbitrary key-value mapping
Space-delimited list of pre-approved tools (experimental)
When
true, skill is hidden from system prompt. Users must use /skill:nameName Rules
- 1-64 characters
- Lowercase letters, numbers, hyphens only
- No leading/trailing hyphens
- No consecutive hyphens
- Must match parent directory name
Description Best Practices
The description determines when the agent loads the skill. Be specific.Validation
Pi validates skills against the Agent Skills standard. Most issues produce warnings but still load the skill:- Name doesn’t match parent directory
- Name exceeds 64 characters or contains invalid characters
- Name starts/ends with hyphen or has consecutive hyphens
- Description exceeds 1024 characters
Example Skill
Complete example:brave-search/
- Read the skill when needed
- Run setup if required
- Execute searches using the documented commands
- Reference the scripts with relative paths
Skill Repositories
Public skill repositories:Anthropic Skills
Document processing (docx, pdf, pptx, xlsx), web development
Pi Skills
Web search, browser automation, Google APIs, transcription
Installing Skills
- Via Packages
- Manual
- Via Settings
Creating Skills
Best Practices
Write clear descriptions
Write clear descriptions
The description is the most important part. It tells the agent when to use the skill.Include:
- What the skill does
- When to use it
- What problems it solves
- Vague descriptions
- Generic terms
- Missing use cases
Document setup clearly
Document setup clearly
If the skill requires setup (npm install, API keys, etc.), document it clearly in a Setup section.The agent should be able to:
- Detect if setup is needed
- Run setup commands
- Verify setup succeeded
Use relative paths
Use relative paths
Always use paths relative to the skill directory:This ensures the skill works regardless of where it’s installed.
Include examples
Include examples
Show concrete examples of how to use the skill:
Provide reference docs
Provide reference docs
For complex skills, include detailed reference documentation that the agent can load on-demand:
Sharing Skills
Package skills for others to use: See Pi Packages for full packaging details.Next Steps
Extensions
Build TypeScript extensions for more complex integrations
Pi Packages
Package and share skills via npm or git