Blazor VSA パターンカタログからの適切なパターン選択支援。新機能追加、 CRUD 操作、クエリ実装、状態遷移、バウンダリー設計などの文脈で、 catalog/index.json の ai_decision_matrix に基づいて最適なパターンを 提案する。Feature Slice、Pipeline Behavior、Domain Pattern、 Query Pattern などから文脈に応じたパターンを選択。
Resources
1Install
npx skillscat add akiramei/blazor-enterprise-architecture-poc/vsa-pattern-selector Install via the SkillsCat registry.
A selection aid for choosing appropriate Blazor Vertical Slice Architecture patterns from a catalog based on context such as new features, CRUD operations, queries, state transitions, and boundary design. It analyzes the user's request against an AI decision matrix to recommend specific patterns from categories like Feature Slices, Query Patterns, and Domain Patterns. Developers should use it when designing or implementing Blazor features to identify the most suitable architectural pattern from the catalog.
VSA Pattern Selector
このスキルは、Blazor VSA パターンカタログからの適切なパターン選択を支援する。
機能の設計・実装時に、適切なパターンを自動的に提案する。
パターン選択フローチャート
ユーザーの要求を分析
↓
【STEP 1】カテゴリを特定
├─「〇〇機能を作って」「〇〇画面を追加」
│ → Feature Slices(垂直スライス)
│
├─「すべての Command に〇〇」「システム全体で〇〇」
│ → Pipeline Behaviors(横断的関心事)
│
├─「一覧を取得」「検索」「レポート」
│ → Query Patterns
│
├─「状態遷移」「操作可否」「型安全 ID」
│ → Domain Patterns
│
├─「同時実行制御」「トランザクション保証」
│ → Infrastructure Patterns
│
└─「UI 状態管理」「リアルタイム更新」
→ UI Patterns
【STEP 2】具体的なパターンを選択(下記テーブル参照)
【STEP 3】パターン YAML を読む
→ catalog/features/*.yaml または catalog/patterns/*.yaml迷った場合: feature-slice をデフォルトで選択
Feature Slices(垂直スライス)
完全な機能を縦に実装するパターン。最も頻繁に使用。
| パターン ID | 用途 | トリガーフレーズ |
|---|---|---|
| feature-create-entity | エンティティ作成 | 「〇〇を作成」「新規登録」「追加」 |
| feature-search-entity | 検索・一覧表示 | 「〇〇を検索」「一覧画面」「フィルタ」 |
| feature-update-entity | エンティティ更新 | 「〇〇を編集」「更新」「変更」 |
| feature-delete-entity | エンティティ削除 | 「〇〇を削除」「消す」「除去」 |
| feature-import-csv | CSV インポート | 「CSV を取り込む」「一括登録」 |
| feature-export-csv | CSV エクスポート | 「CSV に出力」「ダウンロード」 |
| feature-approval-workflow | 承認ワークフロー | 「承認」「稟議」「ワークフロー」 |
Query Patterns(データ取得)
| パターン ID | 用途 | トリガーフレーズ |
|---|---|---|
| query-get-list | 全件/一覧取得 | 「一覧を取得」「リスト」 |
| query-get-by-id | ID 指定取得 | 「ID で取得」「詳細表示」 |
| query-get-by-period | 期間指定取得 | 「今日/今週/期間」「日付範囲」 |
| complex-query-service | 複合条件クエリ | 「空き検索」「NOT EXISTS」「未割当」 |
Domain Patterns(ドメインモデル)
| パターン ID | 用途 | トリガーフレーズ |
|---|---|---|
| boundary-pattern | 操作可否判定 | 「〇〇できるか」「権限チェック」「優先権」 |
| domain-state-machine | 状態遷移 | 「ステータス」「状態遷移」 |
| domain-validation-service | 業務ルール検証 | 「重複チェック」「〜のみ可能」「前提条件」 |
| domain-typed-id | 型安全 ID | 「強い型付け」「ProductId」 |
| domain-timeslot | 時間枠管理 | 「予約時間」「タイムスロット」 |
| domain-ordered-queue | 順序付きキュー | 「順番」「キュー」「Position」「Ready 状態」 |
Pipeline Behaviors(横断的関心事)
| 順序 | パターン ID | 用途 | トリガーフレーズ |
|---|---|---|---|
| 100 | validation-behavior | 入力検証 | 「バリデーション」 |
| 200 | authorization-behavior | 認可チェック | 「権限」「ロール」 |
| 350 | caching-behavior | キャッシュ | 「キャッシュ」「高速化」 |
| 400 | transaction-behavior | トランザクション | 「トランザクション」 |
| 550 | audit-log-behavior | 監査ログ | 「監査」「履歴」「証跡」 |
Infrastructure Patterns
| パターン ID | 用途 | トリガーフレーズ |
|---|---|---|
| concurrency-control | 同時実行制御 | 「楽観ロック」「悲観ロック」「ダブルブッキング」 |
条件付き必読パターン
特定の条件下で 必ず読むべき パターン。
| 条件 | 必読パターン | 理由 |
|---|---|---|
| UI がある | boundary-pattern | AI バイアスで忘却されやすい |
| 状態遷移がある | domain-state-machine | 遷移制約の明確化 |
| 重複チェックがある | domain-validation-service | 複数エンティティの検証 |
| 予約/ダブルブッキング | concurrency-control | 同時実行制御が必須 |
| 順番管理がある | domain-ordered-queue | Position 管理(FR-018 対策) |
| 「〜のみ可能」 | domain-validation-service | 複合前提条件(FR-017 対策) |
| 優先権のある操作 | boundary-pattern | Ready 状態の優先権(FR-021 対策) |
ドメイン別推奨パターン
図書館・貸出管理
- audit-log-behavior(貸出・返却履歴)
- concurrency-control(同時貸出防止)
- domain-ordered-queue(予約順番管理)★FR-018
- domain-validation-service(全コピー貸出中のみ予約可能)★FR-017
- boundary-pattern(Ready 予約者の優先権)★FR-021
金融・決済
- audit-log-behavior(決済履歴)
- idempotency-behavior(重複決済防止)
- concurrency-control(残高更新)
予約システム
- domain-timeslot(予約時間枠)
- complex-query-service(空き検索)
- concurrency-control(ダブルブッキング防止)
承認ワークフロー
- feature-approval-workflow(承認機能)
- domain-state-machine(承認状態遷移)
- domain-approval-history(承認履歴)
パターン YAML の読み方
各パターン YAML には以下のセクションがある:
| セクション | 内容 |
|---|---|
ai_selection_hints |
トリガーフレーズ、決定ロジック |
implementation.template |
コードテンプレート |
ai_guidance.common_mistakes |
頻出ミス |
evidence.implementation_file |
実装例ファイルパス |
参照
詳細は以下を参照:
catalog/LLM_PATTERN_INDEX.md- パターン選択早見表catalog/index.json- ai_decision_matrixcatalog/DECISION_FLOWCHART.md- パターン選択アルゴリズム