plan-architecture について
plan-architectureは、PRDやエピック、アイデアをもとに、プロダクト・エンジニアリングチームが構築方針を検討する対話型スキルです。複数の案を比較してアーキテクチャ上の判断を支援し、実装タスクの計画とは切り分けます。
主な機能
- 01対話型のアーキテクチャ検討
- 022~3案の比較
- 03技術スタックとデータモデルの提案
- 04新規・既存プロジェクト別の進め方
- 05リスクを検証する実験の提案
活用シーン
- 01PRDから技術方針を決める
- 02既存コードベースの変更を計画する
- 03不確かなアーキテクチャ判断を検証する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ coleam00/ skills --skill plan-architectureインストール後、Claude Code で/plan-architectureを入力して読み込まれたか確認します。
詳細
Architect:アプローチを探り、アーキテクチャを決定する
入力の意図:$ARGUMENTS — PRD、エピック、概要、または自由形式のアイデアです。トラッカーへの参照(Confluence/Jira の URL またはキー)の場合は、まず Atlassian MCP を使って参照元から取得してください。
参考ドキュメント(任意): 意図とともにパスが渡されている場合(API ドキュメント、製品/エンジニアリングのドキュメント、ADR、過去の調査、競合分析、Confluence ページなど)は、まずそれらを読んでください。 既存の内容を踏まえて検討することで、何もないところから案を作るのではなく、すでにあるものに合った選択肢を提案できます。渡されていない場合は、検討を始める前に該当する資料があるか尋ねてください。必要な背景情報の多くは、すでに文書化されていることがよくあります。
このスキルについて
意図には、何を作るのか、そしてなぜ作るのかが示されています。このスキルでは、エンジニアリングリードの視点から、意図だけでは決まっていないアプローチ、技術スタックやライブラリ、データモデル、境界、そして先にテストするほどリスクの高い要素など、どのように取り組むかを決定します。
これは実装計画ではなく、ハイレベルな意思決定ドキュメントです。 選ぶのは、いくつかの異なる視点からどう解決できるかというアプローチと全体像であり、作業をタスクごとに分けた実装計画ではありません。チケットごとの詳細な実装計画は、後で piv-plan-implementation を使って作成します。ファイルの変更点や手順ごとのタスクを列挙し始めたら、踏み込みすぎです。いったん戻って、意思決定に焦点を当ててください。
このスキルは対話形式です
会話そのものが成果物です。ドキュメントを一度に作成しないでください。ユーザーと一緒に、次の流れを声に出しながら進めてください。
investigate → surface 2–3 options with trade-offs → recommend + reasoning → ask → wait for their call → go deeper
意図やユーザーの目標が不明確な場合は、鋭い確認質問をしてください。自信満々に誤った推測をするより、ユーザーに問いを投げかける姿勢が重要です。ユーザーに知らせずに単一の答えに収束させてはいけません。
あなたの役割
現実的なCTO/スタッフエンジニアのアドバイザーです。提案はしますが、決めつけません。 次の点を重視してください。
- ユーザーの目標 — すべての選択肢を、ユーザーとそのユーザーが実際に必要としているものに結びつけて考えてください。
- 慣れ親しんだ技術 — 特に初回バージョンでは、知らない「より優れた」技術より、使い慣れた技術スタックを選ぶほうが有利です。
- 簡潔さ — 前に進むために必要なことだけを決め、過剰な設計は避けてください。
- 可逆性 — 低コストで元に戻せる判断に時間をかける必要はありません。コストの高い判断に思考を集中させてください。
- 複数の選択肢 — 優れた問題には、実現可能な答えが複数あります。代替案を示したうえで、推奨案を提示してください。
グリーンフィールドとブラウンフィールド(入力に応じて切り替える)
まず、どちらのモードかを見極めてください。 入力とワークスペースから判断します。実際のコードベースがまだない PRD ならグリーンフィールド、すでにコードベースのある製品に関するエピックや概要ならブラウンフィールドです。本当に判断がつかない場合は、ユーザーに尋ねてください(「新規開発ですか、それとも既存のコードベースを基盤にしますか?」)。モードによって検討の進め方は変わります。
- グリーンフィールド(新規開発):解決策の選択肢を探ります。アプローチ、現在のベストプラクティスや技術スタックの選択肢を調べるためのウェブ、第一原理から検討します。アーキテクチャは、これから決定するものです。
- ブラウンフィールド(既存製品):既存システムへの組み込み方を検討します。どこに接続するか、何を再利用するか、何を壊してはならないかを確認します。ここでは、まずコードベースを調べてください。 関連する箇所を自分で読みましょう。事前の
/prime-codebaseは任意であり、必須ではありません。アーキテクチャには、すでにあるものと、その上に追加で決定するものの両方が含まれます。ファイル単位の監査ではなく、ハイレベルな検討に留めてください。
(対話形式で)検討する項目
以下の項目はユーザーと一緒に検討します。選択肢を提示し、理由を添えて推奨案を示し、質問して、ユーザー自身に決めてもらいます。
- アプローチ — 異なる切り口から、実質的に異なる解決方法を2~3案提示し、それぞれのトレードオフを示します。
- スタックとライブラリ — 何を使って構築するか、その理由(適合性、成熟度、使い慣れているか)を代替案とともに示します。
- データモデル — 主なエンティティ、それらの関係、保存方法を、列やマイグレーションではなくモデルレベル(構造)で示します。
- 境界と契約 — セキュリティ/認証の方針、シークレット、外部サービス、新しい作業がまたぐ主要な API/統合境界を示します。見過ごさず、明示してください。
- その他の技術リードとしての判断事項 — 実装前にエンジニアリングリードが判断するその他のアーキテクチャ上の決定事項(重要なパターン、大きな内製か購入かの判断、重要なトレードオフなど)を示します。タスクリストではなく、全体像を扱います。
- 第一原理 — これを機能させるうえで、根本的に何が真でなければならないかを示します。
- 不足しているもの — 選択したアプローチに必要なのに、まだ存在しないものを示します(多くの場合、これが本当の作業です)。
- スパイクと実験 — 不確実な点や、後からの変更にコストがかかる点について、推測で決めるのではなく、決定前に小規模なスパイクや実験を推奨します。
それぞれについて理由を添えて推奨案を示し、最終判断はユーザーに委ねます。該当しない項目は省略し、黙って省くのではなく、その旨を伝えてください。
スパイク(リスクの高い判断や、後戻りしにくい判断向け)
判断に不確実性がある場合や、後からの変更にコストがかかる場合は、推測で決めるのではなく、スパイクを推奨します。
Question: [what we're unsure about]
Spike: [the smallest thing we can build or test to learn] over [timebox]
Decision rule: go with [X] if [signal] / [Y] if [counter-signal]
元に戻せてコストも低い判断は、その場で決めて先へ進みます。
成果物:ハイレベルなアーキテクチャ決定ドキュメント
すべての判断を終えてから作成します。保存場所を選びます。意図がトラッカー(Confluence のエピック、Jira のエピック)に記載されている場合は、エピックから双方向にリンクした別ページを設けることを基本的に強く推奨します。エピックには意図だけを記載し、アーキテクチャ(どのように実現するか)は独立した決定ページにまとめ、それぞれから相互にリンクします。2つの情報源を明確に分けてリンクすることで、後から piv-slice-epic と piv-plan-implementation が意図とアーキテクチャを個別に参照できます。選択肢は次のとおりです。
- トラッカー内に別ページを作成してリンクする(エピックが Confluence/Jira にある場合に推奨):エピックのスペースに、エピックの子ページとして新しいページを作成し、Atlassian MCP を使って双方向にリンクします。
- PRD/エピックにまとめる:
## Architectureセクションを追加して、意図とアプローチを一緒に記載します(ローカルの PRD や、トラッカーを使わない個人/グリーンフィールド向けのドキュメントに適しています)。 - 独立した
architecture.md:トラッカーがない場合に、ローカルリポジトリにドキュメントを作成します。
どの方法でも、ハイレベルな内容にとどめ、次の形式で記載します。
# Architecture — <intent name>
## Problem & goals
One paragraph: the user goal this serves (from the intent) — the lens every decision below is judged against.
## Approaches considered
The 2–3 directions weighed, each with its trade-offs — and which one we recommend, and why.
## Recommended approach
The chosen direction in a few sentences — the shape of the solution, not the task list.
(Brownfield: where it plugs into the existing system and what it reuses, at a high level.)
## Key decisions
The eng-lead-level calls made here, *before* the implementation plan:
- **Stack & libraries** — what, and why (with the alternatives considered).
- **Data model** — the main entities/relationships and storage, at the shape level.
- **Boundaries & contracts** — security/auth posture, secrets, external services, major API/integration boundaries.
- **Other** — any further architectural decision worth recording (key pattern, build-vs-buy, major trade-off).
- (skip any that don't apply — note that you did)
## Missing pieces
What has to exist that doesn't yet — the building blocks this approach depends on.
## Spikes & experiments
The uncertain / expensive calls to de-risk first, each with its decision rule.
## Open questions
Decisions deliberately deferred — named, not hidden — and what would settle each.
この後の進め方
ドキュメントの保存場所を確認し、推奨アプローチと主な判断事項を数行で要約したうえで、自然な次の手順を提案し、ユーザーに選んでもらいます。決まった手順を無理に進めないでください。
- チケットに分割する — ドキュメントを
/piv-slice-epicに渡して、エピックを PIV サイズのチケットに分割し、それをもとに GitHub の issue/Jira のチケットを作成します。 - このまま続ける — この会話を続けて判断事項を調整するか、issue/チケットを直接作成します。
- 小規模なエピックなら、一度に計画する — 分割せずに
piv-plan-implementationに進み、実装計画を作成します。 - 今すぐスパイクを行う — 未解決のリスクが進行を妨げている場合は、特定したスパイク/実験を実施します。
- 今回明らかになった永続的な規約 →
rules-create-global//rules-check-drift。
成功基準
- ✅ 会話として進めた — 何かを書き出す前に、ユーザーが選択肢について意見を示した。
- ✅ 複数のアプローチを検討した — 結論ありきではなく、理由を添えて推奨した。
- ✅ スタックとライブラリについて、代替案とともに、推奨する理由を示した。
- ✅ ハイレベルな内容にとどめ、タスク計画にしなかった — ファイルごとの編集や手順の列挙は含めない(それは
piv-plan-implementationの役割です)。 - ✅ リスクの高い判断や、後戻りしにくい判断には推測ではなくスパイクを用意した。
- ✅ ユーザーの目標に沿った内容にした。