mcpField
A
arch

arch

github.com/alphaonedev開発44 回インストール
リポジトリ

arch について

arch は、設計や技術選定に取り組むエンジニア向けの OpenClaw システムアーキテクチャスキルです。ADR の作成、選択肢の比較、技術スタックの提案、図や構造化レポートの出力に対応します。

主な機能

  1. 01Markdown ADR の作成
  2. 02トレードオフモデルによる比較
  3. 03技術スタックの提案
  4. 04システム設計図の作成
  5. 05設計の反復的な改善

活用シーン

  1. 01プロジェクト開始時の決定事項の記録
  2. 02データベースや構成案の比較
  3. 03システムのリファクタリングや拡張の計画

インストール

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill arch

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

詳細

arch

目的

このスキルは、システム設計、Architecture Decision Record(ADR)の作成、トレードオフ分析の実施、技術スタックの選定など、ルート SE のアーキテクチャタスクを扱います。OpenClaw のコアエンジンと連携し、図、ドキュメント、JSON レポートなどの構造化された成果物を出力します。

使用するタイミング

新しいシステム設計を始めるとき、アーキテクチャ上の決定を評価するとき、または技術選定のトレードオフを解決するときに、このスキルを使用します。プロジェクトのキックオフ、リファクタリング、システムのスケーリング時に適用してください。特に、マイクロサービス、クラウドインフラストラクチャ、分散システムを含む複雑なアプリケーションに適しています。

主な機能

  • コンテキスト、決定、結果のセクションを含む ADR を Markdown 形式で生成します。
  • 定義済みのモデル(分散システム向けの CAP 定理など)を使用してトレードオフを分析します。
  • 要件、制約、パフォーマンス指標などの入力に基づいて技術スタックを推奨します。
  • PlantUML などのツールとの連携により、システム設計図を作成します。
  • フィードバックループを通じて、設計を反復的に改善できます。

使用パターン

対話型またはスクリプト化されたワークフローで、OpenClaw CLI または API からスキルを呼び出します。設計セッションを初期化するコマンドを実行してから、分析用のサブコマンドを連結します。たとえば、出力を他のツールに渡して可視化できます。一貫性を保つため、入力には常に JSON ファイルを使用してください。リクエストを安全に保護するには、$OPENCLAW_API_KEY などの環境変数を使用して認証します。

主なコマンド/API

OpenClaw CLI で arch サブコマンドを使用します。すべてのコマンドの先頭に openclaw arch を付けてください。

  • システムを設計する:openclaw arch design --input design.json --output system.md
    システム設計ドキュメントを生成します。--input フラグには、{"requirements": ["scalable"], "components": ["database", "API"]} のようなフィールドを含む JSON ファイルが必要です。

  • ADR を作成する:openclaw arch adr --title "Use Microservices" --context "Monolith limitations" --decision "Adopt microservices"
    コードスニペットの例:

    openclaw arch adr --title "Microservices ADR" > adr.md
    cat adr.md  # Outputs: # Architecture Decision Record\n## Title: Microservices ADR\n## Context: ...
    
  • トレードオフを分析する:openclaw arch tradeoff --options "monolith,microservices" --criteria "scalability,cost"
    API エンドポイント:POST /api/skills/arch/tradeoff with body: {"options": ["monolith"], "criteria": ["cost"]}
    レスポンス:{"winner": "microservices", "reasons": ["better scalability"]} のような JSON。

  • 技術スタックを選定する:openclaw arch techstack --requirements "high-availability,nodejs" --constraints "budget:low"
    設定形式:JSON 入力の例:{"requirements": ["REST API"], "constraints": {"budget": 1000}}
    API:POST /api/skills/arch/techstack returns {"recommendations": ["Express.js", "MongoDB"]}。

API 呼び出しでは、常に $OPENCLAW_API_KEY を設定してください。たとえば、curl では次のようにします:curl -H "Authorization: Bearer $OPENCLAW_API_KEY" -X POST https://api.openclaw.ai/api/skills/arch/design。

連携に関する注意事項

CLI のパイプ処理または API の連結を通じて、ワークフローにこのスキルを含めることで OpenClaw と連携できます。依存関係:ローカル実行には Node.js ランタイムが必要です。認証では、コマンドを実行する前に $OPENCLAW_API_KEY を環境変数として設定してください。Git との連携例:pre-commit にフックして設計を検証します。例:openclaw arch validate --file architecture.md && git commit。スクリプトで解析できるように、入力と出力には JSON を使用してください。ファイルを直接変更せず、--output フラグを使用してください。CI/CD パイプラインで使用する場合は、次のようなスクリプトでコマンドをラップします:

export OPENCLAW_API_KEY=your_key
openclaw arch design --input ci-input.json > output.md

エラー処理

よくあるエラーには、無効な入力(JSON フィールドの不足など)や認証の失敗があります。$OPENCLAW_API_KEY が未設定または無効の場合、API 呼び出しで HTTP 401 が発生していないか確認してください。発生している場合は、変数をエクスポートして修正します。CLI では、「Invalid flag」などのエラーは終了コード 1 を返します。if [ $? -ne 0 ]; then echo "Fix input and retry"; fi を使って解析してください。トレードオフ分析エラー(サポート対象外の基準など)は、{"error": "Criterion not found"} のような JSON レスポンスを捕捉して処理し、入力を修正して再試行します。コマンドを実行する前に、jq などのツールを使って常に JSON スキーマを検証してください:

jq . design.json  # Ensure it's valid JSON
openclaw arch design --input design.json

具体的な使用例

  1. マイクロサービスへの移行に関する ADR を生成する:まず、JSON ファイルを用意します:{"title": "Microservices Migration", "context": "Current monolith is unscalable"}。次のコマンドを実行します:openclaw arch adr --input adr-input.json --output migration-adr.md。これにより、バージョン管理用の Markdown ADR ファイルが生成されます。たとえば、意思決定を追跡するためにコミットします。

  2. データベース選定のトレードオフを分析する:CLI から選択肢を入力します:openclaw arch tradeoff --options "MongoDB,PostgreSQL" --criteria "flexibility,query-speed"。出力された JSON を確認して判断し、その後、設計に取り込みます:openclaw arch design --input previous-output.json。このワークフローは、分析結果に基づいて複雑なクエリに PostgreSQL を選定するのに役立ちます。

グラフの関係

  • 関連:se-design(詳細な実装向け)、se-implementation(コードレベルの統合向け)
  • 依存:core-engine(処理向け)、se-tools(可視化ユーティリティ向け)
  • 競合:直接的な競合はありませんが、アクセス制御については se-security と重複しないようにしてください。

コメント