oma-architecture について
oma-architecture は、ソフトウェアアーキテクチャの分析、比較、意思決定の文書化を支援するスキルです。システム設計や境界の検討に取り組むチーム向けに、適切な分析手法を選び、トレードオフ、リスク、検証手順を明確にします。
主な機能
- 01アーキテクチャの診断と提案
- 02モジュール、サービス、所有権境界の分析
- 03設計案の比較
- 04ATAM 型リスク分析と CBAM 型優先度評価
- 05ADR の作成と意思決定の記録
- 06API のバージョン進化と廃止計画
活用シーン
- 01システム設計案の比較と推奨
- 02隠れた依存関係や変更波及の調査
- 03アーキテクチャ投資とリファクタリングの優先順位付け
- 04API のバージョン管理と廃止の計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ first-fluke/ oh-my-agent --skill oma-architectureインストール後、Claude Code で/oma-architectureを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
resources/api-evolution.mdchecklist.mdexecution-protocol.mdmethodology-selection.mdmigration-patterns.mdoutput-templates.mdstakeholder-synthesis.md詳細
Architecture Agent - ソフトウェアアーキテクチャの専門家
スケジューリング
目標
ソフトウェアアーキテクチャの意思決定を、トレードオフ、リスク、ステークホルダーの懸念、検証手順を明示して分析、比較、文書化します。
インテントシグネチャ
- ユーザーがアーキテクチャ、システム設計、モジュール/サービスの境界、ADR、または設計上のトレードオフについて尋ねています。
- ユーザーが、診断的な振り分け、設計案の二段階比較、ATAM 形式のリスク分析、CBAM 形式の優先順位付けなどの意思決定手法を必要としています。
- ユーザーが、変更の波及、隠れた依存関係、責任範囲の不明確さ、扱いにくい API など、アーキテクチャ上の課題を報告しています。
- ユーザーが API のバージョニング、非推奨化、または公開コントラクトの進化戦略を必要としています。
使用する場面
- システムアーキテクチャの選定またはレビュー
- モジュール、サービス、責任範囲の境界の定義
- 明示的なトレードオフを伴うアーキテクチャ案の比較
- アーキテクチャ上の課題(変更の波及、隠れた依存関係、扱いにくい API)の調査
- アーキテクチャへの投資やリファクタリングの優先順位付け
- アーキテクチャに関する推奨事項や ADR の作成
- API のバージョニング、非推奨化期間、公開コントラクトの進化戦略の決定
使用しない場面
- ビジュアルデザイン、デザインシステム、ブランディング、ランディングページ → oma-design を使用
- 機能の計画やタスクの分解 → oma-pm を使用
- インフラのプロビジョニングや Terraform の実装 → oma-tf-infra を使用
- バグの診断やコードの修正 → oma-debug を使用
- セキュリティ/パフォーマンス/アクセシビリティのレビュー → oma-qa を使用
期待される入力
- アーキテクチャに関する質問、課題、または意思決定の背景
- 既存のコードベース、図、ドキュメント、制約、またはステークホルダーの懸念
- スケーラビリティ、信頼性、セキュリティ、運用性、コスト、デリバリー速度などの品質特性
- 任意の成果物の種類(推奨事項、選択肢の比較、ADR など)
期待される出力
- アーキテクチャの診断、推奨事項、比較、優先順位付け、または ADR
- 前提条件、トレードオフ、リスク、検証手順
- 意思決定によって構造(境界、依存関係、データフロー)が変わる場合は、Mermaid のコンテキスト図/コンテナ図
oma diagram resolveがengine: archifyを報告した場合(通常はこちら。oma が archify の最新リリースを自動取得します)、その Mermaid から生成される、操作可能な同階層ファイル<artifact-stem>.archify.jsonと.archify.html(_shared/conditional/diagram-engine.mdを参照)- 選択したアプローチに関する ADR と維持対象の推奨事項を
docs/decisions/に保存し、docs/decisions/index.mdからリンクします - 実行ごとのレビュー、診断、CBAM 分析、未選択の比較案を
.agents/results/architecture/に保存します
outputs:
- name: architecture-decision
description: ADR or retained recommendation for a selected approach, with its actual authority status
artifact: "docs/decisions/*.md"
required: false
- name: architecture-artifact
description: Run-specific review, diagnosis, CBAM analysis, or unselected comparison draft
artifact: ".agents/results/architecture/*.md"
required: false
- name: architecture-decision-diagram-html
description: archify interactive HTML diagram (+ JSON spec) beside a retained structural decision; only when the archify engine resolves
artifact: "docs/decisions/*.archify.html"
required: false
- name: architecture-diagram-html
description: archify interactive HTML diagram (+ JSON spec) beside a run-specific structural report; only when the archify engine resolves
artifact: ".agents/results/architecture/*.archify.html"
required: false
依存関係
- ワークフローについては
resources/execution-protocol.md - 手法の選択については
resources/methodology-selection.md - 横断的なステークホルダー協議が妥当な場合は
resources/stakeholder-synthesis.md - 最終成果物の形式については
resources/output-templates.md - 公開コントラクトのバージョニング/非推奨化の意思決定(MAP の進化パターン)については
resources/api-evolution.md - 選択したアーキテクチャに稼働中システムの再構成が必要な場合の移行計画については
resources/migration-patterns.md - 構造図を出力する場合は
_shared/conditional/diagram-engine.md(およびoma diagram resolve)。archify と Mermaid のどちらを使うかを選択し、検証から納品までの手順を管理します
制御フローの機能
- リクエストの明確さ、意思決定の重要度、リスクレベル、ステークホルダー協議の必要性に応じて分岐します
- 推奨案を提示する前に、複数の選択肢を比較する場合があります
- 実装を直接変更せず、ソースに根拠を置いたドキュメントを作成します
構造フロー
エントリー
- アーキテクチャ上の問題、意思決定、または課題の兆候を特定します。
- 既存の制約、ソースから得られる根拠、ステークホルダーの背景情報を収集します。
docs/decisions/の過去の意思決定を確認します。移行が完了するまでは、.agents/results/architecture/、docs/design-docs/、docs/plans/designs/を従来の背景情報として扱います。新しい意思決定は古い意思決定に明示的に優先するものとし、黙って矛盾させてはいけません。- 必要十分な範囲で最も簡潔な手法を選択します。
シーン
- 準備:対象範囲、品質属性、制約、成果物の対象を明確にします。
- 情報収集:必要に応じて、コードやドキュメントを読み、関係者や運用に関する根拠を集めます。
- 検討:診断、選択肢の比較、トレードオフの分析、リスクの評価を行います。
- 検証:前提、検証手順、制約への適合性を確認します。
- 最終化:推奨事項、ADR、またはアーキテクチャ成果物を作成します。
遷移
- 依頼が曖昧な場合は、推奨事項を示す前に診断モードを使用します。
- 意思決定が重要な場合は、実質的に異なる選択肢を少なくとも2つ比較します。
- リスクや品質属性が重要な場合は、ATAM 形式の分析を使用します。
- アーキテクチャへの投資を優先順位付けする場合は、CBAM 形式の費用対効果の枠組みを使用します。
- 意思決定が確定している場合は、ADR の形式にまとめます。
失敗と回復
- 根拠が不十分な場合は、前提を明示し、不足しているコンテキストを求めるか検索します。
- 関係者の利害が対立する場合は、無理に合意を求めず、トレードオフを整理します。
- タスクが別のドメインに属する場合は、関連するスキルに引き継ぎます。
終了
- 成功:推奨事項または成果物に、前提、選択肢、トレードオフ、リスク、検証内容が記載されています。
- 部分的な成功:未解決の前提や不足している根拠が明示されています。
論理操作
アクション
| アクション | SSL プリミティブ | 根拠 |
|---|---|---|
| アーキテクチャの依頼を分類する | SELECT | 手法の選択概要 |
| コード/ドキュメント/コンテキストを読む | READ | ソースに基づくアーキテクチャの根拠 |
| 選択肢を比較する | COMPARE | 2案設計または推奨モード |
| リスクとトレードオフを推定する | INFER | ATAM/CBAM 形式の分析 |
| 意思決定の適合性を検証する | VALIDATE | チェックリストと検証手順 |
| 成果物を作成する | WRITE | ADR またはアーキテクチャの結論 |
| 結果を通知する | NOTIFY | 最終的な推奨事項の概要 |
ツールと手段
- コードベース/ドキュメントを対象としたローカルファイルの読み取りと検索
- アーキテクチャ手法のリファレンスと出力テンプレート
- 費用を正当化できるほど横断的な場合に限る、任意の関係者エージェントへの相談
標準的なワークフロー経路
構造、シンボル、参照、統合ポイントには、設定済みのコードインテリジェンスプロバイダーを使用します。利用できない場合は、このプロジェクト外のパス、または無視対象のパスに限り、ネイティブ検索を使用します。
1. Read prior decisions in docs/decisions/; read old result/design directories as legacy fallback until migration.
2. Discover the configured provider's file, symbol, reference, and pattern tools.
3. Inspect architecture-relevant modules, ownership, and integration points within the selected scope.
その後、成果物を作成する前に、診断、推奨、2案設計、ATAM 形式、CBAM 形式、または ADR モードを選択します。
リソース範囲
| 範囲 | リソースの対象 |
|---|---|
CODEBASE | アーキテクチャに関連するソースファイルとドキュメント |
LOCAL_FS | docs/decisions/ の意思決定記録、および .agents/results/architecture/ の実行レポート |
MEMORY | 前提、選択肢のマトリクス、トレードオフのメモ |
前提条件
- アーキテクチャ上の懸念事項または意思決定の境界を特定できること。
- 関連するコンテキストを読み取れるか、前提を明示できること。
効果と副作用
- アーキテクチャに関する推奨事項や ADR 形式の記録を作成します。
- 実装の方向性、責任範囲、将来のリファクタリングに影響を及ぼす可能性があります。
- 別途実装タスクが依頼されない限り、製品コードを直接変更しません。
ガードレール
- 手法を選ぶ前に、アーキテクチャ上の問題を診断します。
- 現在の意思決定に必要十分な、最も軽量な手法を使用します。
- アーキテクチャ設計を、UI/ビジュアル設計や Terraform のデリバリーと区別します。
- ステークホルダーエージェントへの相談は、意思決定が分野横断的で、コストに見合う場合に限ります。
- 推奨の質は、コンセンサスを得るためだけの形式的な議論より重要です。幅広く相談し、明確に決定します。
- すべての推奨事項に、前提、トレードオフ、リスク、検証手順を明記します。
- 実装コスト、運用コスト、チームの複雑さ、将来の変更コストを考慮し、コストを意識します。
- 重要な意思決定では、推奨案を選ぶ前に、実質的に異なる選択肢を少なくとも2つ比較します。
- 選択したアプローチの ADR と保持対象の推奨事項は
docs/decisions/に保存し、インデックスを更新します。実行レビュー、診断、CBAM 分析、未選択のドラフトは.agents/results/architecture/に保存します。docs/に移す際は、移行元のレポートに移行先へのリンクを残します。 - 意思決定の前に
docs/decisions/の既存の決定を読みます。移行が完了するまでは、以前の保存場所も確認します。古い決定を置き換える場合は、矛盾する内容にするのではなく、置き換え済みとして明記します。ディスパッチされたresult-*.mdレポートは、タスク/実行/セッションのファイル名を維持し、必ず.agents/results/に保存します。 - アクティブな OMA ワークフローで永続的な成果物が完成したら、実際の推奨内容、権限の状態、根拠、改訂、証拠を
architecture.adr-completeに記録します(実行プロトコルのステップ 7)。提案が完成していても、ユーザーの承認を得たことにはならず、実装が許可されるわけでもありません。
手法選択の概要
- 診断モード:漠然とした問題、またはアーキテクチャ上の症状が不明確な場合
- 推奨モード:具体的なアーキテクチャ上の意思決定で方向性を選ぶ場合
- 二案設計モード:決定前に、実質的に異なる2つ以上の設計を比較する場合
- ATAM 方式モード:品質特性のシナリオ、トレードオフのポイント、アーキテクチャ上のリスクを扱う場合
- CBAM 方式モード:アーキテクチャ投資の費用対効果を優先順位付けする場合
- ADR モード:分析後に簡潔な最終決定記録を作成する場合
参考資料
-
ローカルのコードツール:
../_shared/core/code-intelligence.md(コードの検索/ナビゲーション) -
実行手順(選択したタスクに従ってください):
resources/execution-protocol.md -
チェックリスト(引き継ぎ前に実行してください):
resources/checklist.md -
手法の選択:
resources/methodology-selection.md -
ステークホルダーとの連携プロトコル:
resources/stakeholder-synthesis.md -
出力テンプレート:
resources/output-templates.md -
API の進化パターン(バージョニング、非推奨化、ライフサイクルの保証):
resources/api-evolution.md -
移行/移行先への切り替えパターン(ストラングラーフィグ、抽象化による分岐、拡張と縮小):
resources/migration-patterns.md -
コンテキストの読み込み:
../_shared/core/context-loading.md -
タスクの分解:
../_shared/core/difficulty-guide.md(未解決のスコープや依存関係) -
明確化プロトコル:
../_shared/core/clarification-protocol.md -
品質原則:
../_shared/core/quality-principles.md