how について
コードベースを調査し、サブシステムの仕組みを説明するスキルです。アーキテクチャの全体像を把握したいエンジニア向けに、読み取り専用の調査と説明の進め方を定めています。
主な機能
- 01コードベースの調査
- 02複雑さに応じた調査
- 03読み取り専用サブエージェントの指針
- 04構造化されたアーキテクチャ説明
活用シーン
- 01未知のサブシステムの把握
- 02機能の動作経路の追跡
- 03コードベースへの習熟
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ michael-denyer/ pstack-claude --skill howインストール後、Claude Code で/howを入力して読み込まれたか確認します。
同梱ファイルreferences/explainer-prompt.mdreferences/explorer-prompt.md
詳細
How
Codex では、このスキルに従う前に、スキルごとの注記を含め、プラットフォームマッピングを確認してください。
GitHub Copilot では、このスキルに従う前に、スキルごとの注記を含め、プラットフォームマッピングを確認してください。
Muse では、このスキルに従う前に、スキルごとの注記を含め、プラットフォームマッピングを確認してください。
「X はどのように動作しますか?」という質問に答えるため、コードベースを調べてください。サブシステムに加わったシニアエンジニア向けのレベルで、動作するメンタルモデルを構築するのに十分なアーキテクチャの説明を作成してください。注釈付きのソースコードのようにならない程度にとどめてください。
すべての起動対象は、subagent_type: "general-purpose" かつ readonly: true の Agent サブエージェントです。調査担当は pstack-models.md の how explorer 行(デフォルトは Models)、説明担当は how explainer 行(デフォルトは Models)を使用します。model にはその行の値を設定します。シートまたは該当行がない場合はデフォルトを使用します。値が auto または inherit-parent の場合、model は設定しないでください。Agent ツールがモデルのスラッグを受け付けない場合は、デフォルトを使い、その旨を伝えてください。デフォルトも受け付けない場合は、エラーメッセージにある同じファミリーの有効なスラッグのうち、最も近いものを使用してください。各サブエージェントの推論レベルは、poteto-mode スキルの Subagents セクションに従って選択してください。
1. 複雑さを評価する
対象範囲が曖昧な場合は、解釈を示して調査してください。ユーザーは方向を修正できます。
- 単純(単一モジュール、小規模なユーティリティ、「関数 X はどのように動作しますか?」のような限定的な質問):調査担当は起動しません。
references/explainer-prompt.mdを基に、explorer-findings セクションを除いたプロンプトを使って、調査と説明を一度に行う説明担当を 1 人起動します。ステップ 4 に進みます。 - 複雑(複数のファイルやサービスにまたがるサブシステム、横断的な機能、アーキテクチャ全体の概要):ステップ 2 に進みます。
迷った場合は、単純な経路を選んでください。
2. 調査する(複雑な場合のみ)
質問を、サブシステムの異なる側面を扱う 2~4 個の独立した切り口に分解します。それぞれについて、切り口を記入した references/explorer-prompt.md を使い、すべての調査担当を 1 回のメッセージで起動します。
3. 統合する(複雑な場合のみ)
すべての調査担当から回答が返ったら、各担当の調査結果をすべて記入した references/explainer-prompt.md を使い、説明担当を 1 人起動します。
4. 提示する
説明担当の出力を提示します。明瞭さや会話の文脈を補うための軽微な編集はかまいません。大幅な書き換えはしないでください。
出力形式
説明は references/explainer-prompt.md で定義されたセクションを使い、該当しないセクションは省略します:Overview、Key Concepts、How It Works、Where Things Live、Gotchas。
Models
役割ごとのデフォルト値は plugins/pstack/models.json から設定されます(変更後、tools/generate.mjs を再実行してください)。pstack-models.md の対応する役割の行がある場合、実行時に各デフォルト値を上書きします。/setup-pstack はそのファイルを書き込み、各ランタイムでファイルのパスを表示します。
- how explorer:
opus - how explainer:
opus
Reasoning effort
オーバーライドシートの役割の値には、モデル名の後に推論レベルを指定できます。例:opus @xhigh。Claude Code で指定できるレベルは low、medium、high、xhigh、max です。使用できるレベルはモデルによって異なります。@ のない値では、シートの default effort 行にある値(レベルまたは session)を使います。その行もない場合は session です。session は推論レベルを設定しないため、通常どおり起動します。モデルを読み取る際は、接尾辞を取り除いてください。どのレベルでも inherit-parent または auto の場合は model を省略し、モデル名の場合は model として渡します。レベルは起動時の effort フィールドに渡し、通常使用する subagent_type はそのまま使います。Claude Code の Agent 呼び出しでは effort、Codex の spawn_agent では reasoning_effort です。Muse では Workflow の子に effort を指定します。subagent_spawn の起動では、セッションの推論レベルが引き継がれます。