Configuration, personnalisation, paramètres de plateforme et références API pour Pi.

Skills

pi peut créer des compétences. Demandez-lui d'en créer un pour votre cas d'utilisation.

Skills sont des packages de fonctionnalités autonomes que l'agent charge à la demande. Une compétence fournit des flux de travail spécialisés, des instructions de configuration, des scripts d'assistance et une documentation de référence pour des tâches spécifiques.

Pi implémente le Agent Skills standard, avertissant de la plupart des violations mais restant indulgent. Pi permet aux noms de compétences de différer de leur répertoire parent même si la norme l'interdit; cette règle n'est pas optimale pour les répertoires de compétences partagés utilisés dans plusieurs harnais d'agents.

Table des matières

Emplacements

Sécurité: Skills peut demander au modèle d'effectuer n'importe quelle action et peut inclure du code exécutable invoqué par le modèle. Examinez le contenu des compétences avant utilisation.

Pi charge les compétences de:

  • Mondial:
    • ~/.pi/agent/skills/
    • ~/.agents/skills/
  • Projet (uniquement une fois que le projet est approuvé):
    • .pi/skills/
    • .agents/skills/ dans cwd et les répertoires ancêtres (jusqu'à la racine du dépôt git ou la racine du système de fichiers lorsqu'il n'est pas dans un dépôt)
  • Forfaits: skills/ répertoires ou pi.skills entrées dans package.json
  • Paramètres: skills tableau avec des fichiers ou des répertoires
  • CLI: --skill <path> (répétable, additif même avec --no-skills)

Règles de découverte:

  • Dans ~/.pi/agent/skills/ et .pi/skills/, les fichiers racine directe .md sont découverts en tant que compétences individuelles
  • Dans tous les emplacements de compétences, les répertoires contenant SKILL.md sont découverts de manière récursive
  • Dans ~/.agents/skills/ et le projet .agents/skills/, les fichiers racine .md sont ignorés

Désactivez la découverte avec --no-skills (les chemins explicites --skill sont toujours chargés).

Utilisation de Skills à partir d'autres harnais

Pour utiliser les compétences de Claude Code ou OpenAI Codex, ajoutez leurs répertoires aux paramètres:

{
  "skills": [
    "~/.claude/skills",
    "~/.codex/skills"
  ]
}

Pour les compétences Claude Code au niveau du projet, ajoutez à .pi/settings.json:

{
  "skills": ["../.claude/skills"]
}

Comment fonctionne Skills

  1. Au démarrage, pi analyse les emplacements des compétences et en extrait les noms et les descriptions
  2. L'invite système inclut les compétences disponibles au format XML selon le specification
  3. Lorsqu'une tâche correspond, l'agent utilise read pour charger le SKILL.md complet (les modèles ne le font pas toujours; utilisez l'invite ou /skill:name pour le forcer)
  4. L'agent suit les instructions, en utilisant des chemins relatifs pour référencer les scripts et les ressources.

Il s'agit d'une divulgation progressive: seules les descriptions sont toujours contextuelles, les instructions complètes sont chargées à la demande.

Commandes de compétences

Skills s'inscrire en tant que commandes /skill:name:

/skill:brave-search           # Load and execute the skill
/skill:pdf-tools extract      # Load skill with arguments

Les arguments après la commande sont ajoutés au contenu de la compétence sous la forme User: <args>.

Basculez les commandes de compétences via /settings en mode interactif ou en settings.json:

{
  "enableSkillCommands": true
}

Structure des compétences

Une compétence est un répertoire avec un fichier SKILL.md. Tout le reste est de forme libre.

my-skill/
├── SKILL.md              # Required: frontmatter + instructions
├── scripts/              # Helper scripts
│   └── process.sh
├── references/           # Detailed docs loaded on-demand
│   └── api-reference.md
└── assets/
    └── template.json

Format SKILL.md

---
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 /chemin/vers/compétence && npm installer
```

## Usage

```bash
./scripts/process.sh <input>
```

Utilisez les chemins relatifs du répertoire de compétences:

See [the reference guide](references/REFERENCE.md) for details.

Frontière

Par le Agent Skills specification:

Champ Requis Description
name Oui Max 64 caractères. Minuscules a-z, 0-9, tirets. Contrairement à la norme, Pi n'exige pas que cela corresponde au répertoire parent car cette exigence standard n'est pas optimale pour les répertoires de compétences partagés.
description Oui Maximum 1024 caractères. À quoi sert la compétence et quand l’utiliser.
license Non Nom de la licence ou référence au fichier groupé.
compatibility Non Max 500 caractères. Exigences environnementales.
metadata Non Mappage clé-valeur arbitraire.
allowed-tools Non Liste délimitée par des espaces d'outils pré-approuvés (expérimentaux).
disable-model-invocation Non Lorsque true, la compétence est masquée de l'invite du système. Les utilisateurs doivent utiliser /skill:name.

Règles de nom

  • 1 à 64 caractères
  • Lettres minuscules, chiffres et traits d'union uniquement
  • Pas de tirets de début/fin
  • Pas de tirets consécutifs Pi ne nécessite pas que le nom corresponde au répertoire parent. La norme Agent Skills le fait, mais cette exigence n'est pas optimale pour les répertoires de compétences partagés utilisés par plusieurs outils.

Valide: pdf-processing, data-analysis, code-review Invalide: PDF-Processing, -pdf, pdf--processing

Description Meilleures pratiques

La description détermine le moment où l'agent charge la compétence. Soyez précis.

Bien:

description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents.

Pauvre:

description: Helps with PDFs.

Validation

Pi valide les compétences par rapport à la norme Agent Skills. La plupart des problèmes génèrent des avertissements mais chargent quand même la compétence:

  • Le nom dépasse 64 caractères ou contient des caractères non valides
  • Le nom commence/se termine par un trait d'union ou comporte des traits d'union consécutifs
  • La description dépasse 1 024 caractères

Les champs de contenu inconnus sont ignorés.

Exception: Skills avec une description manquante ne sont pas chargés.

Les collisions de noms (même nom à différents endroits) avertissent et conservent la première compétence trouvée.

Exemple

brave-search/
├── SKILL.md
├── search.js
└── content.js

COMPÉTENCE.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 /chemin/vers/brave-search && npm installer
```

## Search

```bash
./search.js "query" # Recherche de base
./search.js "query" --content # Inclure le contenu de la page
```

## Extract Page Content

```bash
./content.js https://exemple.com
```

Référentiels de compétences

  • Anthropic Skills - Traitement de documents (docx, pdf, pptx, xlsx), développement web
  • Pi Skills - Recherche sur le Web, automatisation du navigateur, Google APIs, transcription