@su-record/vibe 3.2.1 → 3.2.2

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 (229) 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__/wiring-integrity.test.js +5 -5
  9. package/dist/__tests__/wiring-integrity.test.js.map +1 -1
  10. package/dist/cli/generate-release-notes.d.ts +3 -0
  11. package/dist/cli/generate-release-notes.d.ts.map +1 -0
  12. package/dist/cli/generate-release-notes.js +47 -0
  13. package/dist/cli/generate-release-notes.js.map +1 -0
  14. package/dist/cli/postinstall/constants.d.ts +6 -6
  15. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  16. package/dist/cli/postinstall/constants.js +114 -46
  17. package/dist/cli/postinstall/constants.js.map +1 -1
  18. package/dist/cli/postinstall/fs-utils.d.ts +1 -0
  19. package/dist/cli/postinstall/fs-utils.d.ts.map +1 -1
  20. package/dist/cli/postinstall/fs-utils.js +25 -0
  21. package/dist/cli/postinstall/fs-utils.js.map +1 -1
  22. package/dist/cli/postinstall/fs-utils.test.js +46 -11
  23. package/dist/cli/postinstall/fs-utils.test.js.map +1 -1
  24. package/dist/cli/postinstall/main.d.ts.map +1 -1
  25. package/dist/cli/postinstall/main.js +3 -2
  26. package/dist/cli/postinstall/main.js.map +1 -1
  27. package/dist/tests/curated-release-notes.test.d.ts +2 -0
  28. package/dist/tests/curated-release-notes.test.d.ts.map +1 -0
  29. package/dist/tests/curated-release-notes.test.js +106 -0
  30. package/dist/tests/curated-release-notes.test.js.map +1 -0
  31. package/dist/tools/release/releaseNotes.d.ts +21 -0
  32. package/dist/tools/release/releaseNotes.d.ts.map +1 -0
  33. package/dist/tools/release/releaseNotes.js +105 -0
  34. package/dist/tools/release/releaseNotes.js.map +1 -0
  35. package/hooks/scripts/__tests__/.vibe/command-log.txt +3 -3
  36. package/package.json +2 -2
  37. package/skills/{agents-md → vibe.agents-md}/SKILL.md +1 -1
  38. package/skills/{brand-assets → vibe.brand-assets}/SKILL.md +1 -1
  39. package/skills/{capability-loop → vibe.capability-loop}/SKILL.md +1 -1
  40. package/skills/{chub-usage → vibe.chub-usage}/SKILL.md +1 -1
  41. package/skills/vibe.clone/SKILL.md +295 -3
  42. package/skills/{commerce-patterns → vibe.commerce-patterns}/SKILL.md +1 -1
  43. package/skills/{commit-push-pr → vibe.commit-push-pr}/SKILL.md +2 -2
  44. package/skills/{context7-usage → vibe.context7-usage}/SKILL.md +1 -1
  45. package/skills/vibe.contract/SKILL.md +162 -1
  46. package/skills/{create-prd → vibe.create-prd}/SKILL.md +2 -2
  47. package/skills/{design-refine → vibe.design-refine}/SKILL.md +1 -1
  48. package/skills/{design-review → vibe.design-review}/SKILL.md +1 -1
  49. package/skills/{design-teach → vibe.design-teach}/SKILL.md +1 -1
  50. package/skills/{devlog → vibe.devlog}/SKILL.md +1 -1
  51. package/skills/vibe.docs/SKILL.md +256 -1
  52. package/skills/{e2e-commerce → vibe.e2e-commerce}/SKILL.md +1 -1
  53. package/skills/vibe.educational-content/SKILL.md +157 -0
  54. package/skills/vibe.educational-content/references/learning-design.md +81 -0
  55. package/skills/vibe.educational-content/references/output-patterns.md +109 -0
  56. package/skills/vibe.educational-content/references/source-method.md +40 -0
  57. package/skills/{event-comms → vibe.event-comms}/SKILL.md +1 -1
  58. package/skills/{event-ops → vibe.event-ops}/SKILL.md +1 -1
  59. package/skills/{event-planning → vibe.event-planning}/SKILL.md +1 -1
  60. package/skills/vibe.figma/SKILL.md +473 -21
  61. package/skills/vibe.figma/references/branch-phases.md +1 -1
  62. package/skills/{git-worktree → vibe.git-worktree}/SKILL.md +1 -1
  63. package/skills/{handoff → vibe.handoff}/SKILL.md +1 -1
  64. package/skills/{parallel-research → vibe.parallel-research}/SKILL.md +2 -2
  65. package/skills/{presentation → vibe.presentation}/SKILL.md +1 -1
  66. package/skills/{prioritization-frameworks → vibe.prioritization}/SKILL.md +2 -2
  67. package/skills/{priority-todos → vibe.priority-todos}/SKILL.md +1 -1
  68. package/skills/{vercel-react-best-practices → vibe.react-best-practices}/SKILL.md +1 -1
  69. package/skills/vibe.regress/SKILL.md +182 -2
  70. package/skills/vibe.run/SKILL.md +388 -1
  71. package/skills/{arch-guard → vibe.run/internal/arch-guard}/templates/violation-report.md +1 -1
  72. package/skills/{seo-checklist → vibe.seo-checklist}/SKILL.md +1 -1
  73. package/skills/vibe.spec/SKILL.md +122 -1
  74. package/skills/vibe.test/SKILL.md +138 -2
  75. package/skills/{tool-fallback → vibe.tool-fallback}/SKILL.md +1 -1
  76. package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/SKILL.md +6 -6
  77. package/skills/{user-personas → vibe.user-personas}/SKILL.md +2 -2
  78. package/skills/vibe.verify/SKILL.md +2 -2
  79. package/skills/{video-production → vibe.video-production}/SKILL.md +1 -1
  80. package/skills/arch-guard/SKILL.md +0 -183
  81. package/skills/clone/SKILL.md +0 -296
  82. package/skills/contract/SKILL.md +0 -165
  83. package/skills/docs/SKILL.md +0 -259
  84. package/skills/exec-plan/SKILL.md +0 -151
  85. package/skills/figma/SKILL.md +0 -456
  86. package/skills/regress/SKILL.md +0 -184
  87. package/skills/restraint/SKILL.md +0 -72
  88. package/skills/spec/SKILL.md +0 -125
  89. package/skills/test/SKILL.md +0 -140
  90. /package/skills/{agents-md → vibe.agents-md}/rubrics/what-to-keep.md +0 -0
  91. /package/skills/{agents-md → vibe.agents-md}/templates/agents-md.md +0 -0
  92. /package/skills/{agents-md → vibe.agents-md}/templates/claude-md.md +0 -0
  93. /package/skills/{brand-assets → vibe.brand-assets}/rubrics/asset-checklist.md +0 -0
  94. /package/skills/{brand-assets → vibe.brand-assets}/templates/brand-guide.md +0 -0
  95. /package/skills/{capability-loop → vibe.capability-loop}/agents/capability-designer.md +0 -0
  96. /package/skills/{capability-loop → vibe.capability-loop}/agents/failure-analyst.md +0 -0
  97. /package/skills/{capability-loop → vibe.capability-loop}/agents/implementer.md +0 -0
  98. /package/skills/{capability-loop → vibe.capability-loop}/agents/tester.md +0 -0
  99. /package/skills/{capability-loop → vibe.capability-loop}/templates/capability-spec.md +0 -0
  100. /package/skills/{capability-loop → vibe.capability-loop}/templates/failure-analysis.md +0 -0
  101. /package/skills/{clone → vibe.clone}/references/capture-rules.md +0 -0
  102. /package/skills/{clone → vibe.clone}/references/legal-and-error-recovery.md +0 -0
  103. /package/skills/{clone → vibe.clone}/references/refine-rules.md +0 -0
  104. /package/skills/{clone → vibe.clone}/references/scaffold-phases.md +0 -0
  105. /package/skills/{clone → vibe.clone}/references/setup-and-layout.md +0 -0
  106. /package/skills/{commerce-patterns → vibe.commerce-patterns}/rubrics/checkout-flow.md +0 -0
  107. /package/skills/{commerce-patterns → vibe.commerce-patterns}/templates/product-schema.md +0 -0
  108. /package/skills/{commit-push-pr → vibe.commit-push-pr}/agents/change-analyzer.md +0 -0
  109. /package/skills/{commit-push-pr → vibe.commit-push-pr}/agents/message-writer.md +0 -0
  110. /package/skills/{commit-push-pr → vibe.commit-push-pr}/agents/pr-writer.md +0 -0
  111. /package/skills/{commit-push-pr → vibe.commit-push-pr}/agents/reviewer.md +0 -0
  112. /package/skills/{commit-push-pr → vibe.commit-push-pr}/rubrics/commit-message.md +0 -0
  113. /package/skills/{commit-push-pr → vibe.commit-push-pr}/templates/pr-body.md +0 -0
  114. /package/skills/{context7-usage → vibe.context7-usage}/rubrics/when-to-use.md +0 -0
  115. /package/skills/{create-prd → vibe.create-prd}/agents/edge-case-finder.md +0 -0
  116. /package/skills/{create-prd → vibe.create-prd}/agents/prioritizer.md +0 -0
  117. /package/skills/{create-prd → vibe.create-prd}/agents/requirements-writer.md +0 -0
  118. /package/skills/{create-prd → vibe.create-prd}/agents/researcher.md +0 -0
  119. /package/skills/{create-prd → vibe.create-prd}/agents/reviewer.md +0 -0
  120. /package/skills/{create-prd → vibe.create-prd}/frameworks/jobs-to-be-done.md +0 -0
  121. /package/skills/{create-prd → vibe.create-prd}/frameworks/rice-scoring.md +0 -0
  122. /package/skills/{create-prd → vibe.create-prd}/orchestrator.md +0 -0
  123. /package/skills/{create-prd → vibe.create-prd}/rubrics/completeness.md +0 -0
  124. /package/skills/{create-prd → vibe.create-prd}/templates/prd.md +0 -0
  125. /package/skills/{design-refine → vibe.design-refine}/rubrics/polish-checklist.md +0 -0
  126. /package/skills/{design-refine → vibe.design-refine}/rubrics/token-naming.md +0 -0
  127. /package/skills/{design-refine → vibe.design-refine}/templates/design-system.md +0 -0
  128. /package/skills/{design-refine → vibe.design-refine}/templates/polish-report.md +0 -0
  129. /package/skills/{design-refine → vibe.design-refine}/templates/token-audit.md +0 -0
  130. /package/skills/{design-review → vibe.design-review}/agents/a11y-auditor.md +0 -0
  131. /package/skills/{design-review → vibe.design-review}/agents/performance-auditor.md +0 -0
  132. /package/skills/{design-review → vibe.design-review}/agents/responsive-auditor.md +0 -0
  133. /package/skills/{design-review → vibe.design-review}/agents/scorer.md +0 -0
  134. /package/skills/{design-review → vibe.design-review}/agents/slop-detector.md +0 -0
  135. /package/skills/{design-review → vibe.design-review}/frameworks/core-web-vitals.md +0 -0
  136. /package/skills/{design-review → vibe.design-review}/frameworks/wcag-checklist.md +0 -0
  137. /package/skills/{design-review → vibe.design-review}/orchestrator.md +0 -0
  138. /package/skills/{design-review → vibe.design-review}/rubrics/ai-slop-patterns.md +0 -0
  139. /package/skills/{design-review → vibe.design-review}/rubrics/scoring.md +0 -0
  140. /package/skills/{design-review → vibe.design-review}/rubrics/ux-heuristics.md +0 -0
  141. /package/skills/{design-review → vibe.design-review}/templates/critique-report.md +0 -0
  142. /package/skills/{design-review → vibe.design-review}/templates/report.md +0 -0
  143. /package/skills/{design-teach → vibe.design-teach}/rubrics/brand-personality.md +0 -0
  144. /package/skills/{design-teach → vibe.design-teach}/templates/design-context.json +0 -0
  145. /package/skills/{docs → vibe.docs}/references/api-docs-changelog.md +0 -0
  146. /package/skills/{docs → vibe.docs}/references/codemaps-output.md +0 -0
  147. /package/skills/{docs → vibe.docs}/references/diagram-spec.md +0 -0
  148. /package/skills/{docs → vibe.docs}/templates/architecture.md +0 -0
  149. /package/skills/{docs → vibe.docs}/templates/behavioral-principles.md +0 -0
  150. /package/skills/{docs → vibe.docs}/templates/readme.md +0 -0
  151. /package/skills/{docs → vibe.docs}/templates/release-notes.md +0 -0
  152. /package/skills/{e2e-commerce → vibe.e2e-commerce}/templates/test-scenarios.md +0 -0
  153. /package/skills/{event-comms → vibe.event-comms}/templates/email-invite.md +0 -0
  154. /package/skills/{event-comms → vibe.event-comms}/templates/sns-post.md +0 -0
  155. /package/skills/{event-ops → vibe.event-ops}/rubrics/contingency.md +0 -0
  156. /package/skills/{event-ops → vibe.event-ops}/templates/d-day-checklist.md +0 -0
  157. /package/skills/{event-planning → vibe.event-planning}/rubrics/timeline.md +0 -0
  158. /package/skills/{event-planning → vibe.event-planning}/templates/event-plan.md +0 -0
  159. /package/skills/{figma → vibe.figma}/rubrics/conversion-rules.md +0 -0
  160. /package/skills/{figma → vibe.figma}/rubrics/css-mapping.md +0 -0
  161. /package/skills/{figma → vibe.figma}/rubrics/extraction-checklist.md +0 -0
  162. /package/skills/{figma → vibe.figma}/rubrics/image-rules.md +0 -0
  163. /package/skills/{figma → vibe.figma}/templates/component-index.md +0 -0
  164. /package/skills/{figma → vibe.figma}/templates/component-spec.md +0 -0
  165. /package/skills/{figma → vibe.figma}/templates/component.md +0 -0
  166. /package/skills/{figma → vibe.figma}/templates/figma-handoff.md +0 -0
  167. /package/skills/{figma → vibe.figma}/templates/remapped-tree.md +0 -0
  168. /package/skills/{git-worktree → vibe.git-worktree}/rubrics/when-to-use.md +0 -0
  169. /package/skills/{handoff → vibe.handoff}/agents/context-summarizer.md +0 -0
  170. /package/skills/{handoff → vibe.handoff}/agents/document-writer.md +0 -0
  171. /package/skills/{handoff → vibe.handoff}/agents/state-collector.md +0 -0
  172. /package/skills/{handoff → vibe.handoff}/agents/verifier.md +0 -0
  173. /package/skills/{handoff → vibe.handoff}/rubrics/completeness.md +0 -0
  174. /package/skills/{handoff → vibe.handoff}/templates/handoff.md +0 -0
  175. /package/skills/{parallel-research → vibe.parallel-research}/agents/best-practices.md +0 -0
  176. /package/skills/{parallel-research → vibe.parallel-research}/agents/codebase-patterns.md +0 -0
  177. /package/skills/{parallel-research → vibe.parallel-research}/agents/framework-docs.md +0 -0
  178. /package/skills/{parallel-research → vibe.parallel-research}/agents/security-advisory.md +0 -0
  179. /package/skills/{parallel-research → vibe.parallel-research}/agents/synthesizer.md +0 -0
  180. /package/skills/{parallel-research → vibe.parallel-research}/experts/best-practices.md +0 -0
  181. /package/skills/{parallel-research → vibe.parallel-research}/experts/codebase-patterns.md +0 -0
  182. /package/skills/{parallel-research → vibe.parallel-research}/experts/framework-docs.md +0 -0
  183. /package/skills/{parallel-research → vibe.parallel-research}/experts/security-advisory.md +0 -0
  184. /package/skills/{parallel-research → vibe.parallel-research}/orchestrator.md +0 -0
  185. /package/skills/{parallel-research → vibe.parallel-research}/templates/awesome-list.md +0 -0
  186. /package/skills/{parallel-research → vibe.parallel-research}/templates/paper.md +0 -0
  187. /package/skills/{parallel-research → vibe.parallel-research}/templates/synthesis.md +0 -0
  188. /package/skills/{presentation → vibe.presentation}/references/style-presets.md +0 -0
  189. /package/skills/{prioritization-frameworks → vibe.prioritization}/rubrics/frameworks.md +0 -0
  190. /package/skills/{prioritization-frameworks → vibe.prioritization}/templates/scoring-matrix.md +0 -0
  191. /package/skills/{priority-todos → vibe.priority-todos}/rubrics/prioritization.md +0 -0
  192. /package/skills/{priority-todos → vibe.priority-todos}/templates/todo-board.md +0 -0
  193. /package/skills/{vercel-react-best-practices → vibe.react-best-practices}/rubrics/performance.md +0 -0
  194. /package/skills/{vercel-react-best-practices → vibe.react-best-practices}/rubrics/server-components.md +0 -0
  195. /package/skills/{regress → vibe.regress}/templates/bug.md +0 -0
  196. /package/skills/{regress → vibe.regress}/templates/test-jest.md +0 -0
  197. /package/skills/{regress → vibe.regress}/templates/test-vitest.md +0 -0
  198. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/agents/detector.md +0 -0
  199. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/agents/reporter.md +0 -0
  200. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/agents/rule-generator.md +0 -0
  201. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/agents/violation-checker.md +0 -0
  202. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/frameworks/clean-architecture.md +0 -0
  203. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/frameworks/solid.md +0 -0
  204. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/scripts/check-boundaries.js +0 -0
  205. /package/skills/{arch-guard → vibe.run/internal/arch-guard}/templates/arch-rules.json +0 -0
  206. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/agents/decomposer.md +0 -0
  207. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/agents/dependency-mapper.md +0 -0
  208. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/agents/estimator.md +0 -0
  209. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/agents/validator.md +0 -0
  210. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/orchestrator.md +0 -0
  211. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/rubrics/complexity-scoring.md +0 -0
  212. /package/skills/{exec-plan → vibe.run/internal/exec-plan}/templates/plan.md +0 -0
  213. /package/skills/{seo-checklist → vibe.seo-checklist}/frameworks/structured-data.md +0 -0
  214. /package/skills/{seo-checklist → vibe.seo-checklist}/rubrics/content-seo.md +0 -0
  215. /package/skills/{seo-checklist → vibe.seo-checklist}/rubrics/technical-seo.md +0 -0
  216. /package/skills/{tool-fallback → vibe.tool-fallback}/rubrics/fallback-chain.md +0 -0
  217. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/color-and-contrast.md +0 -0
  218. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/interaction-design.md +0 -0
  219. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/motion-design.md +0 -0
  220. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/responsive-design.md +0 -0
  221. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/spatial-design.md +0 -0
  222. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/typography.md +0 -0
  223. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/reference/ux-writing.md +0 -0
  224. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/rubrics/interaction-states.md +0 -0
  225. /package/skills/{ui-ux-pro-max → vibe.ui-ux-pro-max}/rubrics/responsive-breakpoints.md +0 -0
  226. /package/skills/{user-personas → vibe.user-personas}/rubrics/research-methods.md +0 -0
  227. /package/skills/{user-personas → vibe.user-personas}/templates/persona.md +0 -0
  228. /package/skills/{video-production → vibe.video-production}/rubrics/quality-checklist.md +0 -0
  229. /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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"}
@@ -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":"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"}
@@ -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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"}
@@ -3,11 +3,8 @@
3
3
  */
4
4
  // ─── 스킬 설치 범위 분류 ───
5
5
  /**
6
- * 전역 설치 스킬 (postinstall → ~/.claude/skills/) — 티어 기반 분류
7
- *
8
- * core: 실제 버그/실수를 방지하는 안전망 — 항상 활성
9
- * standard: 워크플로우 지원 — 프로젝트 설정 시 선택 활성
10
- * optional: 참고/래퍼 — 명시적 호출 시에만 로드 (전역 설치에서 제외)
6
+ * 전역 설치 스킬 (postinstall → ~/.claude/skills/) — 공개 분류
7
+ * 내부 core 동작은 관련 공개 스킬 본문에 통합하며 별도 discovery 항목으로 설치하지 않는다.
11
8
  */
12
9
  /**
13
10
  * 도트 진입점 스킬 (예: vibe.spec)
@@ -37,65 +34,53 @@ export const GLOBAL_SKILLS_ENTRY = [
37
34
  'vibe.trace',
38
35
  'vibe.verify',
39
36
  ];
40
- export const GLOBAL_SKILLS_CORE = [
41
- 'spec',
42
- 'test',
43
- 'arch-guard',
44
- 'exec-plan',
45
- 'restraint',
46
- 'contract',
47
- 'regress',
48
- ];
49
37
  export const GLOBAL_SKILLS_STANDARD = [
50
- 'parallel-research',
51
- 'handoff',
52
- 'priority-todos',
53
- 'agents-md',
54
- 'capability-loop',
55
- 'design-teach',
56
- 'figma',
57
- 'clone',
58
- 'docs',
38
+ 'vibe.parallel-research',
39
+ 'vibe.educational-content',
40
+ 'vibe.handoff',
41
+ 'vibe.priority-todos',
42
+ 'vibe.agents-md',
43
+ 'vibe.capability-loop',
44
+ 'vibe.design-teach',
59
45
  ];
60
46
  /** 전역 설치에서 제외된 스킬 (명시적 /skill-name 호출 시에만 활성)
61
47
  * 사유: 표준 도구 래퍼이거나 구체성 부족 — 직접 프롬프트가 더 효과적 */
62
48
  export const GLOBAL_SKILLS_OPTIONAL = [
63
- 'commit-push-pr',
64
- 'git-worktree',
65
- 'tool-fallback',
66
- 'context7-usage',
67
- 'chub-usage',
68
- 'presentation',
49
+ 'vibe.commit-push-pr',
50
+ 'vibe.git-worktree',
51
+ 'vibe.tool-fallback',
52
+ 'vibe.context7-usage',
53
+ 'vibe.chub-usage',
54
+ 'vibe.presentation',
69
55
  ];
70
56
  /** 전역 설치 스킬 전체 (하위 호환용) */
71
57
  export const GLOBAL_SKILLS = [
72
58
  ...GLOBAL_SKILLS_ENTRY,
73
- ...GLOBAL_SKILLS_CORE,
74
59
  ...GLOBAL_SKILLS_STANDARD,
75
60
  ];
76
61
  /** 스택 → 로컬 스킬 매핑 (vibe init/update → .claude/skills/) */
77
62
  export const STACK_TO_SKILLS = {
78
63
  // Web frontend → UI/UX + SEO + Design steering + React best practices
79
- 'typescript-react': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', 'vercel-react-best-practices', 'design-review', 'design-refine', 'vibe.design'],
80
- 'typescript-nextjs': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', 'vercel-react-best-practices', 'design-review', 'design-refine', 'vibe.design'],
81
- 'typescript-vue': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', 'design-review', 'design-refine', 'vibe.design'],
82
- 'typescript-nuxt': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', 'design-review', 'design-refine', 'vibe.design'],
83
- 'typescript-svelte': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', 'design-review', 'design-refine', 'vibe.design'],
84
- 'typescript-angular': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', 'design-review', 'design-refine', 'vibe.design'],
85
- 'typescript-astro': ['ui-ux-pro-max', 'brand-assets', 'seo-checklist', 'design-review', 'design-refine', 'vibe.design'],
64
+ 'typescript-react': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.react-best-practices', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
65
+ 'typescript-nextjs': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.react-best-practices', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
66
+ 'typescript-vue': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
67
+ 'typescript-nuxt': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
68
+ 'typescript-svelte': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
69
+ 'typescript-angular': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
70
+ 'typescript-astro': ['vibe.ui-ux-pro-max', 'vibe.brand-assets', 'vibe.seo-checklist', 'vibe.design-review', 'vibe.design-refine', 'vibe.design'],
86
71
  // Mobile → UI + design-review only (refine 파이프라인은 CSS 기반)
87
- 'typescript-react-native': ['ui-ux-pro-max', 'design-review', 'vibe.design'],
88
- 'dart-flutter': ['ui-ux-pro-max', 'design-review', 'vibe.design'],
89
- 'swift-ios': ['ui-ux-pro-max', 'design-review', 'vibe.design'],
90
- 'kotlin-android': ['ui-ux-pro-max', 'design-review', 'vibe.design'],
72
+ 'typescript-react-native': ['vibe.ui-ux-pro-max', 'vibe.design-review', 'vibe.design'],
73
+ 'dart-flutter': ['vibe.ui-ux-pro-max', 'vibe.design-review', 'vibe.design'],
74
+ 'swift-ios': ['vibe.ui-ux-pro-max', 'vibe.design-review', 'vibe.design'],
75
+ 'kotlin-android': ['vibe.ui-ux-pro-max', 'vibe.design-review', 'vibe.design'],
91
76
  };
92
77
  /** Capability → 로컬 스킬 매핑 (의존성 감지 기반 자동 설치) */
93
78
  export const CAPABILITY_SKILLS = {
94
- 'commerce': ['commerce-patterns', 'e2e-commerce'],
95
- 'video': ['video-production'],
96
- 'event-automation': ['event-planning', 'event-comms', 'event-ops'],
97
- 'pm': ['create-prd', 'prioritization-frameworks', 'user-personas'],
98
- 'devlog': ['devlog'],
79
+ 'commerce': ['vibe.commerce-patterns', 'vibe.e2e-commerce'],
80
+ 'video': ['vibe.video-production'],
81
+ 'event-automation': ['vibe.event-planning', 'vibe.event-comms', 'vibe.event-ops'],
82
+ 'pm': ['vibe.create-prd', 'vibe.prioritization', 'vibe.user-personas'],
83
+ 'devlog': ['vibe.devlog'],
99
84
  };
100
85
  /** 스택 → 외부 스킬(skills.sh) 매핑 (vibe init/update → npx skills add) */
101
86
  export const STACK_TO_EXTERNAL_SKILLS = {
@@ -278,6 +263,89 @@ export const LANGUAGE_RULE_PREFIXES = [
278
263
  export const LEGACY_RULE_FILES = [
279
264
  'react-patterns.mdc', 'typescript-standards.mdc', 'python-standards.mdc'
280
265
  ];
266
+ /** v3.2 namespace 통합 — 설치된 bare 스킬을 배송본과 일치할 때만 제거한다. */
267
+ export const LEGACY_SKILL_RENAMES = {
268
+ 'spec': 'vibe.spec',
269
+ 'test': 'vibe.test',
270
+ 'contract': 'vibe.contract',
271
+ 'regress': 'vibe.regress',
272
+ 'figma': 'vibe.figma',
273
+ 'clone': 'vibe.clone',
274
+ 'docs': 'vibe.docs',
275
+ 'arch-guard': 'vibe.run',
276
+ 'exec-plan': 'vibe.run',
277
+ 'restraint': 'vibe.run',
278
+ 'agents-md': 'vibe.agents-md',
279
+ 'brand-assets': 'vibe.brand-assets',
280
+ 'capability-loop': 'vibe.capability-loop',
281
+ 'chub-usage': 'vibe.chub-usage',
282
+ 'commerce-patterns': 'vibe.commerce-patterns',
283
+ 'commit-push-pr': 'vibe.commit-push-pr',
284
+ 'context7-usage': 'vibe.context7-usage',
285
+ 'create-educational-content': 'vibe.educational-content',
286
+ 'create-prd': 'vibe.create-prd',
287
+ 'design-refine': 'vibe.design-refine',
288
+ 'design-review': 'vibe.design-review',
289
+ 'design-teach': 'vibe.design-teach',
290
+ 'devlog': 'vibe.devlog',
291
+ 'e2e-commerce': 'vibe.e2e-commerce',
292
+ 'event-comms': 'vibe.event-comms',
293
+ 'event-ops': 'vibe.event-ops',
294
+ 'event-planning': 'vibe.event-planning',
295
+ 'git-worktree': 'vibe.git-worktree',
296
+ 'handoff': 'vibe.handoff',
297
+ 'parallel-research': 'vibe.parallel-research',
298
+ 'presentation': 'vibe.presentation',
299
+ 'prioritization-frameworks': 'vibe.prioritization',
300
+ 'priority-todos': 'vibe.priority-todos',
301
+ 'seo-checklist': 'vibe.seo-checklist',
302
+ 'tool-fallback': 'vibe.tool-fallback',
303
+ 'ui-ux-pro-max': 'vibe.ui-ux-pro-max',
304
+ 'user-personas': 'vibe.user-personas',
305
+ 'vercel-react-best-practices': 'vibe.react-best-practices',
306
+ 'video-production': 'vibe.video-production',
307
+ };
308
+ /** v3.2에서 배송했던 bare SKILL.md의 SHA-256. 정확히 일치하는 설치본만 정리한다. */
309
+ export const LEGACY_SKILL_HASHES = {
310
+ 'spec': 'bb4669226994567ae65606baf5b03f18a8f7474d98147e325461f696e868a90b',
311
+ 'test': 'f92283dccedfd2cc0907711edb2b7a36c8804d8fe1d0d29233a74d16ff5127',
312
+ 'contract': '0e29f293748b6b0be66587cabef59db316495278eb33fa1bff6b97c77bc4b798',
313
+ 'regress': '3217c64a8f144c6d06bd24a17ccbe47bb8d3a1d9f80cc6ca3459e9f801a34589',
314
+ 'figma': 'e4c7a5b3dc6a918799f8dc4f3496e67b008613d6e2cb0ccc22dd5190e494ad7c',
315
+ 'clone': '37a4ee0830fae51521c2b0be9884a67db8a3b682a53ed6d062e15179363da1af',
316
+ 'docs': 'f18fa3ad586354c314b08925f15ca3d9630f33be6619fb4f87659ab2c19e54bb',
317
+ 'arch-guard': '2bfd781664a625f5afdfadbb5697b73a3062fa21c5d43057a5796eda79d70642',
318
+ 'exec-plan': '5394fcfd8fb0c7ce9923168a6b78d56c880159c10feb5667efa696f36a2ca12d',
319
+ 'restraint': '6ac370ddd11a4cb56f51297bb582644402e15f77214fb32669510f156d6f9296',
320
+ 'agents-md': 'f1a4ddf97755a02608058bf8c8668afe6953b47d628409bfa1ffc572a11c543a',
321
+ 'brand-assets': 'af30b27f472706ebc372d8f9916c1816ae8bc50e157e6659cb2197a94f84d7b8',
322
+ 'capability-loop': 'fb624b8d9f4c09b2e7d2bb7be0d77ff2eb06151a1ffb1ac720d103f8a4af38ce',
323
+ 'chub-usage': '89d282979cac295bb3a7f9c9cce7d38ae769776e133f47d06695ccf6c5882487',
324
+ 'commerce-patterns': 'ca5ce5d85e6bbae7f1147b3601a9afd4b7fc8ef4e97b5fb6eb5cf4e387a8a448',
325
+ 'commit-push-pr': '232274ec0320a6408267013b44922756804180483dd2fca87411a9f1d44164fb',
326
+ 'context7-usage': '82efa24624d3955b6cbdac3ccd46d1b9b1b7e36f7b7273717d77fd57b68fd053',
327
+ 'create-prd': '407a9063929171805f34fec9caf0a42b9ae2a0902f74d8c6c6fbac6aa7592e19',
328
+ 'design-refine': '67ef3f2be393b4c00c2a2a50264787207cd7ba77ad246b1bf763b17eea1a75a1',
329
+ 'design-review': 'd5fb61d315b8fd81c7aa069c1802490ad7976859fcc7f99dfd53c290fedaca04',
330
+ 'design-teach': 'af230a0fea9d1b2f9a057ab8733162fe9309c72f435e4d6ca6ede0d5725cc44f',
331
+ 'devlog': '2a4c76e664247ae430a2780f3e875a2a201439996a755ea4a8c0cb523509c6a3',
332
+ 'e2e-commerce': '27f7c2d2341d48eaa5288c2cc4a052632d3578bd49065ed1493c84f026c9db97',
333
+ 'event-comms': 'ce0069bb41c68074944b8127a7e6164dd7247804ff2aceb3bf72995d30ae5af6',
334
+ 'event-ops': '8d736102135e7e2aeda6fd5c6e73d4ab87bccbf65c3beb82016faca190b108d3',
335
+ 'event-planning': '7c60fabe6d5b93709634fb2a1036159de8bb7a9c23e139e6d6b542f49ad12ba6',
336
+ 'git-worktree': '9f85907052c305a32f4ab2c1632a7aa4f30b1e86733de739198d96e33077fdb0',
337
+ 'handoff': '42b723f5d53e00c093f8f68347afd4242d026258df3f5d6e9831efeef5fde217',
338
+ 'parallel-research': '8d7562ebaf4fe642122f88165a7bbea4c3280a954599dcf7c4d827c465ed0ffb',
339
+ 'presentation': '38f6a09bbb1c6739f5cf93d74f9136a0537a42271bc4bcdf974203ebf34d6b09',
340
+ 'prioritization-frameworks': 'fe7a09c3493e5c5badd4d82a079088a33bfaed9fea63c17bef30bdeba20ccf38',
341
+ 'priority-todos': '482e9f19cf15e4b052b5c4abdfed1bf976940cd2a4acbe1ba74fc41d4f034a56',
342
+ 'seo-checklist': '3b87d583df9243b98ac5fbe84d4427a7fc9b161219c746142940c15811a0ea1e',
343
+ 'tool-fallback': 'd135cb53ace2db8eeaf359a57fd77c687397e6bc6e94b1773eae4ab2d9ae1d57',
344
+ 'ui-ux-pro-max': '58234b04bf3c4080331423641de65b7e965e7f8098bb35af394a2bfa43bac21f',
345
+ 'user-personas': 'cefea1faf1b8ad53a7e97c47f7c4c249e5b2ee58b8f14f00a90edcfc35e901b4',
346
+ 'vercel-react-best-practices': 'c880fd8288ffeb029f99cd7cc65dbd129009873e7eef62f396f30817404525f8',
347
+ 'video-production': 'f25449e655b207216557ef2b1787d268fe659e6a1a45c9f717c35a170991af5b',
348
+ };
281
349
  /** 이전 네이밍에서 변경된 스킬 — postinstall 시 구 디렉토리 삭제 */
282
350
  export const LEGACY_SKILL_DIRS = [
283
351
  // 도트 네이밍 (v1)
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/postinstall/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/postinstall/constants.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,7 @@ export interface OptionalSkillResult {
68
68
  * @param dryRun - true이면 실제 삭제 없이 결과만 반환
69
69
  */
70
70
  export declare function cleanupOptionalSkills(globalSkillsDir: string, optionalSkills: ReadonlyArray<string>, shippedSkillsDir: string, dryRun?: boolean): OptionalSkillResult[];
71
+ export declare function cleanupRenamedSkills(globalSkillsDir: string, renames: Readonly<Record<string, string>>, legacyHashes: Readonly<Record<string, string>>): OptionalSkillResult[];
71
72
  /**
72
73
  * Codex는 Vibe의 `user-invocable: false` 메타데이터를 직접 해석하지 않는다.
73
74
  * 내부 체인 전용 스킬은 공식 Codex skill policy로 implicit invocation을 막는다.
@@ -1 +1 @@
1
- {"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall/fs-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,gBAAgB,2BAAqB,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAkB3D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI3C;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAahE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIpD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAYnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAChC,IAAI,CAON;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,GACnC,IAAI,CAUN;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,uBAAuB,GAAG,kBAAkB,GAAG,QAAQ,CAAC;AAEtG,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AA0CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,EACrC,gBAAgB,EAAE,MAAM,EACxB,MAAM,UAAQ,GACb,mBAAmB,EAAE,CA2BvB;AAqCD;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAWzE"}
1
+ {"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall/fs-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,gBAAgB,2BAAqB,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAkB3D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI3C;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAahE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIpD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAYnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAChC,IAAI,CAON;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,GACnC,IAAI,CAUN;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,uBAAuB,GAAG,kBAAkB,GAAG,QAAQ,CAAC;AAEtG,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AA0CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,EACrC,gBAAgB,EAAE,MAAM,EACxB,MAAM,UAAQ,GACb,mBAAmB,EAAE,CA2BvB;AAED,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACzC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC7C,mBAAmB,EAAE,CAsBvB;AAqCD;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAWzE"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import path from 'path';
5
5
  import fs from 'fs';
6
+ import { createHash } from 'node:crypto';
6
7
  import { getGlobalConfigDir } from '../../infra/lib/llm/auth/ConfigManager.js';
7
8
  /**
8
9
  * 전역 vibe 설정 디렉토리 경로 (getCoreConfigDir = getGlobalConfigDir alias)
@@ -202,6 +203,30 @@ export function cleanupOptionalSkills(globalSkillsDir, optionalSkills, shippedSk
202
203
  }
203
204
  return results;
204
205
  }
206
+ export function cleanupRenamedSkills(globalSkillsDir, renames, legacyHashes) {
207
+ const results = [];
208
+ for (const [legacyName, currentName] of Object.entries(renames)) {
209
+ const legacyDir = path.join(globalSkillsDir, legacyName);
210
+ if (!fs.existsSync(legacyDir))
211
+ continue;
212
+ const installedPath = path.join(legacyDir, 'SKILL.md');
213
+ const installed = fs.existsSync(installedPath) ? fs.readFileSync(installedPath, 'utf8') : '';
214
+ const name = installed.match(/^name:\s*(.+?)\s*$/m)?.[1];
215
+ const expectedHash = legacyHashes[legacyName];
216
+ if (name !== legacyName || !expectedHash) {
217
+ results.push({ name: legacyName, action: 'skipped-not-vibe', reason: 'ownership could not be verified' });
218
+ continue;
219
+ }
220
+ const installedHash = createHash('sha256').update(installed).digest('hex');
221
+ if (installedHash !== expectedHash) {
222
+ results.push({ name: legacyName, action: 'skipped-user-modified', reason: 'legacy content differs, preserved' });
223
+ continue;
224
+ }
225
+ fs.rmSync(legacyDir, { recursive: true, force: true });
226
+ results.push({ name: legacyName, action: 'removed', reason: `renamed to ${currentName}` });
227
+ }
228
+ return results;
229
+ }
205
230
  const CODEX_POLICY_MARKER = '# VIBE managed Codex skill policy';
206
231
  const CODEX_POLICY_CONTENT = `${CODEX_POLICY_MARKER}
207
232
  policy: