@su-record/vibe 3.1.0 → 3.2.1

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 (183) hide show
  1. package/CLAUDE.md +2 -2
  2. package/README.en.md +9 -6
  3. package/README.md +9 -4
  4. package/dist/__tests__/wiring-integrity.test.d.ts +2 -0
  5. package/dist/__tests__/wiring-integrity.test.d.ts.map +1 -0
  6. package/dist/__tests__/wiring-integrity.test.js +160 -0
  7. package/dist/__tests__/wiring-integrity.test.js.map +1 -0
  8. package/dist/cli/commands/info.d.ts.map +1 -1
  9. package/dist/cli/commands/info.js +2 -1
  10. package/dist/cli/commands/info.js.map +1 -1
  11. package/dist/cli/commands/init.d.ts.map +1 -1
  12. package/dist/cli/commands/init.js +4 -2
  13. package/dist/cli/commands/init.js.map +1 -1
  14. package/dist/cli/design/design-md-parser.test.js +2 -2
  15. package/dist/cli/design/design-md-parser.test.js.map +1 -1
  16. package/dist/cli/index.js +102 -128
  17. package/dist/cli/index.js.map +1 -1
  18. package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
  19. package/dist/cli/postinstall/claude-agents.js +0 -5
  20. package/dist/cli/postinstall/claude-agents.js.map +1 -1
  21. package/dist/cli/postinstall/constants.d.ts +6 -0
  22. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  23. package/dist/cli/postinstall/constants.js +42 -60
  24. package/dist/cli/postinstall/constants.js.map +1 -1
  25. package/dist/cli/postinstall/inline-skills.js +2 -2
  26. package/dist/cli/postinstall/inline-skills.js.map +1 -1
  27. package/dist/cli/postinstall/main.d.ts.map +1 -1
  28. package/dist/cli/postinstall/main.js +2 -0
  29. package/dist/cli/postinstall/main.js.map +1 -1
  30. package/dist/cli/postinstall.d.ts +6 -1
  31. package/dist/cli/postinstall.d.ts.map +1 -1
  32. package/dist/cli/postinstall.js +6 -1
  33. package/dist/cli/postinstall.js.map +1 -1
  34. package/dist/cli/setup/GlobalInstaller.d.ts +1 -15
  35. package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
  36. package/dist/cli/setup/GlobalInstaller.js +16 -115
  37. package/dist/cli/setup/GlobalInstaller.js.map +1 -1
  38. package/dist/cli/setup/GlobalInstaller.test.d.ts +2 -0
  39. package/dist/cli/setup/GlobalInstaller.test.d.ts.map +1 -0
  40. package/dist/cli/setup/GlobalInstaller.test.js +16 -0
  41. package/dist/cli/setup/GlobalInstaller.test.js.map +1 -0
  42. package/dist/cli/setup/ProjectSetup.js +2 -2
  43. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  44. package/dist/cli/setup/Provisioner.d.ts.map +1 -1
  45. package/dist/cli/setup/Provisioner.js +23 -7
  46. package/dist/cli/setup/Provisioner.js.map +1 -1
  47. package/dist/cli/setup.d.ts +1 -1
  48. package/dist/cli/setup.d.ts.map +1 -1
  49. package/dist/cli/setup.js +1 -1
  50. package/dist/cli/setup.js.map +1 -1
  51. package/dist/cli/utils/cli-detector.d.ts +3 -3
  52. package/dist/cli/utils/cli-detector.d.ts.map +1 -1
  53. package/dist/cli/utils/cli-detector.js +7 -27
  54. package/dist/cli/utils/cli-detector.js.map +1 -1
  55. package/dist/cli/utils/cli-detector.test.js +3 -2
  56. package/dist/cli/utils/cli-detector.test.js.map +1 -1
  57. package/dist/infra/lib/SkillRepository.js +1 -1
  58. package/dist/infra/lib/evolution/__tests__/integration.test.js +0 -42
  59. package/dist/infra/lib/evolution/__tests__/integration.test.js.map +1 -1
  60. package/dist/infra/lib/llm-availability.d.ts.map +1 -1
  61. package/dist/infra/lib/llm-availability.js +2 -10
  62. package/dist/infra/lib/llm-availability.js.map +1 -1
  63. package/dist/infra/lib/llm-availability.test.js +3 -2
  64. package/dist/infra/lib/llm-availability.test.js.map +1 -1
  65. package/dist/infra/lib/utils.d.ts +6 -0
  66. package/dist/infra/lib/utils.d.ts.map +1 -1
  67. package/dist/infra/lib/utils.js +33 -0
  68. package/dist/infra/lib/utils.js.map +1 -1
  69. package/dist/tools/convention/validateCodeQuality.d.ts +1 -0
  70. package/dist/tools/convention/validateCodeQuality.d.ts.map +1 -1
  71. package/dist/tools/convention/validateCodeQuality.js +3 -2
  72. package/dist/tools/convention/validateCodeQuality.js.map +1 -1
  73. package/dist/tools/index.d.ts +2 -2
  74. package/dist/tools/index.d.ts.map +1 -1
  75. package/dist/tools/index.js +2 -0
  76. package/dist/tools/index.js.map +1 -1
  77. package/dist/tools/spec/executionPacket.d.ts +101 -0
  78. package/dist/tools/spec/executionPacket.d.ts.map +1 -0
  79. package/dist/tools/spec/executionPacket.js +394 -0
  80. package/dist/tools/spec/executionPacket.js.map +1 -0
  81. package/dist/tools/spec/executionPacket.test.d.ts +2 -0
  82. package/dist/tools/spec/executionPacket.test.d.ts.map +1 -0
  83. package/dist/tools/spec/executionPacket.test.js +360 -0
  84. package/dist/tools/spec/executionPacket.test.js.map +1 -0
  85. package/dist/tools/spec/index.d.ts +2 -0
  86. package/dist/tools/spec/index.d.ts.map +1 -1
  87. package/dist/tools/spec/index.js +2 -0
  88. package/dist/tools/spec/index.js.map +1 -1
  89. package/dist/tools/spec/specGenerator.d.ts +12 -0
  90. package/dist/tools/spec/specGenerator.d.ts.map +1 -1
  91. package/dist/tools/spec/specGenerator.js +96 -14
  92. package/dist/tools/spec/specGenerator.js.map +1 -1
  93. package/dist/tools/spec/specGenerator.test.d.ts +2 -0
  94. package/dist/tools/spec/specGenerator.test.d.ts.map +1 -0
  95. package/dist/tools/spec/specGenerator.test.js +130 -0
  96. package/dist/tools/spec/specGenerator.test.js.map +1 -0
  97. package/hooks/scripts/__tests__/.vibe/command-log.txt +3 -3
  98. package/hooks/scripts/__tests__/clone-behaviors.test.js +33 -1
  99. package/hooks/scripts/__tests__/code-check-memory-write.test.js +81 -0
  100. package/hooks/scripts/__tests__/llm-orchestrate-antigravity.test.js +5 -2
  101. package/hooks/scripts/__tests__/run-ledger-verify-required.test.js +7 -2
  102. package/hooks/scripts/__tests__/run-ledger.test.js +161 -10
  103. package/hooks/scripts/__tests__/step-counter.test.js +21 -0
  104. package/hooks/scripts/__tests__/utils-npm-root.test.js +5 -4
  105. package/hooks/scripts/auto-format.js +2 -11
  106. package/hooks/scripts/auto-test.js +2 -11
  107. package/hooks/scripts/clone-extract.js +146 -10
  108. package/hooks/scripts/code-check.js +27 -55
  109. package/hooks/scripts/lib/glob.js +32 -0
  110. package/hooks/scripts/lib/hook-context.js +19 -2
  111. package/hooks/scripts/lib/run-ledger.js +123 -21
  112. package/hooks/scripts/post-edit.js +2 -3
  113. package/hooks/scripts/prompt-dispatcher.js +1 -1
  114. package/hooks/scripts/scope-guard.js +3 -42
  115. package/hooks/scripts/sentinel-guard.js +5 -20
  116. package/hooks/scripts/session-start.js +2 -2
  117. package/hooks/scripts/step-counter.js +35 -57
  118. package/hooks/scripts/verify-ledger.js +23 -3
  119. package/package.json +2 -3
  120. package/skills/clone/SKILL.md +10 -216
  121. package/skills/clone/references/capture-rules.md +48 -0
  122. package/skills/clone/references/legal-and-error-recovery.md +40 -0
  123. package/skills/clone/references/refine-rules.md +61 -0
  124. package/skills/clone/references/scaffold-phases.md +59 -0
  125. package/skills/clone/references/setup-and-layout.md +30 -0
  126. package/skills/docs/SKILL.md +39 -4
  127. package/skills/docs/references/api-docs-changelog.md +34 -0
  128. package/skills/docs/references/codemaps-output.md +23 -0
  129. package/{agents/diagrammer.md → skills/docs/references/diagram-spec.md} +2 -15
  130. package/skills/exec-plan/SKILL.md +1 -1
  131. package/skills/exec-plan/templates/plan.md +1 -1
  132. package/skills/handoff/SKILL.md +3 -3
  133. package/skills/handoff/templates/handoff.md +1 -1
  134. package/skills/spec/SKILL.md +7 -0
  135. package/skills/vibe/SKILL.md +3 -2
  136. package/skills/vibe.analyze/SKILL.md +12 -249
  137. package/skills/vibe.analyze/references/output-templates.md +188 -0
  138. package/skills/vibe.analyze/references/quality-gate.md +93 -0
  139. package/skills/vibe.clone/SKILL.md +14 -1
  140. package/skills/vibe.continue/SKILL.md +32 -0
  141. package/skills/vibe.design/SKILL.md +23 -1
  142. package/skills/vibe.design/references/ui-preview.md +20 -0
  143. package/skills/vibe.docs/SKILL.md +4 -2
  144. package/skills/vibe.figma/SKILL.md +33 -260
  145. package/skills/vibe.figma/references/branch-phases.md +113 -0
  146. package/skills/vibe.figma/references/state-schema.md +42 -0
  147. package/skills/vibe.figma/references/step-algorithms.md +204 -0
  148. package/skills/vibe.image/SKILL.md +62 -0
  149. package/skills/vibe.image/references/image-generation-examples.md +39 -0
  150. package/skills/vibe.reason/SKILL.md +3 -183
  151. package/skills/vibe.reason/references/output-format-template.md +57 -0
  152. package/skills/vibe.reason/references/quality-rubrics.md +94 -0
  153. package/skills/vibe.reason/references/worked-example.md +45 -0
  154. package/skills/vibe.review/SKILL.md +13 -348
  155. package/skills/vibe.review/references/boundary-check.md +25 -0
  156. package/skills/vibe.review/references/output-template.md +74 -0
  157. package/skills/vibe.review/references/quality-gate.md +84 -0
  158. package/skills/vibe.review/references/race-mode.md +117 -0
  159. package/skills/vibe.review/references/worked-examples.md +94 -0
  160. package/skills/vibe.run/SKILL.md +29 -6
  161. package/skills/vibe.trace/SKILL.md +3 -3
  162. package/skills/vibe.verify/SKILL.md +10 -4
  163. package/vibe/rules/loop-contract.md +7 -3
  164. package/vibe/templates/claudemd-template.md +1 -1
  165. package/vibe/templates/spec-template.md +32 -5
  166. package/agents/acceptance-tester.md +0 -56
  167. package/agents/documenter.md +0 -43
  168. package/agents/figma/figma-engineer.md +0 -76
  169. package/dist/cli/postinstall/index.d.ts +0 -23
  170. package/dist/cli/postinstall/index.d.ts.map +0 -1
  171. package/dist/cli/postinstall/index.js +0 -23
  172. package/dist/cli/postinstall/index.js.map +0 -1
  173. package/dist/cli/setup/index.d.ts +0 -9
  174. package/dist/cli/setup/index.d.ts.map +0 -1
  175. package/dist/cli/setup/index.js +0 -12
  176. package/dist/cli/setup/index.js.map +0 -1
  177. package/hooks/scripts/__tests__/.vibe/memories/memories.db +0 -0
  178. package/hooks/scripts/__tests__/.vibe/memories/memories.db-shm +0 -0
  179. package/hooks/scripts/__tests__/.vibe/memories/memories.db-wal +0 -0
  180. package/hooks/scripts/evolution-engine.js +0 -91
  181. package/hooks/scripts/hud-status.js +0 -321
  182. package/hooks/scripts/skill-injector.js +0 -83
  183. package/skills/vibe.utils/SKILL.md +0 -415
@@ -0,0 +1,59 @@
1
+ # Clone — Phase 3A/3B/3C Builder Contract
2
+
3
+ > Loaded by vibe.clone SKILL.md Phase 3 (Scaffold) — full prep/dispatch/merge steps for MO/PC scaffold, the 150-line split rule, framework mapping, Phase 3C's import-switch/selector-review steps, and Claude's role checklist. Phase headers, Input lines, and script invocation commands stay in SKILL.md; this file covers the supporting detail only.
4
+
5
+ ```
6
+ Prep (sequential, once):
7
+ a. Step 0: clone-spec.js → emit _specs/mo/{Section}.spec.md for every section
8
+ b. Step A: clone-to-scss.js → SCSS draft in styles/{feature}/mo/ (computed values)
9
+ c. Orchestrator resolves every spec TODO BEFORE dispatch:
10
+ ├─ Confirm the interaction model (spec.interaction is a heuristic guess;
11
+ │ the spec's active-capture "Dynamic behaviors" block overrides it on conflict)
12
+ ├─ List the states to implement (spec.states + Dynamic behaviors)
13
+ ├─ Mark copyrighted text for placeholder replacement (skip with --real-content)
14
+ └─ Map component candidates against component-index.json (reuse vs create)
15
+ d. 150-line split rule (mechanical — wc -l, don't override with "but it's related"):
16
+ a completed spec over 150 lines means the section is too big for one builder →
17
+ split into sub-component specs (one per card variant / repeated pattern) + one
18
+ wrapper spec that imports them.
19
+ Dispatch (parallel):
20
+ ⛔ Every builder prompt embeds the FULL spec text INLINE — never "go read the file".
21
+ The spec file stays on disk as the audit trail; the prompt must be self-sufficient.
22
+ ⛔ Builders that write files in parallel run in worktree isolation; sub-component
23
+ builders complete before their wrapper builder starts.
24
+ Builder contract (each agent):
25
+ 1. Build HTML structure + semantic tags + framework-specific component file
26
+ ⛔ No CSS in <style> blocks — only @import/@use of styles/{feature}/mo/
27
+ ⛔ Build for the CONFIRMED interaction model in the spec; wire every state
28
+ Framework mapping:
29
+ - React/Next → .tsx with CSS Modules or styled-components per stack
30
+ - Vue/Nuxt → .vue with scoped <style lang="scss"> @import only
31
+ - Svelte → .svelte with <style> @import only
32
+ - Vanilla → .html + linked .scss
33
+ 2. Asset references → public/images/{feature}/ (already populated in Phase 1)
34
+ 3. SCSS edits per Immutable Rule 1 (evidence-cited only)
35
+ 4. Verify compile (tsc --noEmit or stack equivalent) before finishing
36
+ Merge (orchestrator, as builders complete):
37
+ 5. Merge worktrees; resolve conflicts (you have full context on every spec)
38
+ 6. clone-validate.js per section — Step B
39
+ ├─ PASS → section done
40
+ └─ FAIL → fix discrepancies → re-run step 6 (loop until P1=0, no round cap)
41
+
42
+ 2. Switch component style imports from styles/{feature}/{bp}/index.scss to the merged
43
+ styles/{feature}/index.scss
44
+ 3. Review pc-only/mo-only selectors in the merge report — hide/show them with the
45
+ media query if the original does (evidence: the two sections.json trees)
46
+
47
+ Claude's role:
48
+ ✅ Component candidates: decide which patterns become reusable components
49
+ ✅ HTML semantics: section/h1/p/button/nav tag selection
50
+ ✅ Text replacement: substitute copyrighted copy with placeholders or user-supplied text
51
+ ✅ Interaction model: confirm the spec's heuristic guess, then build for the real model
52
+ ✅ Interactions: implement every state in the spec (hover/focus/active/open), click handlers
53
+ ✅ SCSS value edits WITH cited evidence (computed.json/states.json/behaviors.json) —
54
+ clone-validate.js PASS is the judge
55
+ ❌ Do NOT invent CSS values without extraction evidence
56
+ ❌ Do NOT write CSS directly in <style> blocks
57
+ ❌ Do NOT hand-write vw/clamp/@media in Phase 3A/3B (responsive comes from Phase 3C merge)
58
+ ❌ Do NOT hotlink remote URLs — all assets must use local public/images/ paths
59
+ ```
@@ -0,0 +1,30 @@
1
+ # Clone — Setup Steps & Output Layout
2
+
3
+ > Loaded by vibe.clone SKILL.md Full Flow / Phase 0 (Setup) — working-directory + code-output layout and the full Phase 0 setup steps.
4
+
5
+ ```
6
+ Working directory:
7
+ /tmp/{feature}/
8
+ ├── mo/ (375×812) — rendered.html, computed.json, screenshot.png, assets/, sections.json
9
+ ├── pc/ (1440×900) — rendered.html, computed.json, screenshot.png, assets/, sections.json
10
+ └── tokens.json — extracted design tokens (colors/fonts/spacing)
11
+
12
+ Code output: placed directly in the project directory per detected stack
13
+ components/{feature}/, components/{feature}/_specs/{mo,pc}/,
14
+ styles/{feature}/{mo,pc}/ (per-BP drafts) → styles/{feature}/ (Phase 3C merged),
15
+ public/images/{feature}/, public/ (favicons/OG from assets/seo/)
16
+ ```
17
+
18
+ ```
19
+ 1. Stack detection:
20
+ - .vibe/config.json → stack (react/vue/next/svelte/vanilla, scss/tailwind/css-modules)
21
+ - Fallback: package.json deps
22
+ 2. Feature name: URL hostname → kebab-case (e.g. stripe.com → stripe-clone)
23
+ - User may override with --name=<custom>
24
+ 3. Directories:
25
+ - components/{feature}/, styles/{feature}/, public/images/{feature}/
26
+ 4. Component indexing → /tmp/{feature}/component-index.json
27
+ (scan up to 50 existing components, extract props/slots/classes, within 2 minutes)
28
+ 5. Design token scan → /tmp/{feature}/project-tokens.json
29
+ (SCSS > CSS Variables > Tailwind > CSS-in-JS)
30
+ ```
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: docs
3
- description: 프로젝트 문서 생성 본체 — README / 아키텍처 / 사용자 가이드 / 릴리즈 노트.
3
+ description: 프로젝트 문서 생성 본체 — README / 아키텍처 / 사용자 가이드 / 릴리즈 노트 / Mermaid 다이어그램 / codemaps.
4
4
  when_to_use: /vibe.docs 진입점에서 체인 호출. 직접 호출 금지.
5
5
  user-invocable: false
6
6
  tier: standard
@@ -179,6 +179,41 @@ Output: `RELEASE_NOTES.md` or append to `CHANGELOG.md`
179
179
  - refactor/docs/chore items
180
180
  ```
181
181
 
182
+ ### `/vibe.docs diagram` — Diagram Generation
183
+
184
+ Generate Mermaid diagrams for architecture, ERD, flowchart, or sequence
185
+ visualization directly (native capability — no dedicated agent). Ground the
186
+ diagram in sources first: folder structure and imports for architecture;
187
+ `models/`, `migrations/`, `schema.*`, ORM definitions for ERDs; the real
188
+ branch/return structure of the code for flowcharts.
189
+
190
+ **Options:**
191
+ - `/vibe.docs diagram` (default): Architecture overview
192
+ - `/vibe.docs diagram --er`: Entity-Relationship Diagram
193
+ - `/vibe.docs diagram --flow`: Flowchart
194
+ - `/vibe.docs diagram --seq`: Sequence Diagram
195
+
196
+ > Read `references/diagram-spec.md` for the full output conventions (Mermaid syntax per diagram type, save location, accuracy constraints).
197
+
198
+ **Example:**
199
+ ```
200
+ /vibe.docs diagram --er
201
+ ```
202
+
203
+ ### `/vibe.docs codemaps` — Codemaps Generation
204
+
205
+ Generate auto-documentation from codebase structure directly (native
206
+ capability — no dedicated agent).
207
+
208
+ **Output Location:** `docs/CODEMAPS/`
209
+
210
+ > Read `references/codemaps-output.md` for the full generated-files tree, per-file contents, and tools used.
211
+
212
+ **Example:**
213
+ ```
214
+ /vibe.docs codemaps
215
+ ```
216
+
182
217
  ## Pipeline Integration
183
218
 
184
219
  `/vibe.docs` completes the development pipeline:
@@ -202,9 +237,9 @@ When `/vibe.trace` completes with all scenarios passing, suggest:
202
237
  - Preserve existing documentation that's still accurate
203
238
  - Include concrete code examples from the actual project
204
239
  - Keep language consistent with project (Korean/English based on CLAUDE.md)
205
- - Use documenter agent (changelog mode) for `/vibe.docs release`
206
- - Use documenter agent (api-docs mode) for API-heavy projects
207
- - Use diagrammer agent for `/vibe.docs arch` Mermaid generation
240
+ - For `/vibe.docs release` (changelog mode), follow `references/api-docs-changelog.md` natively — no dedicated agent
241
+ - For API-heavy projects (api-docs mode), follow `references/api-docs-changelog.md` natively
242
+ - For `/vibe.docs arch` and `/vibe.docs diagram` Mermaid generation, follow `references/diagram-spec.md` natively
208
243
  - Use the `agents-md` skill for `/vibe.docs agent` — applies equally to CLAUDE.md and AGENTS.md
209
244
 
210
245
  ### DON'T
@@ -0,0 +1,34 @@
1
+ # docs — API Docs & Changelog Spec
2
+
3
+ > Loaded by docs SKILL.md for `/vibe.docs release` (changelog mode) and API-heavy projects (api-docs mode) — documentation rules for the two artifacts that go stale fastest: API docs and changelogs.
4
+
5
+ ## API Mode
6
+
7
+ Walk the route handlers/controllers in the given scope and document each
8
+ endpoint: method + path, auth requirement, parameters (path/query/body with
9
+ types, required vs optional, enum values), success and error responses (all
10
+ status codes actually returned), and a runnable example (curl or fetch). List
11
+ endpoints that exist in code but lack documentation — the gap list is as
12
+ valuable as the docs.
13
+
14
+ ## Changelog Mode
15
+
16
+ From `git diff` and `git log`, classify changes as breaking / added /
17
+ changed / fixed / performance / internal / dependencies. Recommend the
18
+ semantic version bump with a one-line reason. Every breaking change gets
19
+ migration steps; every fix states old vs new behavior.
20
+
21
+ ## Constraints
22
+
23
+ Return documentation as text output only — never create or write files; the
24
+ calling command decides where content lands. Descriptions are user-facing:
25
+ what changed for the consumer, not which internal function was refactored
26
+ (pure refactors go under Internal, briefly). Document what the code actually
27
+ does, not what comments claim — when they disagree, flag the discrepancy
28
+ rather than picking one silently.
29
+
30
+ ## Done
31
+
32
+ - API mode: every endpoint in scope documented or explicitly listed as an undocumented gap
33
+ - Changelog mode: all changes classified, version bump recommended with reason, breaking changes have migration steps
34
+ - Output is paste-ready text; zero files created
@@ -0,0 +1,23 @@
1
+ # docs — Codemaps: Generated Files & Contents
2
+
3
+ > Loaded by docs SKILL.md `codemaps` mode — full generated-files tree, per-file contents, and tools used.
4
+
5
+ **Generated Files:**
6
+ ```
7
+ docs/CODEMAPS/
8
+ ├── INDEX.md # Overview of all areas
9
+ ├── frontend.md # Frontend structure
10
+ ├── backend.md # API/backend structure
11
+ ├── database.md # Schema documentation
12
+ └── integrations.md # External services
13
+ ```
14
+
15
+ **Each file contains:**
16
+ - Module table (name, path, description)
17
+ - Data flow diagram (Mermaid)
18
+ - Dependencies list
19
+ - Related areas
20
+
21
+ **Tools Used:**
22
+ - ts-morph (TypeScript AST)
23
+ - madge (dependency graph)
@@ -1,19 +1,6 @@
1
- # Diagrammer Agent
1
+ # docs — Diagram Generation Spec
2
2
 
3
- Diagram generation specialistrenders architecture, data models, and flows
4
- as Mermaid.
5
-
6
- ## Role
7
-
8
- - Architecture diagrams from project structure and dependencies
9
- - ERD from database schemas and model definitions
10
- - Flowcharts of business logic and user flows
11
-
12
- ## Model
13
-
14
- **Haiku** — fast, structured output
15
-
16
- ## Goal
3
+ > Loaded by docs SKILL.md `diagram` mode Mermaid diagram generation rules (architecture, ERD, flowcharts, sequence).
17
4
 
18
5
  Produce a Mermaid diagram that reflects the actual code, not a generic
19
6
  picture. Ground it in sources first: folder structure and imports for
@@ -129,7 +129,7 @@ Ready to execute:
129
129
  /vibe.run "{feature-name}" ultrawork
130
130
 
131
131
  Or hand off to new session:
132
- /vibe.utils --continue
132
+ /vibe.continue
133
133
  → Load: .vibe/specs/{feature-name}-execplan.md
134
134
  ```
135
135
 
@@ -144,4 +144,4 @@ save_memory("execplan-{{FEATURE_NAME}}", {
144
144
  })
145
145
  ```
146
146
 
147
- Resume: `/vibe.utils --continue` → load this file.
147
+ Resume: `/vibe.continue` → load this file.
@@ -16,9 +16,9 @@ Record work status before session end so the next session can pick up immediatel
16
16
 
17
17
  A file that records the current work status before context reset. Reading this file in a new session allows immediate continuation.
18
18
 
19
- ### Difference from `/vibe.utils --continue`
19
+ ### Difference from `/vibe.continue`
20
20
 
21
- | Item | `/vibe.utils --continue` | Handoff |
21
+ | Item | `/vibe.continue` | Handoff |
22
22
  |------|--------------------------|---------|
23
23
  | Method | Automatic session context restore | Manual handover document |
24
24
  | Includes | Memory + session state | Work progress + notes + file list |
@@ -98,7 +98,7 @@ Read HANDOFF.md and continue working
98
98
  Or use alongside VIBE auto-restore:
99
99
 
100
100
  ```
101
- /vibe.utils --continue
101
+ /vibe.continue
102
102
  ```
103
103
 
104
104
  In this case, saved decisions are also restored via `core_recall_memory`.
@@ -86,7 +86,7 @@ Last commit: `{{LAST_COMMIT_HASH}}` — {{LAST_COMMIT_MESSAGE}}
86
86
 
87
87
  ```bash
88
88
  # 1. Load context
89
- /vibe.utils --continue
89
+ /vibe.continue
90
90
 
91
91
  # 2. Read this file if context is missing
92
92
  # cat HANDOFF.md
@@ -54,10 +54,15 @@ Task(subagent_type="Explore",
54
54
  `vibe/templates/spec-template.md` 구조로 `.vibe/specs/{feature-name}.md` 를 작성한다. 핵심 요건:
55
55
 
56
56
  - **Overview / Goal** — 무엇을, 왜. 1-3 문장.
57
+ - **Context Sources** — 입력으로 사용한 파일·문서·URL·관측 상태. 출처 없는 추정은 Assumptions 로 분리.
58
+ - **Requirements** — `REQ-{feature}-NNN` ID와 연결된 Done Criteria를 표로 명시.
57
59
  - **Done Criteria** — 결정론적 게이트만. 각 항목은 "명령/관찰로 pass·fail 판정 가능"해야 한다 (테스트 exit code, 빌드 성공, 특정 동작 관찰). "잘 동작한다" 류 서술 금지 — 이것이 루프의 JUDGE 입력이 된다.
60
+ - **Evidence Required** — Done 을 증명할 명령 결과·테스트 리포트·로그·스크린샷·코드 위치.
61
+ - **Human Taste (Non-Blocking)** — UX·브랜드·제품 감각처럼 release 시 사람이 판단할 기준. 완료 게이트로 쓰지 않는다.
58
62
  - **Scenarios** — Given-When-Then. Happy path + 주요 edge case. 각 시나리오는 Done Criteria 중 하나에 매핑.
59
63
  - **Out of Scope** — 이번에 하지 않는 것을 명시 (비어 있으면 스코프 팽창 신호).
60
64
  - **Assumptions** — 3단계에서 채택한 기본값 전부.
65
+ - **Constraints** — 구현·보안·호환성 경계. execution packet으로 압축돼도 반드시 보존한다.
61
66
  - **API Contract** (해당 시에만) — 엔드포인트/요청/응답 형태. 이 섹션이 있으면 이후 `/vibe.contract` 가 drift 를 검사한다.
62
67
 
63
68
  이어서 `.vibe/features/{feature-name}.feature` 를 생성한다: 시나리오 섹션을 gherkin 으로 변환 (Done Criteria ↔ Scenario 매핑 유지). `/vibe.run` 이 이 파일을 구현·검증 단위로 사용한다.
@@ -71,6 +76,8 @@ Task(subagent_type="Explore",
71
76
  작성 직후, 아래 체크리스트로 자기 SPEC 을 **1회** 점검하고 걸리는 항목을 즉시 고친다. 외부 LLM 리뷰 없음, 수렴 루프 없음 — 한 번 고치면 끝.
72
77
 
73
78
  - [ ] 모든 Done Criteria 가 명령/관찰로 판정 가능한가 (모델 자기 보고가 아닌)
79
+ - [ ] Context Sources 와 Assumptions 가 분리됐고, 각 Done Criteria 의 Evidence Required 가 있는가
80
+ - [ ] Human Taste 가 결정론적 완료 게이트에 섞이지 않았는가
74
81
  - [ ] 모든 시나리오가 Done Criteria 에 매핑되는가 (고아 시나리오 없음)
75
82
  - [ ] 수치가 필요한 곳에 수치가 있는가 (제한·타임아웃·크기 — 없으면 기본값 + Assumptions)
76
83
  - [ ] Out of Scope 가 비어 있지 않은가
@@ -64,13 +64,14 @@ user-invocable: true
64
64
  | **regression fix** | "회귀", "테스트 깨졌", "다시 통과" | regress → run → verify |
65
65
  | **contract drift** | "API 변경", "계약 깨졌", "스펙 불일치" | contract → regress (P1만) |
66
66
  | **scaffold** | "프로젝트 만들기", "셋업", "초기 구조" | scaffold |
67
- | **docs sync** | "문서 갱신", "README", "AGENTS.md" | docs |
67
+ | **docs sync** | "문서 갱신", "README", "AGENTS.md", "다이어그램", "코드맵" | docs (diagram/codemaps 의도 포함) |
68
68
  | **analyze** | "분석", "조사", "이건 뭐야" + 파일/URL | analyze |
69
69
  | **reason** | "추론", "깊게 생각", "트레이드오프", "어떻게 접근" 등 복잡한 사고 요청 | reason |
70
70
  | **event** | "이벤트", "커뮤니티", "D-Day", "행사 자동화" | event |
71
71
  | **harness check** | "하네스", "환경 점검" | harness |
72
72
  | **test self** | "vibe 테스트", "CC ↔ Codex 비교" | test |
73
- | **utils** | "이어서", "메모리", "체크포인트" | utils |
73
+ | **session continue** | "이어서", "메모리", "체크포인트" | continue |
74
+ | **image generation** | "이미지 생성", "아이콘", "배너", "목업 이미지" | image |
74
75
 
75
76
  복수 의도면 우선순위: resume > figma-driven > new feature > 기타.
76
77
 
@@ -75,15 +75,9 @@ Extract keywords from the user request:
75
75
 
76
76
  #### 2. Understand Project Structure
77
77
 
78
- Read `CLAUDE.md`, `package.json`, `pyproject.toml`, etc. to identify tech stack:
78
+ Read `CLAUDE.md`, `package.json`, `pyproject.toml`, etc. to identify tech stack.
79
79
 
80
- **Backend:**
81
- - FastAPI/Django: `app/api/`, `app/services/`, `app/models/`
82
- - Express/NestJS: `src/controllers/`, `src/services/`, `src/models/`
83
-
84
- **Frontend:**
85
- - React/Next.js: `src/components/`, `src/pages/`, `src/hooks/`
86
- - Flutter: `lib/screens/`, `lib/services/`, `lib/providers/`
80
+ > Read `references/output-templates.md` for the full backend/frontend stack → directory mapping.
87
81
 
88
82
  #### 3. Explore Related Code (Parallel Sub-Agents)
89
83
 
@@ -105,15 +99,7 @@ Agent(subagent_type="Explore", model="haiku",
105
99
  prompt="Find all [FEATURE] related data models, schemas, and database queries. Document relationships and key fields.")
106
100
  ```
107
101
 
108
- **Scale for large projects (6+ related files):**
109
-
110
- ```text
111
- Agent(subagent_type="Explore", model="haiku",
112
- prompt="Find all test files related to [FEATURE]. Identify tested vs untested paths.")
113
-
114
- Agent(subagent_type="Explore", model="haiku",
115
- prompt="Analyze [FEATURE] configuration, environment variables, and external integrations.")
116
- ```
102
+ > Read `references/output-templates.md` for the additional "Scale for large projects (6+ related files)" agent prompts.
117
103
 
118
104
  **After all agents return:**
119
105
  - Synthesize results → proceed to Flow Analysis
@@ -138,62 +124,13 @@ Agent(subagent_type="Explore", model="haiku",
138
124
 
139
125
  #### 5. Output
140
126
 
141
- ```markdown
142
- ## [feature-name] Analysis Results
143
-
144
- ### Overview
145
- - **Feature**: [one-line summary]
146
- - **Status**: [Complete / In progress / Not implemented]
147
- - **Files**: N related files
148
-
149
- ### Structure
150
-
151
- #### API Endpoints
152
- | Method | Path | Description | Auth |
153
- |--------|------|-------------|------|
154
- | POST | /api/v1/auth/login | User login | None |
155
-
156
- #### Core Services
157
- - `auth_service.py`: Authentication logic
158
- - `login()`: Processes login
159
- - `verify_token()`: Validates JWT
160
-
161
- #### Data Models
162
- - `User`: User table
163
- - Key fields: id, email, password_hash
164
- - Relationships: Session (1:N)
165
-
166
- ### Reference Files
167
- - src/api/auth/router.py:L10-50
168
- - src/services/auth_service.py:L1-100
169
- ```
127
+ > Read `references/output-templates.md` for the full Mode 1 output format.
170
128
 
171
129
  #### 6. Next Steps
172
130
 
173
- After analysis, suggest mode-specific follow-up actions:
174
-
175
- **After code/feature analysis:**
176
-
177
- | Task Scope | Approach |
178
- |------------|----------|
179
- | Simple fix (1-2 files) | Plan Mode |
180
- | Complex feature (3+ files) | `/vibe.spec` |
181
-
182
- **After document analysis:**
183
-
184
- | Goal | Approach |
185
- |------|----------|
186
- | Apply findings to project | `/vibe.spec "feature-name"` |
187
- | Derive improvement direction | Plan Mode |
188
- | Compare with another source | `/vibe.analyze [other target]` |
131
+ After analysis, suggest mode-specific follow-up actions.
189
132
 
190
- **After website analysis:**
191
-
192
- | Goal | Approach |
193
- |------|----------|
194
- | Build similar product | `/vibe.spec` |
195
- | Improve existing UI | `/vibe.figma` |
196
- | Compare with another site | `/vibe.analyze [other URL]` |
133
+ > Read `references/output-templates.md` for the full Next Steps decision tables (code/feature, document, website).
197
134
 
198
135
  Wait for user's choice before proceeding.
199
136
 
@@ -218,13 +155,7 @@ Analyze document **structure, key content, quality, and applicability** to:
218
155
 
219
156
  #### 2. Classify Document Type
220
157
 
221
- | Type | Analysis Focus |
222
- |------|---------------|
223
- | Technical spec | API definitions, data models, sequence diagrams |
224
- | Presentation/slides | Key claims, frameworks, case studies |
225
- | PRD/requirements | User stories, acceptance criteria, scope |
226
- | Business document | Strategy, decision points, action items |
227
- | Research/academic | Methodology, conclusions, applicability |
158
+ > Read `references/output-templates.md` for the full document-type → analysis-focus table.
228
159
 
229
160
  #### 3. Analyze Content (Parallel Sub-Agents)
230
161
 
@@ -244,33 +175,7 @@ Agent(subagent_type="general-purpose", model="haiku",
244
175
 
245
176
  #### 5. Output
246
177
 
247
- ```markdown
248
- ## [Document Name] Analysis
249
-
250
- ### Overview
251
- - **Type**: [Presentation / Technical spec / PRD / ...]
252
- - **Topic**: [one-line summary]
253
- - **Pages/Sections**: N
254
- - **Audience**: [Developers / PMs / Executives / ...]
255
-
256
- ### Key Content
257
- 1. **[Concept 1]**: Description
258
- 2. **[Concept 2]**: Description
259
-
260
- ### Frameworks/Models (if any)
261
- - [Systematic structure presented in the document]
262
-
263
- ### Project Relevance
264
- | Recommendation | Current State | Gap |
265
- |----------------|---------------|-----|
266
- | ... | ... | ... |
267
-
268
- ### Key Insights
269
- - [Most important takeaway]
270
-
271
- ### Suggested Actions
272
- 1. ...
273
- ```
178
+ > Read `references/output-templates.md` for the full Mode 2 output format.
274
179
 
275
180
  #### Fallback
276
181
 
@@ -319,40 +224,7 @@ If a Figma URL is detected, switch to **Figma-specific analysis**:
319
224
 
320
225
  #### 4. Output
321
226
 
322
- ```markdown
323
- ## [URL] Analysis
324
-
325
- ### Overview
326
- - **Site type**: [SaaS / E-commerce / Portfolio / ...]
327
- - **Tech stack**: [Next.js, Tailwind, ...]
328
- - **Overall score**: N/100
329
-
330
- ### Technical Analysis
331
- | Area | Detection | Details |
332
- |------|-----------|---------|
333
- | Framework | React/Next.js | SSR enabled |
334
- | CSS | Tailwind CSS | v3.4 |
335
-
336
- ### UX/UI Analysis
337
- - **Navigation**: [assessment]
338
- - **CTA placement**: [assessment]
339
- - **Responsive design**: [assessment]
340
-
341
- ### SEO Analysis (N/100)
342
- | Element | Status | Recommendation |
343
- |---------|--------|----------------|
344
- | Title | Present | Appropriate length |
345
- | Meta Description | Missing | Add description |
346
-
347
- ### Accessibility (WCAG 2.1 AA)
348
- - **Semantic HTML**: [assessment]
349
- - **Keyboard navigation**: [assessment]
350
- - **Screen reader support**: [assessment]
351
-
352
- ### Improvement Suggestions
353
- 1. [highest priority]
354
- 2. ...
355
- ```
227
+ > Read `references/output-templates.md` for the full Mode 3 output format.
356
228
 
357
229
  #### Fallback
358
230
 
@@ -393,30 +265,7 @@ If `WebFetch` fails:
393
265
 
394
266
  Save to `.vibe/reports/analysis-{date}.md`:
395
267
 
396
- ```markdown
397
- # Project Analysis Report
398
-
399
- ## Overview
400
- - Analysis date: YYYY-MM-DD HH:MM
401
- - Scope: Full / Code / Deps / Arch
402
-
403
- ## Code Quality (N/100)
404
- - Average complexity: N (good/warning/critical)
405
- - High complexity files: N
406
-
407
- ## Dependencies (N/100)
408
- - Total packages: N
409
- - Updates needed: N
410
- - Security issues: N
411
-
412
- ## Architecture (N/100)
413
- - Circular dependencies: N found
414
- - Layer violations: N
415
-
416
- ## Improvement Suggestions
417
- 1. ...
418
- 2. ...
419
- ```
268
+ > Read `references/output-templates.md` for the full Mode 4 report format.
420
269
 
421
270
  ## Core Tools (Semantic Analysis)
422
271
 
@@ -438,95 +287,9 @@ node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index
438
287
 
439
288
  ## Quality Gate (Mandatory)
440
289
 
441
- ### Mode-Specific Checklists
442
-
443
- **Code/Feature Analysis:**
444
-
445
- | Category | Check Item | Weight |
446
- |----------|------------|--------|
447
- | Completeness | All related files identified | 20% |
448
- | Completeness | All API endpoints documented | 15% |
449
- | Completeness | All data models mapped | 15% |
450
- | Accuracy | File paths verified to exist | 10% |
451
- | Accuracy | Line numbers accurate | 10% |
452
- | Depth | Business logic explained | 10% |
453
- | Depth | Dependencies mapped | 10% |
454
- | Actionability | Next steps clearly defined | 10% |
455
-
456
- **Document Analysis:**
457
-
458
- | Category | Check Item | Weight |
459
- |----------|------------|--------|
460
- | Completeness | Full document read | 20% |
461
- | Completeness | All key concepts extracted | 20% |
462
- | Structure | Section structure identified | 15% |
463
- | Depth | Project relevance analyzed | 15% |
464
- | Depth | Gap analysis performed | 15% |
465
- | Actionability | Specific follow-up actions suggested | 15% |
466
-
467
- **Website Analysis:**
468
-
469
- | Category | Check Item | Weight |
470
- |----------|------------|--------|
471
- | Completeness | HTML fetched and parsed | 15% |
472
- | Tech | Tech stack identified | 15% |
473
- | UX | UX/UI patterns analyzed | 15% |
474
- | SEO | SEO elements inspected | 15% |
475
- | A11y | Accessibility checked | 15% |
476
- | Performance | Performance hints analyzed | 10% |
477
- | Actionability | Improvements suggested | 15% |
478
-
479
- ### Score Calculation
480
-
481
- ```
482
- Score = sum(checked items * weight) / 100
483
-
484
- Grades:
485
- - 95-100: EXCELLENT — comprehensive analysis
486
- - 90-94: GOOD — minor gaps, additional exploration recommended
487
- - 80-89: FAIR — needs deeper exploration
488
- - 0-79: POOR — incomplete, re-analyze
489
- ```
490
-
491
- ### Depth Levels
492
-
493
- | Level | Scope | Output |
494
- |-------|-------|--------|
495
- | L1: Surface | File names, basic structure | File list |
496
- | L2: Structure | Functions, classes, imports | Structure map |
497
- | L3: Logic | Business logic, data flow | Flow analysis |
498
- | L4: Deep | Edge cases, dependencies, risks | Full analysis |
499
-
500
- **Minimum**: L3 for feature analysis, L2 for project overview.
501
-
502
- ### Forbidden Patterns
503
-
504
- | Pattern | Problem | Fix |
505
- |---------|---------|-----|
506
- | "and more..." | Incomplete | List all items |
507
- | "etc." | Vague | Be specific |
508
- | "related files" without paths | Missing detail | Provide file paths |
509
- | Missing line numbers | Hard to navigate | Use `:L10-50` format |
510
- | No auth info on endpoints | Security gap | Always specify auth |
511
-
512
- ### Quality Thresholds
513
-
514
- **Code (`--code`):**
515
-
516
- | Metric | Good | Warning | Critical |
517
- |--------|------|---------|----------|
518
- | Avg Complexity | ≤10 | 11-15 | >15 |
519
- | Max Function Length | ≤30 | 31-50 | >50 |
520
- | High Complexity Files | 0 | 1-3 | >3 |
521
- | Circular Dependencies | 0 | 1 | >1 |
522
-
523
- **Dependencies (`--deps`):**
290
+ Each mode has a weighted completeness checklist. Score = sum(checked items × weight) / 100. **Minimum depth: L3 for feature analysis, L2 for project overview.**
524
291
 
525
- | Metric | Good | Warning | Critical |
526
- |--------|------|---------|----------|
527
- | Outdated Packages | 0-3 | 4-10 | >10 |
528
- | Security Vulnerabilities | 0 | 1-2 (low) | Any high/critical |
529
- | Major Version Behind | 0 | 1-2 | >2 |
292
+ > Read `references/quality-gate.md` for the full mode-specific weighted checklists, score grades, depth-level table, forbidden-patterns table, and quality thresholds (code/deps).
530
293
 
531
294
  ---
532
295