Konfiguration, Anpassung, Plattform-Einrichtung und API-Referenzen für Pi.

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

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/ in cwd und Vorgängerverzeichnissen (bis zum Git-Repo-Root oder Dateisystem-Root, wenn nicht in einem Repo)
  • Pakete: skills/ Verzeichnisse oder pi.skills Einträge in package.json
  • Einstellungen: skills Array 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 .md als individuelle Fähigkeiten erkannt
  • An allen Skill-Standorten werden Verzeichnisse, die SKILL.md enthalten, rekursiv erkannt
  • In ~/.agents/skills/ und Projekt .agents/skills/ werden Root-Dateien .md ignoriert

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

  1. Beim Start scannt Pi die Standorte der Fertigkeiten und extrahiert Namen und Beschreibungen
  2. Die Systemaufforderung enthält verfügbare Fertigkeiten im XML-Format gemäß specification
  3. 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).
  4. 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 arguments

Argumente 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.json

SKILL.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.js

SKILL.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