Pi の設定、拡張、プラットフォーム設定、API リファレンス。

Skills

piはスキルを作成できます。あなたのユースケースに合わせて構築するよう依頼してください。

Skills は、エージェントがオンデマンドでロードする自己完結型の機能パッケージです。スキルは、特定のタスクに関する特殊なワークフロー、セットアップ手順、ヘルパー スクリプト、リファレンス ドキュメントを提供します。

Pi は Agent Skills standard を実装し、ほとんどの違反について警告しますが、寛大なままです。 Pi では、標準では許可されていない場合でも、スキル名が親ディレクトリと異なることが許可されます。このルールは、複数のエージェント ハーネス間で使用される共有スキル ディレクトリには最適ではありません。

目次

所在地

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

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 パスはまだロードされます)。

他のハーネスからSkillsを使用する

Claude Code または OpenAI Codex のスキルを使用するには、それらのディレクトリを設定に追加します。

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

プロジェクト レベルのクロード コード スキルについては、.pi/settings.json に追加します。

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

Skills の仕組み

  1. 起動時に、pi はスキルの場所をスキャンし、名前と説明を抽出します。
  2. システム プロンプトには、specification に従って XML 形式で利用可能なスキルが含まれています。
  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 では、名前が親ディレクトリと一致する必要はありません。 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 は、エージェント Skills の標準に照らしてスキルを検証します。ほとんどの問題では警告が生成されますが、スキルは引き続きロードされます。

  • 名前が64文字を超えているか、無効な文字が含まれています
  • 名前の先頭/末尾がハイフンであるか、連続したハイフンが含まれています
  • 説明が 1024 文字を超えています

不明なフロントマターフィールドは無視されます。

例外: 説明が欠落している Skills はロードされません。

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

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

スキル.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)、Web 開発
  • Pi Skills - Web 検索、ブラウザ自動化、Google APIs、文字起こし