@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,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: vibe.spec
|
|
2
3
|
description: 프로젝트 명세 통합 진입점 — interview → plan → spec → review → run/figma 전체 워크플로 오케스트레이션
|
|
3
4
|
argument-hint: "(선택) feature name, plan/interview file path, or idea"
|
|
5
|
+
user-invocable: true
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# /vibe.spec
|
|
@@ -25,7 +27,7 @@ argument-hint: "(선택) feature name, plan/interview file path, or idea"
|
|
|
25
27
|
|
|
26
28
|
- **단일 진입점**: `/vibe.spec` 하나로 전체 워크플로 시작. 다른 `/vibe.*` 커맨드 이름 외울 필요 없음.
|
|
27
29
|
- **Smart resume**: 기존 interview/plan/spec 파일 존재 여부로 어느 단계부터 시작할지 자동 판단.
|
|
28
|
-
- **자동 체이닝**: 스킬 `chain-next` 메타데이터 따라
|
|
30
|
+
- **자동 체이닝**: 스킬 `chain-next` 메타데이터 따라 interview → plan → spec → spec-review 진행.
|
|
29
31
|
- **분기 판단**: 기획서의 `type` 필드로 UI 트랙/로직 트랙 여부 결정.
|
|
30
32
|
- **사용자 제어**: 각 단계 사이에 사용자 확인 지점(stop gate) 제공 (ultrawork 모드는 스킵).
|
|
31
33
|
|
|
@@ -41,14 +43,14 @@ Phase 0.5: Input 분석 + Smart resume 결정
|
|
|
41
43
|
- 기존 .vibe/{interviews,plans,specs}/ 확인
|
|
42
44
|
- 시작 단계 결정: interview | plan | spec | review
|
|
43
45
|
↓
|
|
44
|
-
Phase 1: Interview (skill:
|
|
46
|
+
Phase 1: Interview (skill: interview)
|
|
45
47
|
- 조건: interview 파일 없음
|
|
46
48
|
- 사용자 "그만"까지 반복 인터뷰
|
|
47
49
|
- 출력: .vibe/interviews/{feature}.md
|
|
48
50
|
↓
|
|
49
51
|
[Stop Gate 1] — ultrawork 모드에서는 스킵
|
|
50
52
|
↓
|
|
51
|
-
Phase 2: Plan (skill:
|
|
53
|
+
Phase 2: Plan (skill: plan)
|
|
52
54
|
- 조건: plan 파일 없음
|
|
53
55
|
- interview → 마크다운 기획서 정제
|
|
54
56
|
- 출력: .vibe/plans/{feature}.md
|
|
@@ -58,14 +60,14 @@ Phase 2: Plan (skill: vibe-plan)
|
|
|
58
60
|
- website/webapp/mobile → UI + Logic 병렬
|
|
59
61
|
- api/library/feature-data → Logic만
|
|
60
62
|
↓
|
|
61
|
-
Phase 3: SPEC 작성 (skill:
|
|
63
|
+
Phase 3: SPEC 작성 (skill: spec)
|
|
62
64
|
- PTCF 구조 SPEC 문서 + Feature(BDD) 파일
|
|
63
65
|
- Parallel research (GPT/Gemini/Claude agents)
|
|
64
66
|
- Large scope 자동 분할
|
|
65
67
|
- Ambiguity scan + 품질 게이트(100점, 수렴까지 루프)
|
|
66
68
|
- 출력: .vibe/specs/{feature}.md + .vibe/features/{feature}.feature
|
|
67
69
|
↓
|
|
68
|
-
Phase 4: SPEC Review (skill:
|
|
70
|
+
Phase 4: SPEC Review (skill: spec-review)
|
|
69
71
|
- Race Review (GPT + Gemini, 라운드 수 캡 없음, 수렴까지 루프)
|
|
70
72
|
- (옵션) Codex adversarial review
|
|
71
73
|
- 사용자 최종 체크포인트
|
|
@@ -138,7 +140,7 @@ Step 1) .vibe/.last-feature 확인 (pointer 파일)
|
|
|
138
140
|
✅ interview: .vibe/interviews/{feature}.md (status: complete, N일 전)
|
|
139
141
|
✅ plan: .vibe/plans/{feature}.md (N일 전)
|
|
140
142
|
❌ spec: 없음
|
|
141
|
-
→ 다음 단계: Phase 3 (
|
|
143
|
+
→ 다음 단계: Phase 3 (spec 스킬 — SPEC 작성)
|
|
142
144
|
|
|
143
145
|
이어서 진행할까요?
|
|
144
146
|
Enter / yes → 이어서 진행
|
|
@@ -224,7 +226,7 @@ Step 3) 빈 시작 (기존 동작)
|
|
|
224
226
|
분류: 신규 아이디어
|
|
225
227
|
기존 파일: 없음
|
|
226
228
|
|
|
227
|
-
→ 시작 단계: Phase 1 (
|
|
229
|
+
→ 시작 단계: Phase 1 (interview)
|
|
228
230
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
229
231
|
```
|
|
230
232
|
|
|
@@ -235,7 +237,7 @@ Step 3) 빈 시작 (기존 동작)
|
|
|
235
237
|
**진입 방식:**
|
|
236
238
|
|
|
237
239
|
1. **인자 있음** (`/vibe.spec "아이디어"`)
|
|
238
|
-
→ `
|
|
240
|
+
→ `interview` 스킬 로드 + 아이디어 전달
|
|
239
241
|
|
|
240
242
|
2. **인자 없음** (`/vibe.spec`)
|
|
241
243
|
→ **Smart Resume Fallback 먼저** (Phase 0.5 참조):
|
|
@@ -256,19 +258,19 @@ Step 3) 빈 시작 (기존 동작)
|
|
|
256
258
|
|
|
257
259
|
(파일/이미지 첨부도 가능)
|
|
258
260
|
```
|
|
259
|
-
→ 사용자 응답 → `
|
|
261
|
+
→ 사용자 응답 → `interview` 스킬 로드
|
|
260
262
|
|
|
261
263
|
**스킬 로드:**
|
|
262
264
|
|
|
263
265
|
```
|
|
264
|
-
Load skill `
|
|
266
|
+
Load skill `interview` with input: {user_idea}
|
|
265
267
|
```
|
|
266
268
|
|
|
267
|
-
> **`.last-feature` 갱신**:
|
|
269
|
+
> **`.last-feature` 갱신**: interview 스킬이 feature name을 확정하는 즉시 `.vibe/.last-feature` 에 한 줄로 기록. 이후 Phase 2/3/4 진입 시에도 동일 기록 유지 (값이 같으면 no-op).
|
|
268
270
|
|
|
269
|
-
`
|
|
271
|
+
`interview` 스킬이 자체적으로:
|
|
270
272
|
- 프로젝트 타입 감지 (website/webapp/mobile/api/library/feature)
|
|
271
|
-
- 타입별 체크리스트 로드 (`skills/
|
|
273
|
+
- 타입별 체크리스트 로드 (`skills/interview/checklists/{type}.md`)
|
|
272
274
|
- 반복 인터뷰 실행 (사용자 "그만"까지)
|
|
273
275
|
- `.vibe/interviews/{feature-name}.md` 저장
|
|
274
276
|
|
|
@@ -285,7 +287,7 @@ Load skill `vibe-interview` with input: {user_idea}
|
|
|
285
287
|
다음 단계: 기획서 작성
|
|
286
288
|
1. 계속 진행 (기본)
|
|
287
289
|
2. Interview만 저장하고 종료
|
|
288
|
-
3. Interview 수정 후 다시 (
|
|
290
|
+
3. Interview 수정 후 다시 (interview 재실행)
|
|
289
291
|
|
|
290
292
|
Enter → 계속
|
|
291
293
|
```
|
|
@@ -295,10 +297,10 @@ Enter → 계속
|
|
|
295
297
|
**진입 조건:** plan 파일이 아직 없음
|
|
296
298
|
|
|
297
299
|
```
|
|
298
|
-
Load skill `
|
|
300
|
+
Load skill `plan` with input: .vibe/interviews/{feature}.md
|
|
299
301
|
```
|
|
300
302
|
|
|
301
|
-
`
|
|
303
|
+
`plan` 스킬이 자체적으로:
|
|
302
304
|
- 템플릿 로드 (`~/.claude/vibe/templates/plan-template.md`)
|
|
303
305
|
- Interview 섹션별 정제
|
|
304
306
|
- UI 섹션 조건부 포함 (type 기반)
|
|
@@ -334,12 +336,12 @@ Enter → 계속
|
|
|
334
336
|
**진입 조건:** spec 파일이 아직 없음 (또는 재작성 요청)
|
|
335
337
|
|
|
336
338
|
```
|
|
337
|
-
Load skill `
|
|
339
|
+
Load skill `spec` with input: .vibe/plans/{feature}.md
|
|
338
340
|
```
|
|
339
341
|
|
|
340
|
-
`
|
|
342
|
+
`spec` 스킬이 PTCF 구조 SPEC 문서 + Feature(BDD) 파일 생성.
|
|
341
343
|
|
|
342
|
-
**핵심 단계** (상세는 `skills/
|
|
344
|
+
**핵심 단계** (상세는 `skills/spec/SKILL.md` 참조):
|
|
343
345
|
|
|
344
346
|
1. Project analysis (explorer agent)
|
|
345
347
|
2. config.json references 로드
|
|
@@ -358,12 +360,12 @@ Load skill `vibe-spec` with input: .vibe/plans/{feature}.md
|
|
|
358
360
|
### Phase 4: SPEC Review
|
|
359
361
|
|
|
360
362
|
```
|
|
361
|
-
Load skill `
|
|
363
|
+
Load skill `spec-review` with feature: {feature-name}
|
|
362
364
|
```
|
|
363
365
|
|
|
364
|
-
`
|
|
366
|
+
`spec-review` 스킬이 Race Review + 품질 검증 + 사용자 체크포인트 실행.
|
|
365
367
|
|
|
366
|
-
**핵심 단계** (상세는 `skills/
|
|
368
|
+
**핵심 단계** (상세는 `skills/spec-review/SKILL.md` 참조):
|
|
367
369
|
|
|
368
370
|
1. SPEC/Feature 파일 로드 (single/split 자동 감지)
|
|
369
371
|
2. Quality Validation (100점 게이트, 수렴까지 auto-fix 루프)
|
|
@@ -375,7 +377,7 @@ Load skill `vibe-spec-review` with feature: {feature-name}
|
|
|
375
377
|
### Phase 4.5: Contract Extract (auto, only for features with an API)
|
|
376
378
|
|
|
377
379
|
```
|
|
378
|
-
Load skill `
|
|
380
|
+
Load skill `contract` with: extract "{feature-name}"
|
|
379
381
|
```
|
|
380
382
|
|
|
381
383
|
If the SPEC has a `## API` / `## Endpoints` / `## Interface` section, extract the contract to `.vibe/contracts/{feature-name}.md`. If the section is absent, exit cleanly (not every feature has an API).
|
|
@@ -446,9 +448,9 @@ Claude: 🔍 Input 분석
|
|
|
446
448
|
입력: "원두 브랜드 랜딩"
|
|
447
449
|
분류: 신규 아이디어
|
|
448
450
|
기존 파일: 없음
|
|
449
|
-
→ 시작 단계: Phase 1 (
|
|
451
|
+
→ 시작 단계: Phase 1 (interview)
|
|
450
452
|
|
|
451
|
-
[
|
|
453
|
+
[interview 스킬 로드]
|
|
452
454
|
Type: website 감지 → checklists/website.md 로드
|
|
453
455
|
...
|
|
454
456
|
```
|
|
@@ -461,9 +463,9 @@ Claude: 🔍 Input 분석
|
|
|
461
463
|
입력: plan 파일 경로
|
|
462
464
|
분류: 기존 기획서
|
|
463
465
|
Feature: bean-landing
|
|
464
|
-
→ 시작 단계: Phase 3 (
|
|
466
|
+
→ 시작 단계: Phase 3 (spec)
|
|
465
467
|
|
|
466
|
-
[
|
|
468
|
+
[spec 스킬 로드]
|
|
467
469
|
기획서 읽기 → research → PTCF 작성 ...
|
|
468
470
|
```
|
|
469
471
|
|
|
@@ -477,9 +479,9 @@ Claude: 🔍 Input 분석
|
|
|
477
479
|
✅ interview: .vibe/interviews/bean-landing.md
|
|
478
480
|
✅ plan: .vibe/plans/bean-landing.md
|
|
479
481
|
❌ spec: 없음
|
|
480
|
-
→ 시작 단계: Phase 3 (
|
|
482
|
+
→ 시작 단계: Phase 3 (spec)
|
|
481
483
|
|
|
482
|
-
[
|
|
484
|
+
[spec 스킬 로드]
|
|
483
485
|
...
|
|
484
486
|
```
|
|
485
487
|
|
|
@@ -493,7 +495,7 @@ Claude: 🔍 Input 분석
|
|
|
493
495
|
✅ feature: .vibe/features/bean-landing.feature
|
|
494
496
|
|
|
495
497
|
이미 SPEC이 존재합니다. 어떻게 진행할까요?
|
|
496
|
-
1. SPEC 리뷰 (Phase 4:
|
|
498
|
+
1. SPEC 리뷰 (Phase 4: spec-review 스킬 로드)
|
|
497
499
|
2. /vibe.run 실행 (구현)
|
|
498
500
|
3. SPEC 재작성 (기존 백업 후 새로 작성)
|
|
499
501
|
4. 종료
|
|
@@ -509,7 +511,7 @@ Claude: (.last-feature 읽기 → "bean-landing" 발견)
|
|
|
509
511
|
✅ interview: .vibe/interviews/bean-landing.md (status: partial, 2일 전)
|
|
510
512
|
❌ plan: 없음
|
|
511
513
|
❌ spec: 없음
|
|
512
|
-
→ 다음 단계: Phase 2 (
|
|
514
|
+
→ 다음 단계: Phase 2 (plan — 기획서 작성)
|
|
513
515
|
|
|
514
516
|
이어서 진행할까요?
|
|
515
517
|
Enter / yes → 이어서 진행
|
|
@@ -521,7 +523,7 @@ User: yes
|
|
|
521
523
|
|
|
522
524
|
Claude: [Phase 2 진입]
|
|
523
525
|
.last-feature = bean-landing
|
|
524
|
-
[
|
|
526
|
+
[plan 스킬 로드]
|
|
525
527
|
...
|
|
526
528
|
```
|
|
527
529
|
|
|
@@ -545,7 +547,7 @@ Claude: (.last-feature 없음 → 디렉토리 스캔)
|
|
|
545
547
|
User: 2
|
|
546
548
|
|
|
547
549
|
Claude: Feature: todo-app 선택
|
|
548
|
-
✅ plan 완성 → Phase 3 (
|
|
550
|
+
✅ plan 완성 → Phase 3 (spec) 진입
|
|
549
551
|
.last-feature = todo-app
|
|
550
552
|
...
|
|
551
553
|
```
|
|
@@ -557,7 +559,7 @@ Claude: Feature: todo-app 선택
|
|
|
557
559
|
- 중단 시 다시 `/vibe.spec`으로 돌아오면 Smart Resume Fallback 동작:
|
|
558
560
|
- 인자 있음 (`/vibe.spec "feature-name"` 또는 파일 경로) → 해당 feature의 가장 진행된 단계 다음으로 바로 진입
|
|
559
561
|
- 인자 없음 → `.last-feature` 우선 제안 → 거부하면 진행 중 작업 목록 제시 → 또 거부하면 빈 시작
|
|
560
|
-
- 수동 개입 필요시 스킬 직접 호출 가능 (`Load skill
|
|
562
|
+
- 수동 개입 필요시 스킬 직접 호출 가능 (`Load skill interview` 등)
|
|
561
563
|
|
|
562
564
|
## Next Step
|
|
563
565
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: vibe.test
|
|
2
3
|
description: Self-test vibe — probe every command/skill/hook/agent in the target harness install dir and write a pass/fail report
|
|
3
4
|
argument-hint: "[cc|coco] (empty = current harness)"
|
|
5
|
+
user-invocable: true
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# /vibe.test
|
|
@@ -30,12 +32,12 @@ Markdown summary is also printed to the console when the run finishes.
|
|
|
30
32
|
|
|
31
33
|
## Process
|
|
32
34
|
|
|
33
|
-
Load skill `
|
|
35
|
+
Load skill `test` with target harness: `$ARGUMENTS`
|
|
34
36
|
|
|
35
37
|
- If `$ARGUMENTS` is empty, detect the current harness (CC vs coco) and use that.
|
|
36
38
|
- If the target install dir is missing, exit cleanly with guidance (not an error).
|
|
37
39
|
|
|
38
|
-
See `skills/
|
|
40
|
+
See `skills/test/SKILL.md` for the probe spec and the report template.
|
|
39
41
|
|
|
40
42
|
## Done Criteria
|
|
41
43
|
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vibe.trace
|
|
3
|
+
description: Generate and display Requirements Traceability Matrix (RTM) — REQ → SPEC → Feature → Code 관계 추적
|
|
4
|
+
argument-hint: "feature-name [--html] [--save]"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
1
8
|
# /vibe.trace
|
|
2
9
|
|
|
3
10
|
Generate and display Requirements Traceability Matrix (RTM).
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
+
name: vibe.verify
|
|
2
3
|
description: Verify implementation against SPEC requirements
|
|
3
4
|
argument-hint: "feature name"
|
|
5
|
+
user-invocable: true
|
|
4
6
|
---
|
|
5
7
|
|
|
6
8
|
# /vibe.verify
|
|
@@ -255,7 +257,7 @@ Before printing the failure report, **auto-register each failed scenario as a re
|
|
|
255
257
|
|
|
256
258
|
```
|
|
257
259
|
For each failed scenario:
|
|
258
|
-
Load skill `
|
|
260
|
+
Load skill `regress` with:
|
|
259
261
|
subcommand: register --from-verify
|
|
260
262
|
feature: {feature-name}
|
|
261
263
|
scenario: {scenario-name}
|
|
@@ -435,7 +437,7 @@ node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index
|
|
|
435
437
|
After all scenarios pass, auto-invoke:
|
|
436
438
|
|
|
437
439
|
```
|
|
438
|
-
Load skill `
|
|
440
|
+
Load skill `contract` with: check "{feature-name}"
|
|
439
441
|
```
|
|
440
442
|
|
|
441
443
|
- Skip if `.vibe/contracts/{feature-name}.md` does not exist
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: video-production
|
|
3
|
+
invocation: [auto]
|
|
3
4
|
tier: standard
|
|
4
5
|
description: "Video processing gotchas — FFmpeg commands, transcoding pipelines, HLS/DASH streaming setup, subtitle embedding (SRT/VTT), and thumbnail extraction. Use when the project involves any video manipulation, media processing, or streaming infrastructure. Covers codec selection, bitrate optimization, and common FFmpeg pitfalls. Must use this skill when user works with video files, mentions FFmpeg, or needs media processing — even for simple tasks like 'generate a thumbnail'."
|
|
5
6
|
triggers: [video, ffmpeg, transcode, encode, stream, media, subtitle, thumbnail, hls, dash]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|