Настройка, расширение, параметры платформы и справочник API для Pi.

Skills

Пи может создавать навыки. Попросите его создать его для вашего варианта использования.

Skills — это автономные пакеты возможностей, которые агент загружает по требованию. Навык предоставляет специализированные рабочие процессы, инструкции по настройке, вспомогательные сценарии и справочную документацию для конкретных задач.

Pi реализует Agent Skills standard, предупреждая о большинстве нарушений, но оставаясь снисходительным. Pi позволяет именам навыков отличаться от их родительского каталога, хотя стандарт это запрещает; это правило неоптимально для общих каталогов навыков, используемых в нескольких системах агентов.

Оглавление

Локации

Безопасность: Skills может указать модели выполнить любое действие и может включать исполняемый код, который вызывает модель. Перед использованием просмотрите содержание навыков.

Pi загружает навыки из:

  • Глобальный:
    • ~/.pi/agent/skills/
    • ~/.agents/skills/
  • Проект (только после того, как проекту доверяют):
    • .pi/skills/
    • .agents/skills/ в cwd и каталогах предков (до корня репозитория git или корня файловой системы, если он не находится в репозитории)
  • Пакеты: skills/ каталогов или pi.skills записей в package.json.
  • Настройки: skills массив с файлами или каталогами.
  • CLI: --skill <path> (повторяемый, аддитивный даже с --no-skills)

Правила открытия:

  • В ~/.pi/agent/skills/ и .pi/skills/ файлы прямого корня .md обнаруживаются как отдельные навыки.
  • Во всех локациях навыков рекурсивно обнаруживаются каталоги, содержащие SKILL.md.
  • В ~/.agents/skills/ и проекте .agents/skills/ корневые файлы .md игнорируются.

Отключите обнаружение с помощью --no-skills (явные пути --skill все равно загружаются).

Использование Skills из других обвязок

Чтобы использовать навыки из Claude Code или OpenAI Codex, добавьте их каталоги в настройки:

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

Для навыков Claude Code на уровне проекта добавьте к .pi/settings.json:

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

Как работает Skills

  1. При запуске pi сканирует расположение навыков и извлекает имена и описания.
  2. Системная подсказка включает доступные навыки в формате XML согласно specification
  3. Когда задача совпадает, агент использует read для загрузки полного SKILL.md (модели не всегда делают это; используйте подсказку или /skill:name, чтобы принудительно это сделать)
  4. Агент следует инструкциям, используя относительные пути для ссылки на сценарии и ресурсы.

Это прогрессивное раскрытие: только описания всегда находятся в контексте, полные инструкции загружаются по требованию.

Команды навыков

Skills зарегистрируйте как /skill:name команды:

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

Аргументы после команды добавляются к содержимому навыка как User: <args>.

Переключайте команды навыков с помощью /settings в интерактивном режиме или settings.json:

{
  "enableSkillCommands": true
}

Структура навыков

Навык — это каталог с файлом SKILL.md. Все остальное — произвольная форма.

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

---
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 установить
```

## Usage

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

Используйте относительные пути из каталога навыков:

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

Фронтматтер

Согласно Agent Skills specification:

Поле Необходимый Описание
name Да Макс. 64 символа. Строчные буквы a–z, 0–9, дефисы. В отличие от стандарта, Pi не требует, чтобы это соответствовало родительскому каталогу, поскольку это стандартное требование неоптимально для общих каталогов навыков.
description Да Макс. 1024 символа. Что делает навык и когда его использовать.
license Нет Имя лицензии или ссылка на связанный файл.
compatibility Нет Макс. 500 символов. Требования к окружающей среде.
metadata Нет Произвольное сопоставление ключ-значение.
allowed-tools Нет Список предварительно одобренных инструментов (экспериментальный), разделенный пробелами.
disable-model-invocation Нет Когда true, навык скрыт из системной подсказки. Пользователи должны использовать /skill:name.

Правила имени

  • 1–64 символа
  • Только строчные буквы, цифры и дефисы
  • Нет начальных/конечных дефисов
  • Нет последовательных дефисов Pi не требует, чтобы имя соответствовало родительскому каталогу. Стандарт агента Skills поддерживает это требование, но это требование неоптимально для общих каталогов навыков, используемых несколькими инструментами.

Допустимо: pdf-processing, data-analysis, code-review Недопустимо: PDF-Processing, -pdf, pdf--processing

Описание Лучшие практики

Описание определяет, когда агент загружает навык. Будьте конкретны.

Хороший:

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

Бедный:

description: Helps with PDFs.

Валидация

Pi проверяет навыки на соответствие стандарту агента Skills. Большинство проблем выдают предупреждения, но навык все равно загружается:

  • Имя превышает 64 символа или содержит недопустимые символы.
  • Имя начинается/оканчивается дефисом или содержит последовательные дефисы.
  • Описание превышает 1024 символа

Неизвестные поля заголовка игнорируются.

Исключение: Skills с отсутствующим описанием не загружаются.

Столкновения имен (одно и то же имя в разных местах) предупреждают и сохраняют первый найденный навык.

Пример

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 установить
```

## Search

```bash
./search.js "query" # Базовый поиск
./search.js "query" --content # Включить содержимое страницы
```

## Extract Page Content

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

Хранилища навыков

  • Anthropic Skills - Обработка документов (docx, pdf, pptx, xlsx), веб-разработка
  • Pi Skills — веб-поиск, автоматизация браузера, Google APIs, транскрипция