@su-record/vibe 3.2.1 → 3.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.en.md +4 -4
  3. package/README.md +4 -4
  4. package/dist/__tests__/skill-namespace.test.d.ts +2 -0
  5. package/dist/__tests__/skill-namespace.test.d.ts.map +1 -0
  6. package/dist/__tests__/skill-namespace.test.js +60 -0
  7. package/dist/__tests__/skill-namespace.test.js.map +1 -0
  8. package/dist/__tests__/stakes-contract.test.d.ts +2 -0
  9. package/dist/__tests__/stakes-contract.test.d.ts.map +1 -0
  10. package/dist/__tests__/stakes-contract.test.js +110 -0
  11. package/dist/__tests__/stakes-contract.test.js.map +1 -0
  12. package/dist/__tests__/wiring-integrity.test.js +5 -5
  13. package/dist/__tests__/wiring-integrity.test.js.map +1 -1
  14. package/dist/cli/generate-release-notes.d.ts +3 -0
  15. package/dist/cli/generate-release-notes.d.ts.map +1 -0
  16. package/dist/cli/generate-release-notes.js +47 -0
  17. package/dist/cli/generate-release-notes.js.map +1 -0
  18. package/dist/cli/postinstall/constants.d.ts +6 -6
  19. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  20. package/dist/cli/postinstall/constants.js +114 -46
  21. package/dist/cli/postinstall/constants.js.map +1 -1
  22. package/dist/cli/postinstall/fs-utils.d.ts +1 -0
  23. package/dist/cli/postinstall/fs-utils.d.ts.map +1 -1
  24. package/dist/cli/postinstall/fs-utils.js +25 -0
  25. package/dist/cli/postinstall/fs-utils.js.map +1 -1
  26. package/dist/cli/postinstall/fs-utils.test.js +46 -11
  27. package/dist/cli/postinstall/fs-utils.test.js.map +1 -1
  28. package/dist/cli/postinstall/main.d.ts.map +1 -1
  29. package/dist/cli/postinstall/main.js +3 -2
  30. package/dist/cli/postinstall/main.js.map +1 -1
  31. package/dist/tests/curated-release-notes.test.d.ts +2 -0
  32. package/dist/tests/curated-release-notes.test.d.ts.map +1 -0
  33. package/dist/tests/curated-release-notes.test.js +106 -0
  34. package/dist/tests/curated-release-notes.test.js.map +1 -0
  35. package/dist/tools/release/releaseNotes.d.ts +21 -0
  36. package/dist/tools/release/releaseNotes.d.ts.map +1 -0
  37. package/dist/tools/release/releaseNotes.js +105 -0
  38. package/dist/tools/release/releaseNotes.js.map +1 -0
  39. package/hooks/scripts/__tests__/.vibe/command-log.txt +3 -3
  40. package/package.json +2 -2
  41. package/skills/vibe/SKILL.md +14 -0
  42. package/skills/{agents-md → vibe.agents-md}/SKILL.md +1 -1
  43. package/skills/{brand-assets → vibe.brand-assets}/SKILL.md +1 -1
  44. package/skills/{capability-loop → vibe.capability-loop}/SKILL.md +1 -1
  45. package/skills/{chub-usage → vibe.chub-usage}/SKILL.md +1 -1
  46. package/skills/vibe.clone/SKILL.md +295 -3
  47. package/skills/{commerce-patterns → vibe.commerce-patterns}/SKILL.md +1 -1
  48. package/skills/{commit-push-pr → vibe.commit-push-pr}/SKILL.md +2 -2
  49. package/skills/{context7-usage → vibe.context7-usage}/SKILL.md +1 -1
  50. package/skills/vibe.contract/SKILL.md +162 -1
  51. package/skills/{create-prd → vibe.create-prd}/SKILL.md +2 -2
  52. package/skills/{design-refine → vibe.design-refine}/SKILL.md +1 -1
  53. package/skills/{design-review → vibe.design-review}/SKILL.md +1 -1
  54. package/skills/{design-teach → vibe.design-teach}/SKILL.md +1 -1
  55. package/skills/{devlog → vibe.devlog}/SKILL.md +1 -1
  56. package/skills/vibe.docs/SKILL.md +256 -1
  57. package/skills/{e2e-commerce → vibe.e2e-commerce}/SKILL.md +1 -1
  58. package/skills/vibe.educational-content/SKILL.md +157 -0
  59. package/skills/vibe.educational-content/references/learning-design.md +81 -0
  60. package/skills/vibe.educational-content/references/output-patterns.md +109 -0
  61. package/skills/vibe.educational-content/references/source-method.md +40 -0
  62. package/skills/{event-comms → vibe.event-comms}/SKILL.md +1 -1
  63. package/skills/{event-ops → vibe.event-ops}/SKILL.md +1 -1
  64. package/skills/{event-planning → vibe.event-planning}/SKILL.md +1 -1
  65. package/skills/vibe.figma/SKILL.md +473 -21
  66. package/skills/vibe.figma/references/branch-phases.md +1 -1
  67. package/skills/{git-worktree → vibe.git-worktree}/SKILL.md +1 -1
  68. package/skills/{handoff → vibe.handoff}/SKILL.md +1 -1
  69. package/skills/{parallel-research → vibe.parallel-research}/SKILL.md +2 -2
  70. package/skills/{presentation → vibe.presentation}/SKILL.md +1 -1
  71. package/skills/{prioritization-frameworks → vibe.prioritization}/SKILL.md +2 -2
  72. package/skills/{priority-todos → vibe.priority-todos}/SKILL.md +1 -1
  73. package/skills/{vercel-react-best-practices → vibe.react-best-practices}/SKILL.md +1 -1
  74. package/skills/vibe.regress/SKILL.md +182 -2
  75. package/skills/vibe.review/SKILL.md +8 -0
  76. package/skills/vibe.run/SKILL.md +392 -1
  77. package/skills/{arch-guard → vibe.run/internal/arch-guard}/templates/violation-report.md +1 -1
  78. package/skills/{seo-checklist → vibe.seo-checklist}/SKILL.md +1 -1
  79. package/skills/vibe.spec/SKILL.md +123 -1
  80. package/skills/vibe.test/SKILL.md +138 -2
  81. package/skills/{tool-fallback → vibe.tool-fallback}/SKILL.md +1 -1
  82. package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/SKILL.md +6 -6
  83. package/skills/{user-personas → vibe.user-personas}/SKILL.md +2 -2
  84. package/skills/vibe.verify/SKILL.md +2 -2
  85. package/skills/{video-production → vibe.video-production}/SKILL.md +1 -1
  86. package/vibe/rules/loop-contract.md +18 -0
  87. package/skills/arch-guard/SKILL.md +0 -183
  88. package/skills/clone/SKILL.md +0 -296
  89. package/skills/contract/SKILL.md +0 -165
  90. package/skills/docs/SKILL.md +0 -259
  91. package/skills/exec-plan/SKILL.md +0 -151
  92. package/skills/figma/SKILL.md +0 -456
  93. package/skills/regress/SKILL.md +0 -184
  94. package/skills/restraint/SKILL.md +0 -72
  95. package/skills/spec/SKILL.md +0 -125
  96. package/skills/test/SKILL.md +0 -140
  97. /package/skills/{agents-md → vibe.agents-md}/rubrics/what-to-keep.md +0 -0
  98. /package/skills/{agents-md → vibe.agents-md}/templates/agents-md.md +0 -0
  99. /package/skills/{agents-md → vibe.agents-md}/templates/claude-md.md +0 -0
  100. /package/skills/{brand-assets → vibe.brand-assets}/rubrics/asset-checklist.md +0 -0
  101. /package/skills/{brand-assets → vibe.brand-assets}/templates/brand-guide.md +0 -0
  102. /package/skills/{capability-loop → vibe.capability-loop}/agents/capability-designer.md +0 -0
  103. /package/skills/{capability-loop → vibe.capability-loop}/agents/failure-analyst.md +0 -0
  104. /package/skills/{capability-loop → vibe.capability-loop}/agents/implementer.md +0 -0
  105. /package/skills/{capability-loop → vibe.capability-loop}/agents/tester.md +0 -0
  106. /package/skills/{capability-loop → vibe.capability-loop}/templates/capability-spec.md +0 -0
  107. /package/skills/{capability-loop → vibe.capability-loop}/templates/failure-analysis.md +0 -0
  108. /package/skills/{clone → vibe.clone}/references/capture-rules.md +0 -0
  109. /package/skills/{clone → vibe.clone}/references/legal-and-error-recovery.md +0 -0
  110. /package/skills/{clone → vibe.clone}/references/refine-rules.md +0 -0
  111. /package/skills/{clone → vibe.clone}/references/scaffold-phases.md +0 -0
  112. /package/skills/{clone → vibe.clone}/references/setup-and-layout.md +0 -0
  113. /package/skills/{commerce-patterns → vibe.commerce-patterns}/rubrics/checkout-flow.md +0 -0
  114. /package/skills/{commerce-patterns → vibe.commerce-patterns}/templates/product-schema.md +0 -0
  115. /package/skills/{commit-push-pr → vibe.commit-push-pr}/agents/change-analyzer.md +0 -0
  116. /package/skills/{commit-push-pr → vibe.commit-push-pr}/agents/message-writer.md +0 -0
  117. /package/skills/{commit-push-pr → vibe.commit-push-pr}/agents/pr-writer.md +0 -0
  118. /package/skills/{commit-push-pr → vibe.commit-push-pr}/agents/reviewer.md +0 -0
  119. /package/skills/{commit-push-pr → vibe.commit-push-pr}/rubrics/commit-message.md +0 -0
  120. /package/skills/{commit-push-pr → vibe.commit-push-pr}/templates/pr-body.md +0 -0
  121. /package/skills/{context7-usage → vibe.context7-usage}/rubrics/when-to-use.md +0 -0
  122. /package/skills/{create-prd → vibe.create-prd}/agents/edge-case-finder.md +0 -0
  123. /package/skills/{create-prd → vibe.create-prd}/agents/prioritizer.md +0 -0
  124. /package/skills/{create-prd → vibe.create-prd}/agents/requirements-writer.md +0 -0
  125. /package/skills/{create-prd → vibe.create-prd}/agents/researcher.md +0 -0
  126. /package/skills/{create-prd → vibe.create-prd}/agents/reviewer.md +0 -0
  127. /package/skills/{create-prd → vibe.create-prd}/frameworks/jobs-to-be-done.md +0 -0
  128. /package/skills/{create-prd → vibe.create-prd}/frameworks/rice-scoring.md +0 -0
  129. /package/skills/{create-prd → vibe.create-prd}/orchestrator.md +0 -0
  130. /package/skills/{create-prd → vibe.create-prd}/rubrics/completeness.md +0 -0
  131. /package/skills/{create-prd → vibe.create-prd}/templates/prd.md +0 -0
  132. /package/skills/{design-refine → vibe.design-refine}/rubrics/polish-checklist.md +0 -0
  133. /package/skills/{design-refine → vibe.design-refine}/rubrics/token-naming.md +0 -0
  134. /package/skills/{design-refine → vibe.design-refine}/templates/design-system.md +0 -0
  135. /package/skills/{design-refine → vibe.design-refine}/templates/polish-report.md +0 -0
  136. /package/skills/{design-refine → vibe.design-refine}/templates/token-audit.md +0 -0
  137. /package/skills/{design-review → vibe.design-review}/agents/a11y-auditor.md +0 -0
  138. /package/skills/{design-review → vibe.design-review}/agents/performance-auditor.md +0 -0
  139. /package/skills/{design-review → vibe.design-review}/agents/responsive-auditor.md +0 -0
  140. /package/skills/{design-review → vibe.design-review}/agents/scorer.md +0 -0
  141. /package/skills/{design-review → vibe.design-review}/agents/slop-detector.md +0 -0
  142. /package/skills/{design-review → vibe.design-review}/frameworks/core-web-vitals.md +0 -0
  143. /package/skills/{design-review → vibe.design-review}/frameworks/wcag-checklist.md +0 -0
  144. /package/skills/{design-review → vibe.design-review}/orchestrator.md +0 -0
  145. /package/skills/{design-review → vibe.design-review}/rubrics/ai-slop-patterns.md +0 -0
  146. /package/skills/{design-review → vibe.design-review}/rubrics/scoring.md +0 -0
  147. /package/skills/{design-review → vibe.design-review}/rubrics/ux-heuristics.md +0 -0
  148. /package/skills/{design-review → vibe.design-review}/templates/critique-report.md +0 -0
  149. /package/skills/{design-review → vibe.design-review}/templates/report.md +0 -0
  150. /package/skills/{design-teach → vibe.design-teach}/rubrics/brand-personality.md +0 -0
  151. /package/skills/{design-teach → vibe.design-teach}/templates/design-context.json +0 -0
  152. /package/skills/{docs → vibe.docs}/references/api-docs-changelog.md +0 -0
  153. /package/skills/{docs → vibe.docs}/references/codemaps-output.md +0 -0
  154. /package/skills/{docs → vibe.docs}/references/diagram-spec.md +0 -0
  155. /package/skills/{docs → vibe.docs}/templates/architecture.md +0 -0
  156. /package/skills/{docs → vibe.docs}/templates/behavioral-principles.md +0 -0
  157. /package/skills/{docs → vibe.docs}/templates/readme.md +0 -0
  158. /package/skills/{docs → vibe.docs}/templates/release-notes.md +0 -0
  159. /package/skills/{e2e-commerce → vibe.e2e-commerce}/templates/test-scenarios.md +0 -0
  160. /package/skills/{event-comms → vibe.event-comms}/templates/email-invite.md +0 -0
  161. /package/skills/{event-comms → vibe.event-comms}/templates/sns-post.md +0 -0
  162. /package/skills/{event-ops → vibe.event-ops}/rubrics/contingency.md +0 -0
  163. /package/skills/{event-ops → vibe.event-ops}/templates/d-day-checklist.md +0 -0
  164. /package/skills/{event-planning → vibe.event-planning}/rubrics/timeline.md +0 -0
  165. /package/skills/{event-planning → vibe.event-planning}/templates/event-plan.md +0 -0
  166. /package/skills/{figma → vibe.figma}/rubrics/conversion-rules.md +0 -0
  167. /package/skills/{figma → vibe.figma}/rubrics/css-mapping.md +0 -0
  168. /package/skills/{figma → vibe.figma}/rubrics/extraction-checklist.md +0 -0
  169. /package/skills/{figma → vibe.figma}/rubrics/image-rules.md +0 -0
  170. /package/skills/{figma → vibe.figma}/templates/component-index.md +0 -0
  171. /package/skills/{figma → vibe.figma}/templates/component-spec.md +0 -0
  172. /package/skills/{figma → vibe.figma}/templates/component.md +0 -0
  173. /package/skills/{figma → vibe.figma}/templates/figma-handoff.md +0 -0
  174. /package/skills/{figma → vibe.figma}/templates/remapped-tree.md +0 -0
  175. /package/skills/{git-worktree → vibe.git-worktree}/rubrics/when-to-use.md +0 -0
  176. /package/skills/{handoff → vibe.handoff}/agents/context-summarizer.md +0 -0
  177. /package/skills/{handoff → vibe.handoff}/agents/document-writer.md +0 -0
  178. /package/skills/{handoff → vibe.handoff}/agents/state-collector.md +0 -0
  179. /package/skills/{handoff → vibe.handoff}/agents/verifier.md +0 -0
  180. /package/skills/{handoff → vibe.handoff}/rubrics/completeness.md +0 -0
  181. /package/skills/{handoff → vibe.handoff}/templates/handoff.md +0 -0
  182. /package/skills/{parallel-research → vibe.parallel-research}/agents/best-practices.md +0 -0
  183. /package/skills/{parallel-research → vibe.parallel-research}/agents/codebase-patterns.md +0 -0
  184. /package/skills/{parallel-research → vibe.parallel-research}/agents/framework-docs.md +0 -0
  185. /package/skills/{parallel-research → vibe.parallel-research}/agents/security-advisory.md +0 -0
  186. /package/skills/{parallel-research → vibe.parallel-research}/agents/synthesizer.md +0 -0
  187. /package/skills/{parallel-research → vibe.parallel-research}/experts/best-practices.md +0 -0
  188. /package/skills/{parallel-research → vibe.parallel-research}/experts/codebase-patterns.md +0 -0
  189. /package/skills/{parallel-research → vibe.parallel-research}/experts/framework-docs.md +0 -0
  190. /package/skills/{parallel-research → vibe.parallel-research}/experts/security-advisory.md +0 -0
  191. /package/skills/{parallel-research → vibe.parallel-research}/orchestrator.md +0 -0
  192. /package/skills/{parallel-research → vibe.parallel-research}/templates/awesome-list.md +0 -0
  193. /package/skills/{parallel-research → vibe.parallel-research}/templates/paper.md +0 -0
  194. /package/skills/{parallel-research → vibe.parallel-research}/templates/synthesis.md +0 -0
  195. /package/skills/{presentation → vibe.presentation}/references/style-presets.md +0 -0
  196. /package/skills/{prioritization-frameworks → vibe.prioritization}/rubrics/frameworks.md +0 -0
  197. /package/skills/{prioritization-frameworks → vibe.prioritization}/templates/scoring-matrix.md +0 -0
  198. /package/skills/{priority-todos → vibe.priority-todos}/rubrics/prioritization.md +0 -0
  199. /package/skills/{priority-todos → vibe.priority-todos}/templates/todo-board.md +0 -0
  200. /package/skills/{vercel-react-best-practices → vibe.react-best-practices}/rubrics/performance.md +0 -0
  201. /package/skills/{vercel-react-best-practices → vibe.react-best-practices}/rubrics/server-components.md +0 -0
  202. /package/skills/{regress → vibe.regress}/templates/bug.md +0 -0
  203. /package/skills/{regress → vibe.regress}/templates/test-jest.md +0 -0
  204. /package/skills/{regress → vibe.regress}/templates/test-vitest.md +0 -0
  205. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/agents/detector.md +0 -0
  206. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/agents/reporter.md +0 -0
  207. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/agents/rule-generator.md +0 -0
  208. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/agents/violation-checker.md +0 -0
  209. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/frameworks/clean-architecture.md +0 -0
  210. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/frameworks/solid.md +0 -0
  211. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/scripts/check-boundaries.js +0 -0
  212. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/templates/arch-rules.json +0 -0
  213. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/agents/decomposer.md +0 -0
  214. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/agents/dependency-mapper.md +0 -0
  215. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/agents/estimator.md +0 -0
  216. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/agents/validator.md +0 -0
  217. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/orchestrator.md +0 -0
  218. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/rubrics/complexity-scoring.md +0 -0
  219. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/templates/plan.md +0 -0
  220. /package/skills/{seo-checklist → vibe.seo-checklist}/frameworks/structured-data.md +0 -0
  221. /package/skills/{seo-checklist → vibe.seo-checklist}/rubrics/content-seo.md +0 -0
  222. /package/skills/{seo-checklist → vibe.seo-checklist}/rubrics/technical-seo.md +0 -0
  223. /package/skills/{tool-fallback → vibe.tool-fallback}/rubrics/fallback-chain.md +0 -0
  224. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/color-and-contrast.md +0 -0
  225. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/interaction-design.md +0 -0
  226. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/motion-design.md +0 -0
  227. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/responsive-design.md +0 -0
  228. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/spatial-design.md +0 -0
  229. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/typography.md +0 -0
  230. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/ux-writing.md +0 -0
  231. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/rubrics/interaction-states.md +0 -0
  232. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/rubrics/responsive-breakpoints.md +0 -0
  233. /package/skills/{user-personas → vibe.user-personas}/rubrics/research-methods.md +0 -0
  234. /package/skills/{user-personas → vibe.user-personas}/templates/persona.md +0 -0
  235. /package/skills/{video-production → vibe.video-production}/rubrics/quality-checklist.md +0 -0
  236. /package/skills/{video-production → vibe.video-production}/templates/production-plan.md +0 -0
package/CLAUDE.md CHANGED
@@ -126,7 +126,7 @@ $vibe "<requirement>" [+ 📎 attachments] # Codex
126
126
 
127
127
  ## Skill Tiers
128
128
 
129
- 3 tiers prevent context overload: **core** (always active) / **standard** (project-setup selected) / **optional** (explicit `/skill` only). SSOT: `GLOBAL_SKILLS_CORE` + `GLOBAL_SKILLS_STANDARD` in `src/cli/postinstall/constants.ts`. Proactive triggers live in each skill's frontmatter.
129
+ Public skills use the `vibe.*` namespace and are classified as **entry** / **standard** / **optional or project-local**. Core behavior is bundled inside the relevant public skill and is never exposed as a separate discovery entry. SSOT: `GLOBAL_SKILLS_ENTRY`, `GLOBAL_SKILLS_STANDARD`, and the stack/capability mappings in `src/cli/postinstall/constants.ts`.
130
130
 
131
131
  ## Context Management
132
132
 
package/README.en.md CHANGED
@@ -189,13 +189,13 @@ Detection at edit time, blocking at deterministic gates:
189
189
 
190
190
  **7+ agents** — 7 global goal-oriented agents (architect, implementer, tester, code-reviewer, security-reviewer, …) + 4 conditional (UI/Event — installed project-locally only when the stack/capability matches; 11 total). Agents are delegated by goal + constraints + Done criteria, not step scripts; exploration, planning, and parallelism use the harness's native subagents directly.
191
191
 
192
- **60 skills** — Not all loaded at once. 3-tier system prevents context overload:
192
+ **51 skills** — Not all loaded at once. Every public skill uses the `vibe.*` namespace, while internal core behavior is bundled into the public skill body:
193
193
 
194
194
  | Tier | When loaded | Purpose | Examples |
195
195
  |------|-------------|---------|----------|
196
- | **Core** | Always active | Gate entry, restraint principles | spec, test, restraint, arch-guard |
197
- | **Standard** | `vibe init` selects by stack | Stack/capability support | figma, design-review, docs |
198
- | **Optional** | Explicit `/skill` only | Reference, wrappers | chub-usage, context7 |
196
+ | **Entry** | Globally installed | Public workflow entry points | vibe.spec, vibe.test, vibe.docs |
197
+ | **Standard** | Globally installed | Shared workflow support | vibe.handoff, vibe.agents-md |
198
+ | **Optional/Local** | Explicit invocation or project install | Stack/capability support | vibe.chub-usage, vibe.design-review |
199
199
 
200
200
  Skills teach only what the model doesn't know (domain gotchas, current APIs, project conventions). Skills that re-taught basics like "how to debug" were deleted in v3.
201
201
 
package/README.md CHANGED
@@ -161,13 +161,13 @@ codex
161
161
 
162
162
  **7+ 에이전트** — 전역 7개(architect, implementer, tester, code-reviewer, security-reviewer 등) + 조건부 그룹 4개(UI/Event — 해당 스택 프로젝트에만 로컬 설치, 총 11개). 단계별 지시 스크립트가 아니라 목표+제약+Done 기준으로 위임하고, 탐색·계획·병렬 실행은 하네스의 네이티브 서브에이전트를 그대로 사용합니다.
163
163
 
164
- **60개 스킬** — 한 번에 다 로드되지 않음. 3-tier 시스템으로 컨텍스트 과부하 방지:
164
+ **51개 스킬** — 한 번에 다 로드되지 않음. 공개 스킬은 모두 `vibe.*` namespace를 사용하며, 내부 core 동작은 공개 스킬 본문에 통합됩니다:
165
165
 
166
166
  | 티어 | 로드 시점 | 용도 | 예시 |
167
167
  |------|----------|------|------|
168
- | **Core** | 항상 활성 | 게이트 진입, 절제 원칙 | spec, test, restraint, arch-guard |
169
- | **Standard** | `vibe init`이 스택별 선택 | 스택/역할 지원 | figma, design-review, docs |
170
- | **Optional** | 명시적 `/skill` 호출만 | 레퍼런스, 래퍼 | chub-usage, context7 |
168
+ | **Entry** | 전역 설치 | 공개 워크플로 진입점 | vibe.spec, vibe.test, vibe.docs |
169
+ | **Standard** | 전역 설치 | 공통 워크플로 지원 | vibe.handoff, vibe.agents-md |
170
+ | **Optional/Local** | 명시 호출 또는 프로젝트별 설치 | 스택·capability 지원 | vibe.chub-usage, vibe.design-review |
171
171
 
172
172
  스킬이 가르치는 것은 모델이 모르는 것(도메인 gotcha, 최신 API, 프로젝트 규약)뿐입니다. 디버깅하는 법 같은 기본기 재교육 스킬은 v3에서 전부 삭제됐습니다.
173
173
 
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=skill-namespace.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-namespace.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/skill-namespace.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ import { existsSync, readdirSync, readFileSync } from 'node:fs';
2
+ import { resolve } from 'node:path';
3
+ import { describe, expect, it } from 'vitest';
4
+ import { CAPABILITY_SKILLS, GLOBAL_SKILLS, GLOBAL_SKILLS_OPTIONAL, STACK_TO_SKILLS, } from '../cli/postinstall/constants.js';
5
+ const SKILLS_DIR = resolve('skills');
6
+ const MAX_SKILL_NAME_LENGTH = 32;
7
+ function skillNames() {
8
+ return readdirSync(SKILLS_DIR, { withFileTypes: true })
9
+ .filter((entry) => entry.isDirectory() && existsSync(resolve(SKILLS_DIR, entry.name, 'SKILL.md')))
10
+ .map((entry) => {
11
+ const content = readFileSync(resolve(SKILLS_DIR, entry.name, 'SKILL.md'), 'utf8');
12
+ const name = /^name:\s*(.+)$/m.exec(content)?.[1]?.trim() ?? '';
13
+ return { directory: entry.name, name };
14
+ });
15
+ }
16
+ function mappedSkills() {
17
+ const stackSkills = Object.values(STACK_TO_SKILLS).flat();
18
+ const capabilitySkills = Object.values(CAPABILITY_SKILLS).flat();
19
+ return [...GLOBAL_SKILLS, ...GLOBAL_SKILLS_OPTIONAL, ...stackSkills, ...capabilitySkills];
20
+ }
21
+ describe('skill namespace contract', () => {
22
+ it('REQ-skill-namespace-001 namespaces every exposed skill within the length limit', () => {
23
+ const exposed = mappedSkills();
24
+ expect(exposed.every((name) => name === 'vibe' || name.startsWith('vibe.'))).toBe(true);
25
+ expect(exposed.every((name) => name.length <= MAX_SKILL_NAME_LENGTH)).toBe(true);
26
+ });
27
+ it('keeps directory names and frontmatter names unique and identical', () => {
28
+ const skills = skillNames();
29
+ const names = skills.map(({ name }) => name);
30
+ expect(skills.every(({ directory, name }) => directory === name)).toBe(true);
31
+ expect(new Set(names).size).toBe(names.length);
32
+ });
33
+ it('REQ-skill-namespace-003 namespaces every Vibe-owned install mapping', () => {
34
+ expect(mappedSkills().every((name) => name === 'vibe' || name.startsWith('vibe.'))).toBe(true);
35
+ });
36
+ it('REQ-skill-namespace-002 exposes one public skill for every former wrapper pair', () => {
37
+ const names = skillNames().map(({ name }) => name);
38
+ const expected = ['spec', 'test', 'contract', 'regress', 'figma', 'clone', 'docs'];
39
+ expect(names.some((name) => name.startsWith('vibe.core.'))).toBe(false);
40
+ expect(expected.every((name) => names.includes(`vibe.${name}`))).toBe(true);
41
+ });
42
+ it('bundles internal core behavior without separate discovery entries', () => {
43
+ const names = skillNames().map(({ name }) => name);
44
+ const run = readFileSync(resolve('skills/vibe.run/SKILL.md'), 'utf8');
45
+ expect(['arch-guard', 'exec-plan', 'restraint'].every((name) => !names.includes(name))).toBe(true);
46
+ expect(run).toContain('## Bundled internal: arch-guard');
47
+ expect(run).toContain('## Bundled internal: exec-plan');
48
+ expect(run).toContain('## Bundled internal: restraint');
49
+ });
50
+ it('REQ-skill-namespace-005 preserves dots in Load skill references', () => {
51
+ const validator = readFileSync(resolve('scripts/validate-skill-invocation.ts'), 'utf8');
52
+ expect(validator).toContain('[\\w.:-]*');
53
+ });
54
+ it('routes every owned skill in the generated catalog', () => {
55
+ const catalog = readFileSync(resolve('SKILL-CATALOG.md'), 'utf8');
56
+ expect(catalog).toContain('`vibe.spec` (global)');
57
+ expect(catalog).not.toMatch(/`vibe(?:\.[^`]+)?` \(unrouted\)/);
58
+ });
59
+ });
60
+ //# sourceMappingURL=skill-namespace.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-namespace.test.js","sourceRoot":"","sources":["../../src/__tests__/skill-namespace.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stakes-contract.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakes-contract.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/stakes-contract.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,110 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+ /**
5
+ * Stakes-proportional pipeline — 정적 계약 테스트 (SPEC: stakes-proportional-pipeline).
6
+ *
7
+ * 스킬 본문 규칙은 모델이 읽는 계약이므로, 규칙이 각 파일에 존재·유지되는지를
8
+ * 순수 fs 검사로 고정한다 (wiring-integrity 선례). D1–D5 게이트.
9
+ */
10
+ const ROOT = path.resolve(__dirname, '..', '..');
11
+ function read(rel) {
12
+ return fs.readFileSync(path.join(ROOT, rel), 'utf-8');
13
+ }
14
+ describe('D2 — loop-contract.md: Stakes 매핑 SSOT', () => {
15
+ const doc = read('vibe/rules/loop-contract.md');
16
+ it('stakes 파라미터가 기본값 production 으로 정의된다', () => {
17
+ expect(doc).toMatch(/\|\s*`stakes`\s*\|\s*`production`\s*\|/);
18
+ });
19
+ it('Stakes 매핑 표에 demo/prototype/production 3단계가 있다', () => {
20
+ for (const level of ['`demo`', '`prototype`', '`production`']) {
21
+ expect(doc, `Stakes 표에 ${level} 행 누락`).toContain(level);
22
+ }
23
+ });
24
+ it('demo/prototype 는 max_iterations 1 + 검증 스크립트 신규 생성 금지', () => {
25
+ expect(doc).toContain('신규 생성 금지');
26
+ expect(doc).toMatch(/`demo`[^\n]*\|\s*1\s*\|/);
27
+ });
28
+ it('불확실 시 상향(production) 원칙이 명시된다', () => {
29
+ expect(doc).toMatch(/불확실하면 항상 상향|불확실하면 상향/);
30
+ });
31
+ it('JUDGE 검증 산출물 절제: git diff --numstat 기반 P2 경고 (advisory)', () => {
32
+ expect(doc).toContain('JUDGE 검증 산출물 절제');
33
+ expect(doc).toContain('git diff --numstat');
34
+ expect(doc).toContain('P2');
35
+ expect(doc).toMatch(/게이트 통과 여부를 바꾸지 않는다/);
36
+ });
37
+ it('production 기본 동작 불변: max_iterations 기본 10 유지', () => {
38
+ expect(doc).toMatch(/\|\s*`max_iterations`\s*\|\s*10\s*\|/);
39
+ });
40
+ });
41
+ describe('D1 — vibe 디스패처: stakes 분류 규칙', () => {
42
+ const doc = read('skills/vibe/SKILL.md');
43
+ it('Phase 1-b Stakes 분류 섹션이 존재한다', () => {
44
+ expect(doc).toContain('Phase 1-b: Stakes 분류');
45
+ });
46
+ it('경량 프로파일 매핑(--max-iter 1, 리뷰 1패스, 검증 스크립트 신규 생성 금지)이 명시된다', () => {
47
+ expect(doc).toContain('--max-iter 1');
48
+ expect(doc).toContain('리뷰 1패스');
49
+ expect(doc).toContain('검증 스크립트 신규 생성 금지');
50
+ });
51
+ it('SSOT 로 loop-contract.md 를 참조한다', () => {
52
+ expect(doc).toMatch(/loop-contract\.md[^\n]*Stakes|Stakes[^\n]*loop-contract\.md/);
53
+ });
54
+ it('불확실 시 상향 + SPEC 승인 편승 질문이 명시된다', () => {
55
+ expect(doc).toContain('불확실하면 상향');
56
+ expect(doc).toMatch(/SPEC 승인 메시지에 stakes 확인 질문/);
57
+ });
58
+ });
59
+ describe('D3 — vibe.spec: 승인 게이트 stakes 편승 질문', () => {
60
+ const doc = read('skills/vibe.spec/SKILL.md');
61
+ it('Stakes 편승 질문 규칙이 승인 섹션에 존재한다', () => {
62
+ expect(doc).toContain('Stakes 편승 질문');
63
+ expect(doc).toMatch(/demo\/prototype\/production/);
64
+ });
65
+ it('별도 추가 왕복 금지가 명시된다', () => {
66
+ expect(doc).toMatch(/추가 확인 왕복을 만들지 않는다/);
67
+ });
68
+ });
69
+ describe('D4 — vibe.run: stakes 프로파일 + JUDGE 절제 참조', () => {
70
+ const doc = read('skills/vibe.run/SKILL.md');
71
+ it('Stakes 프로파일 섹션이 loop-contract 를 SSOT 로 참조한다', () => {
72
+ expect(doc).toContain('Stakes 프로파일');
73
+ expect(doc).toMatch(/SSOT[^\n]*loop-contract\.md/);
74
+ });
75
+ it('demo/prototype 에서 검증 스크립트 신규 생성 금지가 명시된다', () => {
76
+ expect(doc).toContain('검증 스크립트 신규 생성 금지');
77
+ });
78
+ it('JUDGE 검증 산출물 절제(P2, git diff --numstat, advisory)가 명시된다', () => {
79
+ expect(doc).toContain('git diff --numstat');
80
+ expect(doc).toMatch(/P2 경고/);
81
+ expect(doc).toMatch(/advisory/);
82
+ });
83
+ });
84
+ describe('D5 — vibe.review: 리뷰어 스케일링', () => {
85
+ const doc = read('skills/vibe.review/SKILL.md');
86
+ it('스케일링 표가 존재한다 (demo ≤5 → 2종)', () => {
87
+ expect(doc).toContain('리뷰어 스케일링');
88
+ expect(doc).toMatch(/demo[^\n]*≤5[^\n]*2종/);
89
+ });
90
+ it('production 행은 기존 Core Reviewers 전체를 유지한다', () => {
91
+ expect(doc).toMatch(/production[^\n]*Core Reviewers 전체/);
92
+ // 기존 기본 셋 불변 검증 — Core Reviewers 표의 focus 들이 그대로 존재
93
+ for (const focus of [
94
+ 'security-reviewer',
95
+ 'focus: correctness',
96
+ 'focus: data-integrity',
97
+ 'focus: performance',
98
+ 'focus: architecture',
99
+ 'focus: complexity',
100
+ 'focus: git-history',
101
+ 'focus: test-coverage',
102
+ ]) {
103
+ expect(doc, `Core Reviewers 에서 ${focus} 가 사라짐 — production 불변 위반`).toContain(focus);
104
+ }
105
+ });
106
+ it('SSOT 로 loop-contract.md 를 참조한다', () => {
107
+ expect(doc).toMatch(/loop-contract\.md[^\n]*Stakes/);
108
+ });
109
+ });
110
+ //# sourceMappingURL=stakes-contract.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakes-contract.test.js","sourceRoot":"","sources":["../../src/__tests__/stakes-contract.test.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,8 @@ const RULES_DIR = path.join(ROOT, 'vibe', 'rules');
22
22
  // ---------------------------------------------------------------------------
23
23
  /**
24
24
  * SKILL.md 본문에서 체인 호출("Load skill `X`" 및 한국어 "`X` 스킬을 로드")로
25
- * 참조된 body 스킬 이름을 추출한다. `figma:figma-use` 처럼 subcommand
26
- * 붙은 경우 ':' 앞부분(실제 스킬 디렉토리명) 취한다.
25
+ * 참조된 body 스킬 이름을 추출한다. `figma:figma-use` 처럼 ':' 포함된
26
+ * plugin-qualified 참조(외부 플러그인 스킬) vibe 설치 목록 대상이 아니므로 제외한다.
27
27
  */
28
28
  function extractChainedSkills(content) {
29
29
  const names = new Set();
@@ -31,9 +31,9 @@ function extractChainedSkills(content) {
31
31
  for (const re of patterns) {
32
32
  let match;
33
33
  while ((match = re.exec(content)) !== null) {
34
- const base = match[1].trim().split(':')[0].trim();
35
- if (base)
36
- names.add(base);
34
+ const name = match[1].trim();
35
+ if (name && !name.includes(':'))
36
+ names.add(name);
37
37
  }
38
38
  }
39
39
  return [...names];
@@ -1 +1 @@
1
- {"version":3,"file":"wiring-integrity.test.js","sourceRoot":"","sources":["../../src/__tests__/wiring-integrity.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiring-integrity.test.js","sourceRoot":"","sources":["../../src/__tests__/wiring-integrity.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AAEzC;;;;;;GAMG;AAEH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,8EAA8E;AAC9E,0CAA0C;AAC1C,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAAC;IAErE,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,GAA0C;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS;QACrC,GAAG,aAAa;QAChB,GAAG,UAAU,CAAC,eAAe,CAAC;QAC9B,GAAG,UAAU,CAAC,iBAAiB,CAAC;QAChC,GAAG,sBAAsB;KAC1B,CAAC,CAAC;IAEH,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAE/D,EAAE,CAAC,GAAG,SAAS,mBAAmB,EAAE,GAAG,EAAE;YACvC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,kBAAkB,SAAS,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QAExC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEjD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,EAAE,CAAC,GAAG,SAAS,+BAA+B,IAAI,iBAAiB,EAAE,GAAG,EAAE;gBACxE,MAAM,CACJ,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EACxB,UAAU,SAAS,2BAA2B,IAAI,gCAAgC;oBAChF,gFAAgF;oBAChF,aAAa,IAAI,gEAAgE,CACpF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,uCAAuC;AACvC,8EAA8E;AAE9E,SAAS,sBAAsB;IAC7B,OAAO,EAAE;SACN,WAAW,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SACtD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC/D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,yBAAyB,CAAC,UAAkB;IACnD,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACpF,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5E,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB,EAAE,KAAe;IAC9D,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG;QACnB,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9D,GAAG,QAAQ,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACtE,CAAC;IAEF,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,EAAE,CAAC,GAAG,UAAU,gEAAgE,EAAE,GAAG,EAAE;YACrF,MAAM,UAAU,GACd,mBAAmB,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBAC7D,yBAAyB,CAAC,UAAU,CAAC;gBACrC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACzC,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAEhD,MAAM,CACJ,UAAU,EACV,iBAAiB,UAAU,2DAA2D;gBACpF,oFAAoF;gBACpF,kDAAkD,CACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,aAAa,GAA0B,EAAE,CAAC;AAEhD,SAAS,qBAAqB;IAC5B,OAAO,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB,EAAE,GAAW;IAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CACxE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC3D,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,SAAS,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAE3C,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,EAAE,CAAC,GAAG,SAAS,gFAAgF,EAAE,GAAG,EAAE;YACpG,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO;YAE9C,MAAM,UAAU,GACd,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC;gBAC7C,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC;gBAC5C,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAE/B,MAAM,CACJ,UAAU,EACV,UAAU,SAAS,yDAAyD;gBAC1E,0EAA0E;gBAC1E,wFAAwF,CAC3F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=generate-release-notes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-release-notes.d.ts","sourceRoot":"","sources":["../../src/cli/generate-release-notes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env node
2
+ import { execFileSync } from 'node:child_process';
3
+ import { readFileSync, writeFileSync } from 'node:fs';
4
+ import { createReleaseNotes, selectPreviousSemanticTag, } from '../tools/release/releaseNotes.js';
5
+ const FIELD_SEPARATOR = '\u001f';
6
+ const RECORD_SEPARATOR = '\u001e';
7
+ function git(args) {
8
+ return execFileSync('git', args, { encoding: 'utf8' }).trim();
9
+ }
10
+ function parseCommits(raw) {
11
+ return raw.split(RECORD_SEPARATOR)
12
+ .map((record) => record.trim())
13
+ .filter((record) => Boolean(record))
14
+ .map((record) => {
15
+ const [subject = '', body = ''] = record.split(FIELD_SEPARATOR);
16
+ return { subject: subject.trim(), body: body.trim() };
17
+ });
18
+ }
19
+ function loadSpecs(range, currentTag) {
20
+ const paths = git(['diff', '--name-only', '--diff-filter=AMR', range, '--', '.vibe/specs'])
21
+ .split('\n')
22
+ .map((path) => path.trim())
23
+ .filter((path) => path.endsWith('.md'));
24
+ return paths.map((path) => ({ path, content: git(['show', `${currentTag}:${path}`]) }));
25
+ }
26
+ function validatePackageVersion(currentTag) {
27
+ const packageJson = JSON.parse(readFileSync('package.json', 'utf8'));
28
+ if (packageJson.version !== currentTag.slice(1)) {
29
+ throw new Error(`Tag ${currentTag} does not match package version ${String(packageJson.version)}`);
30
+ }
31
+ }
32
+ function loadReleaseInput(currentTag) {
33
+ validatePackageVersion(currentTag);
34
+ const tags = git(['tag', '--merged', currentTag]).split('\n').filter((tag) => Boolean(tag));
35
+ const previousTag = selectPreviousSemanticTag(tags, currentTag);
36
+ const range = `${previousTag}..${currentTag}`;
37
+ const rawCommits = git(['log', range, `--format=%s${FIELD_SEPARATOR}%b${RECORD_SEPARATOR}`]);
38
+ return { currentTag, previousTag, specs: loadSpecs(range, currentTag), commits: parseCommits(rawCommits) };
39
+ }
40
+ function main(args) {
41
+ const [currentTag, outputPath] = args;
42
+ if (!currentTag || !outputPath)
43
+ throw new Error('Usage: generate-release-notes <tag> <output-file>');
44
+ writeFileSync(outputPath, createReleaseNotes(loadReleaseInput(currentTag)), 'utf8');
45
+ }
46
+ main(process.argv.slice(2));
47
+ //# sourceMappingURL=generate-release-notes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-release-notes.js","sourceRoot":"","sources":["../../src/cli/generate-release-notes.ts"],"names":[],"mappings":"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"}
@@ -2,18 +2,14 @@
2
2
  * 상수 데이터
3
3
  */
4
4
  /**
5
- * 전역 설치 스킬 (postinstall → ~/.claude/skills/) — 티어 기반 분류
6
- *
7
- * core: 실제 버그/실수를 방지하는 안전망 — 항상 활성
8
- * standard: 워크플로우 지원 — 프로젝트 설정 시 선택 활성
9
- * optional: 참고/래퍼 — 명시적 호출 시에만 로드 (전역 설치에서 제외)
5
+ * 전역 설치 스킬 (postinstall → ~/.claude/skills/) — 공개 분류
6
+ * 내부 core 동작은 관련 공개 스킬 본문에 통합하며 별도 discovery 항목으로 설치하지 않는다.
10
7
  */
11
8
  /**
12
9
  * 도트 진입점 스킬 (예: vibe.spec)
13
10
  * Claude Code에서는 slash-style 진입점으로, Codex에서는 `/skills` 또는 `$vibe.spec`로 호출된다.
14
11
  */
15
12
  export declare const GLOBAL_SKILLS_ENTRY: ReadonlyArray<string>;
16
- export declare const GLOBAL_SKILLS_CORE: ReadonlyArray<string>;
17
13
  export declare const GLOBAL_SKILLS_STANDARD: ReadonlyArray<string>;
18
14
  /** 전역 설치에서 제외된 스킬 (명시적 /skill-name 호출 시에만 활성)
19
15
  * 사유: 표준 도구 래퍼이거나 구체성 부족 — 직접 프롬프트가 더 효과적 */
@@ -71,6 +67,10 @@ export declare const LANGUAGE_GLOBS: Record<string, string>;
71
67
  export declare const CURSOR_MODEL_MAPPING: Record<string, string>;
72
68
  export declare const LANGUAGE_RULE_PREFIXES: string[];
73
69
  export declare const LEGACY_RULE_FILES: string[];
70
+ /** v3.2 namespace 통합 — 설치된 bare 스킬을 배송본과 일치할 때만 제거한다. */
71
+ export declare const LEGACY_SKILL_RENAMES: Readonly<Record<string, string>>;
72
+ /** v3.2에서 배송했던 bare SKILL.md의 SHA-256. 정확히 일치하는 설치본만 정리한다. */
73
+ export declare const LEGACY_SKILL_HASHES: Readonly<Record<string, string>>;
74
74
  /** 이전 네이밍에서 변경된 스킬 — postinstall 시 구 디렉토리 삭제 */
75
75
  export declare const LEGACY_SKILL_DIRS: ReadonlyArray<string>;
76
76
  export declare const CLAUDE_MODEL_MAPPING: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall/constants.ts"],"names":[],"mappings":"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"}