factory-architect について
factory-architect は、システム設計の作成、改善、レビューを行うチーム向けに、アーキテクチャ決定のライフサイクルを調整するエージェントスキルです。複数のアーキテクチャスキルを固定 DAG で連携させ、AD.md の生成と検証を行います。
主な機能
- 01アーキテクチャ決定のライフサイクルを調整
- 02新規・既存プロジェクト向けの経路
- 03ADR の草稿、明確化、実装を連携
- 04AD.md の生成と検証
- 05重大度順の整合性レポート
- 06ファクトリー実行でのコミットとドラフト MR
活用シーン
- 01新規プロジェクトのアーキテクチャ決定を記録
- 02既存コードから ADR 草稿を作成
- 03アーキテクチャ文書と決定の整合性を確認
- 04ファクトリーワークフローでアーキテクチャ変更を実行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tikalk/ adlc-team-skills --skill factory-architectインストール後、Claude Code で/factory-architectを入力して読み込まれたか確認します。
同梱ファイルworkflow.yml
詳細
factory-architect
ファクトリーの実行時 — まずこちらをお読みください
ADLC_RUN_ID が設定されている場合、ワークフローエンジンはこのステップを無人で実行し、その後にゲートを設けます。以下を必ず実行してください。
- 開始:
bash {REPO_ROOT}/.agents/skills/factory-mission/scripts/bash/run-branch.sh— Windows ではpwsh {REPO_ROOT}/.agents/skills/factory-mission/scripts/powershell/run-branch.ps1(各ヘルパーにはscripts/powershell/配下に PowerShell 版があります。Windows では bash 版の代わりにそちらを使用してください) - 課題に対して DAG が解決したライフサイクルのステップを実行します。ファイルを変更した各ステップの後に、書き込み、移動、削除したすべてのパスを指定して
commit-step.shを実行します。 - 戻る前に、必ず:
open-mr.shを実行し、その後ADLC_STEP_OUTPUTに1行のconclusionを書き込みます。変更がなかった場合も含め、結果にかかわらず実行してください。 - 承認を求めたり、回答を待ったりしないでください。 このステップの後にあるエンジンのゲートが承認にあたります。ここで質問すると、何も公開されないままステップが終了します。
コミット、プッシュ、MR の作成を行うのはこのオーケストレーターだけであり、専用ヘルパーを通じてのみ実行します。architect-* スキルはこれらを行いません。詳細はブランチの実行、ステップのコミット、ドラフト MRを参照してください。
このスキルの機能
factory-architect は、アーキテクチャ決定のライフサイクルをオーケストレーションします。個々のアーキテクチャ関連スキル(architect-init、architect-specify、architect-clarify、architect-implement、architect-analyze)を調整し、プロジェクトのルートにある一貫した AD.md を維持します。
factory-mission/references/executor.md に記載された共有実行エンジンの契約に沿って、Kind-A DAG オーケストレーターとして動作します。
使用する場面
- プロジェクトのシステムレベルの設計と決定(ADR)を、最初から最後まで立ち上げ、改善、または分析したい場合。
- アーキテクチャの観点が Rozanski & Woods の方法論に準拠していることを確認したい場合。
使用しない場面:
- 製品要件の定義(代わりに
factory-productを使用してください)。 - 機能レベルのソフトウェア実行(代わりに
factory-missionを使用してください)。
ライフサイクル DAG とステップの解決
factory-architect は、固定された名前付きスキルの DAG(ステップ解決は fixed)を実装します。
グリーンフィールドルート(空のプロジェクトでのデフォルト)
specify(generateフェーズ)→architect-specifyを呼び出し、ADR のドラフトを.adlc/drafts/adr/に共同で作成します。clarify⭐(clarifyフェーズ)→architect-clarifyを呼び出して対話形式の品質チェックを行い、ADR を Accepted とします(人間による承認ゲート)。implement(buildフェーズ)→architect-implementを呼び出し、承認済みの ADR をAD.md(サブシステム別)にまとめ、docs/adlc/memory/adr/に昇格させます。analyze(analyzeフェーズ)→architect-analyzeを呼び出し、AD/ADR の一貫性を検証して、重大度順のレポートを出力します。
ブラウンフィールドルート(コードは存在するが ADR がない場合のデフォルト)
init(generateフェーズ)→architect-initを呼び出し、既存のアーキテクチャから ADR のドラフトをリバースエンジニアリングします。clarify⭐ →implement→analyze(グリーンフィールドルートと同じ)。
リフレッシュルート(AD.md とメモリ ADR がすでに存在する場合のデフォルト)
analyze(analyzeフェーズ)→ 最初に architect-analyze を実行して、乖離を検出します。clarify⭐ →implement→analyze(乖離を修正するサイクル)。
共有エグゼキューターのオーバーライド
factory-architect は、共有エグゼキューターエンジンのプリミティブを次のようにオーバーライドします。
- 公開先:
localに固定されます。出力はdocs/adlc/memory/adr/とdocs/adlc/architect/AD.mdに書き込まれます。トラッカーと連携している場合は、trackerの完了サマリーコメントも投稿されます。 - 出力タイプ:各ステップでは、次の
output_typeの割り当てを使用します。specify/init→draft(ADR のドラフトは.adlc/drafts/adr/に置かれ、コメントバスには公開されません)clarify⭐ →decision(承認/却下された ADR の一覧がコメントバスに公開されます)implement→artifact-ref(AD.md のパス参照が公開され、内容はディスク上に残ります)analyze→findings(重大度順の整合性レポートがコメントバスに公開されます)
- 修正ループ:
analyzeがCRITICALまたはHIGHの整合性エラーを返した場合、エグゼキューターはreads_fromに analyze マーカーを指定してclarifyに戻ります。clarifyは PR/MR/issue のコメントバスから調査結果を読み取ります(またはローカルのフォールバックを使用します)。このループの上限はmax_corrections(デフォルトは 2)です。上限を超えると、オーケストレーターは人間によるレビューのために停止します。 - デフォルトの監督方式:
hybridです。clarify⭐(ADR の承認)と最終的なAD.mdのレビューでは、人間による承認ゲートが必ず適用されます。 - 事前チェック:Phase 0 の開始前に、ワークスペースに
architect-*ライフサイクルスキルがインストールされていることを確認します。
ブランチの実行、ステップごとのコミット、ドラフト MR
必要: factory-mission スキル(実行ヘルパーを提供します):adlc-cli skills add tikalk/adlc-team-skills --skill factory-mission
ファクトリー実行(ワークフローエンジンによって ADLC_RUN_ID が設定されます)では、このオーケストレーターだけが(architect-* ライフサイクルスキルは決して行わず)、以下の3つのヘルパーを通じて実行ブランチをコミット、プッシュし、ドラフト MR を開きます。
- 最初のステップの前:
bash {REPO_ROOT}/.agents/skills/factory-mission/scripts/bash/run-branch.sh— プロジェクトのルートで(ADLC_ISSUE_REFから)factory/intent/<repo>-<iid>をチェックアウトし、既存のブランチを再利用するか、originから続行します。他の intent レーンや再ディスパッチと共有されます。 - 各ステップの後(
specify/init、clarify、implement、analyzeの修正):bash {REPO_ROOT}/.agents/skills/factory-mission/scripts/bash/commit-step.sh --orchestrator factory-architect --step <step> --output-type <draft|decision|artifact-ref|findings> --summary "<one line, no issue text>" --records <IDs> -- <paths the step wrote>ステップが書き込んだ、移動した、または削除したすべてのパスを渡します(昇格したドラフトの旧パスも含めます。ヘルパーは許可リスト内の削除もコミットします)。ライフサイクルの書き込み許可リスト(.adlc/drafts/adr/、docs/adlc/memory/adr/、docs/adlc/architect/AD.md、docs/adlc/architect/views/)内のパスのみを渡してください。sha: <sha>またはsha: noneが出力されます。そのshaをステップのバスマーカーに記入してください(バスが運ぶのはポインターであり、内容ではありません)。.adlc/workflows/**は決してステージしないでください。 - 戻る前に、必ず:
bash {REPO_ROOT}/.agents/skills/factory-mission/scripts/bash/open-mr.sh— 実行ブランチのみをプッシュし、ドラフト MR を1つ検索または作成し(マージコミット、スカッシュなし。マイルストーン/担当者は MR 所有権の判断に従います)、mr_urlをADLC_STEP_OUTPUTに書き込みます。これはエンジンのゲートがリンクするためのものです(context.link)。結果がどうであっても呼び出してください。何もコミットされていない場合でも同様です(sha: none、分析のみのパス)。実行ブランチにコミットがなければ何も開かず、レビュー対象がないことがゲートに表示されます。同じ JSON オブジェクトに1行のconclusionも記入してください(ゲートの intent-conclusion ルール)。 ファクトリー実行では、このステップの後にあるエンジンのゲートが承認そのものです。自分で承認を求めないでください(「implementを承認しますか?」などとは尋ねません)。課題に必要なステップを完了し、open-mr.shを実行して、結論を述べてから戻ってください。
ファクトリー実行以外では、ユーザーがオプトインしない限り、ヘルパーは何もしません(.adlc/init-options.json の adlc.commit_steps: true、またはこのスキルに渡された --commit。後者は commit-step.sh に転送します)。run-branch.sh と open-mr.sh は ADLC_RUN_ID がない場合は決して動作しません。ヘルパーの終了コードが0以外の場合(拒否されたパス、コミッター ID の不足、トラッカーのスコープなど)は実行を停止し、その内容を報告してください。回避策を講じてはいけません。