@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
package/CLAUDE.md
CHANGED
|
@@ -69,17 +69,30 @@ Legacy: 기존 `.claude/vibe/`·`.coco/vibe/` 는 런타임에 자동 인식되
|
|
|
69
69
|
|
|
70
70
|
## Workflow
|
|
71
71
|
|
|
72
|
-
`/vibe
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
`/vibe` is the **single slash entry point**. Natural-language requirement (+ optional URL/image/PDF/file attachments) → vibe analyzes intent, designs a pipeline of `/vibe.*` skills, shows a preview, gets one approval, then chains them. `ultrawork` keyword skips the approval gate.
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
/vibe "<requirement>" [+ 📎 attachments]
|
|
76
|
+
→ Intent classification (new feature / figma-driven / clone / resume / review / regress / contract / scaffold / docs / analyze / harness / test / utils)
|
|
77
|
+
→ Smart Resume detection (.vibe/{interviews,plans,specs,features}/)
|
|
78
|
+
→ Pipeline preview + 1-time approval (skipped on `ultrawork`)
|
|
79
|
+
→ Sequential SlashCommand chain
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Advanced (explicit phase) commands** — still available for power users when you know exactly which phase to run:
|
|
83
|
+
- `/vibe.spec` — interview → plan → spec → review orchestration
|
|
84
|
+
- `/vibe.figma` — Figma ↔ code (UI track)
|
|
85
|
+
- `/vibe.run` — SPEC-driven implementation
|
|
86
|
+
- `/vibe.verify` — implementation vs SPEC verification
|
|
87
|
+
- `/vibe.regress` — regression test auto-evolution. Auto-registers on `/vibe.verify` failure; `generate` produces preventive tests; `cluster` promotes recurring patterns.
|
|
76
88
|
- `/vibe.contract` — API contract drift detection. Compares the contract extracted from the SPEC against the implementation; P1 drift auto-propagates to `/vibe.regress`.
|
|
89
|
+
- `/vibe.trace` — Requirements Traceability Matrix
|
|
77
90
|
- `/vibe.test` — vibe self-test across the CC ↔ coco harnesses. Subcommands: `parity` (static), `report` (runtime), `compare` (diff). P1 drift auto-propagates to `/vibe.regress`. Recommended before every release.
|
|
78
91
|
|
|
79
92
|
| Task Size | Approach |
|
|
80
93
|
|---|---|
|
|
81
94
|
| 1–2 files | Plan Mode |
|
|
82
|
-
| 3+ files | `/vibe.spec` |
|
|
95
|
+
| 3+ files | `/vibe "<requirement>"` (or `/vibe.spec` if you want to start at SPEC phase explicitly) |
|
|
83
96
|
|
|
84
97
|
## Magic Keywords
|
|
85
98
|
|
package/README.md
CHANGED
|
@@ -18,36 +18,42 @@ vibe init
|
|
|
18
18
|
|
|
19
19
|
## 워크플로우
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
**진입점 하나.** 자연어 요구사항만 던지세요. vibe가 의도를 분석해서 파이프라인을 설계하고, 한 번만 승인받고, 자동 실행합니다.
|
|
22
22
|
|
|
23
23
|
```
|
|
24
|
-
/vibe
|
|
24
|
+
/vibe "커피 브랜드 랜딩 페이지" [+ 📎 figma URL / 이미지 / PDF / 파일]
|
|
25
25
|
|
|
|
26
26
|
v
|
|
27
|
-
|
|
28
|
-
|
|
|
27
|
+
Intent 분류 ─── new feature? figma-driven? clone? resume? review? regress? ...
|
|
28
|
+
|
|
|
29
29
|
v
|
|
30
|
-
|
|
30
|
+
Smart Resume ─── .vibe/{interviews,plans,specs,features}/ 감지
|
|
31
31
|
|
|
|
32
32
|
v
|
|
33
|
-
|
|
33
|
+
파이프라인 설계 ─── /vibe.spec → /vibe.figma → /vibe.run → /vibe.verify → /vibe.trace
|
|
34
34
|
|
|
|
35
35
|
v
|
|
36
|
-
|
|
36
|
+
1회 승인 게이트 (ultrawork 키워드 있으면 skip)
|
|
37
37
|
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
/vibe.run (로직) /vibe.figma (UI)
|
|
41
|
-
SPEC 기반 구현 Figma 디자인 ↔ 코드
|
|
42
|
-
12개 에이전트 리뷰 읽기 또는 쓰기
|
|
43
|
-
| |
|
|
44
|
-
v v
|
|
45
|
-
/vibe.verify ──── /vibe.trace ──── 완료
|
|
38
|
+
v
|
|
39
|
+
순차 실행 ─── 각 phase 완료 시 다음으로
|
|
46
40
|
```
|
|
47
41
|
|
|
48
|
-
|
|
42
|
+
**예시:**
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
/vibe "패럴랙스 웹사이트 만들어줘"
|
|
46
|
+
/vibe "https://figma.com/file/abc 로 로그인 페이지"
|
|
47
|
+
/vibe "로그인 회귀 테스트 다시 통과시켜줘"
|
|
48
|
+
/vibe "이 SPEC 리뷰만" + 📎 .vibe/specs/login.md
|
|
49
|
+
/vibe "결제 API" ultrawork # 승인 게이트 skip
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Smart Resume** — 아무 단계에서나 멈추고 나중에 돌아오세요. `/vibe`는 `.vibe/` 디렉토리에서 진행 상황을 감지하고 "이어서?" 제안합니다.
|
|
53
|
+
|
|
54
|
+
**ultrawork** — `ultrawork` 키워드를 붙이면 승인 게이트와 모든 중단점을 skip하고 자동 실행합니다.
|
|
49
55
|
|
|
50
|
-
**
|
|
56
|
+
**Advanced** — 정확히 어느 phase 실행할지 알면 `/vibe.spec`, `/vibe.figma`, `/vibe.run`, `/vibe.verify`, `/vibe.trace` 등을 직접 호출할 수 있습니다.
|
|
51
57
|
|
|
52
58
|
---
|
|
53
59
|
|
|
@@ -65,7 +71,7 @@ vibe init
|
|
|
65
71
|
claude
|
|
66
72
|
|
|
67
73
|
# 워크플로우 실행
|
|
68
|
-
/vibe
|
|
74
|
+
/vibe "사용자 인증 추가"
|
|
69
75
|
```
|
|
70
76
|
|
|
71
77
|
---
|
|
@@ -123,7 +129,7 @@ claude
|
|
|
123
129
|
|
|
124
130
|
**세션 메모리** — 결정, 제약, 목표가 SQLite + FTS5 검색으로 세션 간 유지.
|
|
125
131
|
|
|
126
|
-
**Smart Resume** — `.last-feature` 포인터가 마지막 작업을 추적. 인자 없이 `/vibe
|
|
132
|
+
**Smart Resume** — `.last-feature` 포인터가 마지막 작업을 추적. 인자 없이 `/vibe`를 호출하면 중단된 위치를 보여주거나 진행 중 feature 목록을 제시.
|
|
127
133
|
|
|
128
134
|
---
|
|
129
135
|
|
|
@@ -143,11 +149,12 @@ claude
|
|
|
143
149
|
|
|
144
150
|
| 명령어 | 용도 |
|
|
145
151
|
|--------|------|
|
|
146
|
-
| `/vibe
|
|
147
|
-
| `/vibe.
|
|
148
|
-
| `/vibe.
|
|
149
|
-
| `/vibe.
|
|
150
|
-
| `/vibe.
|
|
152
|
+
| `/vibe` | **메인 진입점** — 자연어 요구사항 → 동적 파이프라인 설계 → 1회 승인 → 자동 체인 실행 |
|
|
153
|
+
| `/vibe.spec` | (advanced) 인터뷰, 기획, SPEC, 리뷰 phase 명시적 호출 |
|
|
154
|
+
| `/vibe.run` | (advanced) SPEC 기반 구현 |
|
|
155
|
+
| `/vibe.figma` | (advanced) Figma ↔ 코드 (읽기 또는 쓰기, 3가지 모드) |
|
|
156
|
+
| `/vibe.verify` | (advanced) 구현이 SPEC에 맞는지 검증 |
|
|
157
|
+
| `/vibe.trace` | (advanced) 요구사항 추적 매트릭스 |
|
|
151
158
|
|
|
152
159
|
---
|
|
153
160
|
|
|
@@ -187,7 +187,7 @@ node "[LLM_SCRIPT]" gemini orchestrate-json \
|
|
|
187
187
|
```
|
|
188
188
|
/vibe.spec "login feature"
|
|
189
189
|
|
|
190
|
-
→ best-practices
|
|
190
|
+
→ best-practices execution (3 LLMs parallel):
|
|
191
191
|
- Claude: "Research authentication best practices: OAuth, JWT, session"
|
|
192
192
|
- GPT: "Architecture patterns for auth: repository, service layer"
|
|
193
193
|
- Gemini: "Latest auth trends: passkey, WebAuthn, passwordless"
|
|
@@ -200,7 +200,7 @@ node "[LLM_SCRIPT]" gemini orchestrate-json \
|
|
|
200
200
|
```text
|
|
201
201
|
/vibe.spec "payment feature"
|
|
202
202
|
|
|
203
|
-
→ security-advisory
|
|
203
|
+
→ security-advisory execution (3 LLMs parallel):
|
|
204
204
|
- Claude: "Research security for payment processing. Check PCI-DSS, OWASP."
|
|
205
205
|
- GPT: "CVE lookup for payment libraries, known exploits"
|
|
206
206
|
- Gemini: "Latest payment security advisories, recent breaches"
|
|
@@ -36,26 +36,26 @@
|
|
|
36
36
|
```text
|
|
37
37
|
TeamCreate(team_name="research-{feature}", description="Research collaboration for {feature}")
|
|
38
38
|
|
|
39
|
-
Task(team_name="research-{feature}", name="best-practices", subagent_type="best-practices
|
|
39
|
+
Task(team_name="research-{feature}", name="best-practices", subagent_type="best-practices",
|
|
40
40
|
prompt="리서치 팀 리더. 10개 병렬 리서치 결과를 종합하세요.
|
|
41
41
|
리서치 결과: {all_research_results}
|
|
42
42
|
역할: 패턴/안티패턴 종합, 팀원 간 충돌 해결, 최종 통합 요약 작성.
|
|
43
43
|
TaskList를 확인하고 작업을 claim하세요. 팀원에게 SendMessage로 검증을 요청하세요.
|
|
44
44
|
모든 작업 완료 후 최종 요약을 작성하세요.")
|
|
45
45
|
|
|
46
|
-
Task(team_name="research-{feature}", name="security-advisory", subagent_type="security-advisory
|
|
46
|
+
Task(team_name="research-{feature}", name="security-advisory", subagent_type="security-advisory",
|
|
47
47
|
prompt="리서치 팀 보안 담당. 리서치 결과: {all_research_results}
|
|
48
48
|
역할: 보안 관점에서 모든 권장사항 검증.
|
|
49
49
|
보안 리스크 발견 시 best-practices에게 SendMessage로 알리세요.
|
|
50
50
|
TaskList에서 보안 관련 작업을 claim하세요.")
|
|
51
51
|
|
|
52
|
-
Task(team_name="research-{feature}", name="codebase-patterns", subagent_type="codebase-patterns
|
|
52
|
+
Task(team_name="research-{feature}", name="codebase-patterns", subagent_type="codebase-patterns",
|
|
53
53
|
prompt="리서치 팀 코드베이스 담당. 리서치 결과: {all_research_results}
|
|
54
54
|
역할: 권장사항이 기존 코드 패턴과 호환되는지 검증.
|
|
55
55
|
비호환 발견 시 best-practices에게 SendMessage로 알리세요.
|
|
56
56
|
TaskList에서 호환성 관련 작업을 claim하세요.")
|
|
57
57
|
|
|
58
|
-
Task(team_name="research-{feature}", name="framework-docs", subagent_type="framework-docs
|
|
58
|
+
Task(team_name="research-{feature}", name="framework-docs", subagent_type="framework-docs",
|
|
59
59
|
prompt="리서치 팀 문서 담당. 리서치 결과: {all_research_results}
|
|
60
60
|
역할: 최신 API/문서와 권장사항 대조 검증.
|
|
61
61
|
폐기/변경된 API 발견 시 best-practices에게 SendMessage로 알리세요.
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
## 사용 스킬
|
|
21
21
|
|
|
22
22
|
- `/vibe.review` (Phase 4.5: Review Debate)
|
|
23
|
-
- `
|
|
23
|
+
- `spec-review` skill (Step 3.5: SPEC Debate)
|
|
24
24
|
- `/vibe.run` (Review Team: 구현 후 리뷰)
|
|
25
25
|
|
|
26
26
|
## 워크플로우
|
|
@@ -75,7 +75,7 @@ Task(team_name="review-debate-{feature}", name="simplicity-reviewer", subagent_t
|
|
|
75
75
|
TaskList에서 복잡도/단순화 관련 이슈를 claim하세요.")
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
### SPEC Review 컨텍스트 (
|
|
78
|
+
### SPEC Review 컨텍스트 (spec-review)
|
|
79
79
|
|
|
80
80
|
spawn 패턴은 동일하되, prompt의 입력이 다름:
|
|
81
81
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|------|------|-------|
|
|
9
9
|
| security-reviewer (리더) | OWASP Top 10 검증, 보안 이슈 우선순위 결정 | Sonnet |
|
|
10
10
|
| data-integrity-reviewer | 데이터 무결성, 트랜잭션 관리, 입력 검증 | Sonnet |
|
|
11
|
-
| security-advisory
|
|
11
|
+
| security-advisory | 사용 라이브러리 CVE 확인, 보안 패치 확인 | Haiku |
|
|
12
12
|
| tester | 보안 테스트 케이스 작성, 침투 테스트 시나리오 검증 | Haiku |
|
|
13
13
|
|
|
14
14
|
## 활성화 조건
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
|
24
24
|
├──→ security-reviewer: OWASP Top 10 검증 + 합의 주도
|
|
25
25
|
├──→ data-integrity-reviewer: 데이터 흐름 + 입력 검증
|
|
26
|
-
├──→ security-advisory
|
|
26
|
+
├──→ security-advisory: CVE 스캔 + 의존성 검사
|
|
27
27
|
└──→ tester: 보안 테스트 케이스 작성
|
|
28
28
|
|
|
|
29
29
|
[SendMessage 교차 보고]
|
|
@@ -51,7 +51,7 @@ Task(team_name="security-{feature}", name="data-integrity-reviewer", subagent_ty
|
|
|
51
51
|
Role: Check transaction management, input validation, data sanitization.
|
|
52
52
|
Report findings to security-reviewer.")
|
|
53
53
|
|
|
54
|
-
Task(team_name="security-{feature}", name="security-advisory
|
|
54
|
+
Task(team_name="security-{feature}", name="security-advisory", subagent_type="security-advisory",
|
|
55
55
|
prompt="Security team advisory specialist. Check dependencies for {feature}.
|
|
56
56
|
Role: Scan for known CVEs in project dependencies. Check security advisories.
|
|
57
57
|
Report critical findings to security-reviewer.")
|
|
@@ -69,7 +69,7 @@ Task(team_name="security-{feature}", name="tester", subagent_type="tester",
|
|
|
69
69
|
```text
|
|
70
70
|
security-reviewer → data-integrity-reviewer: "POST /users에서 입력 검증 확인 요청. SQL injection 가능성"
|
|
71
71
|
data-integrity-reviewer → security-reviewer: "입력 검증 없음 확인. parameterized query도 미사용. P1"
|
|
72
|
-
security-advisory
|
|
72
|
+
security-advisory → security-reviewer: "jsonwebtoken@8.x에 CVE-2024-xxxxx. jose로 마이그레이션 필요"
|
|
73
73
|
tester → security-reviewer: "auth bypass 테스트: admin 엔드포인트에 일반 토큰으로 접근 성공. P1"
|
|
74
74
|
security-reviewer → broadcast: "P1 3건 발견. merge 차단. 수정 후 재검증 필요"
|
|
75
75
|
```
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Claude Code 네이티브 서브에이전트 설치
|
|
9
9
|
*
|
|
10
|
-
* agents/ 디렉토리를 재귀 순회하여 모든 .md 파일을 변환 후
|
|
10
|
+
* agents/ 디렉토리를 재귀 순회하여 모든 .md 파일을 변환 후 설치.
|
|
11
|
+
* `agents/teams/` 는 단일 sub-agent가 아닌 다중 agent 메타 문서이므로
|
|
12
|
+
* 별도 위치(vibe core)에 보관하며 Claude Code sub-agent로는 등록하지 않는다.
|
|
11
13
|
*/
|
|
12
14
|
export declare function installClaudeAgents(agentsSource: string, claudeAgentsDir: string): void;
|
|
13
15
|
//# sourceMappingURL=claude-agents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agents.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall/claude-agents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"claude-agents.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall/claude-agents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsKH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAoDvF"}
|
|
@@ -40,10 +40,10 @@ function generateDescription(name, title, roleLines) {
|
|
|
40
40
|
'rails-reviewer': `Rails framework expert. ${roleDesc}. MVC patterns, ActiveRecord best practices.`,
|
|
41
41
|
'react-reviewer': `React framework expert. ${roleDesc}. Hooks, component patterns. Use proactively for React components.`,
|
|
42
42
|
// Research agents
|
|
43
|
-
'best-practices
|
|
44
|
-
'framework-docs
|
|
45
|
-
'codebase-patterns
|
|
46
|
-
'security-advisory
|
|
43
|
+
'best-practices': `Industry best practices researcher. ${roleDesc}. Use when starting feature design to gather recommended patterns.`,
|
|
44
|
+
'framework-docs': `Framework documentation researcher. ${roleDesc}. Use to verify latest API usage and migration guides.`,
|
|
45
|
+
'codebase-patterns': `Codebase pattern analyzer. ${roleDesc}. Use to discover existing patterns and conventions before implementation.`,
|
|
46
|
+
'security-advisory': `Security advisory researcher. ${roleDesc}. Use to check CVEs and security advisories for project dependencies.`,
|
|
47
47
|
// Utility agents
|
|
48
48
|
'searcher': `Web search specialist. ${roleDesc}. Use to find latest tech information, error solutions, and library documentation.`,
|
|
49
49
|
'tester': `Test writing specialist. ${roleDesc}. Use proactively after implementing new features to generate comprehensive tests.`,
|
|
@@ -65,6 +65,32 @@ function generateDescription(name, title, roleLines) {
|
|
|
65
65
|
// Docs agents
|
|
66
66
|
'api-documenter': `API documentation generator. ${roleDesc}. Extracts endpoints and generates structured API docs with schemas and examples.`,
|
|
67
67
|
'changelog-writer': `Changelog generator from git diff. ${roleDesc}. Classifies changes and suggests semantic version bumps.`,
|
|
68
|
+
// Figma agents (teams/figma)
|
|
69
|
+
'figma-analyst': `Figma data collector & pattern analyst. ${roleDesc}. Phase 2-3: REST API로 tree.json 수집, 디자인 의도 해석, 반복 패턴 → 공통 컴포넌트 후보 추출.`,
|
|
70
|
+
'figma-architect': `Figma component tree designer. ${roleDesc}. Phase 3.5: sections.json → 컴포넌트 설계서, Props/Slots 인터페이스, 공유 vs 고유 컴포넌트 결정.`,
|
|
71
|
+
'figma-builder': `Figma → code assembler. ${roleDesc}. Phase 4: component-spec.json + figma-to-scss.js 출력으로 HTML 구조 + 인터랙션 로직 작성. SCSS는 수정 금지.`,
|
|
72
|
+
'figma-auditor': `Figma rendering validator. ${roleDesc}. Phase 5-6: tsc + build gate, 렌더링 vs 스크린샷 시각 검증, CSS 수치 대조 → builder에 불일치 리포트.`,
|
|
73
|
+
// UI agents
|
|
74
|
+
'ui-a11y-auditor': `UI accessibility auditor. ${roleDesc}. WCAG 2.1 AA 준수 검사, 색 대비, 키보드 네비, 스크린 리더. P1은 Review Debate Team으로 에스컬레이션.`,
|
|
75
|
+
'ui-antipattern-detector': `UI anti-pattern detector. ${roleDesc}. design system MASTER.md 대비 일관성 위반, dark pattern, 디자인 시스템 이탈 식별.`,
|
|
76
|
+
'ui-dataviz-advisor': `Data visualization advisor. ${roleDesc}. 제품 타입별 시각화 접근법, 차트 라이브러리 성능 고려, 접근성 가이드라인 제시.`,
|
|
77
|
+
'ui-design-system-gen': `Design system generator. ${roleDesc}. 산업 분석 → 전체 디자인 시스템 생성, MASTER.md(CSS 변수/팔레트/타이포/스페이싱) 작성·저장.`,
|
|
78
|
+
'ui-industry-analyzer': `Product → industry/style analyzer. ${roleDesc}. 제품 설명으로 산업 카테고리 감지, 스타일 우선순위·컬러·타이포 무드 결정. 다운스트림 agent 입력.`,
|
|
79
|
+
'ui-layout-architect': `UI layout architect. ${roleDesc}. 산업 분석 → 페이지 레이아웃 구조 설계, 섹션/계층/CTA 배치, 랜딩·대시보드 패턴 추천.`,
|
|
80
|
+
'ui-stack-implementer': `Stack-specific implementation guide. ${roleDesc}. 감지된 tech stack에 맞춘 구현 가이드라인, 컴포넌트 라이브러리·훅·상태관리 추천.`,
|
|
81
|
+
'ux-compliance-reviewer': `UX guideline compliance reviewer. ${roleDesc}. 99 UX 가이드라인 대비 검토, 인터랙션 상태·네비게이션·피드백 패턴 검증.`,
|
|
82
|
+
// Team coordinators (multi-agent orchestration meta-docs)
|
|
83
|
+
'debug-team': `Debug team coordinator. ${roleDesc}. Reproduce→hypothesize→fix 워크플로를 다중 agent로 분담.`,
|
|
84
|
+
'dev-team': `Dev team coordinator. ${roleDesc}. Implementer + Tester + Reviewer를 묶어 SPEC → 코드 → 검증 사이클 진행.`,
|
|
85
|
+
'docs-team': `Docs team coordinator. ${roleDesc}. api-documenter + changelog-writer 협업으로 문서·릴리즈 노트 생성.`,
|
|
86
|
+
'figma-team': `Figma pipeline coordinator. ${roleDesc}. figma-analyst → architect → builder → auditor 6-phase 파이프라인 오케스트레이션.`,
|
|
87
|
+
'fullstack-team': `Fullstack team coordinator. ${roleDesc}. Frontend + Backend + DB 변경을 동시 진행하는 다중 agent 팀.`,
|
|
88
|
+
'lite-team': `Lite team coordinator. ${roleDesc}. 단일 agent로 처리 가능한 소형 변경에 가벼운 implementer + reviewer 조합.`,
|
|
89
|
+
'migration-team': `Migration team coordinator. ${roleDesc}. 데이터/스키마/프레임워크 마이그레이션 multi-step orchestration.`,
|
|
90
|
+
'refactor-team': `Refactor team coordinator. ${roleDesc}. characterization-test → refactor-cleaner → simplifier 사이클 오케스트레이션.`,
|
|
91
|
+
'research-team': `Research team coordinator. ${roleDesc}. best-practices + framework-docs + codebase-patterns + security-advisory 병렬 리서치 종합.`,
|
|
92
|
+
'review-debate-team': `Multi-reviewer debate coordinator. ${roleDesc}. P1/P2 이슈를 security/architecture/performance/simplicity reviewer가 토론하여 합의·오탐 제거.`,
|
|
93
|
+
'security-team': `Security team coordinator. ${roleDesc}. security-reviewer + security-advisory + edge-case-finder 협업으로 OWASP 종합 검증.`,
|
|
68
94
|
};
|
|
69
95
|
return descriptions[name] || `${title}. ${roleDesc}. Use proactively when relevant.`;
|
|
70
96
|
}
|
|
@@ -119,7 +145,9 @@ function convertAgentToClaude(content, filename) {
|
|
|
119
145
|
/**
|
|
120
146
|
* Claude Code 네이티브 서브에이전트 설치
|
|
121
147
|
*
|
|
122
|
-
* agents/ 디렉토리를 재귀 순회하여 모든 .md 파일을 변환 후
|
|
148
|
+
* agents/ 디렉토리를 재귀 순회하여 모든 .md 파일을 변환 후 설치.
|
|
149
|
+
* `agents/teams/` 는 단일 sub-agent가 아닌 다중 agent 메타 문서이므로
|
|
150
|
+
* 별도 위치(vibe core)에 보관하며 Claude Code sub-agent로는 등록하지 않는다.
|
|
123
151
|
*/
|
|
124
152
|
export function installClaudeAgents(agentsSource, claudeAgentsDir) {
|
|
125
153
|
if (!fs.existsSync(agentsSource)) {
|
|
@@ -133,14 +161,23 @@ export function installClaudeAgents(agentsSource, claudeAgentsDir) {
|
|
|
133
161
|
ensureDir(claudeAgentsDir);
|
|
134
162
|
let installed = 0;
|
|
135
163
|
let total = 0;
|
|
136
|
-
|
|
164
|
+
let teamsSkipped = 0;
|
|
165
|
+
function processDirectory(srcDir, destDir, relPath) {
|
|
137
166
|
ensureDir(destDir);
|
|
138
167
|
const entries = fs.readdirSync(srcDir, { withFileTypes: true });
|
|
139
168
|
for (const entry of entries) {
|
|
140
169
|
const srcPath = path.join(srcDir, entry.name);
|
|
141
170
|
const destPath = path.join(destDir, entry.name);
|
|
171
|
+
const childRel = relPath ? `${relPath}/${entry.name}` : entry.name;
|
|
172
|
+
// teams/ 는 메타 문서 — sub-agent 등록에서 제외
|
|
173
|
+
if (entry.isDirectory() && entry.name === 'teams' && relPath === '') {
|
|
174
|
+
const teamCount = fs.readdirSync(srcPath, { recursive: true })
|
|
175
|
+
.filter((f) => typeof f === 'string' && f.endsWith('.md')).length;
|
|
176
|
+
teamsSkipped = teamCount;
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
142
179
|
if (entry.isDirectory()) {
|
|
143
|
-
processDirectory(srcPath, destPath);
|
|
180
|
+
processDirectory(srcPath, destPath, childRel);
|
|
144
181
|
}
|
|
145
182
|
else if (entry.name.endsWith('.md')) {
|
|
146
183
|
total++;
|
|
@@ -156,7 +193,8 @@ export function installClaudeAgents(agentsSource, claudeAgentsDir) {
|
|
|
156
193
|
}
|
|
157
194
|
}
|
|
158
195
|
}
|
|
159
|
-
processDirectory(agentsSource, claudeAgentsDir);
|
|
160
|
-
|
|
196
|
+
processDirectory(agentsSource, claudeAgentsDir, '');
|
|
197
|
+
const skipNote = teamsSkipped > 0 ? ` (+${teamsSkipped} teams skipped — meta docs)` : '';
|
|
198
|
+
console.log(` 📦 Claude agents: ${installed}/${total} installed${skipNote}`);
|
|
161
199
|
}
|
|
162
200
|
//# sourceMappingURL=claude-agents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agents.js","sourceRoot":"","sources":["../../../src/cli/postinstall/claude-agents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,SAAS,mBAAmB,CAAC,IAAY,EAAE,KAAa,EAAE,SAAmB;IAC3E,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,YAAY,GAA2B;QAC3C,gBAAgB;QAChB,UAAU,EAAE,oCAAoC,QAAQ,kFAAkF;QAC1I,cAAc,EAAE,+CAA+C,QAAQ,oDAAoD;QAC3H,iBAAiB,EAAE,6CAA6C,QAAQ,+DAA+D;QACvI,mBAAmB;QACnB,aAAa,EAAE,mCAAmC,QAAQ,+DAA+D;QACzH,iBAAiB,EAAE,wCAAwC,QAAQ,qEAAqE;QACxI,oBAAoB,EAAE,+CAA+C,QAAQ,+DAA+D;QAC5I,iBAAiB;QACjB,WAAW,EAAE,8CAA8C,QAAQ,kGAAkG;QACrK,eAAe,EAAE,mCAAmC,QAAQ,4DAA4D;QACxH,kBAAkB,EAAE,uCAAuC,QAAQ,yEAAyE;QAC5I,gBAAgB;QAChB,mBAAmB,EAAE,kCAAkC,QAAQ,yHAAyH;QACxL,uBAAuB,EAAE,+BAA+B,QAAQ,qFAAqF;QACrJ,sBAAsB,EAAE,oCAAoC,QAAQ,uEAAuE;QAC3I,qBAAqB,EAAE,6BAA6B,QAAQ,mFAAmF;QAC/I,qBAAqB,EAAE,6BAA6B,QAAQ,gEAAgE;QAC5H,yBAAyB,EAAE,0BAA0B,QAAQ,6CAA6C;QAC1G,wBAAwB,EAAE,2BAA2B,QAAQ,8EAA8E;QAC3I,sBAAsB,EAAE,yBAAyB,QAAQ,yDAAyD;QAClH,iBAAiB,EAAE,uBAAuB,QAAQ,kEAAkE;QACpH,qBAAqB,EAAE,2BAA2B,QAAQ,qEAAqE;QAC/H,gBAAgB,EAAE,2BAA2B,QAAQ,8CAA8C;QACnG,gBAAgB,EAAE,2BAA2B,QAAQ,oEAAoE;QACzH,kBAAkB;QAClB,
|
|
1
|
+
{"version":3,"file":"claude-agents.js","sourceRoot":"","sources":["../../../src/cli/postinstall/claude-agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
* standard: 워크플로우 지원 — 프로젝트 설정 시 선택 활성
|
|
9
9
|
* optional: 참고/래퍼 — 명시적 호출 시에만 로드 (전역 설치에서 제외)
|
|
10
10
|
*/
|
|
11
|
+
/**
|
|
12
|
+
* 도트 진입점 스킬 (예: vibe.spec) — `/vibe.spec` 슬래시 명령으로 노출
|
|
13
|
+
* 이전엔 commands/*.md 였지만, CC가 skills/*.md 도 슬래시로 노출하므로 통합됨
|
|
14
|
+
*/
|
|
15
|
+
export declare const GLOBAL_SKILLS_ENTRY: ReadonlyArray<string>;
|
|
11
16
|
export declare const GLOBAL_SKILLS_CORE: ReadonlyArray<string>;
|
|
12
17
|
export declare const GLOBAL_SKILLS_STANDARD: ReadonlyArray<string>;
|
|
13
18
|
/** 전역 설치에서 제외된 스킬 (명시적 /skill-name 호출 시에만 활성)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAYpD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/postinstall/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;GAMG;AACH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAmBrD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAYpD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAaxD,CAAC;AAEF;8CAC8C;AAC9C,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,MAAM,CAMxD,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,CAI/C,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAgBjE,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAMnE,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAG1E,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAM,CAAC;AAEpF,uDAAuD;AACvD,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAMA,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,YAAY,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAuB9F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,YAAY,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAmBjG;AAKD,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2BzD,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwBjD,CAAC;AAMF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkBvD,CAAC;AAGF,eAAO,MAAM,sBAAsB,UAGlC,CAAC;AAGF,eAAO,MAAM,iBAAiB,UAE7B,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAgCnD,CAAC;AAKF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqFvD,CAAC;AAGF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAKvD,CAAC;AAGF,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqF7D,CAAC;AAGF,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwD/D,CAAC;AAGF,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAoClE,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAatD,CAAC"}
|