@su-record/vibe 2.9.40 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +18 -5
- package/README.md +31 -24
- package/agents/{teams/figma → figma}/figma-analyst.md +2 -2
- package/agents/research/{best-practices-agent.md → best-practices.md} +1 -1
- package/agents/research/{codebase-patterns-agent.md → codebase-patterns.md} +1 -1
- package/agents/research/{framework-docs-agent.md → framework-docs.md} +1 -1
- package/agents/research/{security-advisory-agent.md → security-advisory.md} +1 -1
- package/agents/teams/research-team.md +4 -4
- package/agents/teams/review-debate-team.md +2 -2
- package/agents/teams/security-team.md +4 -4
- package/dist/cli/postinstall/claude-agents.d.ts +3 -1
- package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
- package/dist/cli/postinstall/claude-agents.js +47 -9
- package/dist/cli/postinstall/claude-agents.js.map +1 -1
- package/dist/cli/postinstall/constants.d.ts +5 -0
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +165 -23
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-skills.js +2 -2
- package/dist/cli/postinstall/main.d.ts.map +1 -1
- package/dist/cli/postinstall/main.js +19 -10
- package/dist/cli/postinstall/main.js.map +1 -1
- package/dist/infra/lib/OrchestrateWorkflow.js +1 -1
- package/dist/infra/lib/OrchestrateWorkflow.js.map +1 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js +4 -4
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -1
- package/dist/infra/orchestrator/parallelResearch.js +4 -4
- package/dist/infra/orchestrator/parallelResearch.js.map +1 -1
- package/hooks/scripts/clone-extract.js +712 -0
- package/hooks/scripts/clone-refine.js +510 -0
- package/hooks/scripts/clone-to-scss.js +275 -0
- package/hooks/scripts/clone-validate.js +280 -0
- package/hooks/scripts/step-counter.js +1 -1
- package/package.json +2 -1
- package/skills/agents-md/SKILL.md +2 -0
- package/skills/arch-guard/SKILL.md +2 -0
- package/skills/brand-assets/SKILL.md +1 -0
- package/skills/capability-loop/SKILL.md +2 -0
- package/skills/characterization-test/SKILL.md +2 -0
- package/skills/chub-usage/SKILL.md +1 -0
- package/skills/claude-md-guide/SKILL.md +2 -0
- package/skills/clone/SKILL.md +361 -0
- package/skills/commerce-patterns/SKILL.md +1 -0
- package/skills/commit-push-pr/SKILL.md +1 -0
- package/skills/context7-usage/SKILL.md +1 -0
- package/skills/{vibe-contract → contract}/SKILL.md +7 -8
- package/skills/create-prd/SKILL.md +1 -0
- package/skills/design-audit/SKILL.md +1 -0
- package/skills/design-critique/SKILL.md +1 -0
- package/skills/design-distill/SKILL.md +1 -0
- package/skills/design-normalize/SKILL.md +1 -0
- package/skills/design-polish/SKILL.md +1 -0
- package/skills/design-teach/SKILL.md +2 -0
- package/skills/devlog/SKILL.md +1 -0
- package/skills/{vibe-docs → docs}/SKILL.md +5 -5
- package/skills/e2e-commerce/SKILL.md +1 -0
- package/skills/event-comms/SKILL.md +1 -0
- package/skills/event-ops/SKILL.md +1 -0
- package/skills/event-planning/SKILL.md +1 -0
- package/skills/exec-plan/SKILL.md +2 -0
- package/skills/{vibe-figma → figma}/SKILL.md +4 -3
- package/skills/{vibe-figma-convert → figma-convert}/SKILL.md +4 -3
- package/skills/{vibe-figma-extract → figma-extract}/SKILL.md +4 -3
- package/skills/git-worktree/SKILL.md +1 -0
- package/skills/handoff/SKILL.md +2 -0
- package/skills/{vibe-interview → interview}/SKILL.md +16 -16
- package/skills/parallel-research/SKILL.md +2 -0
- package/skills/{vibe-plan → plan}/SKILL.md +9 -9
- package/skills/prioritization-frameworks/SKILL.md +1 -0
- package/skills/priority-todos/SKILL.md +2 -0
- package/skills/{vibe-regress → regress}/SKILL.md +5 -6
- package/skills/rob-pike/SKILL.md +2 -0
- package/skills/seo-checklist/SKILL.md +1 -0
- package/skills/{vibe-spec → spec}/SKILL.md +14 -14
- package/skills/{vibe-spec-review → spec-review}/SKILL.md +8 -9
- package/skills/systematic-debugging/SKILL.md +2 -0
- package/skills/techdebt/SKILL.md +2 -0
- package/skills/{vibe-test → test}/SKILL.md +12 -12
- package/skills/tool-fallback/SKILL.md +1 -0
- package/skills/typescript-advanced-types/SKILL.md +1 -0
- package/skills/ui-ux-pro-max/SKILL.md +1 -0
- package/skills/user-personas/SKILL.md +1 -0
- package/skills/vercel-react-best-practices/SKILL.md +1 -0
- package/skills/vibe/SKILL.md +266 -0
- package/{commands/vibe.analyze.md → skills/vibe.analyze/SKILL.md} +2 -0
- package/skills/vibe.clone/SKILL.md +117 -0
- package/{commands/vibe.contract.md → skills/vibe.contract/SKILL.md} +3 -1
- package/{commands/vibe.docs.md → skills/vibe.docs/SKILL.md} +3 -1
- package/{commands/vibe.event.md → skills/vibe.event/SKILL.md} +2 -0
- package/{commands/vibe.figma.md → skills/vibe.figma/SKILL.md} +25 -23
- package/{commands/vibe.harness.md → skills/vibe.harness/SKILL.md} +2 -0
- package/{commands/vibe.reason.md → skills/vibe.reason/SKILL.md} +2 -0
- package/{commands/vibe.regress.md → skills/vibe.regress/SKILL.md} +5 -3
- package/{commands/vibe.review.md → skills/vibe.review/SKILL.md} +2 -0
- package/{commands/vibe.run.md → skills/vibe.run/SKILL.md} +3 -1
- package/{commands/vibe.scaffold.md → skills/vibe.scaffold/SKILL.md} +2 -0
- package/{commands/vibe.spec.md → skills/vibe.spec/SKILL.md} +36 -34
- package/{commands/vibe.test.md → skills/vibe.test/SKILL.md} +4 -2
- package/{commands/vibe.trace.md → skills/vibe.trace/SKILL.md} +7 -0
- package/{commands/vibe.utils.md → skills/vibe.utils/SKILL.md} +2 -0
- package/{commands/vibe.verify.md → skills/vibe.verify/SKILL.md} +4 -2
- package/skills/video-production/SKILL.md +1 -0
- /package/agents/{teams/figma → figma}/figma-architect.md +0 -0
- /package/agents/{teams/figma → figma}/figma-auditor.md +0 -0
- /package/agents/{teams/figma → figma}/figma-builder.md +0 -0
- /package/skills/{vibe-docs → docs}/templates/architecture.md +0 -0
- /package/skills/{vibe-docs → docs}/templates/behavioral-principles.md +0 -0
- /package/skills/{vibe-docs → docs}/templates/readme.md +0 -0
- /package/skills/{vibe-docs → docs}/templates/release-notes.md +0 -0
- /package/skills/{vibe-figma → figma}/rubrics/extraction-checklist.md +0 -0
- /package/skills/{vibe-figma → figma}/templates/component-index.md +0 -0
- /package/skills/{vibe-figma → figma}/templates/component-spec.md +0 -0
- /package/skills/{vibe-figma → figma}/templates/figma-handoff.md +0 -0
- /package/skills/{vibe-figma → figma}/templates/remapped-tree.md +0 -0
- /package/skills/{vibe-figma-convert → figma-convert}/rubrics/conversion-rules.md +0 -0
- /package/skills/{vibe-figma-convert → figma-convert}/templates/component.md +0 -0
- /package/skills/{vibe-figma-extract → figma-extract}/rubrics/image-rules.md +0 -0
- /package/skills/{vibe-interview → interview}/checklists/api.md +0 -0
- /package/skills/{vibe-interview → interview}/checklists/feature.md +0 -0
- /package/skills/{vibe-interview → interview}/checklists/library.md +0 -0
- /package/skills/{vibe-interview → interview}/checklists/mobile.md +0 -0
- /package/skills/{vibe-interview → interview}/checklists/webapp.md +0 -0
- /package/skills/{vibe-interview → interview}/checklists/website.md +0 -0
- /package/skills/{vibe-regress → regress}/templates/bug.md +0 -0
- /package/skills/{vibe-regress → regress}/templates/test-jest.md +0 -0
- /package/skills/{vibe-regress → regress}/templates/test-vitest.md +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: interview
|
|
3
|
+
description: 도메인 요구사항 인터뷰 본체 — type별 체크리스트(website/webapp/mobile/api/library/feature)로 사용자가 stop 할 때까지 루프.
|
|
4
|
+
when_to_use: /vibe.spec orchestrator의 Phase 1에서 호출. 직접 호출 금지.
|
|
5
|
+
user-invocable: false
|
|
3
6
|
tier: core
|
|
4
|
-
|
|
5
|
-
triggers: [만들자, 개발하자, 기획하자, 신규 기능, 새 프로젝트, "무엇을 만들", "무엇을 개발", 아이디어, 인터뷰, interview, requirements, "let's build", "new feature", "new project"]
|
|
6
|
-
priority: 95
|
|
7
|
-
chain-next: [vibe-plan]
|
|
7
|
+
chain-next: [plan]
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# vibe.interview — Domain Requirements Interview
|
|
@@ -20,7 +20,7 @@ chain-next: [vibe-plan]
|
|
|
20
20
|
|
|
21
21
|
**Skip when**:
|
|
22
22
|
- Small bug fix on an existing project
|
|
23
|
-
- `.vibe/plans/{feature}.md` already exists (→ only update via `
|
|
23
|
+
- `.vibe/plans/{feature}.md` already exists (→ only update via `plan`)
|
|
24
24
|
|
|
25
25
|
## Core Loop
|
|
26
26
|
|
|
@@ -53,7 +53,7 @@ chain-next: [vibe-plan]
|
|
|
53
53
|
4. Save collected results
|
|
54
54
|
.vibe/interviews/{feature}.md
|
|
55
55
|
↓
|
|
56
|
-
5. chain-next:
|
|
56
|
+
5. chain-next: plan
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
## Step 0: Git Branch (MANDATORY)
|
|
@@ -101,7 +101,7 @@ What kind of project is this?
|
|
|
101
101
|
Read the checklist file for the detected type:
|
|
102
102
|
|
|
103
103
|
```
|
|
104
|
-
Read skills/
|
|
104
|
+
Read skills/interview/checklists/{type}.md
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
The checklist is divided into a **Required** section and an **Optional** section. Each item has the following structure:
|
|
@@ -269,9 +269,9 @@ This pointer is used by /vibe.spec (no args) for Smart Resume.
|
|
|
269
269
|
No-op if the value is already the same.
|
|
270
270
|
```
|
|
271
271
|
|
|
272
|
-
## Step 5: Chain to
|
|
272
|
+
## Step 5: Chain to plan
|
|
273
273
|
|
|
274
|
-
After the interview is complete, the `
|
|
274
|
+
After the interview is complete, the `plan` skill is automatically activated to refine the results into a structured plan.
|
|
275
275
|
|
|
276
276
|
```
|
|
277
277
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
@@ -283,7 +283,7 @@ After the interview is complete, the `vibe-plan` skill is automatically activate
|
|
|
283
283
|
Optional: 12/14
|
|
284
284
|
Discovered: 3
|
|
285
285
|
|
|
286
|
-
→
|
|
286
|
+
→ plan skill is starting plan creation...
|
|
287
287
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
288
288
|
```
|
|
289
289
|
|
|
@@ -293,7 +293,7 @@ After the interview is complete, the `vibe-plan` skill is automatically activate
|
|
|
293
293
|
- Prompting the user to stop before Required items are complete
|
|
294
294
|
- Ignoring a user's answer and moving on to the next question
|
|
295
295
|
- Missing areas not in the checklist (use `discovered`)
|
|
296
|
-
- Writing the plan in PTCF/EARS/Phase structure here (that is refined by
|
|
296
|
+
- Writing the plan in PTCF/EARS/Phase structure here (that is refined by plan; the actual spec is written by /vibe.spec)
|
|
297
297
|
- Ending with 10 shallow questions (keep going until the user explicitly stops)
|
|
298
298
|
- Providing only multiple-choice options without allowing free input
|
|
299
299
|
|
|
@@ -347,12 +347,12 @@ Claude: ⚠️ All required items complete. 10 optional items will be marked as
|
|
|
347
347
|
✅ Interview complete!
|
|
348
348
|
📄 .vibe/interviews/parallax-website.md
|
|
349
349
|
|
|
350
|
-
→
|
|
350
|
+
→ plan skill is starting plan creation...
|
|
351
351
|
```
|
|
352
352
|
|
|
353
353
|
## Related
|
|
354
354
|
|
|
355
|
-
- **Next**: `
|
|
356
|
-
- **After plan**: `
|
|
355
|
+
- **Next**: `plan` — refine interview results into a structured plan
|
|
356
|
+
- **After plan**: `spec` (skill) → generates SPEC → then `/vibe.run` (logic) + `/vibe.figma` (UI track) in parallel
|
|
357
357
|
- **Templates**: `~/.claude/vibe/templates/plan-template.md`
|
|
358
|
-
- **Checklists**: `skills/
|
|
358
|
+
- **Checklists**: `skills/interview/checklists/{type}.md`
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: parallel-research
|
|
3
|
+
user-invocable: false
|
|
4
|
+
invocation: [auto]
|
|
3
5
|
tier: standard
|
|
4
6
|
description: "Parallel research with 4 specialized agents (best-practices, framework-docs, codebase-patterns, security-advisory) running simultaneously. Use when facing unfamiliar technology, choosing between libraries/frameworks, designing architecture for a new feature, or investigating security implications. Must use this skill when user asks 'how should we build X', 'which library for Y', or when starting work on a complex feature with unknown requirements. Not for simple lookups — use web search directly for those."
|
|
5
7
|
triggers: [parallel research, complex feature, technology selection, architecture design, security critical]
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: plan
|
|
3
|
+
description: 인터뷰 결과 → 사람이 읽는 기획서(vision document) 정제 본체. /vibe.spec → 코드, /vibe.figma → UI 스토리보드의 입력.
|
|
4
|
+
when_to_use: interview 완료 후 또는 /vibe.spec Phase 2에서 체인. 직접 호출 금지.
|
|
5
|
+
user-invocable: false
|
|
3
6
|
tier: core
|
|
4
|
-
|
|
5
|
-
triggers: [기획서, 기획서 작성, plan document, 기획 정리, "interview 정리", refine plan]
|
|
6
|
-
priority: 90
|
|
7
|
-
chain-next: [vibe-spec, vibe-figma]
|
|
7
|
+
chain-next: [spec, figma]
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# vibe.plan — Interview → Plan Document Refinement
|
|
@@ -13,12 +13,12 @@ chain-next: [vibe-spec, vibe-figma]
|
|
|
13
13
|
|
|
14
14
|
## When to Use
|
|
15
15
|
|
|
16
|
-
- `
|
|
16
|
+
- `interview` has just completed and `.vibe/interviews/{feature}.md` exists
|
|
17
17
|
- The user requests "write me a plan document" or "clean up the interview"
|
|
18
18
|
- Need to convert an external PRD/wireframe into the vibe plan document format
|
|
19
19
|
|
|
20
20
|
**Skip condition**:
|
|
21
|
-
- If this skill is called directly without an interview → chain to `
|
|
21
|
+
- If this skill is called directly without an interview → chain to `interview` first (no chain-prev; inform the user)
|
|
22
22
|
|
|
23
23
|
## Core Flow
|
|
24
24
|
|
|
@@ -55,7 +55,7 @@ Read .vibe/interviews/{feature-name}.md
|
|
|
55
55
|
Extract `type`, `status`, `requiredCollected`, `optionalCollected`, etc. from the frontmatter.
|
|
56
56
|
|
|
57
57
|
**Validation**:
|
|
58
|
-
- If the file does not exist → guide the user to run `
|
|
58
|
+
- If the file does not exist → guide the user to run `interview` first.
|
|
59
59
|
- `status: partial` + Required items incomplete → apply **AI-Driven Gap Filling**:
|
|
60
60
|
|
|
61
61
|
### AI-Driven Gap Filling
|
|
@@ -249,6 +249,6 @@ Where would you like to start?
|
|
|
249
249
|
|
|
250
250
|
## Related
|
|
251
251
|
|
|
252
|
-
- **Prev**: `
|
|
252
|
+
- **Prev**: `interview` — requirements collection (implicit chain-prev)
|
|
253
253
|
- **Next**: `/vibe.spec` (code spec), `/vibe.figma` (UI design)
|
|
254
254
|
- **Template**: `~/.claude/vibe/templates/plan-template.md`
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prioritization-frameworks
|
|
3
|
+
invocation: [auto, chain]
|
|
3
4
|
tier: standard
|
|
4
5
|
description: "Reference guide to 9 prioritization frameworks with formulas, when-to-use guidance, and templates — RICE, ICE, Kano, MoSCoW, Opportunity Score, and more."
|
|
5
6
|
triggers: [prioritize, prioritization, rice, ice, kano, moscow, opportunity score]
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: priority-todos
|
|
3
|
+
user-invocable: false
|
|
4
|
+
invocation: [auto]
|
|
3
5
|
tier: standard
|
|
4
6
|
description: "Priority-based TODO management (P1/P2/P3). Auto-activates when managing tasks, reviewing issues, or organizing work by priority."
|
|
5
7
|
triggers: [todo, priority, P1, P2, P3, task management, issue, organize]
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: regress
|
|
3
|
+
description: 회귀 테스트 자동 진화 본체 — 버그 등록 → 예방 테스트 생성 → 반복 패턴 클러스터 → git fix 커밋 import. 저장소 .vibe/regressions/.
|
|
4
|
+
when_to_use: /vibe.regress 진입점 / /vibe.verify 실패 시 체인. 직접 호출 금지.
|
|
5
|
+
user-invocable: false
|
|
3
6
|
tier: core
|
|
4
|
-
description: "Regression test auto-evolution. Registers bugs (auto from /vibe.verify failures or manual), generates preventive vitest/jest files from bug records, clusters repeated patterns (3+ same root-cause-tag) into shared tests, and imports historical `fix:` commits from git log. Storage: .vibe/regressions/<slug>.md. Must use this skill when user runs /vibe.regress, when /vibe.verify produces a failure, or when the user says 'don't let this happen again' / 'regression test' / '회귀 테스트'."
|
|
5
|
-
triggers: [regress, regression, "회귀", "다시는", "반복 버그", "fix commit"]
|
|
6
|
-
priority: 70
|
|
7
|
-
chain-next: []
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
# vibe.regress — Regression Auto-Evolution
|
|
@@ -134,7 +133,7 @@ cart-stock-race-double-deduct cart concurrency open 1d
|
|
|
134
133
|
When `/vibe.verify` fails it calls:
|
|
135
134
|
|
|
136
135
|
```
|
|
137
|
-
Load skill `
|
|
136
|
+
Load skill `regress` with: register --from-verify
|
|
138
137
|
<feature>: {feature-name}
|
|
139
138
|
<scenario>: {failed-scenario}
|
|
140
139
|
<error>: {error-message}
|
package/skills/rob-pike/SKILL.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rob-pike
|
|
3
|
+
user-invocable: false
|
|
4
|
+
invocation: [auto]
|
|
3
5
|
tier: core
|
|
4
6
|
description: "Rob Pike's 5 Rules — block premature optimization. Auto-activates on optimize, slow, performance, cache, parallelize keywords."
|
|
5
7
|
triggers: [optimize, slow, performance, cache, parallelize, bottleneck, speed up, faster, latency, benchmark]
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: seo-checklist
|
|
3
|
+
invocation: [auto]
|
|
3
4
|
tier: core
|
|
4
5
|
description: "SEO gotchas for web development — easy-to-miss items that hurt search ranking. Covers meta tags, Open Graph, structured data (JSON-LD), sitemap, robots.txt, canonical URLs, and Naver/Google-specific requirements. Use when building or reviewing any public-facing web page, landing page, or marketing site. Must use this skill when user mentions SEO, search ranking, meta tags, or when deploying a web app that needs to be discoverable."
|
|
5
6
|
triggers: [seo, search, meta, sitemap, schema, structured data, og, opengraph, google, naver]
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: spec
|
|
3
|
+
description: PTCF 구조 SPEC 한 문서 작성 — parallel research (GPT/Gemini/Claude agents), ambiguity scan, 100-point quality gate. plan 파일 입력 → .vibe/specs/{feature}.md + .vibe/features/{feature}.feature 생성.
|
|
4
|
+
when_to_use: vibe.spec orchestrator의 Phase 3에서 호출. 직접 호출 금지 — /vibe.spec 사용.
|
|
5
|
+
user-invocable: false
|
|
3
6
|
tier: core
|
|
4
|
-
|
|
5
|
-
triggers: [spec, SPEC, 명세, "코드 명세", "구현 명세", "write spec", "create spec", PTCF]
|
|
6
|
-
priority: 85
|
|
7
|
-
chain-next: [vibe-spec-review]
|
|
7
|
+
chain-next: [spec-review]
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# vibe.spec — Specification Agent
|
|
@@ -29,7 +29,7 @@ When `ultrawork` (or `ulw`) is included, automatically chains:
|
|
|
29
29
|
↓
|
|
30
30
|
[1] SPEC Creation (this command)
|
|
31
31
|
↓
|
|
32
|
-
[2] Auto: Load skill `
|
|
32
|
+
[2] Auto: Load skill `spec-review` (chain-next from this skill)
|
|
33
33
|
↓
|
|
34
34
|
[3] Auto: /vibe.run "{feature}" ultrawork
|
|
35
35
|
```
|
|
@@ -483,10 +483,10 @@ node "[LLM_SCRIPT]" gemini orchestrate-json "Security advisories for passkey aut
|
|
|
483
483
|
|
|
484
484
|
| Claude Agent | Role | Source |
|
|
485
485
|
|--------------|------|--------|
|
|
486
|
-
| `best-practices
|
|
487
|
-
| `framework-docs
|
|
488
|
-
| `codebase-patterns
|
|
489
|
-
| `security-advisory
|
|
486
|
+
| `best-practices` | Best practices for [feature] + [stack] | WebSearch |
|
|
487
|
+
| `framework-docs` | Latest docs via context7 | context7 MCP |
|
|
488
|
+
| `codebase-patterns` | Similar patterns in existing codebase | Glob, Grep |
|
|
489
|
+
| `security-advisory` | Security advisories for [feature] | WebSearch |
|
|
490
490
|
|
|
491
491
|
**Total: 4 GPT/Gemini calls (Bash) + 4 Claude agents (Task) = 8 parallel research tasks**
|
|
492
492
|
|
|
@@ -954,7 +954,7 @@ Stuck? (score == prev_score)
|
|
|
954
954
|
├─ Interactive: ask user → fill values OR "proceed" OR "abort"
|
|
955
955
|
└─ ultrawork: record gaps as TODO → proceed
|
|
956
956
|
↓
|
|
957
|
-
Score == 100 (or user-approved) → SPEC Draft Complete → Handoff to
|
|
957
|
+
Score == 100 (or user-approved) → SPEC Draft Complete → Handoff to spec-review skill
|
|
958
958
|
```
|
|
959
959
|
|
|
960
960
|
#### 7.4 Auto-Fix for Low Score
|
|
@@ -977,7 +977,7 @@ After SPEC draft is complete (score ≥ 95):
|
|
|
977
977
|
**If `ultrawork` mode:**
|
|
978
978
|
- ❌ DO NOT show handoff message
|
|
979
979
|
- ❌ DO NOT ask for confirmation
|
|
980
|
-
- ✅ Immediately load skill `
|
|
980
|
+
- ✅ Immediately load skill `spec-review` with feature `{feature-name}` (chain-next)
|
|
981
981
|
- ✅ After review passes, immediately proceed to `/vibe.run "{feature-name}" ultrawork`
|
|
982
982
|
|
|
983
983
|
**If normal mode:**
|
|
@@ -995,10 +995,10 @@ Output the handoff message:
|
|
|
995
995
|
⏱️ Completed: {getCurrentTime result}
|
|
996
996
|
|
|
997
997
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
998
|
-
⚠️ NEXT STEP: Run SPEC review (
|
|
998
|
+
⚠️ NEXT STEP: Run SPEC review (spec-review skill)
|
|
999
999
|
|
|
1000
1000
|
Option 1 (same session):
|
|
1001
|
-
Load skill `
|
|
1001
|
+
Load skill `spec-review` with feature `{feature-name}`
|
|
1002
1002
|
(or natural language: "spec review")
|
|
1003
1003
|
|
|
1004
1004
|
Option 2 (recommended for large context):
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: spec-review
|
|
3
|
+
description: SPEC 품질 리뷰 본체 — GPT/Gemini 크로스 검증, 100-point gate, Race Review(수렴 종료), Codex 적대 리뷰, 사용자 체크포인트.
|
|
4
|
+
when_to_use: spec 완료 후 또는 /vibe.spec Phase 4에서 체인. 직접 호출 금지.
|
|
5
|
+
user-invocable: false
|
|
3
6
|
tier: core
|
|
4
|
-
description: "Review and enhance an existing SPEC with GPT/Gemini cross-validation. Runs 100-point quality gate (loop until perfect or stuck), Race Review with convergence-based termination (no round cap), optional Codex adversarial review, Review Debate Team, and final user checkpoint. Must use this skill after vibe-spec completes, or when the user says 'review spec', '스펙 리뷰'."
|
|
5
|
-
triggers: ["spec review", "review spec", "SPEC 리뷰", "명세 리뷰", race review]
|
|
6
|
-
priority: 80
|
|
7
|
-
chain-next: []
|
|
8
7
|
---
|
|
9
8
|
|
|
10
|
-
#
|
|
9
|
+
# spec-review — SPEC Quality Review
|
|
11
10
|
|
|
12
11
|
Review and enhance SPEC with GPT/Gemini cross-validation.
|
|
13
12
|
|
|
14
|
-
**Purpose:** Run this skill after `
|
|
13
|
+
**Purpose:** Run this skill after `spec` to ensure accurate review execution. For large contexts, invoke in a new session.
|
|
15
14
|
|
|
16
15
|
---
|
|
17
16
|
|
|
@@ -20,7 +19,7 @@ Review and enhance SPEC with GPT/Gemini cross-validation.
|
|
|
20
19
|
This skill is automatically called in Phase 4 of the `/vibe.spec` orchestrator. If direct invocation is needed:
|
|
21
20
|
|
|
22
21
|
```
|
|
23
|
-
Load skill `
|
|
22
|
+
Load skill `spec-review` with feature: "feature-name"
|
|
24
23
|
```
|
|
25
24
|
|
|
26
25
|
Or via natural language trigger: "스펙 리뷰", "review spec", "명세 리뷰".
|
|
@@ -57,7 +56,7 @@ If the value is already the same, no-op.
|
|
|
57
56
|
```
|
|
58
57
|
/vibe.spec "feature" → SPEC created (Phase 3)
|
|
59
58
|
↓
|
|
60
|
-
Phase 4:
|
|
59
|
+
Phase 4: spec-review skill (this) → Quality validation + GPT/Gemini review
|
|
61
60
|
↓
|
|
62
61
|
/vibe.run "feature"
|
|
63
62
|
```
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: systematic-debugging
|
|
3
|
+
user-invocable: false
|
|
4
|
+
invocation: [auto]
|
|
3
5
|
tier: core
|
|
4
6
|
description: "Enforce reproduce-first, root-cause-first, failing-test-first debugging. Auto-activates on bug, error, fail, broken, crash, flaky keywords."
|
|
5
7
|
triggers: [bug, error, fail, broken, crash, flaky, not working, regression, unexpected, stack trace, exception, debug]
|
package/skills/techdebt/SKILL.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: techdebt
|
|
3
|
+
user-invocable: false
|
|
4
|
+
invocation: [auto, chain]
|
|
3
5
|
tier: core
|
|
4
6
|
description: "Technical debt cleanup — detect and fix duplicate code, console.log, unused imports, any types, etc. Recommended before session end. Activates on techdebt, cleanup, debt keywords."
|
|
5
7
|
triggers: [techdebt, cleanup, debt, unused imports, console.log, dead code]
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: test
|
|
3
|
+
description: vibe 자가검진 본체 — 대상 harness(~/.claude/~/.coco)의 모든 command/skill/hook/agent 프로빙 → pass/fail 리포트 → ~/.vibe/test-reports/.
|
|
4
|
+
when_to_use: /vibe.test 진입점에서 체인 호출. 직접 호출 금지.
|
|
5
|
+
user-invocable: false
|
|
3
6
|
tier: core
|
|
4
|
-
description: "Self-test vibe by probing every command/skill/hook/agent in a target harness install dir (~/.claude or ~/.coco) and writing a pass/fail report to ~/.vibe/test-reports/. Takes an optional harness argument (cc|coco); empty = current harness. Must use this skill when user runs /vibe.test, when verifying a vibe install before release, or when the user says 'self-test', 'harness 점검', 'vibe 건강'."
|
|
5
|
-
triggers: [test, self-test, "vibe 건강", "harness 점검", "자가검진"]
|
|
6
|
-
priority: 70
|
|
7
|
-
chain-next: []
|
|
8
7
|
---
|
|
9
8
|
|
|
10
|
-
#
|
|
9
|
+
# test — Self-Test
|
|
11
10
|
|
|
12
11
|
Probe every shipped vibe surface in one install dir and emit a pass/fail report.
|
|
13
12
|
|
|
@@ -39,7 +38,7 @@ All probes are **structural or test-based** — no interactive command is ever a
|
|
|
39
38
|
| Category | Source | Check |
|
|
40
39
|
|---|---|---|
|
|
41
40
|
| commands | `<install>/commands/*.md` | file readable · frontmatter parses · `description` present · body references a skill (`Load skill \`...\``) if it delegates |
|
|
42
|
-
| skills | `<install>/skills/*/SKILL.md` | frontmatter parses · required fields (`name`, `description`) · `
|
|
41
|
+
| skills | `<install>/skills/*/SKILL.md` | frontmatter parses · required fields (`name`, `description`, `invocation`) · `invocation` ⊆ `{command, auto, chain}` and non-empty · if `invocation` includes `auto` then `triggers` non-empty · if includes `command` then matching `commands/{vibe.X}.md` or `Load skill <name>` reference exists · if includes `chain` then another skill lists it in `chain-next` · body non-empty |
|
|
43
42
|
| hooks | repo `hooks/scripts/*.js` | for each script with a matching `__tests__/<name>.test.js`, run `npx vitest run <test> --reporter=json` and parse pass/fail counts |
|
|
44
43
|
| agents | `<install>/agents/*.md` | file readable · frontmatter parses · required fields (`name`, `description`) |
|
|
45
44
|
|
|
@@ -68,8 +67,8 @@ Written to `~/.vibe/test-reports/<YYYYMMDD-HHmm>-<harness>.{json,md}`. Exact sch
|
|
|
68
67
|
{ "name": "vibe.test", "status": "pass" }
|
|
69
68
|
],
|
|
70
69
|
"skills": [
|
|
71
|
-
{ "name": "
|
|
72
|
-
{ "name": "
|
|
70
|
+
{ "name": "test", "status": "pass" },
|
|
71
|
+
{ "name": "spec", "status": "fail", "error": "invocation includes `auto` but triggers array is empty" }
|
|
73
72
|
],
|
|
74
73
|
"hooks": [
|
|
75
74
|
{ "name": "pre-tool-guard", "status": "pass", "tests": "38/38" },
|
|
@@ -82,7 +81,7 @@ Written to `~/.vibe/test-reports/<YYYYMMDD-HHmm>-<harness>.{json,md}`. Exact sch
|
|
|
82
81
|
"failed": [
|
|
83
82
|
{
|
|
84
83
|
"category": "skills",
|
|
85
|
-
"name": "
|
|
84
|
+
"name": "spec",
|
|
86
85
|
"error": "frontmatter: triggers array is empty"
|
|
87
86
|
}
|
|
88
87
|
]
|
|
@@ -111,7 +110,7 @@ Written to `~/.vibe/test-reports/<YYYYMMDD-HHmm>-<harness>.{json,md}`. Exact sch
|
|
|
111
110
|
|
|
112
111
|
## Failures
|
|
113
112
|
|
|
114
|
-
- **skills /
|
|
113
|
+
- **skills / spec** — invocation includes `auto` but triggers array is empty
|
|
115
114
|
- **agents / explorer** — agent file not found
|
|
116
115
|
```
|
|
117
116
|
|
|
@@ -127,7 +126,7 @@ If `failed` is empty, replace the Failures section with `_All probes passed._`.
|
|
|
127
126
|
6. **Ensure** `~/.vibe/test-reports/` exists (`mkdir -p`, dir mode `0o700` — consistent with `~/.vibe/config.json`).
|
|
128
127
|
7. **Write** `<ts>-<harness>.json` and `<ts>-<harness>.md`.
|
|
129
128
|
8. **Print** the Markdown summary to the console.
|
|
130
|
-
9. **If `summary.failed > 0`**, load skill `
|
|
129
|
+
9. **If `summary.failed > 0`**, load skill `regress` with `subcommand: register --from-test` and pass the failed entries. P1 = any probe with `status: fail`.
|
|
131
130
|
|
|
132
131
|
## Done Criteria
|
|
133
132
|
|
|
@@ -138,3 +137,4 @@ If `failed` is empty, replace the Failures section with `_All probes passed._`.
|
|
|
138
137
|
- [ ] Markdown summary printed to console after the run
|
|
139
138
|
- [ ] Reports land in `~/.vibe/test-reports/`, never in project-local `.vibe/`
|
|
140
139
|
- [ ] `failed.length > 0` → auto-invokes `/vibe.regress register --from-test`
|
|
140
|
+
- [ ] `invocation` field invariants enforced per skill (`command` / `auto` / `chain` validity)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tool-fallback
|
|
3
|
+
invocation: [auto]
|
|
3
4
|
tier: optional
|
|
4
5
|
description: "Tool failure fallback strategies with circuit breaker. Auto-activates on API errors, search failures, timeouts, 429, 5xx, overloaded errors."
|
|
5
6
|
triggers: [API error, search failure, timeout, 429, 5xx, overloaded, fallback, circuit breaker]
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: typescript-advanced-types
|
|
3
|
+
invocation: [auto]
|
|
3
4
|
tier: core
|
|
4
5
|
description: "TypeScript advanced type system master guide. Covers Generics, Conditional Types, Mapped Types, Template Literals, Utility Types. Activates for complex type logic, reusable type utilities, and compile-time type safety."
|
|
5
6
|
sections:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ui-ux-pro-max
|
|
3
|
+
invocation: [command]
|
|
3
4
|
tier: standard
|
|
4
5
|
description: "UI/UX design intelligence with bold aesthetic direction. Searchable database: 50+ styles, 97 color palettes, 57 font pairings, 99 UX guidelines, 25 chart types across 9 stacks (React, Vue, Svelte, Angular, Astro, Next.js, Flutter, Swift, Kotlin). Use when building any UI component, choosing color schemes, selecting typography, applying design patterns, or reviewing UX compliance. Must use this skill when user builds frontend — pages, components, dashboards, or landing pages — to ensure design quality beyond generic AI output."
|
|
5
6
|
---
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: user-personas
|
|
3
|
+
invocation: [auto, chain]
|
|
3
4
|
tier: standard
|
|
4
5
|
description: "Create refined user personas from research data — 3 personas with JTBD, pains, gains, and unexpected insights."
|
|
5
6
|
triggers: [persona, user persona, user profile, user segment, user research]
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vercel-react-best-practices
|
|
3
|
+
invocation: [auto]
|
|
3
4
|
tier: core
|
|
4
5
|
description: "React/Next.js performance gotchas from Vercel engineering. Non-intuitive pitfalls that LLMs commonly miss."
|
|
5
6
|
triggers: [react, next.js, performance, optimization, vercel, component, rendering]
|