mcpField
A
architect

architect

github.com/backnotprop開発3.1k6.1k 回インストール今日更新
リポジトリ

architect について

architect は、段階的な設計プロセスを通じてソフトウェア変更を計画・実装する開発スキルです。既存システムを把握し、arena で異なる案を比較して、選んだスケッチを実装の契約として扱います。

主な機能

  1. 01既存システムを踏まえた設計
  2. 02型とモジュールのスケッチ作成
  3. 03異なる設計案の比較
  4. 04選定したスケッチに沿った実装
  5. 05摩擦が続く場合の設計見直し

活用シーン

  1. 01システム境界をまたぐ機能の計画
  2. 02実装前のインターフェース定義
  3. 03回避策が繰り返し必要な設計の再検討

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/backnotprop/pstack --skill architect

インストール後、Claude Code で/architectを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
design-red-flags.md
rationale-template.md
runner-prompt.md

詳細

Architect

not implemented の本体と擬似コードを使って、型、関数シグネチャ、クラスの形、モジュールの境界をスケッチします。複数のモデルの視点を統合してから、選んだスケッチに沿ってコードを完成させます。

Start

開始前に、各フェーズを1項目ずつ含むToDoリストを作成します。

  1. Ground
  2. Sketch
  3. Agree
  4. Implement
  5. Scrap

Phase A: Ground the problem

新しいコードが関わるすべてのシステムについて、実態に即したメンタルモデルを構築します。関連するサブシステムに対して how スキルを実行します。ファイル名を挙げるだけでは、グラウンディングになりません。how が定めるアーキテクチャの説明を作成します。設計によって責務の所在やレイヤー構成を再定義する場合は、既存の構成に対して why スキルも実行し、その根拠を推測ではなく制約として扱えるようにします。

周囲のシステムとの統合が一切ない、真にグリーンフィールドの作業である場合に限り、Phase A を省略します。

Phase B: Sketch

Phase A のグラウンディング成果物を使い、設計スケッチのタスクで arena スキルを実行します。各ランナーのプロンプトには references/runner-prompt.md を渡します。

pstack 設定ファイル(Cursor では ~/.cursor/rules/pstack-models.mdc、Claude Code では ~/.claude/rules/pstack-models.md、その他のハーネスでは ~/.agents/pstack-models.md)の architect runners 行に記載されたランナーを、arena runners 行の代わりに使います。ファイルまたはその行がない場合は、claude-opus-5-5-xhigh と grok-4.7-xhigh-fast を使います。エイリアスと除外された項目には、arena スキルの Phase A にあるランナーのルールが適用されます。

設計を2回行います。最初の案が十分に見えても、統合の前に、構造が少なくとも2つ異なる候補を必ず作成します。これは exhaust-the-design-space 原則スキルを具体化するものです。1つの形の中で個別に修正するのではなく、全体の形が異なる案を作成します。

統合の前に、各候補を references/design-red-flags.md に照らして検討します。次のコントリビューターは、開いたファイルだけを見て、最も近い例をコピーし、コンパイルできる最短の道を選ぶエージェントだと想定してください。あるファイルから見て正しい変更が、リポジトリ全体にとっても正しい設計を優先します。

実行可能な候補をインターフェースの深さで比較します。複雑さをより小さくシンプルな公開インターフェースの背後に隠せる設計を優先します。機能を集約することで、機能をレイヤー間に分散させることなく、呼び出しチェーンを短く保てる場合があります。

Arena は統合済みの設計パッケージを1つ返します。その統合判断によって、根拠の「Synthesis decision」セクションを埋めます。

Phase C: Agree (opt-in)

デフォルトでは、統合済みの設計を使って、そのまま実装に進みます。人間によるチェックポイントは設けません。

呼び出し元が「/architect with checkpoint」「実装前に止まって見せて」などと明示的に依頼した場合は、チェックポイントを有効にします。その場合、統合済みの設計を提示し、承認を待ちます。

どちらの場合も、foundational-thinking 原則スキルの「scaffold first」モードとして、統合結果だけを独立したコミットにできます。outcome-oriented-execution 原則スキルに従い、実装時に計画済みかつ範囲を限定した破壊的変更を行うことは問題ありません。実装前に設計へ反対意見をぶつけて検証するには、統合済みのスケッチに対して interrogate スキルを実行します。

人間がチェックポイントで、または事後に設計へ異議を唱えた場合は、それを Phase A の証拠として扱います。再度グラウンディングを行い、コードを追加で書く前に Phase B をやり直します。

Phase D: Implement against the sketch

not implemented の本体をコードに置き換え、擬似コードをロジックに置き換えます。統合済みのスケッチが契約です。そこからの逸脱は、黙って吸収するものではなく、明らかにすべきシグナルです。スケッチで想定されていないパラメーターが関数に必要になった場合は、スケッチが誤っていたのか、要件を見落としていたのか、実装が範囲を超えているのかを確認します。

フェーズ E:アーキテクチャが間違っているなら、作り直します

実装を進めても、スケッチでは吸収できない摩擦が繰り返し生じるなら、スケッチは破棄してください。間違った設計に修正を継ぎ足さず、redesign-from-first-principles と fix-root-causes の原則スキルに従ってください。

判断の手がかりとなるのは、単発の事例ではなく、パターンです。次の点に注目してください。

  • 無関係なコードの間で、同じ形の回避策が繰り返し現れる。
  • 複数の無関係なエッジケースすべてに、個別の分岐が必要になる。
  • コンパイルするために、型に逃げ道(any、キャスト、実際には常に設定されているオプションフィールド)が必要になる。
  • スケッチでは状態を共有していないとされたのに、「ロックが必要だ」と反射的に考えてしまう。
  • 呼び出し側が抽象化の内部ルールを知っていないと使えない。
  • 実装全体で、同じ形をしたフェーズ D からの逸脱が 2 つ以上ある。

判断は慎重に行ってください。いくつかのエッジケースだけで、アーキテクチャが誤りだとは限りません。問題によっては、正当に複雑な場合もあります。データの複雑さは、設計の複雑さとは異なります。

作り直す場合は、次の手順に従ってください。

  1. これまでに構築したものを対象に、how スキルを再実行します。
  2. 新しい制約が初日から前提だったかのように、redesign-from-first-principles に従って再設計します。
  3. subtract-before-you-add の原則スキルに従い、追加する前に削ります。新しいスケッチは、発展させる前に古いものより小さくしてください。
  4. フェーズ B に戻り、arena を再実行します。

成果物

呼び出し側の使い方を先に記述し、そこから型のスケッチを導き出します。小規模な変更では、新しい型とシグネチャを 1 つのファイルにまとめます。大規模な変更では、モジュールマップと型定義を用意します。理由は references/rationale-template.md に沿ってまとめ、使い方のスケッチと統合に関する判断を含めて、成果物と一緒に提供します。

コメント