Back to skills
extension
Category: AI Agent CapabilitiesNo API key required

vsa-pattern-selector

Support for selecting the appropriate pattern from the Blazor VSA pattern catalog. In the context of adding new features, CRUD operations, query implementation, state transitions, boundary design, etc., suggest the optimal pattern based on the ai_decision_matrix in catalog/index.json. Select patterns such as Feature Slice, Pipeline Behavior, Domain Pattern, Query Pattern, etc., according to the context.

personAuthor: jakexiaohubgithub

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_matrix
  • catalog/DECISION_FLOWCHART.md - パターン選択アルゴリズム