コンテンツにスキップ

スキル

pi はスキルを作成できます。ユースケース用のスキルを構築するよう依頼してください。

スキルはエージェントがオンデマンドで読み込む自己完結型の能力パッケージです。特定タスク向けの専門ワークフロー、セットアップ手順、ヘルパースクリプト、リファレンスドキュメントを提供します。

Pi は Agent Skills 標準 を実装し、ほとんどの違反について警告しますが寛容です。Pi はスキル名が親ディレクトリと異なることを許可します(標準は禁止)。その要件は複数エージェントハーネスで共有するスキルディレクトリには最適ではありません。

セキュリティ: スキルはモデルに任意のアクションを指示でき、モデルが呼び出す実行可能コードを含む場合があります。使用前にスキル内容を確認してください。

Pi は次の場所からスキルを読み込みます:

  • グローバル:
    • ~/.pi/agent/skills/
    • ~/.agents/skills/
  • プロジェクト(プロジェクトが信頼された後):
    • .pi/skills/
    • cwd および祖先ディレクトリの .agents/skills/(git リポジトリルートまで、リポジトリ外ではファイルシステムルートまで)
  • パッケージ:skills/ ディレクトリまたは package.jsonpi.skills エントリ
  • 設定:ファイルまたはディレクトリを含む skills 配列
  • CLI:--skill <path>(繰り返し可能、--no-skills でも追加可能)

発見ルール:

  • ~/.pi/agent/skills/.pi/skills/ では、ルートの直接 .md ファイルが個別スキルとして発見
  • すべてのスキル場所で SKILL.md を含むディレクトリを再帰的に発見
  • ~/.agents/skills/ とプロジェクト .agents/skills/ ではルート .md を無視

--no-skills で発見を無効化(明示的 --skill パスは読み込み)。

Claude Code または OpenAI Codex のスキルを使うには、ディレクトリを設定に追加:

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

プロジェクトレベルの Claude Code スキルは .pi/settings.json に追加:

{
"skills": ["../.claude/skills"]
}
  1. 起動時、pi がスキル場所をスキャンし名前と説明を抽出
  2. システムプロンプトに 仕様 に従い XML 形式で利用可能スキルを含める
  3. タスクが一致すると、エージェントは read で完全な SKILL.md を読み込む(モデルが必ずしもそうしない;プロンプトまたは /skill:name で強制)
  4. エージェントは指示に従い、相対パスでスクリプトとアセットを参照

これは段階的開示:説明のみが常にコンテキストにあり、完全な指示はオンデマンドで読み込み。

スキルは /skill:name コマンドとして登録:

Terminal window
/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
---
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>
```

スキルディレクトリからの相対パスを使用:

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

Agent Skills 仕様 に従う:

フィールド必須説明
nameはい最大 64 文字。小文字 a-z、0-9、ハイフン。標準と異なり Pi は親ディレクトリとの一致を要求しない(共有スキルディレクトリには最適でないため)。
descriptionはい最大 1024 文字。スキルの内容と使用タイミング。
licenseいいえライセンス名または同梱ファイルへの参照。
compatibilityいいえ最大 500 文字。環境要件。
metadataいいえ任意のキー値マップ。
allowed-toolsいいえ事前承認ツールのスペース区切りリスト(実験的)。
disable-model-invocationいいえtrue の場合、システムプロンプトから非表示。ユーザーは /skill:name を使用。
  • 1-64 文字
  • 小文字、数字、ハイフンのみ
  • 先頭/末尾ハイフン不可
  • 連続ハイフン不可

Pi は名前が親ディレクトリと一致することを要求しません。Agent Skills 標準は要求しますが、複数ツールで共有するスキルディレクトリには最適ではありません。

有効:pdf-processingdata-analysiscode-review 無効:PDF-Processing-pdfpdf--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 は Agent Skills 標準に対してスキルを検証。ほとんどの問題は警告ですがスキルは読み込まれます:

  • 名前が 64 文字超または無効文字
  • 名前がハイフンで始まる/終わる、または連続ハイフン
  • 説明が 1024 文字超

未知のフロントマターフィールドは無視。

例外: 説明がないスキルは読み込まれません。

名前衝突(異なる場所の同じ名前)は警告し、最初に見つかったスキルを保持。

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" # Basic search
./search.js "query" --content # Include page content
```
## Extract Page Content
```bash
./content.js https://example.com
```
  • Anthropic Skills - ドキュメント処理(docx、pdf、pptx、xlsx)、Web 開発
  • Pi Skills - Web 検索、ブラウザ自動化、Google API、文字起こし