Skills
Пи может создавать навыки. Попросите его создать его для вашего варианта использования.
Skills — это автономные пакеты возможностей, которые агент загружает по требованию. Навык предоставляет специализированные рабочие процессы, инструкции по настройке, вспомогательные сценарии и справочную документацию для конкретных задач.
Pi реализует Agent Skills standard, предупреждая о большинстве нарушений, но оставаясь снисходительным. Pi позволяет именам навыков отличаться от их родительского каталога, хотя стандарт это запрещает; это правило неоптимально для общих каталогов навыков, используемых в нескольких системах агентов.
Оглавление
- Locations
- How Skills Work
- Skill Commands
- Skill Structure
- Frontmatter
- Validation
- Example
- Skill Repositories
Локации
Безопасность: 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
- При запуске pi сканирует расположение навыков и извлекает имена и описания.
- Системная подсказка включает доступные навыки в формате XML согласно specification
- Когда задача совпадает, агент использует
readдля загрузки полного SKILL.md (модели не всегда делают это; используйте подсказку или/skill:name, чтобы принудительно это сделать) - Агент следует инструкциям, используя относительные пути для ссылки на сценарии и ресурсы.
Это прогрессивное раскрытие: только описания всегда находятся в контексте, полные инструкции загружаются по требованию.
Команды навыков
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.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 установить
```
## 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, транскрипция