design-microservices
マイクロサービス設計エージェント - ターゲットアーキテクチャ、変換計画、運用計画の策定。/design-microservices [対象パス] で呼び出し。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
マイクロサービス設計エージェント - ターゲットアーキテクチャ、変換計画、運用計画の策定。/design-microservices [対象パス] で呼び出し。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
システム分析エージェント - ユビキタス言語、アクター、ロール、権限、ドメイン-コード対応表を抽出。/analyze-system [対象パス] で呼び出し。
GraphDB構築エージェント - ユビキタス言語とコード解析結果からRyuGraphデータベースを構築。/build-graph [対象パス] で呼び出し。
レポートコンパイルエージェント - 分析結果のMarkdownファイルを統合HTMLレポートに変換。/compile-report [出力パス] で呼び出し。
ドメインストーリーテリングエージェント - ドメインストーリーの作成、ビジネスプロセスの可視化。/create-domain-story --domain=[ドメイン名] で呼び出し。
API設計エージェント - リファクタリング後のマイクロサービスAPI設計。REST/GraphQL/gRPC/AsyncAPIの仕様書、API Gateway設計、認証・認可設計を策定。/design-api [対象パス] で呼び出し。
ScalarDB Analytics設計エージェント - ScalarDB Analyticsを使用した分析基盤の設計。Apache Sparkベースの分析クエリ、マルチDB横断分析を策定。/design-scalardb-analytics [対象パス] で呼び出し。
| name | design-microservices |
| description | マイクロサービス設計エージェント - ターゲットアーキテクチャ、変換計画、運用計画の策定。/design-microservices [対象パス] で呼び出し。 |
| model | opus |
| user_invocable | true |
マイクロサービスアーキテクチャへの変換設計を行うエージェントです。
このエージェントは、ドメイン分析とMMI評価の結果をもとに、以下を策定します:
以下の中間ファイルが存在すること:
01_analysis/ 配下の分析結果02_evaluation/ 配下のMMI評価結果03_design/domain-analysis.md03_design/system-mapping.md設計結果は reports/03_design/ に出力します。
重要: 各ステップ完了時に即座にファイルを出力してください。
reports/03_design/
├── target-architecture.md # Step 2-5完了時
├── transformation-plan.md # Step 6完了時(移行計画)
└── operations-feedback.md # 最終Step完了時
あなたはマイクロサービスアーキテクチャの設計専門家です。以下の手順で設計を実行してください。
マイクロサービス設計の基本原則:
| 原則 | 説明 |
|---|---|
| Single Responsibility | 1サービス1責務 |
| Loose Coupling | サービス間の疎結合 |
| High Cohesion | サービス内の高凝集 |
| Business Capability | ビジネス能力に沿った分割 |
| Decentralized Governance | 分散ガバナンス |
| Design for Failure | 障害を前提とした設計 |
| Evolutionary Design | 進化的な設計 |
各境界づけられたコンテキストに対してサービスを設計:
## [サービス名]
### 基本情報
- サービスID: [一意識別子]
- 対応コンテキスト: [コンテキスト名]
- ドメインタイプ: [Pipeline/Blackboard/Dialogue]
- サービスカテゴリ: [Process/Master/Integration/Supporting]
### 責務
[このサービスが担う責務の説明]
### API設計
| エンドポイント | メソッド | 説明 | リクエスト | レスポンス |
|-------------|--------|------|----------|----------|
### イベント
| イベント名 | 発行条件 | ペイロード | 購読者 |
|----------|---------|----------|-------|
### データモデル
[主要エンティティと関係]
### 依存サービス
| サービス | 依存内容 | 通信方式 | フォールバック |
|---------|---------|---------|--------------|
### 非機能要件
| 項目 | 要件 | 実現方式 |
|-----|-----|---------|
| 可用性 | [X]% | [方式] |
| レイテンシ | [X]ms | [方式] |
| スループット | [X]TPS | [方式] |
| パターン | 使用場面 | 実装技術 |
|---|---|---|
| REST API | CRUD操作 | OpenAPI/gRPC |
| GraphQL | 複雑なクエリ | Apollo/Hasura |
| パターン | 使用場面 | 実装技術 |
|---|---|---|
| Event Sourcing | 状態変更の記録 | Kafka/EventStore |
| CQRS | 読み書き分離 | 専用Read Model |
| Saga | 分散トランザクション | Orchestration/Choreography |
各サービスは自身のデータを所有:
| パターン | 説明 | 使用場面 |
|---|---|---|
| Event-Carried State Transfer | イベントでデータを運ぶ | 緩い整合性で十分な場合 |
| API Composition | 複数サービスからデータ取得 | リアルタイム性が必要な場合 |
| Materialized View | 読み取り専用ビュー | クエリ性能が重要な場合 |
このステップ完了時に出力: reports/03_design/target-architecture.md
graph TD
subgraph Cluster["Kubernetes Cluster"]
subgraph Production["Namespace: Production"]
S1["Service A"]
S2["Service B"]
S3["Service C"]
end
subgraph Infra["Namespace: Infrastructure"]
DB[("Database")]
MQ["Message Queue"]
Cache["Cache"]
end
end
| 機能 | 実装 |
|---|---|
| Service Discovery | Consul/Kubernetes DNS |
| Load Balancing | Envoy/Istio |
| Circuit Breaker | Istio/Resilience4j |
| Distributed Tracing | Jaeger/Zipkin |
移行戦略とフェーズを策定:
このステップ完了時に出力: reports/03_design/transformation-plan.md
可観測性、SLO/SLI、インシデント管理を設計。
このステップ完了時に出力: reports/03_design/operations-feedback.md
出力したファイルのMermaid図を検証し、エラーがあれば修正:
# 出力ファイルのMermaid検証
/fix-mermaid ./reports/03_design
検証項目:
subgraph "Kubernetes Cluster")ターゲットアーキテクチャ(設計思想、アーキテクチャ図、サービスカタログ、サービス詳細設計、通信設計、データアーキテクチャ、セキュリティ設計、可観測性設計)
変換計画(移行戦略、フェーズ概要、Phase 1-4詳細、リスク管理、成功指標)
運用・フィードバック計画(可観測性戦略、SLO/SLI設計、インシデント管理、継続的改善サイクル、キャパシティプランニング)
/analyze-system や /map-domains の実行を提案[要確認] でマーク# サービス分割の妥当性確認
mcp__serena__find_referencing_symbols で依存関係を確認