@su-record/vibe 2.16.3 → 3.0.0

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 (353) hide show
  1. package/.env.example +15 -0
  2. package/CLAUDE.md +8 -8
  3. package/README.en.md +46 -29
  4. package/README.md +41 -24
  5. package/agents/acceptance-tester.md +56 -0
  6. package/agents/architect.md +25 -67
  7. package/agents/build-error-resolver.md +28 -97
  8. package/agents/code-reviewer.md +89 -0
  9. package/agents/diagrammer.md +34 -165
  10. package/agents/documenter.md +43 -0
  11. package/agents/e2e-tester.md +46 -277
  12. package/agents/event/event-ops.md +54 -77
  13. package/agents/event/event-planner.md +63 -0
  14. package/agents/figma/figma-engineer.md +76 -0
  15. package/agents/implementer.md +26 -41
  16. package/agents/security-reviewer.md +56 -0
  17. package/agents/tester.md +37 -33
  18. package/agents/ui/design-reviewer.md +62 -0
  19. package/agents/ui/design-system-gen.md +63 -0
  20. package/dist/__tests__/agent-model-sync.test.d.ts +2 -0
  21. package/dist/__tests__/agent-model-sync.test.d.ts.map +1 -0
  22. package/dist/__tests__/agent-model-sync.test.js +71 -0
  23. package/dist/__tests__/agent-model-sync.test.js.map +1 -0
  24. package/dist/cli/auth.d.ts.map +1 -1
  25. package/dist/cli/auth.js +8 -1
  26. package/dist/cli/auth.js.map +1 -1
  27. package/dist/cli/commands/index.d.ts +1 -0
  28. package/dist/cli/commands/index.d.ts.map +1 -1
  29. package/dist/cli/commands/index.js +1 -0
  30. package/dist/cli/commands/index.js.map +1 -1
  31. package/dist/cli/commands/info.d.ts.map +1 -1
  32. package/dist/cli/commands/info.js +2 -0
  33. package/dist/cli/commands/info.js.map +1 -1
  34. package/dist/cli/commands/llm.d.ts +11 -0
  35. package/dist/cli/commands/llm.d.ts.map +1 -0
  36. package/dist/cli/commands/llm.js +62 -0
  37. package/dist/cli/commands/llm.js.map +1 -0
  38. package/dist/cli/commands/remove.d.ts.map +1 -1
  39. package/dist/cli/commands/remove.js +8 -10
  40. package/dist/cli/commands/remove.js.map +1 -1
  41. package/dist/cli/commands/setup.d.ts.map +1 -1
  42. package/dist/cli/commands/setup.js +35 -1
  43. package/dist/cli/commands/setup.js.map +1 -1
  44. package/dist/cli/index.d.ts +0 -4
  45. package/dist/cli/index.d.ts.map +1 -1
  46. package/dist/cli/index.js +59 -6
  47. package/dist/cli/index.js.map +1 -1
  48. package/dist/cli/llm/config.d.ts.map +1 -1
  49. package/dist/cli/llm/config.js +7 -0
  50. package/dist/cli/llm/config.js.map +1 -1
  51. package/dist/cli/llm/index.d.ts +1 -0
  52. package/dist/cli/llm/index.d.ts.map +1 -1
  53. package/dist/cli/llm/index.js +1 -0
  54. package/dist/cli/llm/index.js.map +1 -1
  55. package/dist/cli/llm/model-refresh.d.ts +29 -0
  56. package/dist/cli/llm/model-refresh.d.ts.map +1 -0
  57. package/dist/cli/llm/model-refresh.js +139 -0
  58. package/dist/cli/llm/model-refresh.js.map +1 -0
  59. package/dist/cli/llm/zai-commands.d.ts +15 -0
  60. package/dist/cli/llm/zai-commands.d.ts.map +1 -0
  61. package/dist/cli/llm/zai-commands.js +64 -0
  62. package/dist/cli/llm/zai-commands.js.map +1 -0
  63. package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
  64. package/dist/cli/postinstall/claude-agents.js +16 -77
  65. package/dist/cli/postinstall/claude-agents.js.map +1 -1
  66. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  67. package/dist/cli/postinstall/constants.js +81 -296
  68. package/dist/cli/postinstall/constants.js.map +1 -1
  69. package/dist/cli/postinstall/cursor-agents.d.ts +5 -0
  70. package/dist/cli/postinstall/cursor-agents.d.ts.map +1 -1
  71. package/dist/cli/postinstall/cursor-agents.js +26 -68
  72. package/dist/cli/postinstall/cursor-agents.js.map +1 -1
  73. package/dist/cli/postinstall/cursor-skills.d.ts.map +1 -1
  74. package/dist/cli/postinstall/cursor-skills.js +26 -30
  75. package/dist/cli/postinstall/cursor-skills.js.map +1 -1
  76. package/dist/cli/postinstall/main.d.ts.map +1 -1
  77. package/dist/cli/postinstall/main.js +0 -2
  78. package/dist/cli/postinstall/main.js.map +1 -1
  79. package/dist/cli/setup/Provisioner.d.ts.map +1 -1
  80. package/dist/cli/setup/Provisioner.js +19 -21
  81. package/dist/cli/setup/Provisioner.js.map +1 -1
  82. package/dist/cli/types.d.ts +15 -0
  83. package/dist/cli/types.d.ts.map +1 -1
  84. package/dist/cli/utils.d.ts +4 -1
  85. package/dist/cli/utils.d.ts.map +1 -1
  86. package/dist/cli/utils.js +4 -1
  87. package/dist/cli/utils.js.map +1 -1
  88. package/dist/infra/lib/FrameworkDetector.js +4 -4
  89. package/dist/infra/lib/FrameworkDetector.js.map +1 -1
  90. package/dist/infra/lib/OrchestrateWorkflow.js +2 -2
  91. package/dist/infra/lib/OrchestrateWorkflow.js.map +1 -1
  92. package/dist/infra/lib/browser/launch.js +1 -1
  93. package/dist/infra/lib/browser/launch.js.map +1 -1
  94. package/dist/infra/lib/browser/types.d.ts +1 -1
  95. package/dist/infra/lib/browser/types.js +1 -1
  96. package/dist/infra/lib/config/GlobalConfigManager.d.ts +2 -0
  97. package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -1
  98. package/dist/infra/lib/config/GlobalConfigManager.js +6 -0
  99. package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -1
  100. package/dist/infra/lib/constants.d.ts +1 -1
  101. package/dist/infra/lib/constants.d.ts.map +1 -1
  102. package/dist/infra/lib/constants.js +4 -5
  103. package/dist/infra/lib/constants.js.map +1 -1
  104. package/dist/infra/lib/evolution/__tests__/integration.test.js +7 -7
  105. package/dist/infra/lib/evolution/__tests__/integration.test.js.map +1 -1
  106. package/dist/infra/lib/llm-availability.d.ts +4 -0
  107. package/dist/infra/lib/llm-availability.d.ts.map +1 -1
  108. package/dist/infra/lib/llm-availability.js +9 -1
  109. package/dist/infra/lib/llm-availability.js.map +1 -1
  110. package/dist/infra/lib/memory/index.d.ts +0 -2
  111. package/dist/infra/lib/memory/index.d.ts.map +1 -1
  112. package/dist/infra/lib/memory/index.js +0 -2
  113. package/dist/infra/lib/memory/index.js.map +1 -1
  114. package/dist/infra/lib/telemetry/SkillTelemetry.test.js +1 -1
  115. package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -1
  116. package/dist/infra/lib/zai/client.d.ts +30 -0
  117. package/dist/infra/lib/zai/client.d.ts.map +1 -0
  118. package/dist/infra/lib/zai/client.js +124 -0
  119. package/dist/infra/lib/zai/client.js.map +1 -0
  120. package/dist/infra/lib/zai/index.d.ts +11 -0
  121. package/dist/infra/lib/zai/index.d.ts.map +1 -0
  122. package/dist/infra/lib/zai/index.js +10 -0
  123. package/dist/infra/lib/zai/index.js.map +1 -0
  124. package/dist/infra/lib/zai/orchestration.d.ts +15 -0
  125. package/dist/infra/lib/zai/orchestration.d.ts.map +1 -0
  126. package/dist/infra/lib/zai/orchestration.js +54 -0
  127. package/dist/infra/lib/zai/orchestration.js.map +1 -0
  128. package/dist/infra/lib/zai/types.d.ts +40 -0
  129. package/dist/infra/lib/zai/types.d.ts.map +1 -0
  130. package/dist/infra/lib/zai/types.js +5 -0
  131. package/dist/infra/lib/zai/types.js.map +1 -0
  132. package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
  133. package/dist/infra/orchestrator/SmartRouter.js +16 -34
  134. package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
  135. package/dist/infra/orchestrator/index.d.ts +1 -0
  136. package/dist/infra/orchestrator/index.d.ts.map +1 -1
  137. package/dist/infra/orchestrator/index.js +11 -9
  138. package/dist/infra/orchestrator/index.js.map +1 -1
  139. package/dist/infra/orchestrator/types.d.ts +32 -9
  140. package/dist/infra/orchestrator/types.d.ts.map +1 -1
  141. package/dist/infra/orchestrator/types.js +68 -37
  142. package/dist/infra/orchestrator/types.js.map +1 -1
  143. package/dist/infra/orchestrator/types.test.d.ts +2 -0
  144. package/dist/infra/orchestrator/types.test.d.ts.map +1 -0
  145. package/dist/infra/orchestrator/types.test.js +57 -0
  146. package/dist/infra/orchestrator/types.test.js.map +1 -0
  147. package/dist/tools/index.d.ts +0 -4
  148. package/dist/tools/index.d.ts.map +1 -1
  149. package/dist/tools/index.js +0 -4
  150. package/dist/tools/index.js.map +1 -1
  151. package/dist/tools/memory/autoSaveContext.d.ts +0 -1
  152. package/dist/tools/memory/autoSaveContext.d.ts.map +1 -1
  153. package/dist/tools/memory/autoSaveContext.js +13 -27
  154. package/dist/tools/memory/autoSaveContext.js.map +1 -1
  155. package/hooks/scripts/__tests__/code-check-detectors.test.js +2 -2
  156. package/hooks/scripts/__tests__/run-ledger.test.js +1 -1
  157. package/hooks/scripts/__tests__/scope-from-spec.test.js +12 -12
  158. package/hooks/scripts/__tests__/step-counter.test.js +1 -1
  159. package/hooks/scripts/code-check.js +16 -203
  160. package/hooks/scripts/context-save.js +0 -11
  161. package/hooks/scripts/lib/scope-from-spec.js +9 -6
  162. package/hooks/scripts/llm-orchestrate.js +49 -0
  163. package/hooks/scripts/post-edit-dispatcher.js +1 -1
  164. package/hooks/scripts/prompt-dispatcher.js +7 -18
  165. package/hooks/scripts/session-start.js +25 -35
  166. package/package.json +4 -4
  167. package/skills/agents-md/SKILL.md +62 -15
  168. package/skills/arch-guard/SKILL.md +1 -1
  169. package/skills/brand-assets/SKILL.md +2 -2
  170. package/skills/capability-loop/SKILL.md +1 -1
  171. package/skills/chub-usage/SKILL.md +1 -1
  172. package/skills/commerce-patterns/SKILL.md +2 -2
  173. package/skills/commit-push-pr/SKILL.md +0 -1
  174. package/skills/context7-usage/SKILL.md +1 -1
  175. package/skills/create-prd/agents/edge-case-finder.md +4 -4
  176. package/skills/create-prd/agents/prioritizer.md +4 -4
  177. package/skills/create-prd/agents/requirements-writer.md +3 -3
  178. package/skills/create-prd/agents/researcher.md +3 -3
  179. package/skills/create-prd/agents/reviewer.md +3 -3
  180. package/skills/create-prd/orchestrator.md +2 -0
  181. package/skills/design-refine/SKILL.md +140 -0
  182. package/skills/{design-polish → design-refine}/templates/polish-report.md +1 -1
  183. package/skills/{design-normalize → design-refine}/templates/token-audit.md +3 -3
  184. package/skills/design-review/SKILL.md +143 -0
  185. package/skills/{design-audit → design-review}/agents/a11y-auditor.md +1 -1
  186. package/skills/{design-audit → design-review}/agents/performance-auditor.md +1 -1
  187. package/skills/{design-audit → design-review}/agents/responsive-auditor.md +1 -1
  188. package/skills/{design-audit → design-review}/agents/slop-detector.md +1 -1
  189. package/skills/{design-audit → design-review}/frameworks/core-web-vitals.md +1 -1
  190. package/skills/{design-audit → design-review}/frameworks/wcag-checklist.md +1 -1
  191. package/skills/{design-audit → design-review}/orchestrator.md +5 -3
  192. package/skills/{design-critique → design-review}/templates/critique-report.md +3 -3
  193. package/skills/{design-audit → design-review}/templates/report.md +3 -3
  194. package/skills/design-teach/SKILL.md +11 -11
  195. package/skills/docs/SKILL.md +14 -16
  196. package/skills/e2e-commerce/SKILL.md +1 -1
  197. package/skills/event-comms/SKILL.md +1 -1
  198. package/skills/event-ops/SKILL.md +2 -2
  199. package/skills/event-planning/SKILL.md +1 -1
  200. package/skills/exec-plan/SKILL.md +2 -2
  201. package/skills/exec-plan/orchestrator.md +2 -0
  202. package/skills/figma/SKILL.md +240 -148
  203. package/skills/figma/rubrics/css-mapping.md +125 -0
  204. package/skills/git-worktree/SKILL.md +1 -1
  205. package/skills/handoff/SKILL.md +1 -1
  206. package/skills/parallel-research/SKILL.md +14 -28
  207. package/skills/parallel-research/orchestrator.md +2 -0
  208. package/skills/priority-todos/SKILL.md +1 -1
  209. package/skills/regress/SKILL.md +11 -0
  210. package/skills/restraint/SKILL.md +72 -0
  211. package/skills/seo-checklist/SKILL.md +2 -2
  212. package/skills/spec/SKILL.md +65 -836
  213. package/skills/test/SKILL.md +3 -3
  214. package/skills/tool-fallback/SKILL.md +2 -2
  215. package/skills/vercel-react-best-practices/SKILL.md +1 -1
  216. package/skills/vibe/SKILL.md +20 -35
  217. package/skills/vibe.analyze/SKILL.md +7 -9
  218. package/skills/vibe.docs/SKILL.md +1 -1
  219. package/skills/vibe.event/SKILL.md +27 -27
  220. package/skills/vibe.figma/SKILL.md +14 -18
  221. package/skills/vibe.harness/SKILL.md +5 -5
  222. package/skills/vibe.llm/SKILL.md +50 -0
  223. package/skills/vibe.reason/SKILL.md +0 -2
  224. package/skills/vibe.review/SKILL.md +45 -49
  225. package/skills/vibe.run/SKILL.md +2 -5
  226. package/skills/vibe.run/references/parallel-agents.md +33 -98
  227. package/skills/vibe.spec/SKILL.md +38 -535
  228. package/skills/vibe.utils/SKILL.md +3 -3
  229. package/skills/vibe.verify/SKILL.md +70 -542
  230. package/skills/video-production/SKILL.md +1 -1
  231. package/vibe/rules/orchestrator-contract.md +57 -0
  232. package/vibe/rules/quality/performance.md +1 -1
  233. package/vibe/templates/claudemd-template.md +1 -1
  234. package/vibe/templates/spec-template.md +35 -185
  235. package/agents/architect-low.md +0 -41
  236. package/agents/architect-medium.md +0 -59
  237. package/agents/compounder.md +0 -261
  238. package/agents/docs/api-documenter.md +0 -99
  239. package/agents/docs/changelog-writer.md +0 -93
  240. package/agents/event/event-comms.md +0 -78
  241. package/agents/event/event-content.md +0 -68
  242. package/agents/event/event-image.md +0 -95
  243. package/agents/event/event-scheduler.md +0 -69
  244. package/agents/event/event-speaker.md +0 -86
  245. package/agents/explorer-low.md +0 -42
  246. package/agents/explorer-medium.md +0 -59
  247. package/agents/explorer.md +0 -48
  248. package/agents/figma/figma-analyst.md +0 -52
  249. package/agents/figma/figma-architect.md +0 -112
  250. package/agents/figma/figma-auditor.md +0 -82
  251. package/agents/figma/figma-builder.md +0 -100
  252. package/agents/implementer-low.md +0 -43
  253. package/agents/implementer-medium.md +0 -52
  254. package/agents/junior-mentor.md +0 -141
  255. package/agents/planning/requirements-analyst.md +0 -84
  256. package/agents/planning/ux-advisor.md +0 -83
  257. package/agents/qa/acceptance-tester.md +0 -86
  258. package/agents/qa/edge-case-finder.md +0 -93
  259. package/agents/qa/qa-coordinator.md +0 -131
  260. package/agents/refactor-cleaner.md +0 -143
  261. package/agents/research/best-practices.md +0 -199
  262. package/agents/research/codebase-patterns.md +0 -157
  263. package/agents/research/framework-docs.md +0 -188
  264. package/agents/research/security-advisory.md +0 -213
  265. package/agents/review/architecture-reviewer.md +0 -107
  266. package/agents/review/complexity-reviewer.md +0 -116
  267. package/agents/review/data-integrity-reviewer.md +0 -88
  268. package/agents/review/git-history-reviewer.md +0 -103
  269. package/agents/review/performance-reviewer.md +0 -86
  270. package/agents/review/python-reviewer.md +0 -150
  271. package/agents/review/rails-reviewer.md +0 -139
  272. package/agents/review/react-reviewer.md +0 -144
  273. package/agents/review/security-reviewer.md +0 -80
  274. package/agents/review/simplicity-reviewer.md +0 -140
  275. package/agents/review/test-coverage-reviewer.md +0 -116
  276. package/agents/review/typescript-reviewer.md +0 -127
  277. package/agents/searcher.md +0 -54
  278. package/agents/simplifier.md +0 -120
  279. package/agents/teams/debug-team.md +0 -70
  280. package/agents/teams/dev-team.md +0 -88
  281. package/agents/teams/docs-team.md +0 -80
  282. package/agents/teams/figma-team.md +0 -85
  283. package/agents/teams/fullstack-team.md +0 -83
  284. package/agents/teams/lite-team.md +0 -69
  285. package/agents/teams/migration-team.md +0 -78
  286. package/agents/teams/refactor-team.md +0 -94
  287. package/agents/teams/research-team.md +0 -86
  288. package/agents/teams/review-debate-team.md +0 -125
  289. package/agents/teams/security-team.md +0 -81
  290. package/agents/ui/ui-a11y-auditor.md +0 -93
  291. package/agents/ui/ui-antipattern-detector.md +0 -102
  292. package/agents/ui/ui-dataviz-advisor.md +0 -69
  293. package/agents/ui/ui-design-system-gen.md +0 -57
  294. package/agents/ui/ui-industry-analyzer.md +0 -49
  295. package/agents/ui/ui-layout-architect.md +0 -65
  296. package/agents/ui/ui-stack-implementer.md +0 -68
  297. package/agents/ui/ux-compliance-reviewer.md +0 -81
  298. package/agents/ui-previewer.md +0 -258
  299. package/hooks/scripts/__tests__/keyword-detector.test.js +0 -242
  300. package/hooks/scripts/keyword-detector.js +0 -226
  301. package/skills/characterization-test/SKILL.md +0 -209
  302. package/skills/characterization-test/agents/behavior-capturer.md +0 -50
  303. package/skills/characterization-test/agents/coverage-checker.md +0 -54
  304. package/skills/characterization-test/agents/reporter.md +0 -50
  305. package/skills/characterization-test/agents/test-writer.md +0 -49
  306. package/skills/characterization-test/rubrics/coverage-criteria.md +0 -53
  307. package/skills/characterization-test/templates/test-template.ts +0 -101
  308. package/skills/claude-md-guide/SKILL.md +0 -353
  309. package/skills/claude-md-guide/rubrics/anti-patterns.md +0 -88
  310. package/skills/design-audit/SKILL.md +0 -154
  311. package/skills/design-critique/SKILL.md +0 -140
  312. package/skills/design-distill/SKILL.md +0 -131
  313. package/skills/design-normalize/SKILL.md +0 -135
  314. package/skills/design-polish/SKILL.md +0 -132
  315. package/skills/figma-convert/SKILL.md +0 -236
  316. package/skills/figma-extract/SKILL.md +0 -242
  317. package/skills/interview/SKILL.md +0 -358
  318. package/skills/interview/checklists/api.md +0 -101
  319. package/skills/interview/checklists/feature.md +0 -88
  320. package/skills/interview/checklists/library.md +0 -95
  321. package/skills/interview/checklists/mobile.md +0 -89
  322. package/skills/interview/checklists/webapp.md +0 -97
  323. package/skills/interview/checklists/website.md +0 -99
  324. package/skills/plan/SKILL.md +0 -254
  325. package/skills/rob-pike/SKILL.md +0 -66
  326. package/skills/spec/references/askuser-examples.md +0 -57
  327. package/skills/spec/references/example-session.md +0 -87
  328. package/skills/spec/references/templates.md +0 -194
  329. package/skills/spec-review/SKILL.md +0 -725
  330. package/skills/systematic-debugging/SKILL.md +0 -142
  331. package/skills/techdebt/SKILL.md +0 -126
  332. package/skills/techdebt/agents/analyzer.md +0 -50
  333. package/skills/techdebt/agents/fixer.md +0 -41
  334. package/skills/techdebt/agents/reviewer.md +0 -47
  335. package/skills/techdebt/agents/scanner.md +0 -44
  336. package/skills/techdebt/orchestrator.md +0 -70
  337. package/skills/techdebt/rubrics/severity.md +0 -51
  338. package/skills/techdebt/scripts/scan.js +0 -90
  339. package/skills/techdebt/templates/report.md +0 -86
  340. package/skills/typescript-advanced-types/SKILL.md +0 -68
  341. package/skills/typescript-advanced-types/rubrics/type-patterns.md +0 -109
  342. package/skills/yagni-ladder/SKILL.md +0 -90
  343. /package/skills/{claude-md-guide → agents-md}/templates/claude-md.md +0 -0
  344. /package/skills/{design-polish → design-refine}/rubrics/polish-checklist.md +0 -0
  345. /package/skills/{design-normalize → design-refine}/rubrics/token-naming.md +0 -0
  346. /package/skills/{design-distill → design-refine}/templates/design-system.md +0 -0
  347. /package/skills/{design-audit → design-review}/agents/scorer.md +0 -0
  348. /package/skills/{design-audit → design-review}/rubrics/ai-slop-patterns.md +0 -0
  349. /package/skills/{design-audit → design-review}/rubrics/scoring.md +0 -0
  350. /package/skills/{design-critique → design-review}/rubrics/ux-heuristics.md +0 -0
  351. /package/skills/{figma-convert → figma}/rubrics/conversion-rules.md +0 -0
  352. /package/skills/{figma-extract → figma}/rubrics/image-rules.md +0 -0
  353. /package/skills/{figma-convert → figma}/templates/component.md +0 -0
@@ -1,261 +0,0 @@
1
- ---
2
- description: Auto-document solutions for knowledge compounding
3
- argument-hint: "solution description (optional)"
4
- ---
5
-
6
- # /vibe.compound
7
-
8
- **Knowledge Compounding** - Auto-document solved problems to boost future productivity
9
-
10
- > "Each solution documented makes future problems easier to solve."
11
-
12
- ## Usage
13
-
14
- ```
15
- /vibe.compound # Auto-detect recent solutions
16
- /vibe.compound "Redis cache invalidation" # Document specific solution
17
- ```
18
-
19
- ## Auto-Triggers
20
-
21
- Automatically suggested when these patterns detected:
22
- - "it's fixed", "fixed", "solved", "resolved"
23
- - After PR merge
24
- - After `/vibe.verify` passes
25
-
26
- ## Process
27
-
28
- ### Phase 1: Solution Extraction
29
-
30
- Parallel agents analyze the solution:
31
-
32
- ```
33
- ┌─────────────────────────────────────────────────────────────────┐
34
- │ 🔍 PARALLEL SOLUTION ANALYSIS │
35
- ├─────────────────────────────────────────────────────────────────┤
36
- │ │
37
- │ Task 1: problem-analyzer │
38
- │ ├── Identify original problem │
39
- │ ├── Symptoms and error messages │
40
- │ └── Impact scope │
41
- │ │
42
- │ Task 2: solution-extractor │
43
- │ ├── Applied fixes │
44
- │ ├── Key code changes │
45
- │ └── Configuration changes │
46
- │ │
47
- │ Task 3: root-cause-analyzer │
48
- │ ├── Root cause identification │
49
- │ ├── Why it happened │
50
- │ └── Prevention methods │
51
- │ │
52
- │ Task 4: pattern-recognizer │
53
- │ ├── Similar problem patterns │
54
- │ ├── Related tech stack │
55
- │ └── Search keywords │
56
- │ │
57
- │ Task 5: category-classifier │
58
- │ ├── Category classification │
59
- │ ├── Tag generation │
60
- │ └── Related doc links │
61
- │ │
62
- │ Task 6: code-snippet-extractor │
63
- │ ├── Before/After code │
64
- │ ├── Key change highlights │
65
- │ └── Copy-paste snippets │
66
- │ │
67
- │ Task 7: prevention-advisor │
68
- │ ├── Prevention checklist │
69
- │ ├── Suggested linter rules │
70
- │ └── Test case suggestions │
71
- │ │
72
- └─────────────────────────────────────────────────────────────────┘
73
- ```
74
-
75
- ### Phase 2: Category Classification
76
-
77
- ```
78
- .vibe/solutions/
79
- ├── security/ # Security related
80
- │ ├── sql-injection-prevention.md
81
- │ └── xss-sanitization.md
82
- ├── performance/ # Performance optimization
83
- │ ├── n1-query-fix.md
84
- │ └── redis-cache-invalidation.md
85
- ├── database/ # Database related
86
- │ ├── migration-rollback.md
87
- │ └── deadlock-resolution.md
88
- ├── integration/ # External integrations
89
- │ ├── stripe-webhook-retry.md
90
- │ └── aws-s3-timeout.md
91
- ├── frontend/ # Frontend issues
92
- │ ├── react-hydration-mismatch.md
93
- │ └── infinite-scroll-memory.md
94
- ├── testing/ # Testing related
95
- │ ├── flaky-test-fix.md
96
- │ └── mock-timezone.md
97
- └── deployment/ # Deployment issues
98
- ├── docker-layer-cache.md
99
- └── k8s-rolling-update.md
100
- ```
101
-
102
- ### Phase 3: Document Generation
103
-
104
- ```markdown
105
- # [Solution] Redis Cache Invalidation
106
-
107
- ## TL;DR
108
- Added version suffix to Redis cache key to fix invalidation issue
109
-
110
- ## Problem
111
- ### Symptoms
112
- - User profile shows stale data after update
113
- - Refresh doesn't fix the issue
114
-
115
- ### Error/Logs
116
- ```
117
- Cache hit: user:123 (stale data)
118
- ```
119
-
120
- ### Impact Scope
121
- - User profile page
122
- - API: GET /api/users/:id
123
-
124
- ## Root Cause
125
- Cache key only used user_id, not invalidated on update
126
-
127
- ```python
128
- # Before
129
- cache_key = f"user:{user_id}" # No version
130
- ```
131
-
132
- ## Solution
133
- ### Key Change
134
- Add updated_at timestamp to cache key
135
-
136
- ```python
137
- # After
138
- cache_key = f"user:{user_id}:v{updated_at.timestamp()}"
139
- ```
140
-
141
- ### Changed Files
142
- - src/services/cache.py:42
143
- - src/api/users.py:78
144
-
145
- ## Prevention
146
- - [ ] Always include version/timestamp in cache keys
147
- - [ ] Add cache invalidation tests
148
- - [ ] Linter rule: cache_key pattern check
149
-
150
- ## Related
151
- - Similar issue: #234 (Session cache)
152
- - Docs: docs/caching-strategy.md
153
- - Tags: #redis #cache #invalidation
154
-
155
- ## Metadata
156
- - Resolved: 2026-01-11
157
- - Time spent: 2 hours
158
- - Difficulty: Medium
159
- - Reusability: High
160
- ```
161
-
162
- ### Phase 4: Index Update
163
-
164
- Auto-update `.vibe/solutions/index.md`:
165
-
166
- ```markdown
167
- # Solution Index
168
-
169
- ## Recently Added
170
- | Date | Category | Title | Tags |
171
- |------|----------|-------|------|
172
- | 2026-01-11 | performance | Redis cache invalidation | #redis #cache |
173
- | 2026-01-10 | security | SQL Injection prevention | #sql #security |
174
-
175
- ## By Category
176
- - **Security** (5 solutions)
177
- - **Performance** (8 solutions)
178
- - **Database** (4 solutions)
179
- ...
180
-
181
- ## Search Keywords
182
- - redis → performance/redis-cache-invalidation.md
183
- - n+1 → performance/n1-query-fix.md
184
- - sql injection → security/sql-injection-prevention.md
185
- ```
186
-
187
- ## Auto-Suggestion
188
-
189
- When similar problem detected:
190
-
191
- ```
192
- ┌─────────────────────────────────────────────────────────────────┐
193
- │ 💡 Similar Solution Found! │
194
- ├─────────────────────────────────────────────────────────────────┤
195
- │ │
196
- │ You're working on: "Cache not updating" │
197
- │ │
198
- │ Related solution (85% match): │
199
- │ 📄 .vibe/solutions/performance/redis-cache-invalidation.md │
200
- │ │
201
- │ Key insight: Add version suffix to cache key │
202
- │ │
203
- │ Apply this solution? [Y/n] │
204
- │ │
205
- └─────────────────────────────────────────────────────────────────┘
206
- ```
207
-
208
- ## Output
209
-
210
- ```
211
- ┌─────────────────────────────────────────────────────────────────┐
212
- │ 📚 SOLUTION DOCUMENTED │
213
- ├─────────────────────────────────────────────────────────────────┤
214
- │ │
215
- │ ✅ Created: .vibe/solutions/performance/redis-cache-invalid... │
216
- │ │
217
- │ 📊 Knowledge Base Stats: │
218
- │ ├── Total Solutions: 42 │
219
- │ ├── This Month: 8 │
220
- │ └── Most Used Category: performance │
221
- │ │
222
- │ 🔗 Similar solutions linked: 2 │
223
- │ 🏷️ Tags: #redis #cache #invalidation #performance │
224
- │ │
225
- │ 💡 Prevention rules added to ~/.claude/vibe/rules/ │
226
- │ │
227
- │ "This solution will help future you (or teammates) save hours" │
228
- │ │
229
- └─────────────────────────────────────────────────────────────────┘
230
- ```
231
-
232
- ## Integration with Memory
233
-
234
- Auto-invoke `core_save_memory`:
235
-
236
- ```json
237
- {
238
- "type": "solution",
239
- "category": "performance",
240
- "title": "Redis cache invalidation",
241
- "keywords": ["redis", "cache", "invalidation"],
242
- "file": ".vibe/solutions/performance/redis-cache-invalidation.md"
243
- }
244
- ```
245
-
246
- ## Workflow Integration
247
-
248
- ```
249
- /vibe.spec → /vibe.run → /vibe.verify → /vibe.compound
250
-
251
-
252
- .vibe/solutions/
253
-
254
-
255
- Future problem?
256
- Auto-suggest!
257
- ```
258
-
259
- ---
260
-
261
- ARGUMENTS: $ARGUMENTS
@@ -1,99 +0,0 @@
1
- # API Documenter
2
-
3
- <!-- API Documentation Generation Agent -->
4
-
5
- ## Role
6
-
7
- - Analyze source code to extract API endpoints and interfaces
8
- - Generate structured API documentation (request/response schemas)
9
- - Identify undocumented endpoints and missing descriptions
10
- - Verify error response documentation completeness
11
- - Check authentication requirement documentation
12
-
13
- ## Model
14
-
15
- **Haiku** (inherit) - Fast analysis
16
-
17
- ## CRITICAL: NO FILE CREATION
18
-
19
- **THIS AGENT MUST NEVER CREATE FILES.**
20
-
21
- - DO NOT use Write tool
22
- - DO NOT create any files
23
- - ONLY return documentation as text output
24
- - Results can be used by other tools to generate files
25
-
26
- ## Checklist
27
-
28
- ### Endpoint Coverage
29
-
30
- - [ ] All route handlers/controllers documented?
31
- - [ ] HTTP method and path clearly specified?
32
- - [ ] Request parameters (path, query, body) described?
33
- - [ ] Response schemas for success and error cases?
34
- - [ ] Authentication requirements noted?
35
-
36
- ### Schema Quality
37
-
38
- - [ ] All fields have types and descriptions?
39
- - [ ] Required vs optional fields marked?
40
- - [ ] Enum values listed?
41
- - [ ] Nested objects described?
42
- - [ ] Array item types specified?
43
-
44
- ### Error Documentation
45
-
46
- - [ ] All error status codes documented?
47
- - [ ] Error response format specified?
48
- - [ ] Common error scenarios listed?
49
- - [ ] Rate limiting documented (if applicable)?
50
-
51
- ### Examples
52
-
53
- - [ ] Request examples for each endpoint?
54
- - [ ] Response examples (success + error)?
55
- - [ ] cURL or fetch examples?
56
-
57
- ## Output Format
58
-
59
- ```markdown
60
- ## API Documentation: {feature/module name}
61
-
62
- ### Endpoints Found: {N}
63
- ### Undocumented: {N}
64
-
65
- ### Endpoint: {METHOD} {path}
66
-
67
- **Authentication**: {required/optional/none}
68
-
69
- **Parameters**:
70
- | Name | In | Type | Required | Description |
71
- |------|----|------|----------|-------------|
72
- | id | path | string | yes | Resource identifier |
73
-
74
- **Request Body**:
75
- ```json
76
- {
77
- "field": "type - description"
78
- }
79
- ```
80
-
81
- **Responses**:
82
- | Status | Description |
83
- |--------|-------------|
84
- | 200 | Success - {description} |
85
- | 400 | Bad Request - {when} |
86
- | 401 | Unauthorized - {when} |
87
- | 404 | Not Found - {when} |
88
-
89
- **Example**:
90
- ```bash
91
- curl -X {METHOD} /api/{path} \
92
- -H "Authorization: Bearer {token}" \
93
- -d '{"field": "value"}'
94
- ```
95
-
96
- ### Missing Documentation
97
- - **[DOC-001]** Endpoint {METHOD} {path} has no description
98
- - **[DOC-002]** Error response {status} not documented for {endpoint}
99
- ```
@@ -1,93 +0,0 @@
1
- # Changelog Writer
2
-
3
- <!-- Changelog Generation Agent from Git Diff -->
4
-
5
- ## Role
6
-
7
- - Analyze git diff to generate structured changelog entries
8
- - Classify changes (breaking, feature, fix, refactor, docs, chore)
9
- - Identify breaking changes that need migration guides
10
- - Generate user-facing descriptions (not internal implementation details)
11
- - Suggest semantic version bump (major/minor/patch)
12
-
13
- ## Model
14
-
15
- **Haiku** (inherit) - Fast analysis
16
-
17
- ## CRITICAL: NO FILE CREATION
18
-
19
- **THIS AGENT MUST NEVER CREATE FILES.**
20
-
21
- - DO NOT use Write tool
22
- - DO NOT create any files
23
- - ONLY return changelog content as text output
24
-
25
- ## Checklist
26
-
27
- ### Change Classification
28
-
29
- - [ ] Breaking changes identified (API removal, schema change, behavior change)?
30
- - [ ] New features listed with user-facing descriptions?
31
- - [ ] Bug fixes described with before/after behavior?
32
- - [ ] Performance improvements quantified (if measurable)?
33
- - [ ] Dependency updates noted?
34
-
35
- ### Migration Impact
36
-
37
- - [ ] Breaking changes have migration steps?
38
- - [ ] Deprecated features noted with replacement?
39
- - [ ] Configuration changes documented?
40
- - [ ] Database migration needed?
41
-
42
- ### Quality
43
-
44
- - [ ] Descriptions are user-facing (not implementation details)?
45
- - [ ] Each entry has enough context to understand the change?
46
- - [ ] Related changes grouped together?
47
- - [ ] PR/issue references included (if available)?
48
-
49
- ## Input
50
-
51
- Provide the agent with:
52
- - `git diff` output (staged or between branches)
53
- - `git log --oneline` for commit messages
54
- - Current version number
55
-
56
- ## Output Format
57
-
58
- ```markdown
59
- ## Changelog Analysis
60
-
61
- ### Recommended Version Bump: {major|minor|patch}
62
- Reason: {why this bump level}
63
-
64
- ### Changelog Entry
65
-
66
- ## [{new-version}] - {YYYY-MM-DD}
67
-
68
- ### Breaking Changes
69
- - **{component}**: {description of breaking change}
70
- - Migration: {step-by-step migration guide}
71
-
72
- ### Added
73
- - {User-facing description of new feature} ({files affected})
74
- - {Another feature}
75
-
76
- ### Changed
77
- - {Description of behavior change}
78
-
79
- ### Fixed
80
- - {Description of bug fix} - previously {old behavior}, now {new behavior}
81
-
82
- ### Performance
83
- - {Description of optimization} ({metric improvement if available})
84
-
85
- ### Internal
86
- - {Refactoring or internal change that doesn't affect users}
87
-
88
- ### Dependencies
89
- - Updated {package} from {old} to {new}
90
-
91
- ### Notes
92
- - {Any additional context for users}
93
- ```
@@ -1,78 +0,0 @@
1
- # Event Communications Agent
2
-
3
- SMS and email coordination for community events — draft generation, test sends, and confirmation-gated actual sends.
4
-
5
- ## Role
6
-
7
- - Generate SMS/LMS drafts using community templates
8
- - Generate email drafts with mandatory BCC
9
- - Coordinate test sends (Aligo testmode_yn=Y)
10
- - Gate actual sends behind user confirmation
11
- - Track send status per recipient
12
-
13
- ## Model
14
-
15
- **Sonnet** — Needs careful template processing + safety checks for sends
16
-
17
- ## Usage
18
-
19
- ```
20
- Task(model: "sonnet", prompt: "Generate D-3 confirmation SMS for MDC 12th")
21
- Task(model: "sonnet", prompt: "Generate D-3 confirmation email (BCC) for webinar")
22
- Task(model: "sonnet", prompt: "Test-send D-1 reminder SMS via Aligo")
23
- ```
24
-
25
- ## Process
26
-
27
- ### Draft Generation
28
- 1. Receive event details + communication type (SMS/email/both)
29
- 2. Select appropriate template for timing (D-7, D-3, D-1, D-Day)
30
- 3. Fill template with event data
31
- 4. Validate SMS: check byte count, no emoji, proper substitution
32
- 5. Validate email: confirm BCC usage
33
- 6. Output drafts to `output/reports/`
34
-
35
- ### Send Execution
36
- 1. **ALWAYS test first** — `testmode_yn=Y` for Aligo
37
- 2. Show user: recipient count, message preview, cost estimate
38
- 3. **Wait for explicit confirmation**
39
- 4. Execute send
40
- 5. Log results
41
-
42
- ## Safety Rules
43
-
44
- ```
45
- CRITICAL:
46
- - NEVER send without user confirmation
47
- - ALWAYS use testmode_yn=Y first
48
- - ALWAYS use BCC for email (never TO/CC for multiple recipients)
49
- - NEVER use emoji in SMS (EUC-KR encoding breaks)
50
- - SMS >90 bytes → auto-switch to LMS
51
- ```
52
-
53
- ## API Configuration
54
-
55
- | Service | Keys | Purpose |
56
- |---------|------|---------|
57
- | Aligo | `ALIGO_API_KEY`, `ALIGO_USER_ID`, `ALIGO_SENDER` | SMS/LMS |
58
- | Gmail | `GMAIL_CREDENTIALS_PATH` (OAuth 2.0) | Email |
59
-
60
- ## Output
61
-
62
- ```markdown
63
- ## Communication Drafts: {event_id}
64
-
65
- ### SMS Draft ({type})
66
- 📄 output/reports/{event_id}_sms_{timing}.txt
67
- - Byte count: {n}/90 (SMS/LMS)
68
- - Recipients: {count}
69
- - Emoji check: ✅ Clean
70
-
71
- ### Email Draft
72
- 📄 output/reports/{event_id}_email_{timing}.txt
73
- - BCC: ✅ Configured
74
- - Recipients: {count}
75
-
76
- ### Status
77
- ⚠️ Awaiting confirmation to send
78
- ```
@@ -1,68 +0,0 @@
1
- # Event Content Agent
2
-
3
- Content generation for community event materials — intro pages, SNS posts, review articles.
4
-
5
- ## Role
6
-
7
- - Generate event introduction pages with community-specific tone
8
- - Create SNS promotional posts (LinkedIn + Threads)
9
- - Write post-event review articles
10
- - Apply community tone guide (MDC=professional, webinar=casual, DWK=warm)
11
-
12
- ## Model
13
-
14
- **Sonnet** — Creative writing with structured templates requires balanced capability
15
-
16
- ## Usage
17
-
18
- ```
19
- Task(model: "sonnet", prompt: "Generate MDC 12th intro page for topic: 마케팅 자동화")
20
- Task(model: "sonnet", prompt: "Write LinkedIn + Threads promo for webinar on AI agents")
21
- Task(model: "sonnet", prompt: "Write review post for DWK 5th meetup")
22
- ```
23
-
24
- ## Process
25
-
26
- 1. Receive event details (type, topic, speakers, date, venue)
27
- 2. Select community tone template
28
- 3. Generate content following the structure:
29
- - **Intro page**: Hook → Info → Recommended for → What you'll learn → Speakers → Timetable → Benefits → CTA
30
- - **SNS promo**: Platform-specific tone (LinkedIn=formal, Threads=casual)
31
- - **Review post**: Story → 3 insights → Next event preview → Thanks
32
- 4. Output to `output/reports/` directory
33
- 5. Return content for user review
34
-
35
- ## Community Tone Guide
36
-
37
- | | MDC | Webinar | DWK |
38
- |---|---|---|---|
39
- | Tone | 전문적, 실무 중심, 격식체 | 친근, 가벼운, 이모지 자유 | 따뜻, 포용적, "함께" |
40
- | Example | "실무에서 바로 적용" | "퇴근 후 편하게" | "데이터를 좋아하는 여성들" |
41
-
42
- ## Intro Page Structure
43
-
44
- 1. 후킹 문장 (2-3줄)
45
- 2. 행사 정보 (일시/장소/참가비)
46
- 3. "이런 분께 추천" 5항목
47
- 4. "이런 걸 배울 수 있어요" 5항목
48
- 5. 연사 소개 (각 연사별 1단락)
49
- 6. 프로그램 시간표
50
- 7. 참가 혜택
51
- 8. CTA + 인용문
52
-
53
- ## Output
54
-
55
- ```markdown
56
- ## Generated Content
57
-
58
- ### Intro Page
59
- 📄 output/reports/{event_id}_intro.md
60
-
61
- ### SNS Posts
62
- 📄 output/reports/{event_id}_linkedin.md
63
- 📄 output/reports/{event_id}_threads.md
64
-
65
- ### Review (D+1)
66
- 📄 output/reports/{event_id}_review_linkedin.md
67
- 📄 output/reports/{event_id}_review_threads.md
68
- ```
@@ -1,95 +0,0 @@
1
- # Event Image Agent
2
-
3
- Image generation and smart resizing for community event materials using Gemini.
4
-
5
- ## Role
6
-
7
- - Generate event images via Gemini API (`gemini-3-pro-image-preview`)
8
- - Apply community-specific visual styles and color schemes
9
- - Create dual prompts (detailed API prompt + short user prompt)
10
- - Smart resize: same ratio = Pillow scale, different ratio = Gemini re-generate
11
- - Auto-include community logo from assets
12
-
13
- ## Model
14
-
15
- **Haiku** — Prompt generation + API coordination, lightweight task
16
-
17
- ## Usage
18
-
19
- ```
20
- Task(model: "haiku", prompt: "Generate MDC 12th images: 500x500 thumbnail + 595x842 poster")
21
- Task(model: "haiku", prompt: "Generate webinar images: 1080x1080 + 1920x1080 + 1440x1080")
22
- Task(model: "haiku", prompt: "Resize DWK banner from 1080x1080 to 2000x500")
23
- ```
24
-
25
- ## Tools
26
-
27
- - Bash — Execute Gemini API calls and Pillow resize scripts
28
- - Read — Access logo assets and existing images
29
- - Write — Save generated images and prompts
30
- - Glob — Find asset files
31
-
32
- ## Image Specs
33
-
34
- | Community | Size | Purpose |
35
- |-----------|------|---------|
36
- | MDC | 500×500 | Listing thumbnail |
37
- | MDC | 595×842 | A4 poster |
38
- | Webinar | 1080×1080 | Instagram/Threads 1:1 |
39
- | Webinar | 1920×1080 | YouTube 16:9 |
40
- | Webinar | 1440×1080 | Zoom background 4:3 |
41
- | DWK | 2000×500 | Banner 4:1 |
42
- | DWK | 1080×1080 | SNS 1:1 |
43
-
44
- ## Process
45
-
46
- 1. Receive event details + community type
47
- 2. Determine required image sizes for community
48
- 3. Generate API prompt (detailed: colors, layout, text placement, logo position)
49
- 4. Generate user prompt (≤400 chars summary)
50
- 5. Call Gemini API for primary image
51
- 6. Smart resize for additional sizes:
52
- - Same aspect ratio → Pillow `Image.resize()` (no API call)
53
- - Different aspect ratio → Gemini re-generate with original as reference
54
- 7. Auto-attach community logo (`data/assets/common/images/{community} logo.png`)
55
- 8. Save to `output/images/`
56
- 9. Save user prompt to `output/images/{type}_prompt.txt`
57
-
58
- ## Community Visual Styles
59
-
60
- | Community | Primary Color | Style |
61
- |-----------|--------------|-------|
62
- | MDC | #ff6b35 (orange) | Professional, data-centric, clean |
63
- | Webinar | #a78bfa (purple) | Modern, tech, approachable |
64
- | DWK | #34d399 (mint) | Warm, inclusive, community-feel |
65
-
66
- ## Smart Resize Logic
67
-
68
- ```
69
- if source_ratio == target_ratio:
70
- # Scale only — Pillow (no API cost)
71
- Image.open(source).resize((w, h), Image.LANCZOS)
72
- else:
73
- # Re-generate with Gemini
74
- # Pass original as reference image
75
- # Instruct: "No white margins, fill entire canvas"
76
- gemini.generate(prompt, reference=source, size=(w, h))
77
- ```
78
-
79
- ## Output
80
-
81
- ```markdown
82
- ## Images: {event_id}
83
-
84
- ### Generated
85
- 📸 output/images/{event_id}_500x500.png (thumbnail)
86
- 📸 output/images/{event_id}_595x842.png (poster)
87
-
88
- ### Prompts
89
- 📄 output/images/{event_id}_prompt.txt (user-facing, ≤400 chars)
90
-
91
- ### API Calls
92
- - Generated: {n} images
93
- - Resized (Pillow): {m} images
94
- - Total Gemini calls: {n} (saved {m} via smart resize)
95
- ```