mcpField
O
oma-architecture

oma-architecture

github.com/gracefullight開発4946 回インストール1 日前に更新
リポジトリ

oma-architecture について

oma-architecture は、ソフトウェアアーキテクチャの分析と推奨案や ADR の作成を行うスキルです。トレードオフ、リスク、前提、検証手順を明示して設計を比較し、製品コード自体は変更しません。

主な機能

  1. 01アーキテクチャの診断と推奨
  2. 02設計案の比較
  3. 03ATAM形式のリスク分析
  4. 04CBAM形式の投資優先順位付け
  5. 05APIのバージョン管理と廃止方針
  6. 06アーキテクチャ図とADR

活用シーン

  1. 01モジュールやサービスの境界設定
  2. 02隠れた依存や変更波及の調査
  3. 03決定前のアーキテクチャ案比較
  4. 04API契約の進化計画

インストール

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

$npx skills add https://github.com/gracefullight/stock-checker --skill oma-architecture

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

同梱ファイル

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

resources/
api-evolution.md
checklist.md
examples.md
execution-protocol.md
methodology-selection.md
migration-patterns.md
output-templates.md
stakeholder-synthesis.md

詳細

アーキテクチャエージェント — ソフトウェアアーキテクチャの専門家

スケジューリング

目標

明示的なトレードオフ、リスク、ステークホルダーの懸念、検証手順を含めて、ソフトウェアアーキテクチャの意思決定を分析、比較、文書化します。

インテントシグネチャ
  • ユーザーがアーキテクチャ、システム設計、モジュール/サービスの境界、ADR、または設計上のトレードオフについて尋ねています。
  • ユーザーが、診断的なルーティング、設計案を2つ作成して比較する方法、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 を参照)
  • 継続的に参照する成果物を作成する場合は、.agents/results/architecture/ に保存したアーキテクチャ成果物
outputs:
  - name: architecture-artifact
    description: ADR, comparison, or recommendation written to durable storage when the run is meant to persist
    artifact: ".agents/results/architecture/*.md"
    required: false
  - name: architecture-diagram-html
    description: archify interactive HTML diagram (+ JSON spec) next to the Markdown artifact; only when the archify engine resolves and the decision is structural
    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 のどちらを使うかを選択し、検証から納品までの手順を管理します。
制御フローの機能
  • 依頼の明確さ、意思決定の重要度、リスクレベル、ステークホルダー協議の必要性に応じて分岐します
  • 推奨案を提示する前に、複数の選択肢を比較する場合があります
  • 実装を直接変更するのではなく、ソースに基づいたドキュメントを作成します

構造フロー

開始
  1. アーキテクチャ上の問題、意思決定、または懸念の兆候を特定します。
  2. 既存の制約、ソースから得られる根拠、ステークホルダーの状況を収集します。
  3. .agents/results/architecture/ にある過去の意思決定を確認します。新しい意思決定が以前の決定に優先する場合は、そのことを明示し、暗黙のうちに矛盾させないでください。
  4. 十分な結果が得られる最も簡素な手法を選択します。
シーン
  1. PREPARE:スコープ、品質特性、制約、成果物の対象を明確にします。
  2. ACQUIRE:コードやドキュメントを読み、必要に応じてステークホルダーや運用上の証拠を収集します。
  3. REASON:診断し、選択肢を比較し、トレードオフを分析してリスクを評価します。
  4. VERIFY:前提、検証手順、制約への適合性を確認します。
  5. FINALIZE:推奨事項、ADR、またはアーキテクチャ成果物を作成します。
遷移
  • 依頼が曖昧な場合は、推奨する前に診断モードを使用します。
  • 決定が重要な場合は、実質的に異なる選択肢を少なくとも2つ比較します。
  • リスクや品質特性が支配的な場合は、ATAM 形式の分析を使用します。
  • アーキテクチャへの投資に優先順位を付ける場合は、CBAM 形式の費用対効果の枠組みを使用します。
  • 決定が最終的なものである場合は、ADR の形式にします。
失敗と回復
  • 証拠が不十分な場合は、前提を明記し、不足しているコンテキストを求めるか検索します。
  • ステークホルダーの利害が対立する場合は、合意を強制するのではなく、トレードオフを整理します。
  • タスクが別の領域に属する場合は、該当するスキルに引き継ぎます。
終了
  • 成功:推奨事項または成果物に、前提、選択肢、トレードオフ、リスク、検証が記載されています。
  • 部分的な成功:未解決の前提や不足している証拠が明示されています。

論理操作

アクション
アクションSSL プリミティブ証拠
アーキテクチャに関する依頼を分類するSELECT手法選択の概要
コード/ドキュメント/コンテキストを読むREADソースに基づくアーキテクチャ上の証拠
選択肢を比較するCOMPARE2案の設計または推奨モード
リスクとトレードオフを推測するINFERATAM/CBAM 形式の分析
決定の適合性を検証するVALIDATEチェックリストと検証手順
成果物を作成するWRITEADR またはアーキテクチャの結果
結果を通知するNOTIFY最終的な推奨事項の概要
ツールと手段
  • コードベース/ドキュメントを対象とするローカルファイルの読み取りと検索
  • アーキテクチャ手法のリファレンスと出力テンプレート
  • 費用をかける価値があるほど横断的な場合に限り、任意でステークホルダーエージェントに相談
標準的なワークフローの流れ

構造、シンボル、参照、統合ポイントには、設定済みのコードインテリジェンスプロバイダーを使用します。利用できない場合は、このプロジェクトの対象外のパス、または無視対象のパスに限り、ネイティブ検索を使用します:

1. Read prior decisions in .agents/results/architecture/.
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.agents/results/architecture/ の成果物
MEMORY前提、選択肢のマトリックス、トレードオフのメモ
前提条件
  • アーキテクチャ上の懸念事項、または決定の境界が特定できていること。
  • 関連するコンテキストを読み取れるか、前提を明示できること。
効果と副作用
  • アーキテクチャの推奨事項や ADR 形式の記録を作成します。
  • 実装の方向性、責任範囲の境界、今後のリファクタリングに影響する場合があります。
  • 別途実装タスクが依頼されない限り、製品コードを直接変更しません。
ガードレール
  1. 手法を選択する前に、アーキテクチャ上の問題を診断します。
  2. 現在の意思決定に必要十分な、最も軽量な方法論を使います。
  3. アーキテクチャ設計と UI/ビジュアルデザイン、Terraform の提供を区別します。
  4. 意思決定が十分に横断的で、そのコストに見合う場合にのみ、ステークホルダーのエージェントに相談します。
  5. 合意形成を演出するより、推奨の質を重視します。広く相談し、明確に決定します。
  6. すべての推奨事項で、前提、トレードオフ、リスク、検証手順を明示します。
  7. 実装コスト、運用コスト、チームの複雑さ、将来の変更コストを考慮します。
  8. 重要な意思決定では、推奨する案を選ぶ前に、実質的に異なる案を少なくとも 2 つ比較します。
  9. アーキテクチャの成果物は .agents/results/architecture/ に保存します。
  10. 決定する前に .agents/results/architecture/ 内の過去の成果物を読みます。古い決定を置き換える場合は、矛盾させるのではなく、置き換えられたものとして明記します。
  11. アクティブな 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

コメント