musubix 3.6.1 → 3.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/.github/skills/build-fix/SKILL.md +124 -0
  2. package/.github/skills/checkpoint/SKILL.md +131 -0
  3. package/.github/skills/codemap/SKILL.md +120 -0
  4. package/.github/skills/codemap/templates/codemap-index.md +142 -0
  5. package/.github/skills/codemap/templates/package-codemap.md +160 -0
  6. package/.github/skills/context-optimizer/SKILL.md +109 -0
  7. package/.github/skills/context-optimizer/contexts/dev.md +40 -0
  8. package/.github/skills/context-optimizer/contexts/research.md +55 -0
  9. package/.github/skills/context-optimizer/contexts/review.md +49 -0
  10. package/.github/skills/e2e-runner/SKILL.md +145 -0
  11. package/.github/skills/eval-harness/SKILL.md +111 -0
  12. package/.github/skills/eval-harness/examples/capability-eval.md +158 -0
  13. package/.github/skills/eval-harness/examples/human-grader-template.md +326 -0
  14. package/.github/skills/eval-harness/examples/regression-eval.md +228 -0
  15. package/.github/skills/learning-hooks/SKILL.md +101 -0
  16. package/.github/skills/learning-hooks/templates/learned-skill-template.md +79 -0
  17. package/.github/skills/musubix-adr-generation/SKILL.md +33 -168
  18. package/.github/skills/musubix-best-practices/SKILL.md +46 -276
  19. package/.github/skills/musubix-c4-design/SKILL.md +48 -124
  20. package/.github/skills/musubix-code-generation/SKILL.md +46 -193
  21. package/.github/skills/musubix-domain-inference/SKILL.md +54 -168
  22. package/.github/skills/musubix-ears-validation/SKILL.md +49 -136
  23. package/.github/skills/musubix-sdd-workflow/SKILL.md +56 -178
  24. package/.github/skills/musubix-technical-writing/SKILL.md +45 -381
  25. package/.github/skills/musubix-test-generation/SKILL.md +52 -176
  26. package/.github/skills/musubix-traceability/SKILL.md +52 -99
  27. package/.github/skills/refactor-cleaner/SKILL.md +105 -0
  28. package/.github/skills/session-manager/SKILL.md +119 -0
  29. package/.github/skills/session-manager/scripts/session-end.sh +175 -0
  30. package/.github/skills/session-manager/scripts/session-start.sh +87 -0
  31. package/.github/skills/verification-loop/SKILL.md +111 -0
  32. package/.github/skills/verification-loop/scripts/verify.sh +305 -0
  33. package/AGENTS.md +231 -1034
  34. package/docs/CODEMAPS/CODEMAP.md +1 -0
  35. package/docs/adr/ADR-v3.7.0-001-everything-claude-code-integration.md +102 -0
  36. package/package.json +2 -2
@@ -0,0 +1,109 @@
1
+ ---
2
+ name: context-optimizer
3
+ description: コンテキストウィンドウ最適化。圧縮提案、Pre/PostToolUse Hooks、モード注入。
4
+ license: MIT
5
+ version: 1.1.0
6
+ triggers:
7
+ - ツール呼び出し50回超過
8
+ - ファイル編集後
9
+ - 危険なコマンド実行前
10
+ - /mode
11
+ ---
12
+
13
+ # Context Optimizer
14
+
15
+ > **要約**: コンテキストウィンドウを最適化し、効率的なセッション管理を支援。
16
+
17
+ ## 🔄 トリガーと即時アクション
18
+
19
+ ### 1. Strategic Compact (REQ-CO-001/002)
20
+
21
+ **WHEN** ツール呼び出しが50回に到達
22
+ **DO** 圧縮を提案
23
+
24
+ ```
25
+ 💡 コンテキスト圧縮の提案
26
+ ━━━━━━━━━━━━━━━━━━━━━━
27
+ ツール呼び出し: 50回
28
+ フェーズ: [現在のフェーズ]
29
+ ━━━━━━━━━━━━━━━━━━━━━━
30
+ 圧縮前にsession-managerで状態を保存してください。
31
+ ```
32
+
33
+ **リマインダースケジュール**:
34
+ | 回数 | アクション |
35
+ |------|----------|
36
+ | 50回 | 圧縮提案 |
37
+ | 75回 | リマインダー |
38
+ | 100回 | 強い警告 |
39
+ | 以降25回ごと | リマインダー |
40
+
41
+ ---
42
+
43
+ ### 2. PostToolUse Hooks (REQ-CO-004)
44
+
45
+ **WHEN** ファイル編集後(Edit/Write)
46
+ **DO** ファイル種別に応じた自動チェック
47
+
48
+ | 拡張子 | チェック | コマンド |
49
+ |--------|---------|---------|
50
+ | `.ts`, `.tsx` | 型チェック | `npx tsc --noEmit` |
51
+ | `.ts`, `.tsx`, `.js` | フォーマット | `prettier --check` |
52
+ | `.ts`, `.tsx`, `.js` | console.log検出 | `grep -n "console.log"` |
53
+
54
+ **問題発見時**: ユーザーに報告し、修正を提案
55
+
56
+ ---
57
+
58
+ ### 3. PreToolUse Hooks (REQ-CO-005)
59
+
60
+ **WHEN** 以下のコマンド実行前
61
+ **DO** 確認/警告を表示
62
+
63
+ | パターン | アクション |
64
+ |---------|----------|
65
+ | `npm install`, `pnpm install` | tmux使用を提案 |
66
+ | `npm run build`, `cargo build` | バックグラウンド実行を提案 |
67
+ | `git push` | 変更差分の最終確認 |
68
+ | `rm -rf`, `git reset --hard` | ⚠️ 破壊的操作の警告 |
69
+
70
+ ---
71
+
72
+ ### 4. Doc Blocker (REQ-CO-006)
73
+
74
+ **WHEN** Markdownファイル作成時
75
+ **DO** 必要性を確認(以下は除外)
76
+
77
+ **除外リスト**: `README.md`, `CHANGELOG.md`, `LICENSE`, `docs/**`, `.github/**`
78
+
79
+ ---
80
+
81
+ ## 🎯 Context Mode (REQ-CO-003)
82
+
83
+ **WHEN** `/mode <name>` または モード切り替え要求
84
+ **DO** 対応するコンテキストを注入
85
+
86
+ | モード | フォーカス | 推奨ツール |
87
+ |--------|----------|----------|
88
+ | `dev` | 実装・コーディング | Edit, Write, Bash |
89
+ | `review` | コードレビュー | Read, Grep, Glob |
90
+ | `research` | 調査・探索 | Read, Grep, semantic_search |
91
+
92
+ **モード切り替え時の出力**:
93
+ ```
94
+ 🎯 Mode: [モード名]
95
+ ━━━━━━━━━━━━━━━━
96
+ フォーカス: [説明]
97
+ 推奨ツール: [ツールリスト]
98
+ ```
99
+
100
+ ---
101
+
102
+ ## トレーサビリティ
103
+
104
+ - REQ-CO-001: Strategic Compact Suggestion
105
+ - REQ-CO-002: Tool Call Counter
106
+ - REQ-CO-003: Context Mode Injection
107
+ - REQ-CO-004: PostToolUse Hooks
108
+ - REQ-CO-005: PreToolUse Hooks
109
+ - REQ-CO-006: Doc Blocker
@@ -0,0 +1,40 @@
1
+ # Development Mode Context
2
+
3
+ このコンテキストはアクティブな開発・コーディングセッションに最適化されています。
4
+
5
+ ## フォーカス
6
+
7
+ - 実装とコーディング
8
+ - 機能開発
9
+ - バグ修正
10
+ - コード変更
11
+
12
+ ## 推奨ツール
13
+
14
+ | ツール | 用途 |
15
+ |--------|------|
16
+ | `Edit` | ファイル編集 |
17
+ | `Write` | 新規ファイル作成 |
18
+ | `Bash` | コマンド実行、ビルド、テスト |
19
+ | `Grep` | コード検索 |
20
+
21
+ ## ベストプラクティス
22
+
23
+ 1. **テスト駆動開発**: 実装前にテストを書く
24
+ 2. **小さな変更**: 一度に1つの変更に集中
25
+ 3. **頻繁なビルド確認**: 変更後は `npm run build` で確認
26
+ 4. **型チェック**: TypeScriptファイル編集後は `npx tsc --noEmit`
27
+
28
+ ## 自動チェック
29
+
30
+ ファイル編集後、以下を自動実行:
31
+
32
+ - `.ts`, `.tsx` → `npx tsc --noEmit`
33
+ - `.js`, `.ts`, `.tsx` → Prettier確認
34
+ - console.log検出 → 警告表示
35
+
36
+ ## 避けるべきこと
37
+
38
+ - 大規模なリファクタリングを一度に行う
39
+ - テストなしでコードをコミット
40
+ - 型エラーを無視する
@@ -0,0 +1,55 @@
1
+ # Research Mode Context
2
+
3
+ このコンテキストは調査・探索セッションに最適化されています。
4
+
5
+ ## フォーカス
6
+
7
+ - コードベースの理解
8
+ - アーキテクチャの把握
9
+ - 依存関係の調査
10
+ - ドキュメントの確認
11
+
12
+ ## 推奨ツール
13
+
14
+ | ツール | 用途 |
15
+ |--------|------|
16
+ | `Read` | ファイル内容の確認 |
17
+ | `Grep` | テキスト検索 |
18
+ | `semantic_search` | 意味的なコード検索 |
19
+ | `Glob` | ファイル構造の把握 |
20
+ | `list_dir` | ディレクトリ構造の確認 |
21
+
22
+ ## 調査パターン
23
+
24
+ ### コードベース理解
25
+ 1. `README.md` を確認
26
+ 2. `package.json` で依存関係を把握
27
+ 3. エントリーポイント(`src/index.ts` 等)を確認
28
+ 4. ディレクトリ構造を把握
29
+
30
+ ### 機能調査
31
+ 1. 関連するファイルを特定(grep/semantic_search)
32
+ 2. 主要な関数・クラスを確認
33
+ 3. テストファイルで使用例を確認
34
+ 4. 型定義を確認
35
+
36
+ ### 依存関係調査
37
+ 1. `package.json` で直接依存を確認
38
+ 2. `import` 文をgrep検索
39
+ 3. 内部モジュール間の依存を追跡
40
+
41
+ ## 質問テンプレート
42
+
43
+ 調査中に以下の質問を意識:
44
+
45
+ - このコードの目的は何か?
46
+ - 誰がこのコードを使用するか?
47
+ - どのような前提条件があるか?
48
+ - 既知の制限事項は何か?
49
+ - 関連するドキュメントはどこにあるか?
50
+
51
+ ## 避けるべきこと
52
+
53
+ - 調査中にコードを変更する
54
+ - 理解が不十分なまま結論を出す
55
+ - 関連コードを見落とす
@@ -0,0 +1,49 @@
1
+ # Review Mode Context
2
+
3
+ このコンテキストはコードレビューセッションに最適化されています。
4
+
5
+ ## フォーカス
6
+
7
+ - コード品質の評価
8
+ - 潜在的なバグの発見
9
+ - ベストプラクティスの確認
10
+ - セキュリティ問題の検出
11
+
12
+ ## 推奨ツール
13
+
14
+ | ツール | 用途 |
15
+ |--------|------|
16
+ | `Read` | ファイル内容の確認 |
17
+ | `Grep` | パターン検索 |
18
+ | `Glob` | ファイル一覧取得 |
19
+ | `semantic_search` | 関連コードの検索 |
20
+
21
+ ## レビューチェックリスト
22
+
23
+ ### コード品質
24
+ - [ ] 命名規則が一貫している
25
+ - [ ] 関数が単一責任原則に従っている
26
+ - [ ] エラーハンドリングが適切
27
+ - [ ] ログ出力が適切
28
+
29
+ ### セキュリティ
30
+ - [ ] ユーザー入力のバリデーション
31
+ - [ ] SQLインジェクション対策
32
+ - [ ] XSS対策
33
+ - [ ] 認証・認可の確認
34
+
35
+ ### パフォーマンス
36
+ - [ ] N+1クエリがない
37
+ - [ ] 不要なループがない
38
+ - [ ] メモリリークの可能性がない
39
+
40
+ ### テスト
41
+ - [ ] 十分なテストカバレッジ
42
+ - [ ] エッジケースのテスト
43
+ - [ ] エラーケースのテスト
44
+
45
+ ## 避けるべきこと
46
+
47
+ - レビュー中にコードを直接編集する
48
+ - 細かいスタイルの問題に時間をかけすぎる
49
+ - コンテキストなしで批判する
@@ -0,0 +1,145 @@
1
+ ---
2
+ name: e2e-runner
3
+ description: Playwrightを使用してE2Eテストを生成・実行。クリティカルユーザーフローの検証。
4
+ license: MIT
5
+ version: 1.1.0
6
+ triggers:
7
+ - /e2e
8
+ - /playwright
9
+ - E2Eテスト
10
+ ---
11
+
12
+ # E2E Runner
13
+
14
+ > **要約**: PlaywrightでE2Eテストを生成・実行。テスト結果のレポートとスクリーンショット管理。
15
+
16
+ ## 📌 コマンド
17
+
18
+ | コマンド | 説明 |
19
+ |---------|------|
20
+ | `/e2e generate <flow>` | テスト生成 |
21
+ | `/e2e run [flow]` | テスト実行 |
22
+ | `/e2e report` | レポート表示 |
23
+
24
+ ---
25
+
26
+ ## 🎬 テスト生成 (REQ-E2E-001)
27
+
28
+ **WHEN** `/e2e generate <flow>` 実行
29
+ **DO** テストファイルを生成
30
+
31
+ **出力構造**:
32
+ ```
33
+ tests/e2e/
34
+ ├── <flow>.spec.ts # テストファイル
35
+ ├── fixtures/
36
+ │ └── <flow>.json # テストデータ
37
+ └── pages/
38
+ └── <flow>.page.ts # Page Object
39
+ ```
40
+
41
+ **テストテンプレート**:
42
+ ```typescript
43
+ import { test, expect } from '@playwright/test';
44
+
45
+ test.describe('<Flow>', () => {
46
+ test('should complete flow', async ({ page }) => {
47
+ // Step 1: Navigate
48
+ await page.goto('/');
49
+
50
+ // Step 2: Action
51
+ await page.click('[data-testid="button"]');
52
+
53
+ // Step 3: Assert
54
+ await expect(page.locator('.success')).toBeVisible();
55
+ });
56
+ });
57
+ ```
58
+
59
+ ---
60
+
61
+ ## ▶️ テスト実行 (REQ-E2E-002)
62
+
63
+ **WHEN** `/e2e run [flow]` 実行
64
+ **DO** Playwrightでテスト実行
65
+
66
+ | オプション | 説明 |
67
+ |-----------|------|
68
+ | `--headed` | ブラウザ表示 |
69
+ | `--debug` | デバッグモード |
70
+ | `--trace` | トレース記録 |
71
+ | `--browser <name>` | ブラウザ指定 |
72
+
73
+ ```bash
74
+ # 全テスト
75
+ npx playwright test
76
+
77
+ # 特定フロー
78
+ npx playwright test tests/e2e/login.spec.ts
79
+
80
+ # デバッグ
81
+ npx playwright test --debug
82
+ ```
83
+
84
+ ---
85
+
86
+ ## 📊 レポート (REQ-E2E-003)
87
+
88
+ **WHEN** テスト完了
89
+ **DO** レポート生成
90
+
91
+ ```
92
+ 📊 E2E Test Report
93
+ ━━━━━━━━━━━━━━━━━━━━━━━━
94
+ Total: 10 tests
95
+ Passed: 8 ✅
96
+ Failed: 2 ❌
97
+ Skipped: 0
98
+
99
+ Duration: 45.2s
100
+ ━━━━━━━━━━━━━━━━━━━━━━━━
101
+
102
+ Failed Tests:
103
+ 1. login.spec.ts > should login
104
+ Error: Timeout waiting for selector
105
+ Screenshot: playwright-report/login-1.png
106
+
107
+ 2. checkout.spec.ts > should pay
108
+ Error: Element not found
109
+ Screenshot: playwright-report/checkout-1.png
110
+ ```
111
+
112
+ **HTMLレポート**:
113
+ ```bash
114
+ npx playwright show-report
115
+ ```
116
+
117
+ ---
118
+
119
+ ## 📁 設定
120
+
121
+ **playwright.config.ts**:
122
+ ```typescript
123
+ export default defineConfig({
124
+ testDir: './tests/e2e',
125
+ timeout: 30000,
126
+ retries: 2,
127
+ use: {
128
+ baseURL: 'http://localhost:3000',
129
+ screenshot: 'only-on-failure',
130
+ trace: 'retain-on-failure',
131
+ },
132
+ projects: [
133
+ { name: 'chromium', use: { ...devices['Desktop Chrome'] } },
134
+ { name: 'firefox', use: { ...devices['Desktop Firefox'] } },
135
+ ],
136
+ });
137
+ ```
138
+
139
+ ---
140
+
141
+ ## トレーサビリティ
142
+
143
+ - REQ-E2E-001: E2E Test Generation
144
+ - REQ-E2E-002: E2E Test Execution
145
+ - REQ-E2E-003: E2E Report
@@ -0,0 +1,111 @@
1
+ ---
2
+ name: eval-harness
3
+ description: pass@kメトリクスでAIコード生成の品質を評価。Capability/Regression評価をサポート。
4
+ license: MIT
5
+ version: 1.1.0
6
+ triggers:
7
+ - /eval
8
+ - 機能評価
9
+ - 回帰テスト
10
+ ---
11
+
12
+ # Eval Harness
13
+
14
+ > **要約**: AIコード生成の品質を定量的に評価。pass@kメトリクスと複数の評価タイプをサポート。
15
+
16
+ ## 📊 評価タイプ
17
+
18
+ ### 1. Capability Eval (REQ-EH-001)
19
+
20
+ **WHEN** 新機能の品質評価が必要
21
+ **DO** 以下のフォーマットで定義
22
+
23
+ ```markdown
24
+ [CAPABILITY EVAL: <feature-name>]
25
+ Task: <達成タスク>
26
+ Success Criteria:
27
+ - [ ] 基準1
28
+ - [ ] 基準2
29
+ - [ ] 基準3
30
+ Expected Output: <期待出力>
31
+ Test Command: <テストコマンド>
32
+ ```
33
+
34
+ ---
35
+
36
+ ### 2. Regression Eval (REQ-EH-002)
37
+
38
+ **WHEN** 既存機能の品質維持を確認
39
+ **DO** 以下のフォーマットで定義
40
+
41
+ ```markdown
42
+ [REGRESSION EVAL: <feature-name>]
43
+ Baseline: <Git SHA / チェックポイント>
44
+ Tests:
45
+ - test-1: PASS/FAIL
46
+ - test-2: PASS/FAIL
47
+ Result: X/Y passed (previously Y/Y)
48
+ Regression: Yes/No
49
+ ```
50
+
51
+ ---
52
+
53
+ ## 📈 pass@k Metrics (REQ-EH-003)
54
+
55
+ | メトリクス | 定義 | 用途 |
56
+ |-----------|------|------|
57
+ | **pass@1** | 初回試行成功率 | 基本信頼度 |
58
+ | **pass@3** | 3回中1回以上成功 | 一般ターゲット |
59
+ | **consecutive@3** | 3回連続成功 | クリティカルパス |
60
+
61
+ **計算**:
62
+ ```
63
+ pass@1 = 成功数 / 試行数
64
+ pass@k = 1 - C(n-c, k) / C(n, k)
65
+ consecutive@3 = 連続成功シーケンス数 / 可能シーケンス数
66
+ ```
67
+
68
+ **レポート例**:
69
+ ```
70
+ 📊 Eval Report: user-auth
71
+ ━━━━━━━━━━━━━━━━━━━━
72
+ pass@1: 80% (8/10)
73
+ pass@3: 95%
74
+ consecutive@3: 60%
75
+ ━━━━━━━━━━━━━━━━━━━━
76
+ Status: ✅ Meets target
77
+ ```
78
+
79
+ ---
80
+
81
+ ## 🔍 Grader Types (REQ-EH-004/005)
82
+
83
+ | タイプ | 説明 | 使用場面 |
84
+ |--------|------|---------|
85
+ | **Code-Based** | コマンド実行で判定 | 決定的な検証 |
86
+ | **Model-Based** | LLMで判定 | 自由形式の評価 |
87
+ | **Human** | 人手で判定 | 主観的品質評価 |
88
+
89
+ ### Human Grader Template
90
+
91
+ ```markdown
92
+ [HUMAN GRADE: <feature>]
93
+ Reviewer: @username
94
+ Checklist:
95
+ - [ ] 仕様を満たしている
96
+ - [ ] エッジケース考慮
97
+ - [ ] API互換性維持
98
+ - [ ] セキュリティ問題なし
99
+ Verdict: PASS/FAIL
100
+ Notes: [コメント]
101
+ ```
102
+
103
+ ---
104
+
105
+ ## トレーサビリティ
106
+
107
+ - REQ-EH-001: Capability Eval Definition
108
+ - REQ-EH-002: Regression Eval Definition
109
+ - REQ-EH-003: pass@k Metrics
110
+ - REQ-EH-004: Grader Types
111
+ - REQ-EH-005: Human Grader Support
@@ -0,0 +1,158 @@
1
+ # Capability Eval Examples
2
+
3
+ ## Example 1: User Authentication Feature
4
+
5
+ ```markdown
6
+ [CAPABILITY EVAL: user-authentication]
7
+
8
+ Task: JWTベースのユーザー認証機能を実装する
9
+
10
+ Success Criteria:
11
+ - [x] ログインエンドポイントが正常に動作する
12
+ - [x] JWTトークンが正しく生成される
13
+ - [x] トークン検証ミドルウェアが機能する
14
+ - [ ] リフレッシュトークンが実装されている
15
+
16
+ Expected Output:
17
+ - POST /api/auth/login → 200 OK + JWT token
18
+ - GET /api/protected → 401 without token, 200 with valid token
19
+
20
+ Constraints:
21
+ - bcryptを使用したパスワードハッシュ
22
+ - トークン有効期限: 15分
23
+ - リフレッシュトークン有効期限: 7日
24
+
25
+ Test Command: npm run test:auth
26
+
27
+ Result: 3/4 criteria met
28
+ Status: PARTIAL PASS
29
+ ```
30
+
31
+ ---
32
+
33
+ ## Example 2: API Rate Limiting
34
+
35
+ ```markdown
36
+ [CAPABILITY EVAL: api-rate-limiting]
37
+
38
+ Task: APIエンドポイントにレート制限を実装する
39
+
40
+ Success Criteria:
41
+ - [x] IPベースのレート制限が機能する
42
+ - [x] 制限超過時に429エラーを返す
43
+ - [x] X-RateLimit-* ヘッダーが正しく設定される
44
+ - [x] Redis/メモリでの状態管理が動作する
45
+ - [x] ホワイトリストIPが除外される
46
+
47
+ Expected Output:
48
+ - 正常リクエスト → 200 OK + X-RateLimit-Remaining: 99
49
+ - 制限超過 → 429 Too Many Requests + Retry-After header
50
+
51
+ Constraints:
52
+ - 制限: 100 requests/minute/IP
53
+ - スライディングウィンドウアルゴリズム
54
+
55
+ Test Command: npm run test:rate-limit
56
+
57
+ Result: 5/5 criteria met
58
+ Status: PASS
59
+ ```
60
+
61
+ ---
62
+
63
+ ## Example 3: Data Export Feature
64
+
65
+ ```markdown
66
+ [CAPABILITY EVAL: data-export-csv]
67
+
68
+ Task: ユーザーデータをCSV形式でエクスポートする機能を実装する
69
+
70
+ Success Criteria:
71
+ - [x] CSVファイルが正しいフォーマットで生成される
72
+ - [x] 大量データ(10万件以上)でもメモリ効率が良い
73
+ - [x] ダウンロードAPIエンドポイントが動作する
74
+ - [ ] 非同期エクスポートがサポートされる
75
+ - [x] 文字エンコーディング(UTF-8 BOM)が正しい
76
+
77
+ Expected Output:
78
+ - GET /api/export/users → CSV file download
79
+ - Content-Type: text/csv; charset=utf-8
80
+ - Content-Disposition: attachment; filename="users-YYYY-MM-DD.csv"
81
+
82
+ Constraints:
83
+ - ストリーミング処理でメモリ消費を抑制
84
+ - 最大エクスポート件数: 100万件
85
+
86
+ Test Command: npm run test:export
87
+
88
+ Result: 4/5 criteria met
89
+ Status: PARTIAL PASS
90
+
91
+ Notes:
92
+ - 非同期エクスポートは次のスプリントで実装予定
93
+ ```
94
+
95
+ ---
96
+
97
+ ## Example 4: Search Feature with Elasticsearch
98
+
99
+ ```markdown
100
+ [CAPABILITY EVAL: elasticsearch-search]
101
+
102
+ Task: Elasticsearchを使用した全文検索機能を実装する
103
+
104
+ Success Criteria:
105
+ - [x] 基本的なキーワード検索が動作する
106
+ - [x] ファセット検索(フィルタリング)がサポートされる
107
+ - [x] ハイライト機能が動作する
108
+ - [x] ページネーションが正しく実装される
109
+ - [x] 検索結果のソートが機能する
110
+ - [x] 検索サジェスト(オートコンプリート)が動作する
111
+
112
+ Expected Output:
113
+ - GET /api/search?q=keyword → { hits: [...], total: N, facets: {...} }
114
+ - レスポンス時間: 200ms以内
115
+
116
+ Constraints:
117
+ - Elasticsearch 8.x 使用
118
+ - 日本語形態素解析(kuromoji)対応
119
+ - 同義語辞書のサポート
120
+
121
+ Test Command: npm run test:search
122
+
123
+ Result: 6/6 criteria met
124
+ Status: PASS
125
+ ```
126
+
127
+ ---
128
+
129
+ ## Template for New Capability Eval
130
+
131
+ ```markdown
132
+ [CAPABILITY EVAL: <feature-name>]
133
+
134
+ Task: <達成すべきタスクの詳細説明>
135
+
136
+ Success Criteria:
137
+ - [ ] <成功基準1 - 測定可能で明確に>
138
+ - [ ] <成功基準2>
139
+ - [ ] <成功基準3>
140
+ - [ ] <成功基準4>
141
+ - [ ] <成功基準5>
142
+
143
+ Expected Output:
144
+ <期待される出力の具体例>
145
+
146
+ Constraints:
147
+ - <制約条件1>
148
+ - <制約条件2>
149
+ - <制約条件3>
150
+
151
+ Test Command: <テスト実行コマンド>
152
+
153
+ Result: X/Y criteria met
154
+ Status: <PASS|PARTIAL PASS|FAIL>
155
+
156
+ Notes:
157
+ - <追加の注記や改善点>
158
+ ```