@su-record/vibe 2.6.14 → 2.6.15

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 (232) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +497 -497
  3. package/agents/architect-low.md +41 -41
  4. package/agents/architect-medium.md +59 -59
  5. package/agents/architect.md +80 -80
  6. package/agents/build-error-resolver.md +115 -115
  7. package/agents/compounder.md +261 -261
  8. package/agents/diagrammer.md +178 -178
  9. package/agents/e2e-tester.md +266 -266
  10. package/agents/explorer-low.md +42 -42
  11. package/agents/explorer-medium.md +59 -59
  12. package/agents/explorer.md +48 -48
  13. package/agents/implementer-low.md +43 -43
  14. package/agents/implementer-medium.md +52 -52
  15. package/agents/implementer.md +54 -54
  16. package/agents/refactor-cleaner.md +143 -143
  17. package/agents/research/best-practices-agent.md +199 -199
  18. package/agents/research/codebase-patterns-agent.md +157 -157
  19. package/agents/research/framework-docs-agent.md +188 -188
  20. package/agents/research/security-advisory-agent.md +213 -213
  21. package/agents/review/architecture-reviewer.md +107 -107
  22. package/agents/review/complexity-reviewer.md +116 -116
  23. package/agents/review/data-integrity-reviewer.md +88 -88
  24. package/agents/review/git-history-reviewer.md +103 -103
  25. package/agents/review/performance-reviewer.md +86 -86
  26. package/agents/review/python-reviewer.md +150 -150
  27. package/agents/review/rails-reviewer.md +139 -139
  28. package/agents/review/react-reviewer.md +144 -144
  29. package/agents/review/security-reviewer.md +80 -80
  30. package/agents/review/simplicity-reviewer.md +140 -140
  31. package/agents/review/test-coverage-reviewer.md +116 -116
  32. package/agents/review/typescript-reviewer.md +127 -127
  33. package/agents/searcher.md +54 -54
  34. package/agents/simplifier.md +120 -120
  35. package/agents/tester.md +49 -49
  36. package/agents/ui-previewer.md +268 -268
  37. package/commands/vibe.analyze.md +356 -356
  38. package/commands/vibe.reason.md +329 -329
  39. package/commands/vibe.review.md +412 -412
  40. package/commands/vibe.run.md +1266 -1266
  41. package/commands/vibe.spec.md +1054 -1054
  42. package/commands/vibe.spec.review.md +319 -319
  43. package/commands/vibe.trace.md +161 -161
  44. package/commands/vibe.utils.md +376 -376
  45. package/commands/vibe.verify.md +375 -375
  46. package/dist/cli/collaborator.js +52 -52
  47. package/dist/cli/detect.js +32 -32
  48. package/dist/cli/hud.js +20 -20
  49. package/dist/cli/index.js +118 -118
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/cli/llm.js +144 -144
  52. package/dist/cli/mcp.d.ts +49 -0
  53. package/dist/cli/mcp.d.ts.map +1 -0
  54. package/dist/cli/mcp.js +169 -0
  55. package/dist/cli/mcp.js.map +1 -0
  56. package/dist/cli/postinstall.js +858 -858
  57. package/dist/cli/setup/ProjectSetup.d.ts +3 -0
  58. package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
  59. package/dist/cli/setup/ProjectSetup.js +28 -6
  60. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  61. package/dist/lib/DeepInit.js +24 -24
  62. package/dist/lib/IterationTracker.js +11 -11
  63. package/dist/lib/PythonParser.js +108 -108
  64. package/dist/lib/ReviewRace.js +96 -96
  65. package/dist/lib/SkillFrontmatter.js +28 -28
  66. package/dist/lib/SkillQualityGate.js +9 -9
  67. package/dist/lib/SkillRepository.js +159 -159
  68. package/dist/lib/UltraQA.js +77 -77
  69. package/dist/lib/gemini-api.js +5 -5
  70. package/dist/lib/gemini-mcp.d.ts +10 -0
  71. package/dist/lib/gemini-mcp.d.ts.map +1 -0
  72. package/dist/lib/gemini-mcp.js +353 -0
  73. package/dist/lib/gemini-mcp.js.map +1 -0
  74. package/dist/lib/gpt-api.js +4 -4
  75. package/dist/lib/gpt-mcp.d.ts +10 -0
  76. package/dist/lib/gpt-mcp.d.ts.map +1 -0
  77. package/dist/lib/gpt-mcp.js +352 -0
  78. package/dist/lib/gpt-mcp.js.map +1 -0
  79. package/dist/lib/memory/KnowledgeGraph.js +4 -4
  80. package/dist/lib/memory/MemorySearch.js +20 -20
  81. package/dist/lib/memory/MemoryStorage.js +64 -64
  82. package/dist/orchestrator/AgentManager.js +12 -12
  83. package/dist/orchestrator/MultiLlmResearch.js +8 -8
  84. package/dist/orchestrator/SmartRouter.js +11 -11
  85. package/dist/orchestrator/parallelResearch.js +24 -24
  86. package/dist/tools/analytics/getUsageAnalytics.d.ts +10 -0
  87. package/dist/tools/analytics/getUsageAnalytics.d.ts.map +1 -0
  88. package/dist/tools/analytics/getUsageAnalytics.js +246 -0
  89. package/dist/tools/analytics/getUsageAnalytics.js.map +1 -0
  90. package/dist/tools/analytics/index.d.ts +5 -0
  91. package/dist/tools/analytics/index.d.ts.map +1 -0
  92. package/dist/tools/analytics/index.js +5 -0
  93. package/dist/tools/analytics/index.js.map +1 -0
  94. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  95. package/dist/tools/convention/getCodingGuide.d.ts +7 -0
  96. package/dist/tools/convention/getCodingGuide.d.ts.map +1 -0
  97. package/dist/tools/convention/getCodingGuide.js +69 -0
  98. package/dist/tools/convention/getCodingGuide.js.map +1 -0
  99. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  100. package/dist/tools/planning/analyzeRequirements.d.ts +9 -0
  101. package/dist/tools/planning/analyzeRequirements.d.ts.map +1 -0
  102. package/dist/tools/planning/analyzeRequirements.js +171 -0
  103. package/dist/tools/planning/analyzeRequirements.js.map +1 -0
  104. package/dist/tools/planning/createUserStories.d.ts +9 -0
  105. package/dist/tools/planning/createUserStories.d.ts.map +1 -0
  106. package/dist/tools/planning/createUserStories.js +124 -0
  107. package/dist/tools/planning/createUserStories.js.map +1 -0
  108. package/dist/tools/planning/featureRoadmap.d.ts +10 -0
  109. package/dist/tools/planning/featureRoadmap.d.ts.map +1 -0
  110. package/dist/tools/planning/featureRoadmap.js +207 -0
  111. package/dist/tools/planning/featureRoadmap.js.map +1 -0
  112. package/dist/tools/planning/generatePrd.d.ts +11 -0
  113. package/dist/tools/planning/generatePrd.d.ts.map +1 -0
  114. package/dist/tools/planning/generatePrd.js +161 -0
  115. package/dist/tools/planning/generatePrd.js.map +1 -0
  116. package/dist/tools/planning/index.d.ts +8 -0
  117. package/dist/tools/planning/index.d.ts.map +1 -0
  118. package/dist/tools/planning/index.js +8 -0
  119. package/dist/tools/planning/index.js.map +1 -0
  120. package/dist/tools/prompt/analyzePrompt.d.ts +7 -0
  121. package/dist/tools/prompt/analyzePrompt.d.ts.map +1 -0
  122. package/dist/tools/prompt/analyzePrompt.js +150 -0
  123. package/dist/tools/prompt/analyzePrompt.js.map +1 -0
  124. package/dist/tools/prompt/enhancePrompt.d.ts +8 -0
  125. package/dist/tools/prompt/enhancePrompt.d.ts.map +1 -0
  126. package/dist/tools/prompt/enhancePrompt.js +110 -0
  127. package/dist/tools/prompt/enhancePrompt.js.map +1 -0
  128. package/dist/tools/prompt/enhancePromptGemini.d.ts +8 -0
  129. package/dist/tools/prompt/enhancePromptGemini.d.ts.map +1 -0
  130. package/dist/tools/prompt/enhancePromptGemini.js +332 -0
  131. package/dist/tools/prompt/enhancePromptGemini.js.map +1 -0
  132. package/dist/tools/prompt/index.d.ts +7 -0
  133. package/dist/tools/prompt/index.d.ts.map +1 -0
  134. package/dist/tools/prompt/index.js +7 -0
  135. package/dist/tools/prompt/index.js.map +1 -0
  136. package/dist/tools/reasoning/applyReasoningFramework.d.ts +8 -0
  137. package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +1 -0
  138. package/dist/tools/reasoning/applyReasoningFramework.js +266 -0
  139. package/dist/tools/reasoning/applyReasoningFramework.js.map +1 -0
  140. package/dist/tools/reasoning/index.d.ts +5 -0
  141. package/dist/tools/reasoning/index.d.ts.map +1 -0
  142. package/dist/tools/reasoning/index.js +5 -0
  143. package/dist/tools/reasoning/index.js.map +1 -0
  144. package/dist/tools/spec/prdParser.test.js +171 -171
  145. package/dist/tools/spec/specGenerator.js +169 -169
  146. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  147. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  148. package/dist/tools/thinking/analyzeProblem.d.ts +7 -0
  149. package/dist/tools/thinking/analyzeProblem.d.ts.map +1 -0
  150. package/dist/tools/thinking/analyzeProblem.js +55 -0
  151. package/dist/tools/thinking/analyzeProblem.js.map +1 -0
  152. package/dist/tools/thinking/breakDownProblem.d.ts +8 -0
  153. package/dist/tools/thinking/breakDownProblem.d.ts.map +1 -0
  154. package/dist/tools/thinking/breakDownProblem.js +145 -0
  155. package/dist/tools/thinking/breakDownProblem.js.map +1 -0
  156. package/dist/tools/thinking/createThinkingChain.d.ts +7 -0
  157. package/dist/tools/thinking/createThinkingChain.d.ts.map +1 -0
  158. package/dist/tools/thinking/createThinkingChain.js +44 -0
  159. package/dist/tools/thinking/createThinkingChain.js.map +1 -0
  160. package/dist/tools/thinking/formatAsPlan.d.ts +9 -0
  161. package/dist/tools/thinking/formatAsPlan.d.ts.map +1 -0
  162. package/dist/tools/thinking/formatAsPlan.js +78 -0
  163. package/dist/tools/thinking/formatAsPlan.js.map +1 -0
  164. package/dist/tools/thinking/index.d.ts +10 -0
  165. package/dist/tools/thinking/index.d.ts.map +1 -0
  166. package/dist/tools/thinking/index.js +10 -0
  167. package/dist/tools/thinking/index.js.map +1 -0
  168. package/dist/tools/thinking/stepByStepAnalysis.d.ts +8 -0
  169. package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +1 -0
  170. package/dist/tools/thinking/stepByStepAnalysis.js +63 -0
  171. package/dist/tools/thinking/stepByStepAnalysis.js.map +1 -0
  172. package/dist/tools/thinking/thinkAloudProcess.d.ts +8 -0
  173. package/dist/tools/thinking/thinkAloudProcess.d.ts.map +1 -0
  174. package/dist/tools/thinking/thinkAloudProcess.js +80 -0
  175. package/dist/tools/thinking/thinkAloudProcess.js.map +1 -0
  176. package/hooks/hooks.json +222 -222
  177. package/hooks/scripts/code-check.js +22 -22
  178. package/hooks/scripts/code-review.js +22 -22
  179. package/hooks/scripts/complexity.js +22 -22
  180. package/hooks/scripts/compound.js +23 -23
  181. package/hooks/scripts/context-save.js +33 -33
  182. package/hooks/scripts/gemini-ui-gen.js +281 -281
  183. package/hooks/scripts/generate-brand-assets.js +474 -474
  184. package/hooks/scripts/hud-multiline.js +262 -262
  185. package/hooks/scripts/hud-status.js +291 -291
  186. package/hooks/scripts/keyword-detector.js +214 -214
  187. package/hooks/scripts/llm-orchestrate.js +171 -171
  188. package/hooks/scripts/post-edit.js +97 -97
  189. package/hooks/scripts/post-tool-verify.js +210 -210
  190. package/hooks/scripts/pre-tool-guard.js +125 -125
  191. package/hooks/scripts/recall.js +22 -22
  192. package/hooks/scripts/session-start.js +30 -30
  193. package/hooks/scripts/skill-injector.js +191 -191
  194. package/hooks/scripts/utils.js +97 -97
  195. package/languages/csharp-unity.md +515 -515
  196. package/languages/gdscript-godot.md +470 -470
  197. package/languages/ruby-rails.md +489 -489
  198. package/languages/typescript-angular.md +433 -433
  199. package/languages/typescript-astro.md +416 -416
  200. package/languages/typescript-electron.md +406 -406
  201. package/languages/typescript-nestjs.md +524 -524
  202. package/languages/typescript-svelte.md +407 -407
  203. package/languages/typescript-tauri.md +365 -365
  204. package/package.json +84 -84
  205. package/skills/brand-assets.md +141 -141
  206. package/skills/commerce-patterns.md +361 -361
  207. package/skills/context7-usage.md +102 -102
  208. package/skills/e2e-commerce.md +304 -304
  209. package/skills/frontend-design.md +92 -92
  210. package/skills/git-worktree.md +181 -181
  211. package/skills/parallel-research.md +77 -77
  212. package/skills/priority-todos.md +239 -239
  213. package/skills/seo-checklist.md +244 -244
  214. package/skills/tool-fallback.md +190 -190
  215. package/skills/vibe-capabilities.md +161 -161
  216. package/vibe/constitution.md +227 -227
  217. package/vibe/rules/core/communication-guide.md +98 -98
  218. package/vibe/rules/core/development-philosophy.md +52 -52
  219. package/vibe/rules/core/quick-start.md +102 -102
  220. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  221. package/vibe/rules/quality/checklist.md +276 -276
  222. package/vibe/rules/quality/testing-strategy.md +440 -440
  223. package/vibe/rules/standards/anti-patterns.md +541 -541
  224. package/vibe/rules/standards/code-structure.md +291 -291
  225. package/vibe/rules/standards/complexity-metrics.md +313 -313
  226. package/vibe/rules/standards/naming-conventions.md +198 -198
  227. package/vibe/setup.sh +31 -31
  228. package/vibe/templates/constitution-template.md +252 -252
  229. package/vibe/templates/contract-backend-template.md +526 -526
  230. package/vibe/templates/contract-frontend-template.md +599 -599
  231. package/vibe/templates/feature-template.md +96 -96
  232. package/vibe/templates/spec-template.md +221 -221
@@ -23,90 +23,90 @@ import * as geminiApi from './gemini-api.js';
23
23
  // Constants
24
24
  // ============================================================================
25
25
  const REVIEW_PROMPTS = {
26
- security: `You are a security expert reviewing code changes.
27
- Identify security vulnerabilities including:
28
- - SQL injection, XSS, CSRF
29
- - Authentication/authorization flaws
30
- - Sensitive data exposure
31
- - Insecure dependencies
32
- - OWASP Top 10 issues
33
-
34
- For each issue found, respond in this exact JSON format:
35
- {
36
- "issues": [
37
- {
38
- "id": "SEC-001",
39
- "title": "Brief title",
40
- "description": "Detailed description",
41
- "location": "file.ts:42",
42
- "severity": "critical|high|medium|low",
43
- "suggestion": "How to fix"
44
- }
45
- ]
46
- }
47
-
26
+ security: `You are a security expert reviewing code changes.
27
+ Identify security vulnerabilities including:
28
+ - SQL injection, XSS, CSRF
29
+ - Authentication/authorization flaws
30
+ - Sensitive data exposure
31
+ - Insecure dependencies
32
+ - OWASP Top 10 issues
33
+
34
+ For each issue found, respond in this exact JSON format:
35
+ {
36
+ "issues": [
37
+ {
38
+ "id": "SEC-001",
39
+ "title": "Brief title",
40
+ "description": "Detailed description",
41
+ "location": "file.ts:42",
42
+ "severity": "critical|high|medium|low",
43
+ "suggestion": "How to fix"
44
+ }
45
+ ]
46
+ }
47
+
48
48
  If no issues found, respond: {"issues": []}`,
49
- performance: `You are a performance expert reviewing code changes.
50
- Identify performance issues including:
51
- - N+1 queries
52
- - Memory leaks
53
- - Unnecessary re-renders
54
- - Blocking operations
55
- - Large bundle size impacts
56
- - Missing caching opportunities
57
-
58
- Respond in JSON format:
59
- {
60
- "issues": [
61
- {
62
- "id": "PERF-001",
63
- "title": "Brief title",
64
- "description": "Detailed description",
65
- "location": "file.ts:42",
66
- "severity": "critical|high|medium|low",
67
- "suggestion": "How to fix"
68
- }
69
- ]
49
+ performance: `You are a performance expert reviewing code changes.
50
+ Identify performance issues including:
51
+ - N+1 queries
52
+ - Memory leaks
53
+ - Unnecessary re-renders
54
+ - Blocking operations
55
+ - Large bundle size impacts
56
+ - Missing caching opportunities
57
+
58
+ Respond in JSON format:
59
+ {
60
+ "issues": [
61
+ {
62
+ "id": "PERF-001",
63
+ "title": "Brief title",
64
+ "description": "Detailed description",
65
+ "location": "file.ts:42",
66
+ "severity": "critical|high|medium|low",
67
+ "suggestion": "How to fix"
68
+ }
69
+ ]
70
70
  }`,
71
- architecture: `You are an architecture expert reviewing code changes.
72
- Identify architecture issues including:
73
- - Circular dependencies
74
- - Layer violations (e.g., UI calling DB directly)
75
- - Missing abstractions
76
- - Tight coupling
77
- - Single Responsibility violations
78
- - DRY violations
79
-
71
+ architecture: `You are an architecture expert reviewing code changes.
72
+ Identify architecture issues including:
73
+ - Circular dependencies
74
+ - Layer violations (e.g., UI calling DB directly)
75
+ - Missing abstractions
76
+ - Tight coupling
77
+ - Single Responsibility violations
78
+ - DRY violations
79
+
80
80
  Respond in JSON format with issues array.`,
81
- complexity: `You are a code quality expert reviewing complexity.
82
- Identify complexity issues including:
83
- - Functions > 30 lines
84
- - Nesting depth > 3 levels
85
- - Cyclomatic complexity > 10
86
- - Too many parameters (> 5)
87
- - Long files (> 300 lines)
88
-
81
+ complexity: `You are a code quality expert reviewing complexity.
82
+ Identify complexity issues including:
83
+ - Functions > 30 lines
84
+ - Nesting depth > 3 levels
85
+ - Cyclomatic complexity > 10
86
+ - Too many parameters (> 5)
87
+ - Long files (> 300 lines)
88
+
89
89
  Respond in JSON format with issues array.`,
90
- 'data-integrity': `You are a data integrity expert reviewing code changes.
91
- Identify data integrity issues including:
92
- - Missing validations
93
- - Race conditions
94
- - Inconsistent state handling
95
- - Missing error handling
96
- - Data loss scenarios
97
-
90
+ 'data-integrity': `You are a data integrity expert reviewing code changes.
91
+ Identify data integrity issues including:
92
+ - Missing validations
93
+ - Race conditions
94
+ - Inconsistent state handling
95
+ - Missing error handling
96
+ - Data loss scenarios
97
+
98
98
  Respond in JSON format with issues array.`,
99
- 'test-coverage': `You are a testing expert reviewing code changes.
100
- Identify missing test coverage including:
101
- - Untested edge cases
102
- - Missing error case tests
103
- - Missing integration tests
104
- - Untested business logic
105
-
99
+ 'test-coverage': `You are a testing expert reviewing code changes.
100
+ Identify missing test coverage including:
101
+ - Untested edge cases
102
+ - Missing error case tests
103
+ - Missing integration tests
104
+ - Untested business logic
105
+
106
106
  Respond in JSON format with issues array.`,
107
- general: `You are a senior code reviewer.
108
- Review this code for any issues including security, performance, maintainability, and best practices.
109
-
107
+ general: `You are a senior code reviewer.
108
+ Review this code for any issues including security, performance, maintainability, and best practices.
109
+
110
110
  Respond in JSON format with issues array.`,
111
111
  };
112
112
  // ============================================================================
@@ -202,15 +202,15 @@ function selectBestDescription(issues) {
202
202
  async function reviewWithGPT(reviewType, code, context) {
203
203
  const startTime = Date.now();
204
204
  try {
205
- const prompt = `${REVIEW_PROMPTS[reviewType]}
206
-
207
- Context: ${context || 'Code review'}
208
-
209
- Code to review:
210
- \`\`\`
211
- ${code}
212
- \`\`\`
213
-
205
+ const prompt = `${REVIEW_PROMPTS[reviewType]}
206
+
207
+ Context: ${context || 'Code review'}
208
+
209
+ Code to review:
210
+ \`\`\`
211
+ ${code}
212
+ \`\`\`
213
+
214
214
  Respond with JSON only.`;
215
215
  const response = await gptApi.ask(prompt, {
216
216
  model: 'gpt-5.2-codex',
@@ -238,15 +238,15 @@ Respond with JSON only.`;
238
238
  async function reviewWithGemini(reviewType, code, context) {
239
239
  const startTime = Date.now();
240
240
  try {
241
- const prompt = `${REVIEW_PROMPTS[reviewType]}
242
-
243
- Context: ${context || 'Code review'}
244
-
245
- Code to review:
246
- \`\`\`
247
- ${code}
248
- \`\`\`
249
-
241
+ const prompt = `${REVIEW_PROMPTS[reviewType]}
242
+
243
+ Context: ${context || 'Code review'}
244
+
245
+ Code to review:
246
+ \`\`\`
247
+ ${code}
248
+ \`\`\`
249
+
250
250
  Respond with JSON only.`;
251
251
  const response = await geminiApi.ask(prompt, {
252
252
  model: 'gemini-3-flash',
@@ -187,33 +187,33 @@ export function substituteTemplateVars(template, vars) {
187
187
  /**
188
188
  * Example skill template
189
189
  */
190
- export const SKILL_TEMPLATE_EXAMPLE = `---
191
- name: example-skill
192
- description: "An example skill demonstrating the frontmatter system"
193
- model: sonnet
194
- agent: implementer
195
- argument-hint: "task description"
196
- user-invocable: true
197
- triggers: [example, demo, test]
198
- priority: 50
199
- ---
200
-
201
- # Example Skill
202
-
203
- This skill demonstrates the frontmatter metadata system.
204
-
205
- ## Arguments
206
-
207
- $ARGUMENTS
208
-
209
- ## Process
210
-
211
- 1. Parse the arguments
212
- 2. Execute the task
213
- 3. Return the result
214
-
215
- ## Output
216
-
217
- Provide a clear summary of what was done.
190
+ export const SKILL_TEMPLATE_EXAMPLE = `---
191
+ name: example-skill
192
+ description: "An example skill demonstrating the frontmatter system"
193
+ model: sonnet
194
+ agent: implementer
195
+ argument-hint: "task description"
196
+ user-invocable: true
197
+ triggers: [example, demo, test]
198
+ priority: 50
199
+ ---
200
+
201
+ # Example Skill
202
+
203
+ This skill demonstrates the frontmatter metadata system.
204
+
205
+ ## Arguments
206
+
207
+ $ARGUMENTS
208
+
209
+ ## Process
210
+
211
+ 1. Parse the arguments
212
+ 2. Execute the task
213
+ 3. Return the result
214
+
215
+ ## Output
216
+
217
+ Provide a clear summary of what was done.
218
218
  `;
219
219
  //# sourceMappingURL=SkillFrontmatter.js.map
@@ -137,15 +137,15 @@ export function suggestPrincipleFormat(value) {
137
137
  return value;
138
138
  }
139
139
  // 변환 템플릿 제안
140
- return `Consider reformulating as:
141
-
142
- "When [describe the situation/trigger],
143
- [describe the action to take]
144
- because [explain the reasoning/tradeoff]"
145
-
146
- Example:
147
- "When the auth token expires during a request,
148
- retry the request after refreshing the token (not before)
140
+ return `Consider reformulating as:
141
+
142
+ "When [describe the situation/trigger],
143
+ [describe the action to take]
144
+ because [explain the reasoning/tradeoff]"
145
+
146
+ Example:
147
+ "When the auth token expires during a request,
148
+ retry the request after refreshing the token (not before)
149
149
  because refreshing preemptively causes race conditions with concurrent requests"`;
150
150
  }
151
151
  /**
@@ -265,177 +265,177 @@ export class SkillRepository {
265
265
  export const DEFAULT_SKILLS = [
266
266
  {
267
267
  id: 'multi-llm-orchestration',
268
- content: `---
269
- name: multi-llm-orchestration
270
- description: "Multi-LLM research using GPT and Gemini for comprehensive analysis"
271
- triggers: [gpt, gemini, multi-llm, research, parallel research]
272
- priority: 80
273
- ---
274
- # Multi-LLM Orchestration
275
-
276
- Use multiple LLMs for comprehensive research and validation.
277
-
278
- ## Usage
279
-
280
- \`\`\`bash
281
- # Via Bash hook (automatic in /vibe.spec)
282
- node hooks/scripts/llm-orchestrate.js gpt "your prompt"
283
- node hooks/scripts/llm-orchestrate.js gemini "your prompt"
284
- \`\`\`
285
-
286
- ## Setup
287
-
288
- \`\`\`bash
289
- vibe gpt auth # Configure GPT API key
290
- vibe gemini auth # Configure Gemini OAuth/API key
291
- vibe status # Check current configuration
292
- \`\`\`
293
-
294
- ## Best Practices
295
-
296
- 1. Use GPT for best practices and code review
297
- 2. Use Gemini for documentation and security analysis
298
- 3. Combine results for comprehensive coverage
268
+ content: `---
269
+ name: multi-llm-orchestration
270
+ description: "Multi-LLM research using GPT and Gemini for comprehensive analysis"
271
+ triggers: [gpt, gemini, multi-llm, research, parallel research]
272
+ priority: 80
273
+ ---
274
+ # Multi-LLM Orchestration
275
+
276
+ Use multiple LLMs for comprehensive research and validation.
277
+
278
+ ## Usage
279
+
280
+ \`\`\`bash
281
+ # Via Bash hook (automatic in /vibe.spec)
282
+ node hooks/scripts/llm-orchestrate.js gpt "your prompt"
283
+ node hooks/scripts/llm-orchestrate.js gemini "your prompt"
284
+ \`\`\`
285
+
286
+ ## Setup
287
+
288
+ \`\`\`bash
289
+ vibe gpt auth # Configure GPT API key
290
+ vibe gemini auth # Configure Gemini OAuth/API key
291
+ vibe status # Check current configuration
292
+ \`\`\`
293
+
294
+ ## Best Practices
295
+
296
+ 1. Use GPT for best practices and code review
297
+ 2. Use Gemini for documentation and security analysis
298
+ 3. Combine results for comprehensive coverage
299
299
  `,
300
300
  },
301
301
  {
302
302
  id: 'error-recovery',
303
- content: `---
304
- name: error-recovery
305
- description: "Error recovery patterns and retry strategies"
306
- triggers: [error, fail, retry, recover, fix]
307
- priority: 70
308
- ---
309
- # Error Recovery Patterns
310
-
311
- ## Common Error Types
312
-
313
- ### Build Errors
314
- - Check TypeScript compilation errors
315
- - Verify dependency versions
316
- - Run \`npm ci\` to clean install
317
-
318
- ### Test Failures
319
- - Run failed tests in isolation
320
- - Check test fixtures/mocks
321
- - Verify async timing issues
322
-
323
- ### Runtime Errors
324
- - Check stack trace carefully
325
- - Verify environment variables
326
- - Check external service connectivity
327
-
328
- ## Retry Strategy
329
-
330
- 1. First retry: Same action
331
- 2. Second retry: Clean state (cache clear)
332
- 3. Third retry: Alternative approach
333
- 4. Max retries exceeded: Escalate to user
334
-
335
- ## Auto-Recovery Commands
336
-
337
- \`\`\`bash
338
- # Clean build
339
- rm -rf node_modules dist && npm ci && npm run build
340
-
341
- # Reset git state (careful!)
342
- git stash && git checkout .
343
-
344
- # Clear caches
345
- npm cache clean --force
346
- \`\`\`
303
+ content: `---
304
+ name: error-recovery
305
+ description: "Error recovery patterns and retry strategies"
306
+ triggers: [error, fail, retry, recover, fix]
307
+ priority: 70
308
+ ---
309
+ # Error Recovery Patterns
310
+
311
+ ## Common Error Types
312
+
313
+ ### Build Errors
314
+ - Check TypeScript compilation errors
315
+ - Verify dependency versions
316
+ - Run \`npm ci\` to clean install
317
+
318
+ ### Test Failures
319
+ - Run failed tests in isolation
320
+ - Check test fixtures/mocks
321
+ - Verify async timing issues
322
+
323
+ ### Runtime Errors
324
+ - Check stack trace carefully
325
+ - Verify environment variables
326
+ - Check external service connectivity
327
+
328
+ ## Retry Strategy
329
+
330
+ 1. First retry: Same action
331
+ 2. Second retry: Clean state (cache clear)
332
+ 3. Third retry: Alternative approach
333
+ 4. Max retries exceeded: Escalate to user
334
+
335
+ ## Auto-Recovery Commands
336
+
337
+ \`\`\`bash
338
+ # Clean build
339
+ rm -rf node_modules dist && npm ci && npm run build
340
+
341
+ # Reset git state (careful!)
342
+ git stash && git checkout .
343
+
344
+ # Clear caches
345
+ npm cache clean --force
346
+ \`\`\`
347
347
  `,
348
348
  },
349
349
  {
350
350
  id: 'code-quality-check',
351
- content: `---
352
- name: code-quality-check
353
- description: "Code quality validation using vibe tools"
354
- triggers: [quality, lint, complexity, review]
355
- priority: 60
356
- ---
357
- # Code Quality Check
358
-
359
- ## Using Vibe Tools
360
-
361
- \`\`\`bash
362
- # Analyze complexity
363
- node -e "import('@su-record/vibe/tools').then(t =>
364
- t.analyzeComplexity({targetPath: 'src/', projectPath: process.cwd()})
365
- .then(r => console.log(r.content[0].text))
366
- )"
367
-
368
- # Validate quality
369
- node -e "import('@su-record/vibe/tools').then(t =>
370
- t.validateCodeQuality({targetPath: 'src/', projectPath: process.cwd()})
371
- .then(r => console.log(r.content[0].text))
372
- )"
373
- \`\`\`
374
-
375
- ## Quality Metrics
376
-
377
- | Metric | Good | Warning | Critical |
378
- |--------|------|---------|----------|
379
- | Cyclomatic Complexity | ≤10 | 11-15 | >15 |
380
- | Function Length | ≤30 | 31-50 | >50 |
381
- | Nesting Depth | ≤3 | 4 | >4 |
382
-
383
- ## Common Issues
384
-
385
- 1. **High Complexity**: Extract helper functions
386
- 2. **Long Functions**: Split by responsibility
387
- 3. **Deep Nesting**: Use early returns
388
- 4. **Tight Coupling**: Apply dependency injection
351
+ content: `---
352
+ name: code-quality-check
353
+ description: "Code quality validation using vibe tools"
354
+ triggers: [quality, lint, complexity, review]
355
+ priority: 60
356
+ ---
357
+ # Code Quality Check
358
+
359
+ ## Using Vibe Tools
360
+
361
+ \`\`\`bash
362
+ # Analyze complexity
363
+ node -e "import('@su-record/vibe/tools').then(t =>
364
+ t.analyzeComplexity({targetPath: 'src/', projectPath: process.cwd()})
365
+ .then(r => console.log(r.content[0].text))
366
+ )"
367
+
368
+ # Validate quality
369
+ node -e "import('@su-record/vibe/tools').then(t =>
370
+ t.validateCodeQuality({targetPath: 'src/', projectPath: process.cwd()})
371
+ .then(r => console.log(r.content[0].text))
372
+ )"
373
+ \`\`\`
374
+
375
+ ## Quality Metrics
376
+
377
+ | Metric | Good | Warning | Critical |
378
+ |--------|------|---------|----------|
379
+ | Cyclomatic Complexity | ≤10 | 11-15 | >15 |
380
+ | Function Length | ≤30 | 31-50 | >50 |
381
+ | Nesting Depth | ≤3 | 4 | >4 |
382
+
383
+ ## Common Issues
384
+
385
+ 1. **High Complexity**: Extract helper functions
386
+ 2. **Long Functions**: Split by responsibility
387
+ 3. **Deep Nesting**: Use early returns
388
+ 4. **Tight Coupling**: Apply dependency injection
389
389
  `,
390
390
  },
391
391
  {
392
392
  id: 'session-management',
393
- content: `---
394
- name: session-management
395
- description: "Context and session management across conversations"
396
- triggers: [session, context, memory, save, restore, continue]
397
- priority: 75
398
- ---
399
- # Session Management
400
-
401
- ## Starting a Session
402
-
403
- \`\`\`bash
404
- # Auto-restore previous context
405
- node -e "import('@su-record/vibe/tools').then(t =>
406
- t.startSession({projectPath: process.cwd()})
407
- .then(r => console.log(r.content[0].text))
408
- )"
409
- \`\`\`
410
-
411
- ## Saving Context
412
-
413
- \`\`\`bash
414
- # Save important decisions
415
- node -e "import('@su-record/vibe/tools').then(t =>
416
- t.saveMemory({
417
- key: 'decision-auth-method',
418
- value: 'Using JWT with refresh tokens for auth',
419
- category: 'architecture',
420
- projectPath: process.cwd()
421
- }).then(r => console.log(r.content[0].text))
422
- )"
423
- \`\`\`
424
-
425
- ## Context Management
426
-
427
- At 70%+ context usage:
428
- 1. Use \`saveMemory\` for important decisions
429
- 2. Start new session with \`/new\`
430
- 3. Previous context auto-restores
431
-
432
- ## Slash Command
433
-
434
- \`\`\`
435
- /vibe.utils --continue
436
- \`\`\`
437
-
438
- Restores previous session context automatically.
393
+ content: `---
394
+ name: session-management
395
+ description: "Context and session management across conversations"
396
+ triggers: [session, context, memory, save, restore, continue]
397
+ priority: 75
398
+ ---
399
+ # Session Management
400
+
401
+ ## Starting a Session
402
+
403
+ \`\`\`bash
404
+ # Auto-restore previous context
405
+ node -e "import('@su-record/vibe/tools').then(t =>
406
+ t.startSession({projectPath: process.cwd()})
407
+ .then(r => console.log(r.content[0].text))
408
+ )"
409
+ \`\`\`
410
+
411
+ ## Saving Context
412
+
413
+ \`\`\`bash
414
+ # Save important decisions
415
+ node -e "import('@su-record/vibe/tools').then(t =>
416
+ t.saveMemory({
417
+ key: 'decision-auth-method',
418
+ value: 'Using JWT with refresh tokens for auth',
419
+ category: 'architecture',
420
+ projectPath: process.cwd()
421
+ }).then(r => console.log(r.content[0].text))
422
+ )"
423
+ \`\`\`
424
+
425
+ ## Context Management
426
+
427
+ At 70%+ context usage:
428
+ 1. Use \`saveMemory\` for important decisions
429
+ 2. Start new session with \`/new\`
430
+ 3. Previous context auto-restores
431
+
432
+ ## Slash Command
433
+
434
+ \`\`\`
435
+ /vibe.utils --continue
436
+ \`\`\`
437
+
438
+ Restores previous session context automatically.
439
439
  `,
440
440
  },
441
441
  ];