architect について
Architect は、明示的な設計スケッチを軸に実装を進めるコーディングスキルです。既存システムを把握して複数案を比較し、実装時の摩擦が繰り返される場合は再設計します。
主な機能
- 01既存システムの把握
- 02複数の異なる設計案
- 03設計の統合と根拠の記録
- 04スケッチに沿った実装
- 05摩擦が続く場合の再設計
活用シーン
- 01複数モジュールにまたがる変更の計画
- 02異なるアーキテクチャ案の比較
- 03合意済みインターフェースに基づく実装
- 04実装で破綻したスケッチの再設計
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ xgent-ai/ skills --skill architectインストール後、Claude Code で/architectを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/design-red-flags.mdrationale-template.mdrunner-prompt.md詳細
Architect
実装の前に設計します。not implemented の本体と疑似コードを使って、型、関数シグネチャ、クラスの形、モジュールの境界をスケッチします。複数のモデルの視点を統合してから、選んだスケッチに沿ってコードを仕上げます。実装によってスケッチが誤りだとわかった場合は、スケッチを破棄して設計し直します。
開始
始める前に、各フェーズを1項目ずつ記載したTODOリストを作成します。
- Ground
- Sketch
- Agree
- Implement
- Scrap
フェーズA:問題の基盤を把握する
新しいコードが関わるすべてのシステムについて、実態に即したメンタルモデルを構築します。関連するサブシステムに対して how スキルを実行します。
ファイル名を挙げるだけでは、基盤の把握になりません。how が定める追跡済みのモデルを作成してください。設計によって既存の責任分担やレイヤー構成を再定義する場合は、既存の構造について why スキルも実行し、その根拠を推測ではなく制約として扱います。
周囲に統合すべきシステムがない、真にグリーンフィールドな作業の場合に限り、フェーズAを省略します。
フェーズB:スケッチ
フェーズAで作成した基盤把握の成果物と設計スケッチのタスクを使って、arena スキルを実行します。各ランナーのプロンプトとして references/runner-prompt.md を渡します。各候補は references/rationale-template.md に沿った設計パッケージを作成します。
arena runners の行の代わりに、pstack-models.mdc ルールの architect runners 行からランナーを選びます。ルールまたはその行がない場合は、claude-opus-5-5-max、gpt-5.6-sol-max、grok-4.7-xhigh-fast を使用します。別名や却下されたエントリーについては、arena 互換エントリーから参照できる、agi-mode の Arena プレイブックにあるランナー選択の手順に従います。
設計を2回行います。最初の案が十分に見えても、統合の前に構造の異なる候補を少なくとも2つ用意します。これは、exhaust-the-design-space 原則スキルを具体化するものです。1つの設計内の局所的な修正ではなく、全体構造が異なる案を作成します。
統合の前に、すべての候補を references/design-red-flags.md に照らして評価します。浅いモジュール、情報漏洩、時間軸による分解、パススルーメソッドがあれば、候補を却下するか修正します。
実行可能な候補をインターフェースの深さで比較します。小さくシンプルな公開インターフェースの背後に、より多くの複雑さを隠せる設計を優先します。機能をレイヤー間に分散させず集中させることで、豊富なインターフェースを使って呼び出しチェーンを短く保てる場合があります。
Arena は、統合された設計パッケージを1つ返します。統合時の判断は、rationale の「Synthesis decision」セクションに記載します。
フェーズC:合意(任意)
デフォルトでは、統合された設計を使ってそのまま実装に進みます。人によるチェックポイントは設けません。
呼び出し元が「/architect with checkpoint」「実装前に止めて見せて」などと明示的に求めた場合は、チェックポイントを設けます。その場合は、統合された設計を提示し、承認を得るまで一時停止します。
どちらの場合も、foundational-thinking 原則スキルの「scaffold first」モードとして、統合案を独立したコミットにできます。outcome-oriented-execution 原則スキルに従い、仕上げの段階で計画され、範囲が定められた破壊的変更を行うことは問題ありません。実装前に設計へ敵対的な視点から圧力をかけるには、統合されたスケッチに対して interrogate スキルを実行します。
人が設計の形に異議を唱えた場合(チェックポイント中、または事後を問わず)は、それをフェーズAの証拠として扱います。基盤を再把握し、コードを追加で書く前にフェーズBを再実行します。
フェーズD:スケッチに沿って実装する
not implemented の本体をコードに、疑似コードをロジックに置き換えます。統合されたスケッチを契約として扱います。
スケッチからの逸脱は、黙って吸収すべき摩擦ではなく、明らかにすべきシグナルです。スケッチで想定していなかったパラメーターを関数に追加する必要が生じた場合は、スケッチが誤っていたのか、要件が見落とされていたのか、実装が本来の範囲を超えているのかを確認します。
フェーズ E:アーキテクチャが間違っているなら、作り直します
実装を進めても、スケッチでは吸収できない摩擦が繰り返し生じるなら、スケッチは破棄してください。間違った設計に修正を継ぎ足さず、redesign-from-first-principles と fix-root-causes の原則スキルに従ってください。
判断の手がかりとなるのは、単発の事例ではなく、パターンです。次の点に注目してください。
- 無関係なコードの間で、同じ形の回避策が繰り返し現れる。
- 複数の無関係なエッジケースすべてに、個別の分岐が必要になる。
- コンパイルするために、型に逃げ道(
any、キャスト、実際には常に設定されているオプションフィールド)が必要になる。 - スケッチでは状態を共有していないとされたのに、「ロックが必要だ」と反射的に考えてしまう。
- 呼び出し側が抽象化の内部ルールを知っていないと使えない。
- 実装全体で、同じ形をしたフェーズ D からの逸脱が 2 つ以上ある。
判断は慎重に行ってください。いくつかのエッジケースだけで、アーキテクチャが誤りだとは限りません。問題によっては、正当に複雑な場合もあります。データの複雑さは、設計の複雑さとは異なります。
作り直す場合は、次の手順に従ってください。
- これまでに構築したものを対象に、how スキルを再実行します。
- 新しい制約が初日から前提だったかのように、redesign-from-first-principles に従って再設計します。
- subtract-before-you-add の原則スキルに従い、追加する前に削ります。新しいスケッチは、発展させる前に古いものより小さくしてください。
- フェーズ B に戻り、arena を再実行します。
成果物
呼び出し側の使い方を先に記述し、そこから型のスケッチを導き出します。小規模な変更では、新しい型とシグネチャを 1 つのファイルにまとめます。大規模な変更では、モジュールマップと型定義を用意します。理由は references/rationale-template.md に沿ってまとめ、使い方のスケッチと統合に関する判断を含めて、成果物と一緒に提供します。