Copy of the legacy ~/.pi/agent/docs tree rebuilt as the command-center knowledge base: concept files promoted to path identity, index listings stripped of frontmatter, all wikilinks/relative links resolved, every checkable claim verified against the live fleet (Dankserver = Ryzen 7 7700X + RTX 3090; Strix Halo is Dankclaw), unverifiable claims tagged. kb-lint exits 0.
43 lines
1.3 KiB
Markdown
43 lines
1.3 KiB
Markdown
---
|
|
type: reference
|
|
title: How Pi Loads Skills
|
|
description: The discovery flow, progressive disclosure pattern, and system prompt integration for skills in pi.
|
|
tags:
|
|
- unverified
|
|
- skills
|
|
- loading
|
|
- progressive-disclosure
|
|
timestamp: 2026-07-18
|
|
verified: 2026-08-28
|
|
---
|
|
|
|
# How the Pi Agent Loads and Uses Skills
|
|
|
|
## Discovery Flow
|
|
|
|
1. Pi scans all configured skill locations at startup
|
|
2. Extracts names and descriptions from each `SKILL.md`
|
|
3. Builds the system prompt with skill descriptions in XML format
|
|
4. The LLM decides which skill(s) to activate based on the user's prompt
|
|
5. When activated, the agent reads the full SKILL.md using the `read` tool
|
|
|
|
## Progressive Disclosure Pattern
|
|
|
|
```
|
|
System prompt (always in context):
|
|
- "Available skills: brave-search (Web search...), browser-tools (Browser automation...), ..."
|
|
|
|
User: "Search for information about React hooks"
|
|
|
|
Agent decides: activate brave-search
|
|
Agent reads: ~/.pi/agent/skills/brave-search/SKILL.md (full file)
|
|
Agent executes: {baseDir}/search.js "React hooks"
|
|
```
|
|
|
|
## This is progressive disclosure: only descriptions are always in context, full instructions load on-demand.
|
|
|
|
## Related
|
|
|
|
* [Skills Specification](/tools/npx-skills/skills-spec.md) — What the agent sees in the system prompt
|
|
* [Skill Commands](/tools/npx-skills/skill-commands.md) — The `/skill:name` override
|