@su-record/vibe 2.8.23 → 2.8.25

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 (223) hide show
  1. package/commands/vibe.figma.md +2 -2
  2. package/dist/cli/commands/config.d.ts +17 -0
  3. package/dist/cli/commands/config.d.ts.map +1 -0
  4. package/dist/cli/commands/config.js +207 -0
  5. package/dist/cli/commands/config.js.map +1 -0
  6. package/dist/cli/commands/index.d.ts +2 -0
  7. package/dist/cli/commands/index.d.ts.map +1 -1
  8. package/dist/cli/commands/index.js +2 -0
  9. package/dist/cli/commands/index.js.map +1 -1
  10. package/dist/cli/commands/info.d.ts.map +1 -1
  11. package/dist/cli/commands/info.js +2 -0
  12. package/dist/cli/commands/info.js.map +1 -1
  13. package/dist/cli/commands/init.d.ts.map +1 -1
  14. package/dist/cli/commands/init.js +78 -54
  15. package/dist/cli/commands/init.js.map +1 -1
  16. package/dist/cli/commands/stats.d.ts +13 -0
  17. package/dist/cli/commands/stats.d.ts.map +1 -0
  18. package/dist/cli/commands/stats.js +280 -0
  19. package/dist/cli/commands/stats.js.map +1 -0
  20. package/dist/cli/index.d.ts.map +1 -1
  21. package/dist/cli/index.js +33 -1
  22. package/dist/cli/index.js.map +1 -1
  23. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  24. package/dist/cli/postinstall/constants.js +1 -0
  25. package/dist/cli/postinstall/constants.js.map +1 -1
  26. package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
  27. package/dist/cli/setup/GlobalInstaller.js +7 -7
  28. package/dist/cli/setup/GlobalInstaller.js.map +1 -1
  29. package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
  30. package/dist/cli/setup/ProjectSetup.js +18 -12
  31. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  32. package/dist/infra/lib/ContextCompressor.d.ts.map +1 -1
  33. package/dist/infra/lib/ContextCompressor.js +10 -4
  34. package/dist/infra/lib/ContextCompressor.js.map +1 -1
  35. package/dist/infra/lib/ProjectCache.d.ts +2 -2
  36. package/dist/infra/lib/ProjectCache.d.ts.map +1 -1
  37. package/dist/infra/lib/ProjectCache.js +4 -3
  38. package/dist/infra/lib/ProjectCache.js.map +1 -1
  39. package/dist/infra/lib/utils.d.ts +24 -0
  40. package/dist/infra/lib/utils.d.ts.map +1 -1
  41. package/dist/infra/lib/utils.js +41 -0
  42. package/dist/infra/lib/utils.js.map +1 -1
  43. package/dist/infra/orchestrator/SmartRouter.d.ts +3 -0
  44. package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
  45. package/dist/infra/orchestrator/SmartRouter.js +11 -1
  46. package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
  47. package/dist/infra/orchestrator/SmartRouter.test.d.ts +5 -0
  48. package/dist/infra/orchestrator/SmartRouter.test.d.ts.map +1 -0
  49. package/dist/infra/orchestrator/SmartRouter.test.js +457 -0
  50. package/dist/infra/orchestrator/SmartRouter.test.js.map +1 -0
  51. package/dist/tools/convention/analyzeComplexity.d.ts.map +1 -1
  52. package/dist/tools/convention/analyzeComplexity.js +18 -10
  53. package/dist/tools/convention/analyzeComplexity.js.map +1 -1
  54. package/dist/tools/convention/checkCouplingCohesion.d.ts.map +1 -1
  55. package/dist/tools/convention/checkCouplingCohesion.js +14 -6
  56. package/dist/tools/convention/checkCouplingCohesion.js.map +1 -1
  57. package/dist/tools/semantic/analyzeDependencyGraph.d.ts.map +1 -1
  58. package/dist/tools/semantic/analyzeDependencyGraph.js +1 -1
  59. package/dist/tools/semantic/analyzeDependencyGraph.js.map +1 -1
  60. package/dist/tools/semantic/findReferences.d.ts.map +1 -1
  61. package/dist/tools/semantic/findReferences.js +13 -13
  62. package/dist/tools/semantic/findReferences.js.map +1 -1
  63. package/dist/tools/semantic/findSymbol.d.ts.map +1 -1
  64. package/dist/tools/semantic/findSymbol.js +12 -13
  65. package/dist/tools/semantic/findSymbol.js.map +1 -1
  66. package/dist/tools/semantic/lsp.d.ts.map +1 -1
  67. package/dist/tools/semantic/lsp.js +22 -14
  68. package/dist/tools/semantic/lsp.js.map +1 -1
  69. package/hooks/hooks.json +29 -0
  70. package/hooks/scripts/__tests__/keyword-detector.test.js +199 -0
  71. package/hooks/scripts/__tests__/pre-tool-guard.test.js +286 -0
  72. package/hooks/scripts/__tests__/sentinel-guard.test.js +210 -0
  73. package/hooks/scripts/auto-commit.js +65 -0
  74. package/hooks/scripts/auto-format.js +64 -0
  75. package/hooks/scripts/auto-test.js +81 -0
  76. package/hooks/scripts/code-check.js +139 -0
  77. package/hooks/scripts/command-log.js +32 -0
  78. package/hooks/scripts/context-save.js +60 -6
  79. package/hooks/scripts/hud-status.js +32 -2
  80. package/hooks/scripts/llm-orchestrate.js +95 -17
  81. package/hooks/scripts/pr-test-gate.js +52 -0
  82. package/package.json +1 -1
  83. package/skills/agents-md/rubrics/what-to-keep.md +49 -0
  84. package/skills/agents-md/templates/agents-md.md +36 -0
  85. package/skills/arch-guard/agents/detector.md +48 -0
  86. package/skills/arch-guard/agents/reporter.md +48 -0
  87. package/skills/arch-guard/agents/rule-generator.md +49 -0
  88. package/skills/arch-guard/agents/violation-checker.md +51 -0
  89. package/skills/arch-guard/frameworks/clean-architecture.md +108 -0
  90. package/skills/arch-guard/frameworks/solid.md +102 -0
  91. package/skills/arch-guard/scripts/check-boundaries.js +90 -0
  92. package/skills/arch-guard/templates/arch-rules.json +47 -0
  93. package/skills/arch-guard/templates/violation-report.md +53 -0
  94. package/skills/brand-assets/rubrics/asset-checklist.md +98 -0
  95. package/skills/brand-assets/templates/brand-guide.md +161 -0
  96. package/skills/capability-loop/agents/capability-designer.md +61 -0
  97. package/skills/capability-loop/agents/failure-analyst.md +55 -0
  98. package/skills/capability-loop/agents/implementer.md +50 -0
  99. package/skills/capability-loop/agents/tester.md +53 -0
  100. package/skills/capability-loop/templates/capability-spec.md +118 -0
  101. package/skills/capability-loop/templates/failure-analysis.md +118 -0
  102. package/skills/characterization-test/agents/behavior-capturer.md +50 -0
  103. package/skills/characterization-test/agents/coverage-checker.md +54 -0
  104. package/skills/characterization-test/agents/reporter.md +50 -0
  105. package/skills/characterization-test/agents/test-writer.md +49 -0
  106. package/skills/characterization-test/rubrics/coverage-criteria.md +53 -0
  107. package/skills/characterization-test/templates/test-template.ts +101 -0
  108. package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -0
  109. package/skills/claude-md-guide/templates/claude-md.md +54 -0
  110. package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -0
  111. package/skills/commerce-patterns/templates/product-schema.md +85 -0
  112. package/skills/commit-push-pr/agents/change-analyzer.md +55 -0
  113. package/skills/commit-push-pr/agents/message-writer.md +50 -0
  114. package/skills/commit-push-pr/agents/pr-writer.md +58 -0
  115. package/skills/commit-push-pr/agents/reviewer.md +52 -0
  116. package/skills/commit-push-pr/rubrics/commit-message.md +73 -0
  117. package/skills/commit-push-pr/templates/pr-body.md +63 -0
  118. package/skills/context7-usage/rubrics/when-to-use.md +50 -0
  119. package/skills/create-prd/agents/edge-case-finder.md +48 -0
  120. package/skills/create-prd/agents/prioritizer.md +60 -0
  121. package/skills/create-prd/agents/requirements-writer.md +48 -0
  122. package/skills/create-prd/agents/researcher.md +55 -0
  123. package/skills/create-prd/agents/reviewer.md +54 -0
  124. package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -0
  125. package/skills/create-prd/frameworks/rice-scoring.md +97 -0
  126. package/skills/create-prd/orchestrator.md +70 -0
  127. package/skills/create-prd/rubrics/completeness.md +58 -0
  128. package/skills/create-prd/templates/prd.md +139 -0
  129. package/skills/design-audit/agents/a11y-auditor.md +43 -0
  130. package/skills/design-audit/agents/performance-auditor.md +46 -0
  131. package/skills/design-audit/agents/responsive-auditor.md +46 -0
  132. package/skills/design-audit/agents/scorer.md +47 -0
  133. package/skills/design-audit/agents/slop-detector.md +47 -0
  134. package/skills/design-audit/frameworks/core-web-vitals.md +107 -0
  135. package/skills/design-audit/frameworks/wcag-checklist.md +64 -0
  136. package/skills/design-audit/orchestrator.md +64 -0
  137. package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -0
  138. package/skills/design-audit/rubrics/scoring.md +63 -0
  139. package/skills/design-audit/templates/report.md +88 -0
  140. package/skills/design-critique/rubrics/ux-heuristics.md +143 -0
  141. package/skills/design-critique/templates/critique-report.md +86 -0
  142. package/skills/design-distill/templates/design-system.md +132 -0
  143. package/skills/design-normalize/rubrics/token-naming.md +117 -0
  144. package/skills/design-normalize/templates/token-audit.md +89 -0
  145. package/skills/design-polish/rubrics/polish-checklist.md +68 -0
  146. package/skills/design-polish/templates/polish-report.md +64 -0
  147. package/skills/design-teach/rubrics/brand-personality.md +73 -0
  148. package/skills/design-teach/templates/design-context.json +36 -0
  149. package/skills/e2e-commerce/templates/test-scenarios.md +170 -0
  150. package/skills/event-comms/templates/email-invite.md +99 -0
  151. package/skills/event-comms/templates/sns-post.md +133 -0
  152. package/skills/event-ops/rubrics/contingency.md +85 -0
  153. package/skills/event-ops/templates/d-day-checklist.md +65 -0
  154. package/skills/event-planning/rubrics/timeline.md +70 -0
  155. package/skills/event-planning/templates/event-plan.md +91 -0
  156. package/skills/exec-plan/agents/decomposer.md +47 -0
  157. package/skills/exec-plan/agents/dependency-mapper.md +44 -0
  158. package/skills/exec-plan/agents/estimator.md +43 -0
  159. package/skills/exec-plan/agents/validator.md +55 -0
  160. package/skills/exec-plan/orchestrator.md +70 -0
  161. package/skills/exec-plan/rubrics/complexity-scoring.md +75 -0
  162. package/skills/exec-plan/templates/plan.md +147 -0
  163. package/skills/git-worktree/rubrics/when-to-use.md +55 -0
  164. package/skills/handoff/agents/context-summarizer.md +51 -0
  165. package/skills/handoff/agents/document-writer.md +63 -0
  166. package/skills/handoff/agents/state-collector.md +53 -0
  167. package/skills/handoff/agents/verifier.md +48 -0
  168. package/skills/handoff/rubrics/completeness.md +62 -0
  169. package/skills/handoff/templates/handoff.md +107 -0
  170. package/skills/parallel-research/agents/best-practices.md +43 -0
  171. package/skills/parallel-research/agents/codebase-patterns.md +46 -0
  172. package/skills/parallel-research/agents/framework-docs.md +45 -0
  173. package/skills/parallel-research/agents/security-advisory.md +46 -0
  174. package/skills/parallel-research/agents/synthesizer.md +52 -0
  175. package/skills/parallel-research/experts/best-practices.md +50 -0
  176. package/skills/parallel-research/experts/codebase-patterns.md +70 -0
  177. package/skills/parallel-research/experts/framework-docs.md +65 -0
  178. package/skills/parallel-research/experts/security-advisory.md +69 -0
  179. package/skills/parallel-research/orchestrator.md +65 -0
  180. package/skills/parallel-research/templates/synthesis.md +101 -0
  181. package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -0
  182. package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -0
  183. package/skills/priority-todos/rubrics/prioritization.md +70 -0
  184. package/skills/priority-todos/templates/todo-board.md +59 -0
  185. package/skills/seo-checklist/frameworks/structured-data.md +153 -0
  186. package/skills/seo-checklist/rubrics/content-seo.md +42 -0
  187. package/skills/seo-checklist/rubrics/technical-seo.md +48 -0
  188. package/skills/techdebt/agents/analyzer.md +50 -0
  189. package/skills/techdebt/agents/fixer.md +41 -0
  190. package/skills/techdebt/agents/reviewer.md +47 -0
  191. package/skills/techdebt/agents/scanner.md +44 -0
  192. package/skills/techdebt/orchestrator.md +70 -0
  193. package/skills/techdebt/rubrics/severity.md +51 -0
  194. package/skills/techdebt/scripts/scan.js +90 -0
  195. package/skills/techdebt/templates/report.md +86 -0
  196. package/skills/tool-fallback/rubrics/fallback-chain.md +58 -0
  197. package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -0
  198. package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -0
  199. package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -0
  200. package/skills/user-personas/rubrics/research-methods.md +56 -0
  201. package/skills/user-personas/templates/persona.md +89 -0
  202. package/skills/vercel-react-best-practices/rubrics/performance.md +82 -0
  203. package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -0
  204. package/skills/vibe-docs/SKILL.md +171 -0
  205. package/skills/vibe-docs/templates/architecture.md +80 -0
  206. package/skills/vibe-docs/templates/readme.md +84 -0
  207. package/skills/vibe-docs/templates/release-notes.md +74 -0
  208. package/skills/vibe-figma/SKILL.md +173 -54
  209. package/skills/vibe-figma/rubrics/extraction-checklist.md +51 -0
  210. package/skills/vibe-figma/templates/figma-handoff.md +96 -0
  211. package/skills/vibe-figma-analyze/rubrics/analysis-dimensions.md +53 -0
  212. package/skills/vibe-figma-codegen/rubrics/code-quality.md +54 -0
  213. package/skills/vibe-figma-consolidate/templates/consolidation-report.md +95 -0
  214. package/skills/vibe-figma-convert/SKILL.md +176 -1
  215. package/skills/vibe-figma-convert/rubrics/conversion-rules.md +83 -0
  216. package/skills/vibe-figma-convert/templates/component.md +152 -0
  217. package/skills/vibe-figma-extract/rubrics/image-rules.md +67 -0
  218. package/skills/vibe-figma-frame/rubrics/frame-selection.md +55 -0
  219. package/skills/vibe-figma-pipeline/rubrics/pipeline-stages.md +96 -0
  220. package/skills/vibe-figma-rules/rubrics/naming-conventions.md +70 -0
  221. package/skills/vibe-figma-style/rubrics/style-mapping.md +100 -0
  222. package/skills/video-production/rubrics/quality-checklist.md +58 -0
  223. package/skills/video-production/templates/production-plan.md +104 -0
@@ -0,0 +1,91 @@
1
+ # Event Plan: {{EVENT_NAME}} {{EDITION}}회
2
+
3
+ | Field | Value |
4
+ |-------|-------|
5
+ | Event type | {{TYPE}} (MDC / Webinar / DWK / Other) |
6
+ | Date & time | {{DATE}} {{TIME}} |
7
+ | Venue | {{VENUE}} |
8
+ | Format | {{OFFLINE / ONLINE / HYBRID}} |
9
+ | Expected attendees | {{EXPECTED_COUNT}} |
10
+ | Registration URL | {{REG_URL}} |
11
+ | Participation fee | {{FEE}} |
12
+
13
+ ## Topic & Theme
14
+
15
+ **Main theme**: {{THEME}}
16
+
17
+ **Session topics:**
18
+
19
+ | # | Topic | Speaker | Duration |
20
+ |---|-------|---------|----------|
21
+ | 1 | {{TOPIC_1}} | {{SPEAKER_1}} | {{DURATION}} |
22
+ | 2 | {{TOPIC_2}} | {{SPEAKER_2}} | {{DURATION}} |
23
+ | 3 | {{TOPIC_3}} | {{SPEAKER_3}} | {{DURATION}} |
24
+
25
+ ## Timetable
26
+
27
+ | Time | Item |
28
+ |------|------|
29
+ | {{TIME_1}} | {{ITEM_1}} |
30
+ | {{TIME_2}} | {{ITEM_2}} |
31
+ | {{TIME_3}} | {{ITEM_3}} |
32
+ | {{TIME_4}} | Q&A + Networking |
33
+
34
+ ## Speakers
35
+
36
+ ### Speaker 1: {{SPEAKER_1_NAME}}
37
+
38
+ - Role: {{ROLE}}
39
+ - Company: {{COMPANY}}
40
+ - Topic: {{TOPIC}}
41
+ - Contact: {{EMAIL_OR_DM}}
42
+ - Confirmation status: {{PENDING / CONFIRMED}}
43
+
44
+ ### Speaker 2: {{SPEAKER_2_NAME}}
45
+
46
+ - Role: {{ROLE}}
47
+ - Company: {{COMPANY}}
48
+ - Topic: {{TOPIC}}
49
+ - Contact: {{EMAIL_OR_DM}}
50
+ - Confirmation status: {{PENDING / CONFIRMED}}
51
+
52
+ ## D-Day Timeline
53
+
54
+ | D-Day | Task | Owner | Status |
55
+ |-------|------|-------|--------|
56
+ | D-{{N}} | {{TASK_1}} | {{OWNER}} | Not started |
57
+ | D-{{N}} | {{TASK_2}} | {{OWNER}} | Not started |
58
+ | D-3 | Confirmation email + SMS | {{OWNER}} | Not started |
59
+ | D-1 | Nametags + checklist + slides | {{OWNER}} | Not started |
60
+ | D-Day | Day-of operations | {{OWNER}} | Not started |
61
+ | D+1 | Review post + settlement | {{OWNER}} | Not started |
62
+
63
+ ## Budget
64
+
65
+ | Item | Estimated Cost | Actual Cost |
66
+ |------|---------------|-------------|
67
+ | Venue | {{AMOUNT}} | — |
68
+ | Snacks / Refreshments | {{AMOUNT}} | — |
69
+ | Speaker gifts | {{AMOUNT}} | — |
70
+ | Printing (nametags, etc.) | {{AMOUNT}} | — |
71
+ | **Total** | {{TOTAL}} | — |
72
+
73
+ Revenue: {{EXPECTED_ATTENDEES}} × {{FEE}} = {{EXPECTED_REVENUE}}
74
+
75
+ ## State File Reference
76
+
77
+ Save progress to `.event_state.json` after each step completion.
78
+
79
+ ```json
80
+ {
81
+ "event_id": "{{TYPE}}-{{EDITION}}",
82
+ "type": "{{TYPE}}",
83
+ "date": "{{DATE}}",
84
+ "title": "{{EVENT_NAME}} {{EDITION}}회",
85
+ "topic": "{{THEME}}",
86
+ "speakers": [],
87
+ "current_step": "{{CURRENT_STEP}}",
88
+ "completed_steps": [],
89
+ "outputs": {}
90
+ }
91
+ ```
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: plan-decomposer
3
+ role: Breaks a SPEC document into concrete phases and atomic tasks
4
+ tools: [Read]
5
+ ---
6
+
7
+ # Plan Decomposer
8
+
9
+ ## Role
10
+ Reads a SPEC document and breaks it into a structured hierarchy of phases and tasks. Each task is scoped to a single file or function change, making it independently assignable and reviewable. Produces the raw task list that all other planning agents operate on.
11
+
12
+ ## Responsibilities
13
+ - Parse SPEC phases and acceptance criteria into discrete implementation tasks
14
+ - Scope each task to a single concern: one file, one function, one schema change
15
+ - Classify each task by type: create, modify, delete, test, config, migration
16
+ - Identify tasks that are purely setup/scaffolding vs. feature logic vs. verification
17
+ - Flag ambiguous requirements that need clarification before implementation can begin
18
+ - Produce a flat numbered task list with parent-phase references
19
+
20
+ ## Input
21
+ - SPEC document path (e.g., `.claude/vibe/specs/my-feature.spec.md`)
22
+ - Optional: existing codebase context to detect which files already exist
23
+
24
+ ## Output
25
+ Task list JSON:
26
+ ```json
27
+ {
28
+ "phases": [
29
+ {
30
+ "id": "P1",
31
+ "name": "Data Layer",
32
+ "tasks": [
33
+ { "id": "T1", "phase": "P1", "type": "create", "description": "Create User schema in src/db/schema.ts", "file": "src/db/schema.ts" },
34
+ { "id": "T2", "phase": "P1", "type": "create", "description": "Create userRepository with findById, save, delete", "file": "src/infra/userRepository.ts" }
35
+ ]
36
+ }
37
+ ],
38
+ "ambiguities": ["SPEC phase 3 does not specify error handling strategy for 404 case"]
39
+ }
40
+ ```
41
+
42
+ ## Communication
43
+ - Reports task list to: `plan-dependency-mapper`
44
+ - Receives instructions from: exec-plan orchestrator (SKILL.md)
45
+
46
+ ## Domain Knowledge
47
+ Decomposition heuristics: tasks should be completable in 15-60 min. If a task description contains "and", split it. Test tasks must correspond 1:1 with feature tasks. Migration tasks always precede the feature tasks that depend on the new schema. Prefer vertical slices (full feature thin slice) over horizontal layers when parallelizing.
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: plan-dependency-mapper
3
+ role: Creates a directed acyclic graph of task dependencies to reveal what can run in parallel
4
+ tools: [Read]
5
+ ---
6
+
7
+ # Dependency Mapper
8
+
9
+ ## Role
10
+ Analyzes the decomposed task list and maps the true dependency relationships between tasks, producing a DAG (directed acyclic graph). Identifies which tasks have no dependencies and can start immediately, which must wait, and which form the critical path — the longest chain that determines the minimum total execution time.
11
+
12
+ ## Responsibilities
13
+ - Analyze each task pair for dependency relationships (does T2 require T1's output?)
14
+ - Classify dependency types: file-level (imports the file), schema-level (uses the type), logical (tests the feature)
15
+ - Build a DAG with tasks as nodes and dependencies as directed edges
16
+ - Detect and flag cycles — which indicate a SPEC conflict requiring clarification
17
+ - Identify the critical path: the longest chain of sequential dependencies
18
+ - List all tasks with zero dependencies (immediately parallelizable)
19
+
20
+ ## Input
21
+ Task list JSON from `plan-decomposer`.
22
+
23
+ ## Output
24
+ Dependency graph:
25
+ ```json
26
+ {
27
+ "dag": {
28
+ "T1": { "deps": [], "dependents": ["T2", "T3"] },
29
+ "T2": { "deps": ["T1"], "dependents": ["T4"] },
30
+ "T3": { "deps": ["T1"], "dependents": ["T4"] },
31
+ "T4": { "deps": ["T2", "T3"], "dependents": [] }
32
+ },
33
+ "criticalPath": ["T1", "T2", "T4"],
34
+ "parallelizable": [["T2", "T3"]],
35
+ "cycles": []
36
+ }
37
+ ```
38
+
39
+ ## Communication
40
+ - Reports dependency graph to: `plan-estimator`
41
+ - Receives instructions from: exec-plan orchestrator (SKILL.md)
42
+
43
+ ## Domain Knowledge
44
+ Dependency detection rules: if task A creates a file that task B imports, A must precede B. If task A defines a type that task B uses, A must precede B. Test tasks depend on the feature task they test. Config/setup tasks depend on nothing and should be in the first wave. DAG critical path calculation: longest path from source to sink node by task count (not time, until estimator adds duration).
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: plan-estimator
3
+ role: Estimates complexity and duration for each task and suggests parallelization strategy
4
+ tools: [Read, Glob]
5
+ ---
6
+
7
+ # Plan Estimator
8
+
9
+ ## Role
10
+ Assigns complexity and effort estimates to each task based on task type, scope, and codebase context. Uses the dependency graph to compute the estimated critical path duration and suggest an optimal parallel execution wave plan that minimizes total clock time.
11
+
12
+ ## Responsibilities
13
+ - Assign effort estimates per task: trivial (< 15 min), minor (15-30 min), moderate (30-60 min), major (> 60 min)
14
+ - Check existing codebase for similar implementations to calibrate estimates
15
+ - Compute total sequential estimate and parallel estimate using the DAG waves
16
+ - Group tasks into execution waves: Wave 1 (no deps), Wave 2 (deps only on Wave 1), etc.
17
+ - Identify tasks suitable for sub-agent delegation vs. tasks requiring orchestrator attention
18
+ - Flag tasks with high uncertainty that need a spike/research step first
19
+
20
+ ## Input
21
+ Task list JSON from `plan-decomposer` and dependency graph from `plan-dependency-mapper`.
22
+
23
+ ## Output
24
+ Estimated plan with waves:
25
+ ```json
26
+ {
27
+ "totalSequentialEstimate": "4h 30m",
28
+ "totalParallelEstimate": "2h 15m",
29
+ "waves": [
30
+ { "wave": 1, "tasks": ["T1"], "estimate": "30m", "note": "Foundation — must complete before anything else" },
31
+ { "wave": 2, "tasks": ["T2", "T3"], "estimate": "45m", "note": "Parallel — independent of each other" },
32
+ { "wave": 3, "tasks": ["T4", "T5"], "estimate": "60m", "note": "Integration — requires wave 2 output" }
33
+ ],
34
+ "highUncertaintyTasks": ["T6 — no existing auth pattern to reference, consider spike first"]
35
+ }
36
+ ```
37
+
38
+ ## Communication
39
+ - Reports estimated plan to: `plan-validator`
40
+ - Receives instructions from: exec-plan orchestrator (SKILL.md)
41
+
42
+ ## Domain Knowledge
43
+ Complexity signals: new file creation = minor baseline; modifying existing file = trivial baseline + proportional to change scope; schema changes with migrations = moderate; cross-cutting changes (multiple files) = major. Parallelization is only safe when tasks have no shared file writes. Always add 20% buffer to estimates for integration and debugging time.
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: plan-validator
3
+ role: Validates the execution plan for completeness against the original SPEC acceptance criteria
4
+ tools: [Read]
5
+ ---
6
+
7
+ # Plan Validator
8
+
9
+ ## Role
10
+ Cross-checks the final execution plan against the original SPEC to verify that every acceptance criterion is covered by at least one task. Flags gaps, redundancies, and coverage ambiguities before implementation begins. Acts as the last gate before the plan is handed to the user for approval.
11
+
12
+ ## Responsibilities
13
+ - Map each SPEC acceptance criterion to one or more tasks in the plan
14
+ - Flag criteria with no corresponding task (coverage gap)
15
+ - Flag tasks with no traceable SPEC criterion (scope creep risk)
16
+ - Verify that every feature task has a corresponding test task
17
+ - Check that error cases and edge cases mentioned in the SPEC are covered
18
+ - Confirm the wave plan has no dependency violations (no task requires output from a later wave)
19
+
20
+ ## Input
21
+ - Original SPEC document path
22
+ - Estimated plan with waves from `plan-estimator`
23
+ - Task list from `plan-decomposer`
24
+
25
+ ## Output
26
+ Validation report:
27
+ ```markdown
28
+ ## Plan Validation Report
29
+
30
+ ### Coverage Matrix
31
+ | SPEC Criterion | Covered By | Status |
32
+ |----------------|------------|--------|
33
+ | User can register with email | T1, T3, T7 | Covered |
34
+ | Password must be hashed | T2 | Covered |
35
+ | Rate limiting on login | — | **MISSING** |
36
+
37
+ ### Issues Found
38
+ - **GAP**: SPEC section 2.3 "rate limiting" has no corresponding task — add before implementing
39
+ - **SCOPE CREEP**: T9 "add analytics tracking" has no SPEC criterion — remove or add to SPEC
40
+
41
+ ### Test Coverage
42
+ - 8/10 feature tasks have corresponding test tasks (T5, T8 missing tests)
43
+
44
+ ### Wave Integrity
45
+ - All wave dependencies valid: no forward-reference violations detected
46
+
47
+ **Verdict**: Plan requires 2 fixes before execution.
48
+ ```
49
+
50
+ ## Communication
51
+ - Reports validation result to: orchestrator / user
52
+ - Receives instructions from: exec-plan orchestrator (SKILL.md)
53
+
54
+ ## Domain Knowledge
55
+ Traceability matrix: every acceptance criterion must map to at least one implementation task AND one test task. Gap detection: scan SPEC for action verbs (can, must, should, will) and verify each has a task. Wave integrity check: for each task in wave N, verify all its dependencies are in waves < N. A plan is valid when gaps = 0, all feature tasks have tests, and wave integrity passes.
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: exec-plan-orchestrator
3
+ type: orchestrator
4
+ agents: [decomposer, dependency-mapper, estimator, validator]
5
+ ---
6
+
7
+ # Exec-Plan Orchestrator
8
+
9
+ ## Workflow
10
+
11
+ ### Phase 1: Decompose
12
+ - **Agent**: decomposer
13
+ - **Input**: SPEC document (phases, requirements, acceptance criteria)
14
+ - **Output**: Flat task list `[{taskId, title, phase, files[], description}]`
15
+ - **Parallel**: no — sequential read of SPEC structure
16
+
17
+ ### Phase 2: Map Dependencies
18
+ - **Agent**: dependency-mapper
19
+ - **Input**: Task list from Phase 1
20
+ - **Output**: DAG as adjacency list `{taskId: [dependsOn[]]}` + critical path
21
+ - **Parallel**: no — requires complete task list to resolve cross-task deps
22
+
23
+ ### Phase 3: Estimate
24
+ - **Agent**: estimator
25
+ - **Input**: Task list + DAG from Phases 1–2
26
+ - **Output**: Per-task complexity score, parallelization opportunities, estimated effort tiers (S/M/L)
27
+ - **Parallel**: yes — each task scored independently
28
+
29
+ ### Phase 4: Validate
30
+ - **Agent**: validator
31
+ - **Input**: Task list + SPEC requirements + acceptance criteria
32
+ - **Output**: Coverage report — uncovered requirements flagged, missing tasks identified
33
+ - **Parallel**: no — cross-references full SPEC against task list
34
+
35
+ ### Phase 5: Output Plan
36
+ - **Agent**: orchestrator (self)
37
+ - **Input**: All outputs from Phases 1–4
38
+ - **Output**: Execution plan with DAG visualization, effort summary, parallelization batches
39
+ - **Parallel**: no
40
+
41
+ ## DAG (Dependency Graph)
42
+
43
+ ```mermaid
44
+ graph TD
45
+ A[Phase 1: Decomposer] --> B[Phase 2: Dependency-Mapper]
46
+ A --> D[Phase 4: Validator]
47
+ B --> C[Phase 3: Estimator\nparallel per task]
48
+ C --> E[Phase 5: Output Plan]
49
+ D --> E
50
+ ```
51
+
52
+ ## Error Handling
53
+
54
+ | Phase | Failure Mode | Strategy |
55
+ |-------|-------------|----------|
56
+ | Phase 1 | SPEC missing or malformed | Escalate — cannot proceed without SPEC |
57
+ | Phase 1 | SPEC has no phases defined | Treat entire SPEC as single phase, continue |
58
+ | Phase 2 | Circular dependency detected | Flag cycle, escalate to user for resolution |
59
+ | Phase 2 | Isolated task (no deps, no dependents) | Include as standalone, note in plan |
60
+ | Phase 3 | Estimator cannot classify complexity | Default to M (medium), flag for manual review |
61
+ | Phase 4 | Uncovered requirements found | Add placeholder tasks, mark as `needs-spec-clarification` |
62
+ | Phase 5 | DAG too large to render (>20 nodes) | Render phase-level DAG only, link to task list |
63
+
64
+ ## Scalability Modes
65
+
66
+ | Mode | When | Agents Used |
67
+ |------|------|-------------|
68
+ | Full | Normal operation | decomposer + dependency-mapper + estimator + validator |
69
+ | Reduced | Small SPEC (<5 tasks) | decomposer + dependency-mapper only |
70
+ | Single | Quick task list | decomposer only — flat list without DAG or estimates |
@@ -0,0 +1,75 @@
1
+ # Complexity Scoring Rubric
2
+
3
+ Use this rubric to decide whether a task needs an ExecPlan and how to decompose it.
4
+
5
+ ## Scoring Dimensions
6
+
7
+ Score each dimension 1–3. Total determines the approach.
8
+
9
+ ### Dimension 1: File Scope
10
+
11
+ | Score | Criteria |
12
+ |-------|----------|
13
+ | 1 | 1–2 files touched |
14
+ | 2 | 3–5 files touched |
15
+ | 3 | 6+ files, or new module created |
16
+
17
+ ### Dimension 2: Dependency Depth
18
+
19
+ | Score | Criteria |
20
+ |-------|----------|
21
+ | 1 | No external deps; isolated change |
22
+ | 2 | 1–2 existing modules depended on |
23
+ | 3 | Cross-layer dependencies; DB schema; API contract changes |
24
+
25
+ ### Dimension 3: Ambiguity
26
+
27
+ | Score | Criteria |
28
+ |-------|----------|
29
+ | 1 | Requirement is explicit; no design decisions needed |
30
+ | 2 | 1–2 decision points that need resolution before coding |
31
+ | 3 | Architecture-level decisions; unknown patterns; research needed |
32
+
33
+ ### Dimension 4: Test Surface
34
+
35
+ | Score | Criteria |
36
+ |-------|----------|
37
+ | 1 | Existing test file; trivial assertion additions |
38
+ | 2 | New test file needed; mocking required |
39
+ | 3 | Integration tests; DB fixtures; snapshot regeneration |
40
+
41
+ ### Dimension 5: Session Risk
42
+
43
+ | Score | Criteria |
44
+ |-------|----------|
45
+ | 1 | Fits in one session; easy to resume |
46
+ | 2 | May span sessions; partial state is safe |
47
+ | 3 | Long-running; partial state is dangerous; handoff required |
48
+
49
+ ---
50
+
51
+ ## Decision Matrix
52
+
53
+ | Total Score | Approach |
54
+ |-------------|----------|
55
+ | 5–7 | Plan Mode (in-head plan, no file needed) |
56
+ | 8–10 | Light ExecPlan (phases only, no inline patterns) |
57
+ | 11–13 | Full ExecPlan (all fields, inline patterns, phase gates) |
58
+ | 14–15 | ExecPlan + parallel research before starting |
59
+
60
+ ---
61
+
62
+ ## Decomposition Rules
63
+
64
+ When total ≥ 11, decompose into phases:
65
+
66
+ 1. **One phase = one deployable unit** — each phase leaves the codebase in a working state
67
+ 2. **Max 3 scenarios per phase** — more means the phase is too large; split it
68
+ 3. **Phase gate before next phase** — build + tests must pass at each boundary
69
+ 4. **No implicit dependencies between phases** — phase 2 must not assume phase 1 code style; document patterns inline
70
+
71
+ ## Anti-patterns
72
+
73
+ - Scoring 1 on all dimensions then creating an ExecPlan → overhead without benefit
74
+ - Scoring 3 on ambiguity without resolving decisions first → plan will fail
75
+ - Skipping phase gates to go faster → regressions compound
@@ -0,0 +1,147 @@
1
+ # ExecPlan: {{FEATURE_NAME}}
2
+
3
+ ## Meta
4
+
5
+ | Field | Value |
6
+ |-------|-------|
7
+ | SPEC | `.claude/vibe/specs/{{FEATURE_NAME}}.md` |
8
+ | Feature | `.claude/vibe/features/{{FEATURE_NAME}}.feature` |
9
+ | Generated | {{GENERATED_DATE}} |
10
+ | Phases | {{PHASE_COUNT}} |
11
+ | Scenarios | {{SCENARIO_COUNT}} |
12
+ | Estimated effort | {{EFFORT_ESTIMATE}} |
13
+
14
+ ---
15
+
16
+ ## Pre-flight Checks
17
+
18
+ Run these before starting any phase. All must pass.
19
+
20
+ - [ ] `npm run build` — clean build
21
+ - [ ] `npx vitest run` — baseline tests pass ({{BASELINE_TEST_COUNT}} tests)
22
+ - [ ] Required files exist:
23
+ - `{{REQUIRED_FILE_1}}`
24
+ - `{{REQUIRED_FILE_2}}`
25
+ - [ ] Dependencies installed: `{{DEPENDENCY_CHECK_COMMAND}}`
26
+
27
+ ---
28
+
29
+ ## Phase 1: {{PHASE_1_NAME}}
30
+
31
+ ### Environment
32
+
33
+ | Item | Detail |
34
+ |------|--------|
35
+ | Files to modify | `{{PHASE_1_MODIFY_FILES}}` |
36
+ | Files to create | `{{PHASE_1_CREATE_FILES}}` |
37
+ | Dependencies | `{{PHASE_1_DEPENDENCIES}}` |
38
+ | Pattern to follow | See inline snippet below |
39
+
40
+ **Pattern (copy from codebase, do not paraphrase):**
41
+
42
+ ```typescript
43
+ {{PHASE_1_PATTERN_SNIPPET}}
44
+ ```
45
+
46
+ ### Scenario 1.1: {{SCENARIO_1_1_NAME}}
47
+
48
+ **REQ**: {{REQ_ID}}
49
+
50
+ **Given**: {{GIVEN_CONDITION}}
51
+ → Setup:
52
+ ```typescript
53
+ {{SETUP_CODE}}
54
+ ```
55
+
56
+ **When**: {{ACTION}}
57
+ → Implement in `{{TARGET_FILE}}`, after line containing `{{ANCHOR_TEXT}}`:
58
+ ```typescript
59
+ {{IMPLEMENTATION_SNIPPET}}
60
+ ```
61
+ Imports needed: `{{IMPORTS_LIST}}`
62
+
63
+ **Then**: {{EXPECTED_RESULT}}
64
+ → Verify:
65
+ ```bash
66
+ {{VERIFY_COMMAND}}
67
+ ```
68
+ Expected output: `{{EXPECTED_OUTPUT}}`
69
+ Fallback if fails: {{FALLBACK_INSTRUCTION}}
70
+
71
+ ---
72
+
73
+ ### Scenario 1.2: {{SCENARIO_1_2_NAME}}
74
+
75
+ **Given**: {{GIVEN_CONDITION}}
76
+ → Setup: {{SETUP_INSTRUCTION}}
77
+
78
+ **When**: {{ACTION}}
79
+ → Implement: {{IMPLEMENTATION_INSTRUCTION}}
80
+
81
+ **Then**: {{EXPECTED_RESULT}}
82
+ → Verify: `{{VERIFY_COMMAND}}`
83
+
84
+ ---
85
+
86
+ ### Phase 1 Gate
87
+
88
+ - [ ] `npm run build` — no type errors
89
+ - [ ] `npx vitest run {{PHASE_1_TEST_FILES}}` — all pass
90
+ - [ ] `npx tsc --noEmit` — clean
91
+
92
+ ---
93
+
94
+ ## Phase 2: {{PHASE_2_NAME}}
95
+
96
+ ### Environment
97
+
98
+ | Item | Detail |
99
+ |------|--------|
100
+ | Files to modify | `{{PHASE_2_MODIFY_FILES}}` |
101
+ | Files to create | `{{PHASE_2_CREATE_FILES}}` |
102
+ | Dependencies | `{{PHASE_2_DEPENDENCIES}}` |
103
+
104
+ ### Scenario 2.1: {{SCENARIO_2_1_NAME}}
105
+
106
+ **Given**: {{GIVEN_CONDITION}}
107
+ → Setup: {{SETUP_INSTRUCTION}}
108
+
109
+ **When**: {{ACTION}}
110
+ → Implement: {{IMPLEMENTATION_INSTRUCTION}}
111
+
112
+ **Then**: {{EXPECTED_RESULT}}
113
+ → Verify: `{{VERIFY_COMMAND}}`
114
+
115
+ ---
116
+
117
+ ### Phase 2 Gate
118
+
119
+ - [ ] `npm run build`
120
+ - [ ] `npx vitest run {{PHASE_2_TEST_FILES}}`
121
+ - [ ] `npx tsc --noEmit`
122
+
123
+ ---
124
+
125
+ ## Completion Criteria
126
+
127
+ - [ ] All scenarios passing
128
+ - [ ] Coverage: ≥ {{COVERAGE_THRESHOLD}}%
129
+ - [ ] No regressions in existing tests
130
+ - [ ] `npm run build` exits 0
131
+ - [ ] RTM generated: `generateTraceabilityMatrix("{{FEATURE_NAME}}")`
132
+
133
+ ---
134
+
135
+ ## Handoff (if incomplete)
136
+
137
+ Save state before ending session:
138
+
139
+ ```
140
+ save_memory("execplan-{{FEATURE_NAME}}", {
141
+ "last_completed": "Phase X, Scenario Y.Z",
142
+ "next_step": "{{NEXT_STEP_DESCRIPTION}}",
143
+ "blockers": "{{BLOCKERS_IF_ANY}}"
144
+ })
145
+ ```
146
+
147
+ Resume: `/vibe.utils --continue` → load this file.
@@ -0,0 +1,55 @@
1
+ # Git Worktree: When to Use Decision Guide
2
+
3
+ ## Decision Tree
4
+
5
+ ```
6
+ Need to work on a different branch?
7
+
8
+ ├─ How long? < 5 minutes
9
+ │ └─ Use git stash + switch
10
+
11
+ ├─ Will you need to run tests/build?
12
+ │ └─ No → git stash is fine
13
+ │ Yes → Consider worktree
14
+
15
+ └─ Can you commit current work?
16
+ └─ Yes → commit + switch (simplest)
17
+ No → worktree or stash
18
+ ```
19
+
20
+ ## Use Worktree When
21
+
22
+ | Scenario | Reason |
23
+ |----------|--------|
24
+ | Reviewing a PR that needs running | Avoids dirty working tree; test in isolation |
25
+ | Critical hotfix while mid-feature | Keep feature branch untouched |
26
+ | A/B testing two implementations | Both runnable simultaneously |
27
+ | Long-running parallel experiment | Work on both without context switching |
28
+
29
+ ## Skip Worktree When
30
+
31
+ | Scenario | Better Alternative |
32
+ |----------|--------------------|
33
+ | Quick config change on another branch | `git stash && git switch` |
34
+ | Just reading code on another branch | `git show branch:file` |
35
+ | Already committed current work | `git switch` directly |
36
+ | Change touches same files | Merging will conflict regardless |
37
+ | Repo uses large node_modules | Each worktree needs separate install — expensive |
38
+
39
+ ## Cost/Benefit
40
+
41
+ | Factor | Worktree Cost |
42
+ |--------|--------------|
43
+ | Disk space | Full working copy per worktree |
44
+ | `npm install` / `pnpm install` | Required in each worktree |
45
+ | Mental overhead | Tracking multiple worktree paths |
46
+ | Cleanup discipline | Must `git worktree remove` when done |
47
+
48
+ **Rule of thumb**: If the task is under 15 minutes, `git stash` is almost always faster than setting up a worktree.
49
+
50
+ ## Gotchas
51
+
52
+ - A branch can only be checked out in **one** worktree at a time
53
+ - Worktrees share `.git` — commits in any worktree are immediately visible in all
54
+ - Forgetting to remove worktrees leaves stale locks — run `git worktree prune` periodically
55
+ - CI/CD hooks may not run correctly outside the main worktree path
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: context-summarizer
3
+ role: Summarizes decisions made during the session and their rationale
4
+ tools: [Read, Bash]
5
+ ---
6
+
7
+ # Context Summarizer
8
+
9
+ ## Role
10
+ Distills the session's reasoning into a compact decision log. Captures the "why" behind architectural and implementation choices so the next session (or developer) doesn't re-litigate resolved questions.
11
+
12
+ ## Responsibilities
13
+ - Review recent conversation context for key decisions and trade-offs
14
+ - Summarize rejected alternatives and the reason they were rejected
15
+ - Identify blockers that were encountered and how they were resolved
16
+ - Note any assumptions made that should be validated later
17
+ - Flag unresolved debates or open questions for the next session
18
+
19
+ ## Input
20
+ - State snapshot from state-collector
21
+ - Session conversation context (decisions, debates, trade-offs discussed)
22
+
23
+ ## Output
24
+ Decision log section for HANDOFF.md:
25
+
26
+ ```markdown
27
+ ## Decisions & Rationale
28
+
29
+ ### Decided: JWT over sessions
30
+ Chose stateless JWT for auth because the API must support mobile clients.
31
+ Rejected: server-side sessions — would require sticky sessions in Kubernetes.
32
+
33
+ ### Decided: Skip refresh token for now
34
+ Deferred refresh token implementation — out of scope for this sprint.
35
+ Risk: tokens expire after 1h, users must re-login.
36
+
37
+ ### Open Questions
38
+ - Should we store token revocation list in Redis or Postgres?
39
+ - Confirm with team: is 1h token TTL acceptable for mobile?
40
+
41
+ ### Assumptions Made
42
+ - Mobile client handles 401 → re-login flow gracefully
43
+ - Redis will be available in production (not confirmed)
44
+ ```
45
+
46
+ ## Communication
47
+ - Reports findings to: document-writer
48
+ - Receives instructions from: orchestrator (handoff skill)
49
+
50
+ ## Domain Knowledge
51
+ Decisions without rationale are useless. Every decision entry must include: what was decided, why, and what was rejected with reason. Keep each entry under 3 lines.