Configuração, personalização, ajustes de plataforma e referências de API para Pi.

Skills

pi pode criar habilidades. Peça para criar um para o seu caso de uso.

Skills são pacotes de recursos independentes que o agente carrega sob demanda. Uma habilidade fornece fluxos de trabalho especializados, instruções de configuração, scripts auxiliares e documentação de referência para tarefas específicas.

Pi implementa o Agent Skills standard, alertando sobre a maioria das violações, mas permanecendo tolerante. Pi permite que os nomes das habilidades sejam diferentes de seu diretório pai, mesmo que o padrão não permita isso; essa regra não é ideal para diretórios de habilidades compartilhados usados ​​em vários equipamentos de agente.

Índice

Locais

Segurança: Skills pode instruir o modelo a executar qualquer ação e pode incluir código executável que o modelo invoca. Revise o conteúdo da habilidade antes de usar.

Pi carrega habilidades de:

  • Global:
    • ~/.pi/agent/skills/
    • ~/.agents/skills/
  • Projeto (somente depois que o projeto for confiável):
    • .pi/skills/
    • .agents/skills/ em cwd e diretórios ancestrais (até git repo root ou filesystem root quando não estiver em um repo)
  • Pacotes: diretórios skills/ ou entradas pi.skills em package.json
  • Configurações: skills array com arquivos ou diretórios
  • CLI: --skill <path> (repetível, aditivo mesmo com --no-skills)

Regras de descoberta:

  • Em ~/.pi/agent/skills/ e .pi/skills/, arquivos raiz direta .md são descobertos como habilidades individuais
  • Em todos os locais de habilidade, os diretórios contendo SKILL.md são descobertos recursivamente
  • Em ~/.agents/skills/ e no projeto .agents/skills/, os arquivos raiz .md são ignorados

Desative a descoberta com --no-skills (caminhos --skill explícitos ainda são carregados).

Usando Skills de outros chicotes

Para usar habilidades do Claude Code ou OpenAI Codex, adicione seus diretórios às configurações:

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

Para habilidades de Claude Code em nível de projeto, adicione a .pi/settings.json:

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

Como Skills funciona

  1. Na inicialização, o pi verifica os locais das habilidades e extrai nomes e descrições
  2. O prompt do sistema inclui habilidades disponíveis em formato XML de acordo com specification
  3. Quando uma tarefa corresponde, o agente usa read para carregar o SKILL.md completo (os modelos nem sempre fazem isso; use prompts ou /skill:name para forçá-lo)
  4. O agente segue as instruções, usando caminhos relativos para referenciar scripts e ativos

Esta é uma divulgação progressiva: apenas as descrições estão sempre no contexto, as instruções completas são carregadas sob demanda.

Comandos de habilidade

Skills registre-se como /skill:name comandos:

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

Os argumentos após o comando são anexados ao conteúdo da habilidade como User: <args>.

Alterne os comandos de habilidade via /settings no modo interativo ou em settings.json:

{
  "enableSkillCommands": true
}

Estrutura de habilidades

Uma habilidade é um diretório com um arquivo SKILL.md. Todo o resto é de forma livre.

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

Formato HABILIDADE.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 /caminho/para/habilidade && npm instalar
```

## Usage

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

Use caminhos relativos do diretório de habilidades:

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

Matéria inicial

De acordo com Agent Skills specification:

Campo Obrigatório Descrição
name Sim Máximo de 64 caracteres. A-z minúsculo, 0-9, hífens. Ao contrário do padrão, Pi não exige que isso corresponda ao diretório pai porque esse requisito padrão não é ideal para diretórios de habilidades compartilhados.
description Sim Máximo de 1024 caracteres. O que a habilidade faz e quando usá-la.
license Não Nome da licença ou referência ao arquivo incluído.
compatibility Não Máximo de 500 caracteres. Requisitos ambientais.
metadata Não Mapeamento arbitrário de valores-chave.
allowed-tools Não Lista delimitada por espaço de ferramentas pré-aprovadas (experimental).
disable-model-invocation Não Quando true, a habilidade fica oculta no prompt do sistema. Os usuários devem usar /skill:name.

Regras de nomes

  • 1-64 caracteres
  • Somente letras minúsculas, números e hífens
  • Sem hífens iniciais/finais
  • Sem hífens consecutivos Pi não requer que o nome corresponda ao diretório pai. O padrão Agent Skills sim, mas esse requisito é abaixo do ideal para diretórios de habilidades compartilhados usados ​​por múltiplas ferramentas.

Válido: pdf-processing, data-analysis, code-review Inválido: PDF-Processing, -pdf, pdf--processing

Descrição Melhores Práticas

A descrição determina quando o agente carrega a habilidade. Seja específico.

Bom:

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

Pobre:

description: Helps with PDFs.

Validação

Pi valida habilidades em relação ao padrão do Agente Skills. A maioria dos problemas produz avisos, mas ainda carrega a habilidade:

  • O nome excede 64 caracteres ou contém caracteres inválidos
  • O nome começa/termina com hífen ou tem hífens consecutivos
  • A descrição excede 1.024 caracteres

Campos frontmatter desconhecidos são ignorados.

Exceção: Skills com descrição ausente não são carregados.

Colisões de nomes (mesmo nome em locais diferentes) avisam e mantêm a primeira habilidade encontrada.

Exemplo

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

HABILIDADE.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 /caminho/para/brave-search && npm instalar
```

## Search

```bash
./search.js "query" # Pesquisa básica
./search.js "query" --content # Inclui o conteúdo da página
```

## Extract Page Content

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

Repositórios de Habilidades

  • Anthropic Skills - Processamento de documentos (docx, pdf, pptx, xlsx), desenvolvimento web
  • Pi Skills - Pesquisa na Web, automação do navegador, Google APIs, transcrição