pi-extension-authoring について
Pi のコーディングエージェント向け拡張機能の作成を支援するスキルです。pi-mono の文書とソースに基づき、機能、リソース順序、TUI 連携、カスタムプロバイダーを扱います。
主な機能
- 01拡張機能のツール、コマンド、テーマ、プロンプト
- 02スキルパスの追加と順序の解説
- 03TUI コンポーネント連携ガイド
- 04カスタムプロバイダー登録パターン
- 05文書とサンプルに沿った作業手順
活用シーン
- 01新しい Pi 拡張機能の計画
- 02スキルリソースの優先順位の説明
- 03拡張 UI やカスタムプロバイダーの追加
MCP 対応
Pi コアが MCP に対応すると決めつけないよう注意を促します。MCP は拡張機能を通じて任意に追加できます。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ romiluz13/ pi-agent-skills --skill pi-extension-authoringインストール後、Claude Code で/pi-extension-authoringを入力して読み込まれたか確認します。
同梱ファイルreferences/CORPUS.md
詳細
Pi 拡張機能の作成
すべての回答は、以下の pi-mono/ 内のファイルに基づいてください。
根拠となる情報
pi-mono/packages/coding-agent/docs/extensions.md— 機能、ライフサイクル、パターン。pi-mono/packages/coding-agent/examples/extensions/README.md— 実行可能なサンプルの一覧。pi-mono/packages/coding-agent/src/core/resource-loader.ts—extendResources()は既存のlastSkillPathsの後にmergePathsでパスを追加します(後から追加されたパスは、名前が異ならない限り、名前の衝突時に先に追加されたパスに優先されません)。pi-mono/packages/coding-agent/src/core/agent-session.ts— 拡張機能のコマンドとキューに追加されたプロンプトの違い、スキル展開フック。pi-mono/packages/coding-agent/docs/tui.md—@mariozechner/pi-tuiを使った拡張機能の TUI コンポーネント統合:Componentのレンダリング規約、オーバーレイのパターン、拡張機能のコンテキストでの入力処理。pi-mono/packages/coding-agent/docs/custom-provider.md— プロキシ、OAuth/SSO、カスタム API、カスタムモデル定義のためのregisterProvider()。
不変条件
- 拡張機能では、ツール、コマンド、テーマ、プロンプト、追加のスキルパスを登録できます。正確な API の範囲はドキュメントとサンプルモジュールで定義されています。記憶に頼らず、まず
docs/extensions.mdを確認してください。 - 動的なリソース検出のパターンは
pi-mono/packages/coding-agent/examples/extensions/内(例:サンプル README に記載されているdynamic-resources/)にあります。
ワークフロー
- 新しい拡張機能:
docs/extensions.mdを読み、最も近いexamples/extensions/のテンプレートをコピーします。その後、pi-mono内で作業する場合はプロジェクトのAGENTS.mdに合わせます。 - 拡張機能からのスキル:
resource-loader.tsのextendResourcesとmergePathsをたどり、ユーザー/プロジェクト/パッケージのスキルとの優先順位を説明します。 - 拡張機能の TUI:拡張機能のコンテキストにおける
Componentのレンダリング規約についてdocs/tui.mdを読み、ライブラリレベルの API についてはpi-tuiスキルを併せて参照します。 - 拡張機能によるカスタムプロバイダー:
registerProvider()の OAuth フローとプロキシのパターンについては、pi-cli-workspaceに基づくpi-mono/packages/coding-agent/docs/custom-provider.mdを参照してください。
アンチパターン
- コアで MCP をサポートしていると断言しないでください。サポートは拡張機能を通じた任意のものです(coding-agent README の設計方針を参照してください)。
コメント
Markdown 対応