.claude/skills/select-scalardb-edition/SKILL.md
ScalarDBエディション選定エージェント - 対話形式で最適なScalarDBエディション(OSS/Enterprise Standard/Premium)を選定。/select-scalardb-edition で呼び出し。
npx skillsauth add wfukatsu/architecture-redesign-agent select-scalardb-editionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
対話形式で最適なScalarDBエディションを選定し、下流スキルで参照されるエディション設定ファイルを出力するエージェントです。
このエージェントは以下を実行します:
必須: なし(スタンドアロンで実行可能)
推奨(先行フェーズの出力):
reports/03_design/target-architecture.md ← /design-microservicesreports/03_design/bounded-contexts-redesign.md ← /ddd-redesign結果は work/{project}/ に出力します。
重要: 各ステップ完了時に即座にファイルを出力してください。
work/{project}/
└── scalardb-edition-config.md # エディション設定ファイル(Step 4完了時)
Step 0でContext7サブエージェントを起動し、最新のScalarDBエディション情報を取得します。
詳細は .claude/skills/common/sub-agent-patterns.md の「Pattern 3: Context7 Documentation Fetcher」を参照。
あなたはScalarDBエディションの選定専門家です。以下の手順で対話形式のエディション選定を実行してください。
Task toolでContext7サブエージェントを起動し、最新のScalarDBエディション情報を取得:
Task(subagent_type="general-purpose", description="Fetch ScalarDB edition docs", prompt="
Context7 MCPを使用してScalarDBの最新エディション情報を取得してください。
1. mcp__context7__query-docs を以下のパラメータで呼び出し:
- libraryId: /llmstxt/scalardb_scalar-labs_llms-full_txt
- query: ScalarDB editions comparison features Enterprise Premium Standard Community
2. 取得した情報から以下をまとめてください:
- 各エディションの主要機能差異
- 最新バージョン情報
- ライセンス形態
- 新機能や変更点
")
AskUserQuestionツールで以下の要件を収集します:
{
"questions": [{
"question": "アプリケーションのデプロイモデルを選択してください",
"header": "デプロイ",
"options": [
{"label": "組み込み (Embedded)", "description": "Javaアプリケーション内にScalarDBを直接組み込む(OSS版)"},
{"label": "Cluster (分散)", "description": "ScalarDB Clusterで分散デプロイ(Enterprise版)"},
{"label": "未定", "description": "要件に基づいて推奨を受けたい"}
],
"multiSelect": false
}]
}
{
"questions": [{
"question": "使用するAPIインターフェースを選択してください(複数可)",
"header": "API",
"options": [
{"label": "Core Java API", "description": "低レベルGet/Put/Delete/Scan操作(全エディション)"},
{"label": "SQL Interface", "description": "SQL構文でのデータ操作(Enterprise版のみ)"},
{"label": "Spring Data JDBC", "description": "Spring Data統合リポジトリ(Enterprise版のみ)"},
{"label": "GraphQL", "description": "GraphQL APIでのアクセス(Premium版のみ)"}
],
"multiSelect": true
}]
}
{
"questions": [{
"question": "必要な機能を選択してください(複数可)",
"header": "機能",
"options": [
{"label": "Multi-Storage", "description": "複数ストレージバックエンドの統合管理"},
{"label": "Two-Phase Commit", "description": "サービス間分散トランザクション"},
{"label": "認証・認可", "description": "組み込みの認証・認可機能"},
{"label": "ScalarDB Analytics", "description": "Apache Spark連携の分析基盤"}
],
"multiSelect": true
}]
}
{
"questions": [{
"question": "使用予定のデータベースを選択してください(複数可)",
"header": "DB",
"options": [
{"label": "PostgreSQL / MySQL", "description": "JDBC経由(全エディション対応)"},
{"label": "Amazon DynamoDB", "description": "DynamoDB(全エディション対応)"},
{"label": "Oracle / SQL Server", "description": "商用DB(Enterprise版のみ)"},
{"label": "Azure Cosmos DB / Cassandra", "description": "NoSQL(全エディション対応)"}
],
"multiSelect": true
}]
}
{
"questions": [{
"question": "運用環境と予算の制約を教えてください",
"header": "環境",
"options": [
{"label": "開発/PoC", "description": "コスト最小化、OSSで十分"},
{"label": "本番 (コスト重視)", "description": "商用サポートは必要だがコスト抑制"},
{"label": "本番 (機能重視)", "description": "機能・サポートを重視"},
{"label": "AWS Marketplace", "description": "AWS Marketplaceでの従量課金を希望"}
],
"multiSelect": false
}]
}
Q1-Q5の回答を以下の判定軸に変換し、Step 2の判定ロジックに入力する。
| 質問 | 回答 | 判定への反映 |
|------|------|-------------|
| Q1: デプロイ | 組み込み → deployment_mode: embedded | OSS/Community に絞り込み。Cluster機能は対象外 |
| Q1: デプロイ | Cluster → deployment_mode: cluster | Enterprise Standard以上が必須 |
| Q1: デプロイ | 未定 | Q2-Q5の結果から自動判定 |
| Q2: API | Core Java API のみ | エディション制約なし(全エディション対応) |
| Q2: API | SQL Interface / Spring Data | Enterprise Standard以上が必須 |
| Q2: API | GraphQL | Enterprise Premium が必須 |
| Q3: 機能 | 認証・認可 / Analytics | Enterprise Standard以上が必須 |
| Q3: 機能 | Multi-Storage / 2PC のみ | エディション制約なし(OSS対応だがCluster推奨) |
| Q4: DB | PostgreSQL / MySQL / DynamoDB / Cosmos DB | エディション制約なし |
| Q4: DB | Oracle / SQL Server | Enterprise Standard以上が必須 |
| Q5: 環境 | 開発/PoC | OSS/Community を優先推奨 |
| Q5: 環境 | 本番 (コスト重視) | Enterprise Standard を推奨 |
| Q5: 環境 | 本番 (機能重視) | Enterprise Standard/Premium を推奨 |
| Q5: 環境 | AWS Marketplace | Enterprise Premium が必須 |
判定優先順位: Q2/Q3/Q4で決まる最低エディション要件 → Q1で確認 → Q5で最終調整
.claude/rules/scalardb-edition-profiles.md の選定基準を参照し、ヒアリング結果に基づいて推奨エディションを判定。
判定ロジック:
判定結果をユーザーに提示し、確認を得る。
## ScalarDB エディション推奨結果
### 推奨エディション: [Enterprise Standard]
| 判定要素 | ユーザー要件 | 対応 |
|---------|------------|------|
| API | SQL Interface | Enterprise以上必須 |
| 機能 | Multi-Storage, 認証 | Enterprise以上必須 |
| DB | PostgreSQL, DynamoDB | 全エディション対応 |
| 環境 | 本番(機能重視) | Enterprise推奨 |
### 代替案
- Enterprise Premium: GraphQL不要のため過剰
- OSS: SQL Interface/認証が使用不可のため不適
{
"questions": [{
"question": "推奨エディションで進めてよろしいですか?",
"header": "確認",
"options": [
{"label": "推奨通り (推奨)", "description": "推奨エディションで設定ファイルを生成"},
{"label": "変更したい", "description": "別のエディションを選択"}
],
"multiSelect": false
}]
}
確認後、work/{project}/scalardb-edition-config.md を出力:
---
edition: enterprise-standard # oss | enterprise-standard | enterprise-premium
deployment_mode: cluster # embedded | cluster
api_type: sql # core | sql | spring-data | graphql
features:
two_phase_commit: true
multi_storage: true
auth: true
analytics: false
storage_backends:
- type: jdbc
database: postgresql
role: primary
- type: dynamodb
role: secondary
scalardb_version: "3.14.0"
---
# ScalarDB Edition Configuration
## 選定エディション
[選定したエディション名]
## 選定理由
[ヒアリング結果に基づく選定理由]
## 構成概要
### デプロイモード
[embedded / cluster の説明]
### API
[使用するAPIの説明]
### ストレージ構成
[選定したストレージバックエンドの構成]
### 依存関係 (build.gradle)
[エディション別の依存関係]
### 設定ファイル (scalardb.properties)
[エディション別の設定テンプレート]
## 下流スキルへの影響
| スキル | 影響 |
|-------|------|
| `/design-scalardb` | [エディション別構成設計] |
| `/design-scalardb-app-patterns` | [API選択・リポジトリパターン] |
| `/generate-scalardb-code` | [依存関係・設定ファイル生成] |
| `/design-implementation` | [リポジトリ実装パターン] |
| `/scalardb-sizing-estimator` | [Clusterサイジング要否] |
.claude/rules/scalardb-edition-profiles.md の静的情報を使用| スキル | 用途 |
|-------|-----|
| /design-scalardb | ScalarDBデータアーキテクチャ設計(次ステップ) |
| /design-scalardb-app-patterns | アプリケーション設計パターン(次ステップ) |
| /generate-scalardb-code | コード生成(次ステップ) |
| /scalardb-sizing-estimator | サイジング見積もり(補完) |
tools
インタラクティブワークフロー選択 - 実行したい処理を段階的に選択して実行。/workflow で呼び出し。
development
GraphDB可視化エージェント - RyuGraphデータベースの内容をMermaid/DOT/HTML形式で可視化。/visualize-graph [出力パス] で呼び出し。
tools
システム調査エージェント - コードベースの構造・技術スタック・問題点・DDD適合性を調査。/system-investigation [対象パス] で呼び出し。
testing
セキュリティ分析エージェント - 既存システムのセキュリティ状況を分析し、OWASP Top 10対応状況とゼロトラスト準備状況を評価。/security-analysis [対象パス] で呼び出し。