Skills
Pi kann Fähigkeiten schaffen. Bitten Sie es, eines für Ihren Anwendungsfall zu erstellen.
Skills sind eigenständige Funktionspakete, die der Agent bei Bedarf lädt. Ein Skill stellt spezielle Arbeitsabläufe, Einrichtungsanweisungen, Hilfsskripts und Referenzdokumentation für bestimmte Aufgaben bereit.
Pi implementiert Agent Skills standard und warnt vor den meisten Verstößen, bleibt aber nachsichtig. Pi erlaubt, dass sich Skill-Namen vom übergeordneten Verzeichnis unterscheiden, auch wenn der Standard dies nicht zulässt; Diese Regel ist für gemeinsam genutzte Skill-Verzeichnisse, die über mehrere Agentenstrukturen hinweg verwendet werden, nicht optimal.
Inhaltsverzeichnis
- Locations
- How Skills Work
- Skill Commands
- Skill Structure
- Frontmatter
- Validation
- Example
- Skill Repositories
Standorte
Sicherheit: Skills kann das Modell anweisen, eine beliebige Aktion auszuführen und kann ausführbaren Code enthalten, den das Modell aufruft. Überprüfen Sie den Inhalt der Fertigkeiten vor der Verwendung.
Pi lädt Fähigkeiten von:
- Global:
~/.pi/agent/skills/~/.agents/skills/
- Projekt (nur nachdem das Projekt vertrauenswürdig ist):
.pi/skills/.agents/skills/incwdund Vorgängerverzeichnissen (bis zum Git-Repo-Root oder Dateisystem-Root, wenn nicht in einem Repo)
- Pakete:
skills/Verzeichnisse oderpi.skillsEinträge inpackage.json - Einstellungen:
skillsArray mit Dateien oder Verzeichnissen - CLI:
--skill <path>(wiederholbar, additiv auch mit--no-skills)
Discovery-Regeln:
- In
~/.pi/agent/skills/und.pi/skills/werden direkte Stammdateien.mdals individuelle Fähigkeiten erkannt - An allen Skill-Standorten werden Verzeichnisse, die
SKILL.mdenthalten, rekursiv erkannt - In
~/.agents/skills/und Projekt.agents/skills/werden Root-Dateien.mdignoriert
Deaktivieren Sie die Erkennung mit --no-skills (explizite --skill Pfade werden weiterhin geladen).
Verwendung von Skills von anderen Geschirren
Um Fähigkeiten von Claude Code oder OpenAI Codex zu verwenden, fügen Sie deren Verzeichnisse zu den Einstellungen hinzu:
{
"skills": [
"~/.claude/skills",
"~/.codex/skills"
]
}Für Claude-Code-Kenntnisse auf Projektebene fügen Sie zu .pi/settings.json hinzu:
{
"skills": ["../.claude/skills"]
}Wie Skills funktioniert
- Beim Start scannt Pi die Standorte der Fertigkeiten und extrahiert Namen und Beschreibungen
- Die Systemaufforderung enthält verfügbare Fertigkeiten im XML-Format gemäß specification
- Wenn eine Aufgabe übereinstimmt, verwendet der Agent
read, um die vollständige SKILL.md zu laden (Modelle tun dies nicht immer; verwenden Sie Eingabeaufforderungen oder/skill:name, um es zu erzwingen). - Der Agent befolgt die Anweisungen und verwendet relative Pfade, um auf Skripts und Assets zu verweisen
Dies ist eine progressive Offenlegung: Nur Beschreibungen sind immer im Kontext, vollständige Anweisungen werden bei Bedarf geladen.
Fertigkeitsbefehle
Skills als /skill:name Befehle registrieren:
/skill:brave-search # Load and execute the skill
/skill:pdf-tools extract # Load skill with argumentsArgumente nach dem Befehl werden als User: <args> an den Skill-Inhalt angehängt.
Schalten Sie die Fertigkeitsbefehle über /settings im interaktiven Modus oder in settings.json um:
{
"enableSkillCommands": true
}Fähigkeitsstruktur
Ein Skill ist ein Verzeichnis mit einer SKILL.md-Datei. Alles andere ist Freiform.
my-skill/
├── SKILL.md # Required: frontmatter + instructions
├── scripts/ # Helper scripts
│ └── process.sh
├── references/ # Detailed docs loaded on-demand
│ └── api-reference.md
└── assets/
└── template.jsonSKILL.md-Format
---
name: my-skill
description: What this skill does and when to use it. Be specific.
---
# My Skill
## Setup
Run once before first use:
```bash
cd /path/to/skill && npm install
```
## Usage
```bash
./scripts/process.sh <input>
```Verwenden Sie relative Pfade aus dem Skill-Verzeichnis:
See [the reference guide](references/REFERENCE.md) for details.Frontmatter
Laut Agent Skills specification:
| Feld | Erforderlich | Beschreibung |
|---|---|---|
name |
Ja | Maximal 64 Zeichen. Kleinbuchstaben a–z, 0–9, Bindestriche. Im Gegensatz zum Standard erfordert Pi nicht, dass dies mit dem übergeordneten Verzeichnis übereinstimmt, da diese Standardanforderung für gemeinsam genutzte Skill-Verzeichnisse nicht optimal ist. |
description |
Ja | Maximal 1024 Zeichen. Was die Fertigkeit bewirkt und wann sie eingesetzt werden sollte. |
license |
NEIN | Lizenzname oder Verweis auf die gebündelte Datei. |
compatibility |
NEIN | Maximal 500 Zeichen. Umgebungsanforderungen. |
metadata |
NEIN | Beliebige Schlüsselwertzuordnung. |
allowed-tools |
NEIN | Durch Leerzeichen getrennte Liste vorab genehmigter Tools (experimentell). |
disable-model-invocation |
NEIN | Bei true wird der Skill in der Systemaufforderung ausgeblendet. Benutzer müssen /skill:name verwenden. |
Namensregeln
- 1-64 Zeichen
- Nur Kleinbuchstaben, Zahlen, Bindestriche
- Keine führenden/nachgestellten Bindestriche
- Keine aufeinanderfolgenden Bindestriche Pi erfordert nicht, dass der Name mit dem übergeordneten Verzeichnis übereinstimmt. Der Agent Skills-Standard tut dies, aber diese Anforderung ist für gemeinsame Skill-Verzeichnisse, die von mehreren Tools verwendet werden, nicht optimal.
Gültig: pdf-processing, data-analysis, code-review
Ungültig: PDF-Processing, -pdf, pdf--processing
Beschreibung Best Practices
Die Beschreibung bestimmt, wann der Agent den Skill lädt. Seien Sie konkret.
Gut:
description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents.Arm:
description: Helps with PDFs.Validierung
Pi validiert Fähigkeiten anhand des Standards des Agenten Skills. Bei den meisten Problemen werden Warnungen ausgegeben, der Skill wird jedoch trotzdem geladen:
- Der Name ist länger als 64 Zeichen oder enthält ungültige Zeichen
- Der Name beginnt/endet mit einem Bindestrich oder hat aufeinanderfolgende Bindestriche
- Die Beschreibung umfasst mehr als 1024 Zeichen
Unbekannte Frontmatter-Felder werden ignoriert.
Ausnahme: Skills mit fehlender Beschreibung werden nicht geladen.
Namenskollisionen (gleicher Name an verschiedenen Orten) warnen und behalten den zuerst gefundenen Skill bei.
Beispiel
brave-search/
├── SKILL.md
├── search.js
└── content.jsSKILL.md:
---
name: brave-search
description: Web search and content extraction via Brave Search API. Use for searching documentation, facts, or any web content.
---
# Brave Search
## Setup
```bash
cd /path/to/brave-search && npm install
```
## Search
```bash
./search.js "query" # Einfache Suche
./search.js "query" --content # Seiteninhalt einschließen
```
## Extract Page Content
```bash
./content.js https://example.com
```Skill-Repositories
- Anthropic Skills – Dokumentenverarbeitung (docx, pdf, pptx, xlsx), Webentwicklung
- Pi Skills – Websuche, Browser-Automatisierung, Google APIs, Transkription