pi-cli-workspace について
pi-cli-workspaceは、指定されたpi-monoの資料とソースに基づいて回答するリファレンススキルです。資料で確認できない場合はその旨を示し、CLI、リソース読み込み、セッション、プロバイダー、設定を扱います。MCPはpiのコアに組み込まれていません。
主な機能
- 01指定されたpi-mono資料に基づく回答
- 02スキルの検出と名前衝突の説明
- 03セッション、ブランチ、圧縮の解説
- 04モデルと認証情報の設定案内
- 05CLI、ターミナル、環境設定の解説
- 06コア機能と拡張機能の区別
活用シーン
- 01スキルの検出場所と優先順位の確認
- 02セッション、ブランチ、圧縮の調査
- 03モデルプロバイダーと認証情報の設定
- 04CLIモード、ツール、リソース制御の把握
MCP 対応
pi-monoのcoding-agentコアにはMCPが含まれていません。関連機能はCLIツールまたは拡張機能で実現できると説明しています。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ romiluz13/ pi-agent-skills --skill pi-cli-workspaceインストール後、Claude Code で/pi-cli-workspaceを入力して読み込まれたか確認します。
同梱ファイルreferences/CORPUS.md
詳細
Pi CLI とワークスペース
以下に記載された pi-mono/ のソースのみを根拠に回答してください。ツリー内に記載がない場合は、このコーパスからは確認できないと伝えてください。
根拠資料(順に確認)
pi-mono/packages/coding-agent/README.md— 製品の概要、コマンド、カスタマイズ。pi-mono/packages/coding-agent/docs/skills.md— スキルの場所、/skill:name、フロントマター、名前の競合。pi-mono/packages/coding-agent/docs/settings.md— 設定の場所とキー。pi-mono/AGENTS.md— pi-mono 自体を編集する際のメンテナールール。pi-mono/packages/coding-agent/docs/compaction.md— 自動圧縮のトリガー、カットポイントのアルゴリズム、reserveTokens/keepRecentTokens設定、連続する圧縮、ブランチの要約。pi-mono/packages/coding-agent/docs/session.md— JSONL セッション形式、~/.pi/agent/sessions/のパス、エントリーの種類(message、compaction、branch_summary、custom、label)、buildSessionContext()による組み立て。pi-mono/packages/coding-agent/docs/tree.md—/treeと/forkの違い、ブランチの移動、要約オプション、ツリー UI のキー操作。pi-mono/packages/coding-agent/docs/providers.md— サブスクリプション OAuth(/login)、API キーを使うプロバイダー、auth.json、環境変数の認証情報テーブル、クラウドプロバイダー(Azure、Bedrock、Vertex)。pi-mono/packages/coding-agent/docs/models.md— Ollama/vLLM/LM Studio 用のmodels.json、compatフラグ、modelOverrides、プロバイダーレベルの設定。pi-mono/packages/coding-agent/docs/custom-provider.md—registerProvider()で拡張機能から登録するプロバイダー、OAuth フロー、プロキシのパターン。pi-mono/packages/coding-agent/docs/terminal-setup.md— Kitty キーボードプロトコル、Ghostty/iTerm/ターミナルのキー割り当てに関する注意事項。pi-mono/packages/coding-agent/docs/tmux.md— pi 内で修飾キーを使うための tmux のextended-keys/csi-u。pi-mono/packages/coding-agent/docs/windows.md— Windows での bash の検索順序(shellPath設定、Git Bash、PATH)。pi-mono/packages/coding-agent/docs/termux.md— Termux 経由で Android 上で pi を実行する方法(インストール、クリップボード、ストレージ)。pi-mono/packages/coding-agent/docs/shell-aliases.md— dotfiles のエイリアスを展開するための非対話型 bash とshellCommandPrefix。pi-mono/packages/coding-agent/docs/development.md— ローカル開発環境のセットアップ、pi-test.sh、piConfigを使ったフォーク/再ブランド化、テストコマンド。- 実装(優先順位とプロンプトの設定を確認):
pi-mono/packages/coding-agent/src/core/package-manager.ts—resourcePrecedenceRankのコメントブロック(順序の意図)。pi-mono/packages/coding-agent/src/core/resource-loader.ts—reload()におけるスキルパスのマージ(cliEnabledSkills、enabledSkills、additionalSkillPaths)。pi-mono/packages/coding-agent/src/core/skills.ts—loadSkills、formatSkillsForPrompt、名前の競合処理。pi-mono/packages/coding-agent/src/core/system-prompt.ts— デフォルトのハーネステキストと、スキル XML に対するhasReadゲート。pi-mono/packages/coding-agent/src/core/agent-session.ts—/skill:nameの本文をインライン展開する_expandSkillCommand。
pi-mono/packages/coding-agent/README.md§Editor —@によるあいまい検索、Tab 補完、Ctrl+V による画像の貼り付け、!/!!の bash コマンド。pi-mono/packages/coding-agent/README.md§Message Queue — ステアリング(Enter)とフォローアップ(Alt+Enter)、steeringMode/followUpMode/transport設定。pi-mono/packages/coding-agent/README.md§Modes、§CLI Reference — インタラクティブモード、-p/--print、--mode json、--mode rpc、パイプ経由の標準入力。pi-mono/packages/coding-agent/README.md§CLI Reference — フラグの全テーブル、@files、--tools、--no-tools、--no-extensions、--no-skills、--no-prompt-templates、--no-themes、リソース制御。pi-mono/packages/coding-agent/README.md§Environment Variables —PI_CODING_AGENT_DIR、PI_PACKAGE_DIR、PI_SKIP_VERSION_CHECK、PI_CACHE_RETENTION、VISUAL/EDITOR。pi-mono/packages/coding-agent/README.md§Philosophy — コアが意図的に含めていないもの(MCP、サブエージェント、権限のポップアップ、計画モード、組み込みの ToDo、バックグラウンド bash はなし)。すべて拡張機能で構築できます。
不変条件
- スキルの名前の衝突:最初に登録された名前が優先されます。後続のパスでは衝突診断が出力されます(
pi-mono/packages/coding-agent/src/core/skills.ts)。パス順序はresource-loader.tsで組み立てられ、その後loadSkillsに渡されます。 - リソースの優先順位(数値が小さいほど、パッケージマネージャーのリスト内で先に並びます):プロジェクトのローカル(0)、プロジェクトの自動検出(1)、ユーザーのローカル(2)、ユーザーの自動検出(3)、パッケージ(4)—
pi-mono/packages/coding-agent/src/core/package-manager.ts。 - マージ後のスキルパス:
mergePaths([...cliEnabledSkills, ...enabledSkills], additionalSkillPaths)— CLI パスはパッケージマネージャーのリストより前に配置されます。pi-mono/packages/coding-agent/src/core/resource-loader.tsを参照してください。 <available_skills>は、選択されたツールに**readツール**が含まれている場合にのみ、システムプロンプトに追加されます —pi-mono/packages/coding-agent/src/core/system-prompt.ts。- デフォルトのシステムプロンプトでは、すでにモデルにパッケージ内のドキュメントパス(
readmePath、docsPath、examples)を案内しています —pi-mono/packages/coding-agent/src/core/system-prompt.ts。このスキルで補うのはワークスペースと優先順位の詳細であり、README の重複ではありません。 - セッション形式のバージョンはv3です(
id/parentIdに基づくツリー形式)。buildSessionContextは、圧縮の要約、ブランチの要約、圧縮ポイント以降のメッセージを組み立てます —pi-mono/packages/coding-agent/docs/session.mdを参照してください。 - 圧縮のカットポイント選択では、ツールの結果が分割されないようにします。
firstKeptEntryIdは連鎖する圧縮をリンクします —pi-mono/packages/coding-agent/docs/compaction.mdを参照してください。 - 認証情報の解決順序:
--api-keyフラグ >auth.json> 環境変数 >models.jsonのカスタムキー —pi-mono/packages/coding-agent/docs/providers.mdを参照してください。 - SYSTEM.md / APPEND_SYSTEM.md:
.pi/SYSTEM.md(プロジェクト)または~/.pi/agent/SYSTEM.md(グローバル)でデフォルトのシステムプロンプトを置き換えます。同じ場所にあるAPPEND_SYSTEM.mdを使うと、置き換えずに追記できます。上書き後も、コンテキストファイルとスキルは引き続き追記されます —pi-mono/packages/coding-agent/README.md§Context Files。 - メッセージキュー:Enterでステアリングメッセージをキューに追加します(ツール呼び出しの合間に配信)。Alt+Enterでフォローアップをキューに追加します(エージェントがすべての作業を終えた後に配信)。Escapeで中断し、Alt+Upでキューに入れたメッセージを取り出します。設定:
steeringModeとfollowUpMode(デフォルトの"one-at-a-time"と"all")、transport("sse"、"websocket"、"auto")—pi-mono/packages/coding-agent/README.md§Message Queue、pi-mono/packages/coding-agent/docs/settings.md。 - 組み込みツール:デフォルトは
read、bash、edit、writeの4つです。追加で利用できるツール:grep、find、ls。--tools <list>で制御します(例:読み取り専用にするには--tools read,grep,find,ls)。--no-toolsはすべての組み込みツールを無効にします(拡張機能のツールは引き続き利用できます)—pi-mono/packages/coding-agent/README.md§Tool Options。 - エディター機能:
@でプロジェクトファイルをあいまい検索し、Tabでパスを補完します。Ctrl+Vで画像を貼り付けます(WindowsではAlt+V)。!commandはコマンドを実行して出力をLLMに送信し、!!commandは送信せずに実行します —pi-mono/packages/coding-agent/README.md§Editor、pi-mono/packages/coding-agent/docs/keybindings.md。 - プリントモード:非対話型で標準出力に出力するには
-p/--printを使います。パイプで渡された標準入力を読み取ります:cat README.md | pi -p "Summarize"。--mode jsonと組み合わせると、JSON Lines形式で出力します —pi-mono/packages/coding-agent/README.md§Modes。 - CLIセッションフラグ:
-c/--continue(直近のセッション)、-r/--resume(参照・選択)、--session <path>(特定のファイルまたはUUIDの一部)、--fork <path>(CLIからフォーク)、--no-session(一時セッション)、--session-dir <dir>(保存先を指定)—pi-mono/packages/coding-agent/README.md§Session Options。 - CLIの@files引数:CLIでファイルの先頭に
@を付けます:pi @screenshot.png "What's in this?"、pi @code.ts @test.ts "Review"。初期メッセージの一部として含まれます —pi-mono/packages/coding-agent/README.md§File Arguments。 - リソース制御フラグ:
--no-extensions、--no-skills、--no-prompt-templates、--no-themesで自動検出を無効にします。明示的に読み込むには-e/--extension、--skill、--prompt-template、--themeを使います。--no-*と明示的なフラグを組み合わせて、厳密に制御できます(例:--no-extensions -e ./my-ext.ts)—pi-mono/packages/coding-agent/README.md§Resource Options。 - モデルの省略表記:
--model provider/id(例:openai/gpt-4o)、--model name:thinking(例:sonnet:high)、Ctrl+Pで順に切り替えるモデルの指定には--models <patterns>、--list-models—pi-mono/packages/coding-agent/README.md§Model Options。 - スラッシュコマンド(対話時に利用できる全コマンド):
/login、/logout、/model、/scoped-models、/settings、/resume、/new、/name、/session、/tree、/fork、/compact、/copy、/export、/share、/reload、/hotkeys、/changelog、/quit。拡張機能ではカスタムコマンドを登録できます。スキルは/skill:nameとして公開され、プロンプトテンプレートは/templatenameで展開されます —pi-mono/packages/coding-agent/README.md§Commands。 - 環境変数:
PI_CODING_AGENT_DIR(設定ディレクトリを上書き)、PI_PACKAGE_DIR(パッケージディレクトリを上書き)、PI_SKIP_VERSION_CHECK、PI_CACHE_RETENTION(プロンプトキャッシュを長期間保持するにはlongを指定)、VISUAL/EDITOR(Ctrl+Gで使う外部エディター)—pi-mono/packages/coding-agent/README.md§Environment Variables。 - 設計思想(piが意図的に含めていないもの):MCPなし(CLIツールまたは拡張機能を使用)、サブエージェントなし(tmuxまたは拡張機能を使用)、権限確認ポップアップなし(コンテナーまたは拡張機能を使用)、プランモードなし(ファイルまたは拡張機能を使用)、組み込みのToDo機能なし、バックグラウンドbashなし(tmuxを使用)。すべて拡張機能で構築できます —
pi-mono/packages/coding-agent/README.md§Philosophy。
ワークフロー
- スキルの検出場所を見つける:
docs/skills.mdの場所を確認し、package-manager.tsの自動検出とsettings.jsonのskills配列を照合します。 - シャドーイングを説明する:
resourcePrecedenceRankの順序と、mergePaths/loadSkillsの「最初の名前が優先される」という動作を、ファイルの引用のみで組み合わせて説明します。 - ユーザーによる強制読み込み:
/skill:nameの展開については、pi-mono/packages/coding-agent/src/core/agent-session.tsを確認します。 - コンパクションをデバッグする:
compaction.mdのアルゴリズムを読み、settings.jsonのreserveTokens/keepRecentTokensを確認し、firstKeptEntryIdを使って連鎖するコンパクションを追跡します。 - カスタムモデルを追加する:Ollama/vLLM/LM Studio の最小限の例について
models.mdに従い、標準外の OpenAI 互換サーバーではcompatフラグを確認します。 - セッションの履歴を調べる:
session.mdの switch の例を使って.jsonlを解析し、tree.mdに従って/treeでブランチをたどります。 - プロバイダーを設定する:サブスクリプションの OAuth(
/login)と API キーのフローについてproviders.mdを確認し、auth.jsonの構成と環境変数の一覧を参照します。 - プラットフォームを設定する:tmux では
tmux.md(extended-keys)、Windows ではwindows.md(shellPath)、Android ではtermux.md、ターミナル固有の問題についてはterminal-setup.mdを読みます。 - シェルのエイリアス:
shell-aliases.mdを読み、shellCommandPrefixを設定して、pi の bash ツールからドットファイルのエイリアスを使えるようにします。 - ソースから pi を開発する:クローン、ビルド、テスト、および
pi-test.shランナーについてdevelopment.mdを読みます。 - ツールを制御する:読み取り専用モードには
--tools read,grep,find,lsを使い、組み込みツールをすべて無効にするには--no-toolsを使います(拡張機能のツールは引き続き動作します)。デフォルトはread,bash,edit,writeです。 - 非対話モード:CI/スクリプトでは
pi -p "prompt"またはcat file | pi -p "Summarize"を使います。機械可読な JSON Lines 出力には--mode jsonを組み合わせます。 - カスタムシステムプロンプト:デフォルトのプロンプトを置き換えるには、プロジェクト内の
.pi/SYSTEM.mdまたはグローバルな~/.pi/agent/SYSTEM.mdを配置します。置き換えずに追記するには、同じ場所にAPPEND_SYSTEM.mdを配置します。
アンチパターン
- MCP やサブエージェントの動作を「コアに組み込まれている」と作り上げないでください。コアに含まれないものについては、
pi-mono/packages/coding-agent/README.mdの理念のセクションを確認してください。 resource-loader.tsとskills.tsを引用せずに、正確なマージ動作を断定しないでください。- 記憶に頼ってコンパクションの切断位置の動作を説明しないでください。
compaction.mdのアルゴリズムのセクションを引用してください。 - 認証情報の解決順序を推測しないでください。正確な優先順位については
providers.mdを引用してください。
コメント
Markdown 対応