@su-record/vibe 3.2.6 → 3.2.7
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/README.en.md +1 -1
- package/README.md +1 -1
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +10 -9
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/hooks/scripts/__tests__/.vibe/command-log.txt +3 -3
- package/package.json +2 -2
- package/skills/vibe/SKILL.md +27 -86
- package/skills/vibe/references/routing-examples.md +85 -0
- package/skills/vibe.agents-md/SKILL.md +12 -10
- package/skills/vibe.analyze/SKILL.md +22 -211
- package/skills/vibe.analyze/references/mode1-feature.md +81 -0
- package/skills/vibe.analyze/references/mode2-document.md +50 -0
- package/skills/vibe.analyze/references/mode3-website.md +47 -0
- package/skills/vibe.analyze/references/mode4-quality.md +35 -0
- package/skills/vibe.brand-assets/SKILL.md +2 -2
- package/skills/vibe.brand-assets/references/mobile-assets.md +6 -0
- package/skills/vibe.capability-loop/SKILL.md +14 -80
- package/skills/vibe.capability-loop/references/escalate.md +86 -0
- package/skills/vibe.chub-usage/SKILL.md +3 -132
- package/skills/vibe.clone/SKILL.md +43 -358
- package/skills/vibe.clone/references/phase-commands.md +118 -0
- package/skills/vibe.clone/references/setup-and-layout.md +34 -0
- package/skills/vibe.clone/references/verification-loops.md +64 -0
- package/skills/vibe.commit-push-pr/SKILL.md +10 -4
- package/skills/vibe.context7-usage/SKILL.md +3 -99
- package/skills/vibe.continue/SKILL.md +17 -7
- package/skills/{vibe.handoff → vibe.continue}/agents/context-summarizer.md +1 -1
- package/skills/{vibe.handoff → vibe.continue}/agents/document-writer.md +1 -1
- package/skills/{vibe.handoff → vibe.continue}/agents/state-collector.md +1 -1
- package/skills/{vibe.handoff → vibe.continue}/agents/verifier.md +1 -1
- package/skills/{vibe.handoff/rubrics/completeness.md → vibe.continue/references/handoff-completeness.md} +1 -1
- package/skills/{vibe.handoff/templates → vibe.continue/references}/handoff.md +37 -2
- package/skills/vibe.contract/SKILL.md +4 -27
- package/skills/vibe.create-prd/SKILL.md +8 -1
- package/skills/vibe.design/SKILL.md +18 -5
- package/skills/vibe.design/references/design-context.md +184 -0
- package/skills/vibe.design-refine/SKILL.md +7 -0
- package/skills/vibe.design-review/SKILL.md +7 -0
- package/skills/vibe.design-teach/SKILL.md +2 -175
- package/skills/vibe.devlog/SKILL.md +14 -11
- package/skills/vibe.devlog/references/auto-push.md +10 -0
- package/skills/vibe.docs/SKILL.md +27 -198
- package/skills/vibe.docs/references/agent.md +55 -0
- package/skills/vibe.docs/references/arch.md +28 -0
- package/skills/vibe.docs/references/codemaps.md +17 -0
- package/skills/vibe.docs/references/diagram.md +24 -0
- package/skills/vibe.docs/references/guide.md +23 -0
- package/skills/vibe.docs/references/readme.md +45 -0
- package/skills/vibe.docs/references/release.md +31 -0
- package/skills/vibe.documentation-provider/SKILL.md +22 -0
- package/skills/vibe.documentation-provider/references/chub.md +141 -0
- package/skills/vibe.documentation-provider/references/context7.md +107 -0
- package/skills/vibe.educational-content/SKILL.md +7 -0
- package/skills/vibe.event/SKILL.md +47 -146
- package/skills/vibe.event/references/comms.md +173 -0
- package/skills/vibe.event/references/operations.md +208 -0
- package/skills/vibe.event/references/orchestration-legacy.md +97 -0
- package/skills/vibe.event/references/planning.md +145 -0
- package/skills/vibe.event-comms/SKILL.md +3 -165
- package/skills/vibe.event-ops/SKILL.md +3 -200
- package/skills/vibe.event-planning/SKILL.md +3 -137
- package/skills/vibe.figma/SKILL.md +26 -692
- package/skills/vibe.figma/references/branch1-read-convention.md +82 -0
- package/skills/vibe.figma/references/branch2-read-standalone.md +69 -0
- package/skills/vibe.figma/references/branch3-write.md +122 -0
- package/skills/vibe.figma/references/core-implementation.md +453 -0
- package/skills/vibe.git-worktree/SKILL.md +2 -6
- package/skills/vibe.git-worktree/references/troubleshooting.md +9 -0
- package/skills/vibe.handoff/SKILL.md +2 -103
- package/skills/vibe.harness/SKILL.md +17 -12
- package/skills/vibe.image/SKILL.md +8 -1
- package/skills/vibe.llm/SKILL.md +8 -1
- package/skills/vibe.loop/SKILL.md +9 -11
- package/skills/vibe.loop/references/install-adapters.md +10 -0
- package/skills/vibe.presentation/SKILL.md +7 -0
- package/skills/vibe.prioritization/SKILL.md +7 -0
- package/skills/vibe.priority-todos/SKILL.md +2 -57
- package/skills/vibe.react-best-practices/SKILL.md +1 -1
- package/skills/vibe.reason/SKILL.md +9 -2
- package/skills/vibe.regress/SKILL.md +6 -28
- package/skills/vibe.regress/templates/{test-jest.md → test-template.md} +1 -0
- package/skills/vibe.review/SKILL.md +35 -38
- package/skills/vibe.review/references/priority-todos.md +66 -0
- package/skills/vibe.review/references/ui-ux-review.md +39 -0
- package/skills/vibe.run/SKILL.md +57 -656
- package/skills/vibe.run/references/arch-guard.md +178 -0
- package/skills/vibe.run/references/e2e-and-autofix.md +40 -0
- package/skills/vibe.run/references/exec-plan.md +145 -0
- package/skills/vibe.run/references/guidelines-and-tools.md +84 -0
- package/skills/vibe.run/references/process-steps.md +179 -0
- package/skills/vibe.run/references/restraint.md +66 -0
- package/skills/vibe.scaffold/SKILL.md +9 -13
- package/skills/vibe.scaffold/references/clean-architecture.md +17 -0
- package/skills/vibe.spec/SKILL.md +12 -8
- package/skills/vibe.spec/references/legacy-artifacts.md +6 -0
- package/skills/vibe.test/SKILL.md +93 -70
- package/skills/vibe.test/references/report-template.md +101 -0
- package/skills/vibe.tool-fallback/SKILL.md +10 -32
- package/skills/vibe.tool-fallback/references/external-llm.md +10 -0
- package/skills/vibe.tool-fallback/references/file-lookup.md +9 -0
- package/skills/vibe.tool-fallback/references/web-search.md +11 -0
- package/skills/vibe.trace/SKILL.md +2 -264
- package/skills/vibe.ui-ux-pro-max/SKILL.md +1 -3
- package/skills/vibe.ui-ux-pro-max/references/charts-and-data.md +7 -0
- package/skills/vibe.user-personas/SKILL.md +8 -1
- package/skills/vibe.verify/SKILL.md +30 -4
- package/skills/vibe.verify/references/trace-mode.md +271 -0
- package/skills/vibe.regress/templates/test-vitest.md +0 -30
- /package/skills/{vibe.design-teach/rubrics → vibe.design/references}/brand-personality.md +0 -0
- /package/skills/{vibe.design-teach → vibe.design}/templates/design-context.json +0 -0
- /package/skills/{vibe.context7-usage/rubrics/when-to-use.md → vibe.documentation-provider/references/context7-when-to-use.md} +0 -0
- /package/skills/{vibe.event-ops/rubrics → vibe.event/references}/contingency.md +0 -0
- /package/skills/{vibe.event-ops/templates/d-day-checklist.md → vibe.event/references/d-day-checklist-template.md} +0 -0
- /package/skills/{vibe.event-comms/templates/email-invite.md → vibe.event/references/email-invite-template.md} +0 -0
- /package/skills/{vibe.event-planning/templates/event-plan.md → vibe.event/references/event-plan-template.md} +0 -0
- /package/skills/{vibe.event-comms/templates/sns-post.md → vibe.event/references/sns-post-template.md} +0 -0
- /package/skills/{vibe.event-planning/rubrics → vibe.event/references}/timeline.md +0 -0
- /package/skills/{vibe.priority-todos/templates/todo-board.md → vibe.review/references/todo-board-template.md} +0 -0
- /package/skills/{vibe.priority-todos/rubrics/prioritization.md → vibe.review/references/todo-prioritization.md} +0 -0
package/skills/vibe.llm/SKILL.md
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vibe.llm
|
|
3
|
-
description:
|
|
3
|
+
description: provider별 사용 가능 모델이 바뀌었거나 현재 claude/openai/gemini/zai 모델 목록과 vibe model SSOT를 갱신할 때 사용한다.
|
|
4
4
|
argument-hint: "list | refresh"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# /vibe.llm
|
|
9
9
|
|
|
10
|
+
## 완료 기준
|
|
11
|
+
|
|
12
|
+
- [ ] 각 provider의 모델 조회가 성공 또는 명시적 실패로 기록되어 있다.
|
|
13
|
+
- [ ] model SSOT가 조회 결과와 일치한다.
|
|
14
|
+
- [ ] 중복 model ID가 없다.
|
|
15
|
+
- [ ] SSOT 검증 명령이 통과한다.
|
|
16
|
+
|
|
10
17
|
현재 시점 기준으로 각 LLM provider(claude, openai API+oauth, gemini, zai)의
|
|
11
18
|
**사용 가능한 모델을 최신화**하고, vibe 가 쓰는 **모델 SSOT(`~/.vibe/config.json` models)**를 갱신한다.
|
|
12
19
|
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vibe.loop
|
|
3
|
-
description:
|
|
3
|
+
description: 반복 작업을 자율 goal loop로 설계·설치·실행하고 결정론적 gate로 완료를 판정해야 할 때 사용한다.
|
|
4
4
|
argument-hint: "design | install | run | status | list [loop-name]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# /vibe.loop
|
|
9
9
|
|
|
10
|
+
## 완료 기준
|
|
11
|
+
|
|
12
|
+
- [ ] loop 정의에 ANCHOR, ACT, JUDGE, RECORD가 모두 있다.
|
|
13
|
+
- [ ] JUDGE가 exit code, 파일 상태 또는 ledger 값으로 판정된다.
|
|
14
|
+
- [ ] stuck 조건과 max_iterations가 명시되어 있다.
|
|
15
|
+
- [ ] 실행 결과가 pass, stuck, max_iterations 중 하나로 기록된다.
|
|
16
|
+
|
|
10
17
|
**Loop Engineering** — 사람이 프롬프트하는 대신, 에이전트에게 프롬프트하는 루프를 설계한다.
|
|
11
18
|
|
|
12
19
|
> 루프의 완료 판정은 모델의 자기 보고가 아니라 **결정론적 게이트**(run-ledger `verifyPassed`, 테스트 exit code)가 내린다.
|
|
@@ -55,16 +62,7 @@ node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index
|
|
|
55
62
|
|
|
56
63
|
## install — 스케줄 연결
|
|
57
64
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
| 환경 | 명령 |
|
|
61
|
-
|------|------|
|
|
62
|
-
| Claude Code (세션 루프) | `/loop <interval> "/vibe.loop run <name>"` |
|
|
63
|
-
| Claude Code (클라우드 루틴) | `/schedule` 로 cron `<schedule>` + 프롬프트 `/vibe.loop run <name>` 등록 |
|
|
64
|
-
| OS cron 폴백 | `<schedule> cd <project> && claude -p "/vibe.loop run <name>" --permission-mode acceptEdits` |
|
|
65
|
-
| Codex | Automations 탭에 `<schedule>` + `$vibe.loop run <name>` 등록 |
|
|
66
|
-
|
|
67
|
-
`trigger: manual` 루프는 install 불필요 — run만 안내한다.
|
|
65
|
+
`install` 호출에서만 `references/install-adapters.md`를 읽어 현재 하네스의 명령을 제시한다. `design`, `run`, `status`, `list` 호출은 읽지 않는다. `trigger: manual` 루프는 install 없이 run만 안내한다.
|
|
68
66
|
|
|
69
67
|
## run — 1회 반복 실행 (핵심)
|
|
70
68
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Loop Install Adapters
|
|
2
|
+
|
|
3
|
+
Load only for `vibe.loop install`. Never register a schedule without the user's decision.
|
|
4
|
+
|
|
5
|
+
| 환경 | 명령 |
|
|
6
|
+
|------|------|
|
|
7
|
+
| Claude Code (세션 루프) | `/loop <interval> "/vibe.loop run <name>"` |
|
|
8
|
+
| Claude Code (클라우드 루틴) | `/schedule`로 cron `<schedule>` + prompt `/vibe.loop run <name>` 등록 |
|
|
9
|
+
| OS cron fallback | `<schedule> cd <project> && claude -p "/vibe.loop run <name>" --permission-mode acceptEdits` |
|
|
10
|
+
| Codex | Automations에 `<schedule>` + `$vibe.loop run <name>` 등록 |
|
|
@@ -10,6 +10,13 @@ user-invocable: true
|
|
|
10
10
|
|
|
11
11
|
# Presentation Builder
|
|
12
12
|
|
|
13
|
+
## 완료 기준
|
|
14
|
+
|
|
15
|
+
- [ ] 요청된 16:9 HTML slide deck이 존재한다.
|
|
16
|
+
- [ ] 모든 slide가 1920×1080 viewport에서 overflow 없이 렌더링된다.
|
|
17
|
+
- [ ] 인용한 사실에 source가 연결되어 있다.
|
|
18
|
+
- [ ] PDF 요청 시 PDF 파일이 생성되어 있다.
|
|
19
|
+
|
|
13
20
|
소스 데이터 → 디자인 시스템 적용 LLM → HTML 슬라이드덱 → 1920×1080 PDF.
|
|
14
21
|
|
|
15
22
|
## 핵심 원칙
|
|
@@ -10,6 +10,13 @@ chain-next: [vibe.create-prd]
|
|
|
10
10
|
|
|
11
11
|
# Prioritization Frameworks Reference
|
|
12
12
|
|
|
13
|
+
## Done Criteria
|
|
14
|
+
|
|
15
|
+
- [ ] 선택한 framework와 선택 근거가 기록되어 있다.
|
|
16
|
+
- [ ] 모든 평가 대상에 framework의 필수 입력값이 있다.
|
|
17
|
+
- [ ] 정의된 산식으로 점수가 계산되어 있다.
|
|
18
|
+
- [ ] 최종 정렬 순서와 동점 처리 기준이 명시되어 있다.
|
|
19
|
+
|
|
13
20
|
> Based on the Product Frameworks Compendium from [Product Compass](https://www.productcompass.pm/p/the-product-frameworks-compendium) by Pawel Huryn (MIT License).
|
|
14
21
|
|
|
15
22
|
A reference guide to help you select and apply the right prioritization framework for your context.
|
|
@@ -1,66 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vibe.priority-todos
|
|
3
|
+
description: Use when TODOs or review findings must be organized by P1/P2/P3; compatibility alias for vibe.review priority-todos mode.
|
|
3
4
|
user-invocable: false
|
|
4
5
|
invocation: [auto]
|
|
5
6
|
tier: standard
|
|
6
|
-
description: "Priority-based TODO management (P1/P2/P3). Auto-activates when managing tasks, reviewing issues, or organizing work by priority."
|
|
7
7
|
triggers: [todo list, task management, P1, P2, P3, priority todos, organize tasks]
|
|
8
8
|
priority: 60
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Pre-check (K1)
|
|
14
|
-
|
|
15
|
-
> Do you need structured priority tracking? For 1-2 item task lists, use inline TODOs. This system is for multi-issue tracking across reviews and sessions.
|
|
16
|
-
|
|
17
|
-
## Priority Definitions
|
|
18
|
-
|
|
19
|
-
| Priority | Meaning | Action | Examples |
|
|
20
|
-
|----------|---------|--------|----------|
|
|
21
|
-
| P1 | **Blocks merge** | Fix immediately | Security vulnerability, data loss risk, production incident |
|
|
22
|
-
| P2 | **Should fix** | Fix before PR | Performance issue, missing tests, architecture violation |
|
|
23
|
-
| P3 | **Backlog** | Fix when time permits | Code style, refactoring suggestion, documentation |
|
|
24
|
-
|
|
25
|
-
## Directory Structure
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
.vibe/todos/
|
|
29
|
-
├── P1-security-sql-injection.md
|
|
30
|
-
├── P2-perf-n1-query.md
|
|
31
|
-
├── P3-style-extract-helper.md
|
|
32
|
-
├── index.md # Summary table with counts/status
|
|
33
|
-
└── done/ # Archived completed items
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Workflow
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
vibe.review (skill) → Creates P1/P2/P3 todo files + updates index.md
|
|
40
|
-
↓
|
|
41
|
-
Fix P1 first (blocks merge)
|
|
42
|
-
↓
|
|
43
|
-
Fix P2 before PR (warning only)
|
|
44
|
-
↓
|
|
45
|
-
P3 → backlog (weekly review)
|
|
46
|
-
↓
|
|
47
|
-
Mark done → moves to done/ with date prefix
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Todo File Format
|
|
51
|
-
|
|
52
|
-
Each file follows: `# [P1] Title` → Summary → Priority Justification → Location (file:line) → Suggested Fix → Checklist (fix, test, review, merge).
|
|
53
|
-
|
|
54
|
-
## Rules
|
|
55
|
-
|
|
56
|
-
- P1 exists → merge is **blocked**
|
|
57
|
-
- P2 → warning only, recommended to resolve
|
|
58
|
-
- P3 → no blocking, backlog
|
|
59
|
-
- Weekly cleanup: review and archive completed items
|
|
60
|
-
|
|
61
|
-
## Done Criteria (K4)
|
|
62
|
-
|
|
63
|
-
- [ ] All P1 items resolved before merge
|
|
64
|
-
- [ ] P2 items reviewed and either resolved or documented
|
|
65
|
-
- [ ] index.md reflects current state
|
|
66
|
-
- [ ] Completed items archived to `done/` directory
|
|
11
|
+
Load `vibe.review` in priority-todos mode and preserve all arguments.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: vibe.react-best-practices
|
|
3
3
|
invocation: [auto]
|
|
4
4
|
tier: core
|
|
5
|
-
description: "React/Next.js performance
|
|
5
|
+
description: "Use when implementing or reviewing React/Next.js code where Vercel performance pitfalls, rendering behavior, or bundle efficiency must be checked."
|
|
6
6
|
triggers: [react, next.js, vercel, react performance, re-render, rendering waterfall]
|
|
7
7
|
priority: 60
|
|
8
8
|
---
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vibe.reason
|
|
3
|
-
description:
|
|
3
|
+
description: 복잡한 문제에서 가설·근거·트레이드오프를 구조화해 결론을 내려야 할 때 체계적 reasoning framework를 적용한다.
|
|
4
4
|
argument-hint: "problem description"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# /vibe.reason
|
|
9
9
|
|
|
10
|
+
## 완료 기준
|
|
11
|
+
|
|
12
|
+
- [ ] 문제, 제약, 판단 기준이 명시되어 있다.
|
|
13
|
+
- [ ] 각 핵심 주장에 근거 또는 명시된 가정이 연결되어 있다.
|
|
14
|
+
- [ ] 검토한 대안과 탈락 이유가 기록되어 있다.
|
|
15
|
+
- [ ] 결론이 판단 기준에 따라 재현 가능하게 도출되어 있다.
|
|
16
|
+
|
|
10
17
|
Apply 9-step reasoning framework to complex problems.
|
|
11
18
|
|
|
12
19
|
## Usage
|
|
@@ -15,7 +22,7 @@ Apply 9-step reasoning framework to complex problems.
|
|
|
15
22
|
/vibe.reason "problem description"
|
|
16
23
|
```
|
|
17
24
|
|
|
18
|
-
> **⏱️ Timer**:
|
|
25
|
+
> **⏱️ Timer**: Query the system clock at START and record the result as `{start_time}`.
|
|
19
26
|
|
|
20
27
|
## When to Use
|
|
21
28
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vibe.regress
|
|
3
|
-
description:
|
|
3
|
+
description: Use when a reproduced bug must be registered, turned into a preventive test, or clustered into a recurring root-cause pattern.
|
|
4
4
|
argument-hint: "register | generate | list | import | cluster [args]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
@@ -48,31 +48,8 @@ The `regress` skill performs registration, generation, and clustering.
|
|
|
48
48
|
|
|
49
49
|
## Storage Format
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
slug: login-jwt-expiry-off-by-one
|
|
54
|
-
symptom: "JWT expiry cuts off one second early"
|
|
55
|
-
root-cause-tag: timezone
|
|
56
|
-
fix-commit: abc1234
|
|
57
|
-
test-path: src/auth/__tests__/login.regression.test.ts
|
|
58
|
-
status: open | test-generated | resolved
|
|
59
|
-
registered: 2026-04-14
|
|
60
|
-
feature: login
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Reproduction
|
|
64
|
-
1. ...
|
|
65
|
-
|
|
66
|
-
## Root cause
|
|
67
|
-
...
|
|
68
|
-
|
|
69
|
-
## Fix
|
|
70
|
-
...
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
ARGUMENTS: $ARGUMENTS
|
|
51
|
+
회귀 항목의 저장 위치와 frontmatter 스키마는 아래 **Storage Contract** 절이 SSOT다.
|
|
52
|
+
`root-cause-tag` 허용값 목록도 그쪽에만 둔다 — 두 곳에 두면 한쪽이 조용히 낡는다.
|
|
76
53
|
|
|
77
54
|
## Bundled implementation
|
|
78
55
|
|
|
@@ -142,7 +119,7 @@ Clustering depends on this, so use **only the predefined set**:
|
|
|
142
119
|
Most calls are automatic; manual use is rare (bugs found outside `/vibe.verify`, or production incidents).
|
|
143
120
|
|
|
144
121
|
**Steps**:
|
|
145
|
-
1.
|
|
122
|
+
1. Query the system clock for today's date
|
|
146
123
|
2. `git log -1 --format=%H` for current commit hash (fix-commit candidate)
|
|
147
124
|
3. Conversation extracts:
|
|
148
125
|
- Reproduction steps (Given/When/Then)
|
|
@@ -163,7 +140,8 @@ Most calls are automatic; manual use is rare (bugs found outside `/vibe.verify`,
|
|
|
163
140
|
- Sibling `__tests__/` next to the implementation file, OR
|
|
164
141
|
- The project's existing test dir (vitest config `test.include`)
|
|
165
142
|
4. File name: `<original-file>.regression.test.ts`
|
|
166
|
-
5. Body: render `templates/test-
|
|
143
|
+
5. Body: render `templates/test-template.md`; set `{{TEST_RUNNER_IMPORT}}` to the Vitest import below or an empty string for Jest globals:
|
|
144
|
+
- Vitest: `import { describe, it, expect{{EXTRA_IMPORTS}} } from 'vitest';`
|
|
167
145
|
6. Update bug frontmatter: `test-path`, `status: test-generated`
|
|
168
146
|
7. **Run the test immediately** — should fail (if not yet fixed) or pass (if fixed). Record outcome in frontmatter.
|
|
169
147
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vibe.review
|
|
3
|
-
description:
|
|
3
|
+
description: Use when changed code or a SPEC needs a pre-merge review for defects, security risks, boundary mismatches, and zero remaining P1 findings.
|
|
4
4
|
argument-hint: "PR number, branch name, or file path"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
@@ -18,9 +18,10 @@ user-invocable: true
|
|
|
18
18
|
/vibe.review src/api/ # Review specific path
|
|
19
19
|
/vibe.review --race # Multi-LLM race mode (GPT + Antigravity)
|
|
20
20
|
/vibe.review --race security # Race mode for specific review type
|
|
21
|
+
/vibe.review priority-todos # Organize findings/tasks as P1/P2/P3 TODOs
|
|
21
22
|
```
|
|
22
23
|
|
|
23
|
-
> **⏱️ Timer**:
|
|
24
|
+
> **⏱️ Timer**: Query the system clock at START and record the result as `{start_time}`.
|
|
24
25
|
|
|
25
26
|
## Codex Plugin Integration
|
|
26
27
|
|
|
@@ -142,45 +143,13 @@ Stack-specific focus (`idioms`) is added when the diff touches that stack's file
|
|
|
142
143
|
|-------|-----------|
|
|
143
144
|
| code-reviewer (focus: idioms) | Language/framework files in diff (.py / .ts / .tsx / Gemfile rails / package.json react) — prompt states the detected stack |
|
|
144
145
|
|
|
145
|
-
### Phase 2.5: UI/UX Review Agents (
|
|
146
|
+
### Phase 2.5: UI/UX Review Agents (조건부)
|
|
146
147
|
|
|
147
148
|
> **활성화 조건**: 변경된 파일 중 UI 파일 존재 (`.tsx`, `.jsx`, `.vue`, `.svelte`, `.html`, `.css`, `.scss`)
|
|
148
|
-
> **비활성화**: `.vibe/config.json
|
|
149
|
+
> **비활성화**: `.vibe/config.json` 에 `"uiUxAnalysis": false`
|
|
149
150
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
| Agent (관점) | Role | Output |
|
|
153
|
-
|-------|------|--------|
|
|
154
|
-
| ⑥ design-reviewer (UX 준수) | UX 가이드라인 준수 검증 | P1/P2/P3 findings |
|
|
155
|
-
| ⑦ design-reviewer (접근성) | WCAG 2.1 AA 접근성 감사 | P1/P2/P3 findings |
|
|
156
|
-
| ⑧ design-reviewer (안티패턴) | UI 안티패턴 + 디자인 시스템 일관성 | P1/P2/P3 findings |
|
|
157
|
-
|
|
158
|
-
**실행 방법 — 기존 Phase 2 에이전트와 병렬 실행:**
|
|
159
|
-
|
|
160
|
-
```text
|
|
161
|
-
# ⑥ UX 준수 검증 (Haiku)
|
|
162
|
-
Task(subagent_type="design-reviewer",
|
|
163
|
-
prompt="Review UI files for UX guideline compliance: {changed_ui_files}. Use core_ui_search against ux-guidelines and web-interface domains.")
|
|
164
|
-
|
|
165
|
-
# ⑦ 접근성 감사 (Haiku)
|
|
166
|
-
Task(subagent_type="design-reviewer",
|
|
167
|
-
prompt="Audit UI files for WCAG 2.1 AA compliance: {changed_ui_files}.")
|
|
168
|
-
|
|
169
|
-
# ⑧ 안티패턴 검출 (Haiku)
|
|
170
|
-
Task(subagent_type="design-reviewer",
|
|
171
|
-
prompt="Detect UI anti-patterns in: {changed_ui_files}. Check against MASTER.md if exists at .vibe/design-system/{project}/MASTER.md.")
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
#### Visual P1 Baseline
|
|
175
|
-
|
|
176
|
-
- 프로젝트 루트에 `DESIGN.md` 가 존재하면 **시각 P1 의 1 차 baseline** 으로 사용한다 (§2 Color Palette / §7 Do's & Don'ts).
|
|
177
|
-
- `DESIGN.md` 부재 시 기존 폴백을 사용 (WCAG 2.1 AA + `MASTER.md` + design-review(audit 모드) 기본 5 차원).
|
|
178
|
-
- v1 범위: hex 컬러 드리프트만 P1 후보. spacing / font 드리프트는 Phase 2+ 에서 추가.
|
|
179
|
-
- 안티패턴 검출(⑧) 은 `DESIGN.md §7` 의 "DON'T" 항목을 우선 규칙으로 사용한다.
|
|
180
|
-
|
|
181
|
-
**findings 통합**: ⑥⑦⑧ findings를 기존 findings[]와 병합 → P1/P2/P3 통합 정렬
|
|
182
|
-
|
|
183
|
-
**⑦ Critical finding 에스컬레이션**: design-reviewer(접근성)의 P1 finding은 Review Debate(Phase 4.5)에 자동 포함
|
|
151
|
+
조건에 걸리면 `references/ui-ux-review.md` 를 읽어 `design-reviewer` 3개 관점을 Phase 2 와 병렬 실행한다.
|
|
152
|
+
UI 파일이 없으면 이 Phase 전체를 건너뛴다 — reference 도 읽지 않는다.
|
|
184
153
|
|
|
185
154
|
### Phase 2.7: Boundary Mismatch Detection (Integration Coherence)
|
|
186
155
|
|
|
@@ -297,6 +266,34 @@ Before completing review, check P1-critical items (P2/P3 are best-effort). Score
|
|
|
297
266
|
|
|
298
267
|
> Read `references/quality-gate.md` for the full weighted checklist, score grades, merge decision matrix, auto-fix capability matrix, forbidden-patterns table, and output requirements.
|
|
299
268
|
|
|
269
|
+
## Priority TODO Mode
|
|
270
|
+
|
|
271
|
+
For `priority-todos` mode, or when review findings must be persisted as a
|
|
272
|
+
P1/P2/P3 board, read `references/priority-todos.md`. Preserve its priority
|
|
273
|
+
definitions, index/update behavior, output paths, and completion criteria.
|
|
274
|
+
|
|
300
275
|
---
|
|
301
276
|
|
|
302
277
|
ARGUMENTS: $ARGUMENTS
|
|
278
|
+
|
|
279
|
+
## 리뷰어 스케일링
|
|
280
|
+
|
|
281
|
+
Stakes SSOT는 `vibe/rules/loop-contract.md` Stakes 표다.
|
|
282
|
+
|
|
283
|
+
| stakes | 변경 파일 | reviewer set |
|
|
284
|
+
|---|---|---|
|
|
285
|
+
| demo | ≤5 | correctness + security 2종 |
|
|
286
|
+
| demo / prototype | >5 또는 prototype | correctness + security + data-integrity 3종 |
|
|
287
|
+
| production | any | Core Reviewers 전체 |
|
|
288
|
+
|
|
289
|
+
Production Core Reviewers는 `security-reviewer`와 `code-reviewer`의 다음 focus를 모두 유지한다: `focus: correctness`, `focus: data-integrity`, `focus: performance`, `focus: architecture`, `focus: complexity`, `focus: git-history`, `focus: test-coverage`.
|
|
290
|
+
|
|
291
|
+
## Done Criteria
|
|
292
|
+
|
|
293
|
+
- [ ] Every finding has P1/P2/P3 severity and `file:line` evidence.
|
|
294
|
+
- [ ] Duplicate findings are merged into one canonical item.
|
|
295
|
+
- [ ] Relevant tests and static checks pass for modified files.
|
|
296
|
+
- [ ] A MERGE READY result has zero P1 findings.
|
|
297
|
+
- [ ] Manual items are persisted in the specified TODO artifact.
|
|
298
|
+
|
|
299
|
+
ARGUMENTS: $ARGUMENTS
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: priority-todos-reference
|
|
3
|
+
user-invocable: false
|
|
4
|
+
invocation: [auto]
|
|
5
|
+
tier: standard
|
|
6
|
+
description: "Priority-based TODO management (P1/P2/P3). Auto-activates when managing tasks, reviewing issues, or organizing work by priority."
|
|
7
|
+
triggers: [todo list, task management, P1, P2, P3, priority todos, organize tasks]
|
|
8
|
+
priority: 60
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Priority-Based Todo Management
|
|
12
|
+
|
|
13
|
+
## Pre-check (K1)
|
|
14
|
+
|
|
15
|
+
> Do you need structured priority tracking? For 1-2 item task lists, use inline TODOs. This system is for multi-issue tracking across reviews and sessions.
|
|
16
|
+
|
|
17
|
+
## Priority Definitions
|
|
18
|
+
|
|
19
|
+
| Priority | Meaning | Action | Examples |
|
|
20
|
+
|----------|---------|--------|----------|
|
|
21
|
+
| P1 | **Blocks merge** | Fix immediately | Security vulnerability, data loss risk, production incident |
|
|
22
|
+
| P2 | **Should fix** | Fix before PR | Performance issue, missing tests, architecture violation |
|
|
23
|
+
| P3 | **Backlog** | Fix when time permits | Code style, refactoring suggestion, documentation |
|
|
24
|
+
|
|
25
|
+
## Directory Structure
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
.vibe/todos/
|
|
29
|
+
├── P1-security-sql-injection.md
|
|
30
|
+
├── P2-perf-n1-query.md
|
|
31
|
+
├── P3-style-extract-helper.md
|
|
32
|
+
├── index.md # Summary table with counts/status
|
|
33
|
+
└── done/ # Archived completed items
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Workflow
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
vibe.review (skill) → Creates P1/P2/P3 todo files + updates index.md
|
|
40
|
+
↓
|
|
41
|
+
Fix P1 first (blocks merge)
|
|
42
|
+
↓
|
|
43
|
+
Fix P2 before PR (warning only)
|
|
44
|
+
↓
|
|
45
|
+
P3 → backlog (weekly review)
|
|
46
|
+
↓
|
|
47
|
+
Mark done → moves to done/ with date prefix
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Todo File Format
|
|
51
|
+
|
|
52
|
+
Each file follows: `# [P1] Title` → Summary → Priority Justification → Location (file:line) → Suggested Fix → Checklist (fix, test, review, merge).
|
|
53
|
+
|
|
54
|
+
## Rules
|
|
55
|
+
|
|
56
|
+
- P1 exists → merge is **blocked**
|
|
57
|
+
- P2 → warning only, recommended to resolve
|
|
58
|
+
- P3 → no blocking, backlog
|
|
59
|
+
- Weekly cleanup: review and archive completed items
|
|
60
|
+
|
|
61
|
+
## Done Criteria (K4)
|
|
62
|
+
|
|
63
|
+
- [ ] All P1 items resolved before merge
|
|
64
|
+
- [ ] P2 items reviewed and either resolved or documented
|
|
65
|
+
- [ ] index.md reflects current state
|
|
66
|
+
- [ ] Completed items archived to `done/` directory
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Phase 2.5 — UI/UX Review Agents
|
|
2
|
+
|
|
3
|
+
> vibe.review SKILL.md Phase 2.5 에서 **변경 파일에 UI 파일이 있을 때만** 로드한다.
|
|
4
|
+
> UI 변경이 없는 리뷰(백엔드·CLI·설정만 변경)는 이 파일을 읽지 않는다.
|
|
5
|
+
|
|
6
|
+
### Phase 2.5: UI/UX Review Agents (Auto-triggered)
|
|
7
|
+
|
|
8
|
+
> **활성화 조건**: 변경된 파일 중 UI 파일 존재 (`.tsx`, `.jsx`, `.vue`, `.svelte`, `.html`, `.css`, `.scss`)
|
|
9
|
+
> **비활성화**: `.vibe/config.json`에 `"uiUxAnalysis": false` 설정
|
|
10
|
+
|
|
11
|
+
**기존 Phase 2 리뷰 에이전트와 병렬 실행 — `design-reviewer` 인스턴스 3개 (관점별):**
|
|
12
|
+
|
|
13
|
+
| Agent (관점) | Role | Output |
|
|
14
|
+
|-------|------|--------|
|
|
15
|
+
| ⑥ design-reviewer (UX 준수) | UX 가이드라인 준수 검증 | P1/P2/P3 findings |
|
|
16
|
+
| ⑦ design-reviewer (접근성) | WCAG 2.1 AA 접근성 감사 | P1/P2/P3 findings |
|
|
17
|
+
| ⑧ design-reviewer (안티패턴) | UI 안티패턴 + 디자인 시스템 일관성 | P1/P2/P3 findings |
|
|
18
|
+
|
|
19
|
+
**실행 방법 — 기존 Phase 2 에이전트와 병렬 실행:**
|
|
20
|
+
|
|
21
|
+
Use the harness's native collaboration capability for these independent
|
|
22
|
+
`design-reviewer` workers. Claude Code maps them to Task/Agent; Codex maps them
|
|
23
|
+
to native collaboration. Inherit the session model by default and run them
|
|
24
|
+
concurrently when capacity permits:
|
|
25
|
+
|
|
26
|
+
- UX compliance: review `{changed_ui_files}` against UX and web-interface guidance.
|
|
27
|
+
- Accessibility: audit `{changed_ui_files}` for WCAG 2.1 AA compliance.
|
|
28
|
+
- Anti-patterns: inspect `{changed_ui_files}` and compare with `.vibe/design-system/{project}/MASTER.md` when present.
|
|
29
|
+
|
|
30
|
+
#### Visual P1 Baseline
|
|
31
|
+
|
|
32
|
+
- 프로젝트 루트에 `DESIGN.md` 가 존재하면 **시각 P1 의 1 차 baseline** 으로 사용한다 (§2 Color Palette / §7 Do's & Don'ts).
|
|
33
|
+
- `DESIGN.md` 부재 시 기존 폴백을 사용 (WCAG 2.1 AA + `MASTER.md` + design-review(audit 모드) 기본 5 차원).
|
|
34
|
+
- v1 범위: hex 컬러 드리프트만 P1 후보. spacing / font 드리프트는 Phase 2+ 에서 추가.
|
|
35
|
+
- 안티패턴 검출(⑧) 은 `DESIGN.md §7` 의 "DON'T" 항목을 우선 규칙으로 사용한다.
|
|
36
|
+
|
|
37
|
+
**findings 통합**: ⑥⑦⑧ findings를 기존 findings[]와 병합 → P1/P2/P3 통합 정렬
|
|
38
|
+
|
|
39
|
+
**⑦ Critical finding 에스컬레이션**: design-reviewer(접근성)의 P1 finding은 Review Debate(Phase 4.5)에 자동 포함
|