@su-record/vibe 2.16.3 → 3.0.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/.env.example +15 -0
- package/CLAUDE.md +8 -8
- package/README.en.md +46 -29
- package/README.md +41 -24
- package/agents/acceptance-tester.md +56 -0
- package/agents/architect.md +25 -67
- package/agents/build-error-resolver.md +28 -97
- package/agents/code-reviewer.md +89 -0
- package/agents/diagrammer.md +34 -165
- package/agents/documenter.md +43 -0
- package/agents/e2e-tester.md +46 -277
- package/agents/event/event-ops.md +54 -77
- package/agents/event/event-planner.md +63 -0
- package/agents/figma/figma-engineer.md +76 -0
- package/agents/implementer.md +26 -41
- package/agents/security-reviewer.md +56 -0
- package/agents/tester.md +37 -33
- package/agents/ui/design-reviewer.md +62 -0
- package/agents/ui/design-system-gen.md +63 -0
- package/dist/__tests__/agent-model-sync.test.d.ts +2 -0
- package/dist/__tests__/agent-model-sync.test.d.ts.map +1 -0
- package/dist/__tests__/agent-model-sync.test.js +71 -0
- package/dist/__tests__/agent-model-sync.test.js.map +1 -0
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +8 -1
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +2 -0
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/llm.d.ts +11 -0
- package/dist/cli/commands/llm.d.ts.map +1 -0
- package/dist/cli/commands/llm.js +62 -0
- package/dist/cli/commands/llm.js.map +1 -0
- package/dist/cli/commands/remove.d.ts.map +1 -1
- package/dist/cli/commands/remove.js +8 -10
- package/dist/cli/commands/remove.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +35 -1
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.d.ts +0 -4
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +59 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/config.d.ts.map +1 -1
- package/dist/cli/llm/config.js +7 -0
- package/dist/cli/llm/config.js.map +1 -1
- package/dist/cli/llm/index.d.ts +1 -0
- package/dist/cli/llm/index.d.ts.map +1 -1
- package/dist/cli/llm/index.js +1 -0
- package/dist/cli/llm/index.js.map +1 -1
- package/dist/cli/llm/model-refresh.d.ts +29 -0
- package/dist/cli/llm/model-refresh.d.ts.map +1 -0
- package/dist/cli/llm/model-refresh.js +139 -0
- package/dist/cli/llm/model-refresh.js.map +1 -0
- package/dist/cli/llm/zai-commands.d.ts +15 -0
- package/dist/cli/llm/zai-commands.d.ts.map +1 -0
- package/dist/cli/llm/zai-commands.js +64 -0
- package/dist/cli/llm/zai-commands.js.map +1 -0
- package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
- package/dist/cli/postinstall/claude-agents.js +16 -77
- package/dist/cli/postinstall/claude-agents.js.map +1 -1
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +81 -296
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.d.ts +5 -0
- package/dist/cli/postinstall/cursor-agents.d.ts.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +26 -68
- package/dist/cli/postinstall/cursor-agents.js.map +1 -1
- package/dist/cli/postinstall/cursor-skills.d.ts.map +1 -1
- package/dist/cli/postinstall/cursor-skills.js +26 -30
- package/dist/cli/postinstall/cursor-skills.js.map +1 -1
- package/dist/cli/postinstall/main.d.ts.map +1 -1
- package/dist/cli/postinstall/main.js +0 -2
- package/dist/cli/postinstall/main.js.map +1 -1
- package/dist/cli/setup/Provisioner.d.ts.map +1 -1
- package/dist/cli/setup/Provisioner.js +19 -21
- package/dist/cli/setup/Provisioner.js.map +1 -1
- package/dist/cli/types.d.ts +15 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/utils.d.ts +4 -1
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +4 -1
- package/dist/cli/utils.js.map +1 -1
- package/dist/infra/lib/FrameworkDetector.js +4 -4
- package/dist/infra/lib/FrameworkDetector.js.map +1 -1
- package/dist/infra/lib/OrchestrateWorkflow.js +2 -2
- package/dist/infra/lib/OrchestrateWorkflow.js.map +1 -1
- package/dist/infra/lib/browser/launch.js +1 -1
- package/dist/infra/lib/browser/launch.js.map +1 -1
- package/dist/infra/lib/browser/types.d.ts +1 -1
- package/dist/infra/lib/browser/types.js +1 -1
- package/dist/infra/lib/config/GlobalConfigManager.d.ts +2 -0
- package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -1
- package/dist/infra/lib/config/GlobalConfigManager.js +6 -0
- package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -1
- package/dist/infra/lib/constants.d.ts +1 -1
- package/dist/infra/lib/constants.d.ts.map +1 -1
- package/dist/infra/lib/constants.js +4 -5
- package/dist/infra/lib/constants.js.map +1 -1
- package/dist/infra/lib/evolution/__tests__/integration.test.js +7 -7
- package/dist/infra/lib/evolution/__tests__/integration.test.js.map +1 -1
- package/dist/infra/lib/llm-availability.d.ts +4 -0
- package/dist/infra/lib/llm-availability.d.ts.map +1 -1
- package/dist/infra/lib/llm-availability.js +9 -1
- package/dist/infra/lib/llm-availability.js.map +1 -1
- package/dist/infra/lib/memory/index.d.ts +0 -2
- package/dist/infra/lib/memory/index.d.ts.map +1 -1
- package/dist/infra/lib/memory/index.js +0 -2
- package/dist/infra/lib/memory/index.js.map +1 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js +1 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -1
- package/dist/infra/lib/zai/client.d.ts +30 -0
- package/dist/infra/lib/zai/client.d.ts.map +1 -0
- package/dist/infra/lib/zai/client.js +124 -0
- package/dist/infra/lib/zai/client.js.map +1 -0
- package/dist/infra/lib/zai/index.d.ts +11 -0
- package/dist/infra/lib/zai/index.d.ts.map +1 -0
- package/dist/infra/lib/zai/index.js +10 -0
- package/dist/infra/lib/zai/index.js.map +1 -0
- package/dist/infra/lib/zai/orchestration.d.ts +15 -0
- package/dist/infra/lib/zai/orchestration.d.ts.map +1 -0
- package/dist/infra/lib/zai/orchestration.js +54 -0
- package/dist/infra/lib/zai/orchestration.js.map +1 -0
- package/dist/infra/lib/zai/types.d.ts +40 -0
- package/dist/infra/lib/zai/types.d.ts.map +1 -0
- package/dist/infra/lib/zai/types.js +5 -0
- package/dist/infra/lib/zai/types.js.map +1 -0
- package/dist/infra/orchestrator/SmartRouter.d.ts.map +1 -1
- package/dist/infra/orchestrator/SmartRouter.js +16 -34
- package/dist/infra/orchestrator/SmartRouter.js.map +1 -1
- package/dist/infra/orchestrator/index.d.ts +1 -0
- package/dist/infra/orchestrator/index.d.ts.map +1 -1
- package/dist/infra/orchestrator/index.js +11 -9
- package/dist/infra/orchestrator/index.js.map +1 -1
- package/dist/infra/orchestrator/types.d.ts +32 -9
- package/dist/infra/orchestrator/types.d.ts.map +1 -1
- package/dist/infra/orchestrator/types.js +68 -37
- package/dist/infra/orchestrator/types.js.map +1 -1
- package/dist/infra/orchestrator/types.test.d.ts +2 -0
- package/dist/infra/orchestrator/types.test.d.ts.map +1 -0
- package/dist/infra/orchestrator/types.test.js +57 -0
- package/dist/infra/orchestrator/types.test.js.map +1 -0
- package/dist/tools/index.d.ts +0 -4
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +0 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/memory/autoSaveContext.d.ts +0 -1
- package/dist/tools/memory/autoSaveContext.d.ts.map +1 -1
- package/dist/tools/memory/autoSaveContext.js +13 -27
- package/dist/tools/memory/autoSaveContext.js.map +1 -1
- package/hooks/scripts/__tests__/code-check-detectors.test.js +2 -2
- package/hooks/scripts/__tests__/run-ledger.test.js +1 -1
- package/hooks/scripts/__tests__/scope-from-spec.test.js +12 -12
- package/hooks/scripts/__tests__/step-counter.test.js +1 -1
- package/hooks/scripts/code-check.js +16 -203
- package/hooks/scripts/context-save.js +0 -11
- package/hooks/scripts/lib/scope-from-spec.js +9 -6
- package/hooks/scripts/llm-orchestrate.js +49 -0
- package/hooks/scripts/post-edit-dispatcher.js +1 -1
- package/hooks/scripts/prompt-dispatcher.js +7 -18
- package/hooks/scripts/session-start.js +25 -35
- package/package.json +4 -4
- package/skills/agents-md/SKILL.md +62 -15
- package/skills/arch-guard/SKILL.md +1 -1
- package/skills/brand-assets/SKILL.md +2 -2
- package/skills/capability-loop/SKILL.md +1 -1
- package/skills/chub-usage/SKILL.md +1 -1
- package/skills/commerce-patterns/SKILL.md +2 -2
- package/skills/commit-push-pr/SKILL.md +0 -1
- package/skills/context7-usage/SKILL.md +1 -1
- package/skills/create-prd/agents/edge-case-finder.md +4 -4
- package/skills/create-prd/agents/prioritizer.md +4 -4
- package/skills/create-prd/agents/requirements-writer.md +3 -3
- package/skills/create-prd/agents/researcher.md +3 -3
- package/skills/create-prd/agents/reviewer.md +3 -3
- package/skills/create-prd/orchestrator.md +2 -0
- package/skills/design-refine/SKILL.md +140 -0
- package/skills/{design-polish → design-refine}/templates/polish-report.md +1 -1
- package/skills/{design-normalize → design-refine}/templates/token-audit.md +3 -3
- package/skills/design-review/SKILL.md +143 -0
- package/skills/{design-audit → design-review}/agents/a11y-auditor.md +1 -1
- package/skills/{design-audit → design-review}/agents/performance-auditor.md +1 -1
- package/skills/{design-audit → design-review}/agents/responsive-auditor.md +1 -1
- package/skills/{design-audit → design-review}/agents/slop-detector.md +1 -1
- package/skills/{design-audit → design-review}/frameworks/core-web-vitals.md +1 -1
- package/skills/{design-audit → design-review}/frameworks/wcag-checklist.md +1 -1
- package/skills/{design-audit → design-review}/orchestrator.md +5 -3
- package/skills/{design-critique → design-review}/templates/critique-report.md +3 -3
- package/skills/{design-audit → design-review}/templates/report.md +3 -3
- package/skills/design-teach/SKILL.md +11 -11
- package/skills/docs/SKILL.md +14 -16
- package/skills/e2e-commerce/SKILL.md +1 -1
- package/skills/event-comms/SKILL.md +1 -1
- package/skills/event-ops/SKILL.md +2 -2
- package/skills/event-planning/SKILL.md +1 -1
- package/skills/exec-plan/SKILL.md +2 -2
- package/skills/exec-plan/orchestrator.md +2 -0
- package/skills/figma/SKILL.md +240 -148
- package/skills/figma/rubrics/css-mapping.md +125 -0
- package/skills/git-worktree/SKILL.md +1 -1
- package/skills/handoff/SKILL.md +1 -1
- package/skills/parallel-research/SKILL.md +14 -28
- package/skills/parallel-research/orchestrator.md +2 -0
- package/skills/priority-todos/SKILL.md +1 -1
- package/skills/regress/SKILL.md +11 -0
- package/skills/restraint/SKILL.md +72 -0
- package/skills/seo-checklist/SKILL.md +2 -2
- package/skills/spec/SKILL.md +65 -836
- package/skills/test/SKILL.md +3 -3
- package/skills/tool-fallback/SKILL.md +2 -2
- package/skills/vercel-react-best-practices/SKILL.md +1 -1
- package/skills/vibe/SKILL.md +20 -35
- package/skills/vibe.analyze/SKILL.md +7 -9
- package/skills/vibe.docs/SKILL.md +1 -1
- package/skills/vibe.event/SKILL.md +27 -27
- package/skills/vibe.figma/SKILL.md +14 -18
- package/skills/vibe.harness/SKILL.md +5 -5
- package/skills/vibe.llm/SKILL.md +50 -0
- package/skills/vibe.reason/SKILL.md +0 -2
- package/skills/vibe.review/SKILL.md +45 -49
- package/skills/vibe.run/SKILL.md +2 -5
- package/skills/vibe.run/references/parallel-agents.md +33 -98
- package/skills/vibe.spec/SKILL.md +38 -535
- package/skills/vibe.utils/SKILL.md +3 -3
- package/skills/vibe.verify/SKILL.md +70 -542
- package/skills/video-production/SKILL.md +1 -1
- package/vibe/rules/orchestrator-contract.md +57 -0
- package/vibe/rules/quality/performance.md +1 -1
- package/vibe/templates/claudemd-template.md +1 -1
- package/vibe/templates/spec-template.md +35 -185
- package/agents/architect-low.md +0 -41
- package/agents/architect-medium.md +0 -59
- package/agents/compounder.md +0 -261
- package/agents/docs/api-documenter.md +0 -99
- package/agents/docs/changelog-writer.md +0 -93
- package/agents/event/event-comms.md +0 -78
- package/agents/event/event-content.md +0 -68
- package/agents/event/event-image.md +0 -95
- package/agents/event/event-scheduler.md +0 -69
- package/agents/event/event-speaker.md +0 -86
- package/agents/explorer-low.md +0 -42
- package/agents/explorer-medium.md +0 -59
- package/agents/explorer.md +0 -48
- package/agents/figma/figma-analyst.md +0 -52
- package/agents/figma/figma-architect.md +0 -112
- package/agents/figma/figma-auditor.md +0 -82
- package/agents/figma/figma-builder.md +0 -100
- package/agents/implementer-low.md +0 -43
- package/agents/implementer-medium.md +0 -52
- package/agents/junior-mentor.md +0 -141
- package/agents/planning/requirements-analyst.md +0 -84
- package/agents/planning/ux-advisor.md +0 -83
- package/agents/qa/acceptance-tester.md +0 -86
- package/agents/qa/edge-case-finder.md +0 -93
- package/agents/qa/qa-coordinator.md +0 -131
- package/agents/refactor-cleaner.md +0 -143
- package/agents/research/best-practices.md +0 -199
- package/agents/research/codebase-patterns.md +0 -157
- package/agents/research/framework-docs.md +0 -188
- package/agents/research/security-advisory.md +0 -213
- package/agents/review/architecture-reviewer.md +0 -107
- package/agents/review/complexity-reviewer.md +0 -116
- package/agents/review/data-integrity-reviewer.md +0 -88
- package/agents/review/git-history-reviewer.md +0 -103
- package/agents/review/performance-reviewer.md +0 -86
- package/agents/review/python-reviewer.md +0 -150
- package/agents/review/rails-reviewer.md +0 -139
- package/agents/review/react-reviewer.md +0 -144
- package/agents/review/security-reviewer.md +0 -80
- package/agents/review/simplicity-reviewer.md +0 -140
- package/agents/review/test-coverage-reviewer.md +0 -116
- package/agents/review/typescript-reviewer.md +0 -127
- package/agents/searcher.md +0 -54
- package/agents/simplifier.md +0 -120
- package/agents/teams/debug-team.md +0 -70
- package/agents/teams/dev-team.md +0 -88
- package/agents/teams/docs-team.md +0 -80
- package/agents/teams/figma-team.md +0 -85
- package/agents/teams/fullstack-team.md +0 -83
- package/agents/teams/lite-team.md +0 -69
- package/agents/teams/migration-team.md +0 -78
- package/agents/teams/refactor-team.md +0 -94
- package/agents/teams/research-team.md +0 -86
- package/agents/teams/review-debate-team.md +0 -125
- package/agents/teams/security-team.md +0 -81
- package/agents/ui/ui-a11y-auditor.md +0 -93
- package/agents/ui/ui-antipattern-detector.md +0 -102
- package/agents/ui/ui-dataviz-advisor.md +0 -69
- package/agents/ui/ui-design-system-gen.md +0 -57
- package/agents/ui/ui-industry-analyzer.md +0 -49
- package/agents/ui/ui-layout-architect.md +0 -65
- package/agents/ui/ui-stack-implementer.md +0 -68
- package/agents/ui/ux-compliance-reviewer.md +0 -81
- package/agents/ui-previewer.md +0 -258
- package/hooks/scripts/__tests__/keyword-detector.test.js +0 -242
- package/hooks/scripts/keyword-detector.js +0 -226
- package/skills/characterization-test/SKILL.md +0 -209
- package/skills/characterization-test/agents/behavior-capturer.md +0 -50
- package/skills/characterization-test/agents/coverage-checker.md +0 -54
- package/skills/characterization-test/agents/reporter.md +0 -50
- package/skills/characterization-test/agents/test-writer.md +0 -49
- package/skills/characterization-test/rubrics/coverage-criteria.md +0 -53
- package/skills/characterization-test/templates/test-template.ts +0 -101
- package/skills/claude-md-guide/SKILL.md +0 -353
- package/skills/claude-md-guide/rubrics/anti-patterns.md +0 -88
- package/skills/design-audit/SKILL.md +0 -154
- package/skills/design-critique/SKILL.md +0 -140
- package/skills/design-distill/SKILL.md +0 -131
- package/skills/design-normalize/SKILL.md +0 -135
- package/skills/design-polish/SKILL.md +0 -132
- package/skills/figma-convert/SKILL.md +0 -236
- package/skills/figma-extract/SKILL.md +0 -242
- package/skills/interview/SKILL.md +0 -358
- package/skills/interview/checklists/api.md +0 -101
- package/skills/interview/checklists/feature.md +0 -88
- package/skills/interview/checklists/library.md +0 -95
- package/skills/interview/checklists/mobile.md +0 -89
- package/skills/interview/checklists/webapp.md +0 -97
- package/skills/interview/checklists/website.md +0 -99
- package/skills/plan/SKILL.md +0 -254
- package/skills/rob-pike/SKILL.md +0 -66
- package/skills/spec/references/askuser-examples.md +0 -57
- package/skills/spec/references/example-session.md +0 -87
- package/skills/spec/references/templates.md +0 -194
- package/skills/spec-review/SKILL.md +0 -725
- package/skills/systematic-debugging/SKILL.md +0 -142
- package/skills/techdebt/SKILL.md +0 -126
- package/skills/techdebt/agents/analyzer.md +0 -50
- package/skills/techdebt/agents/fixer.md +0 -41
- package/skills/techdebt/agents/reviewer.md +0 -47
- package/skills/techdebt/agents/scanner.md +0 -44
- package/skills/techdebt/orchestrator.md +0 -70
- package/skills/techdebt/rubrics/severity.md +0 -51
- package/skills/techdebt/scripts/scan.js +0 -90
- package/skills/techdebt/templates/report.md +0 -86
- package/skills/typescript-advanced-types/SKILL.md +0 -68
- package/skills/typescript-advanced-types/rubrics/type-patterns.md +0 -109
- package/skills/yagni-ladder/SKILL.md +0 -90
- /package/skills/{claude-md-guide → agents-md}/templates/claude-md.md +0 -0
- /package/skills/{design-polish → design-refine}/rubrics/polish-checklist.md +0 -0
- /package/skills/{design-normalize → design-refine}/rubrics/token-naming.md +0 -0
- /package/skills/{design-distill → design-refine}/templates/design-system.md +0 -0
- /package/skills/{design-audit → design-review}/agents/scorer.md +0 -0
- /package/skills/{design-audit → design-review}/rubrics/ai-slop-patterns.md +0 -0
- /package/skills/{design-audit → design-review}/rubrics/scoring.md +0 -0
- /package/skills/{design-critique → design-review}/rubrics/ux-heuristics.md +0 -0
- /package/skills/{figma-convert → figma}/rubrics/conversion-rules.md +0 -0
- /package/skills/{figma-extract → figma}/rubrics/image-rules.md +0 -0
- /package/skills/{figma-convert → figma}/templates/component.md +0 -0
|
@@ -222,78 +222,76 @@ Read CLAUDE.md -> Explicit tech stack declaration
|
|
|
222
222
|
5. If no SPEC files exist → Skip (reviews work without SPEC too)
|
|
223
223
|
```
|
|
224
224
|
|
|
225
|
-
### Phase 2: Parallel Agent Review (STACK-AWARE)
|
|
225
|
+
### Phase 2: Parallel Agent Review (STACK-AWARE)
|
|
226
226
|
|
|
227
|
-
**
|
|
228
|
-
```bash
|
|
229
|
-
node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/infra/orchestrator/index.js').then(o => o.review(['FILE_PATHS'], ['DETECTED_STACKS']).then(r => console.log(r.content[0].text)))"
|
|
230
|
-
```
|
|
227
|
+
**Spawn the reviewers as concurrent native subagents in ONE message** — one `code-reviewer` instance per focus plus `security-reviewer`, each scoped to the changed files:
|
|
231
228
|
|
|
232
|
-
**Example:**
|
|
233
|
-
```bash
|
|
234
|
-
# Review changed files with TypeScript + React stack
|
|
235
|
-
node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/infra/orchestrator/index.js').then(o => o.review(['src/api/users.ts', 'src/components/Login.tsx'], ['TypeScript', 'React']).then(r => console.log(r.content[0].text)))"
|
|
236
229
|
```
|
|
230
|
+
Task (code-reviewer): "Review [FILES] — focus: correctness" (concurrent)
|
|
231
|
+
Task (code-reviewer): "Review [FILES] — focus: data-integrity" (concurrent)
|
|
232
|
+
Task (code-reviewer): "Review [FILES] — focus: performance" (concurrent)
|
|
233
|
+
Task (code-reviewer): "Review [FILES] — focus: architecture" (concurrent)
|
|
234
|
+
Task (security-reviewer): "Review [FILES] for vulnerabilities" (concurrent)
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Stack-specific focus (`idioms`) is added when the diff touches that stack's files. Collect all results, then dedupe/merge findings before Phase 3.
|
|
237
238
|
|
|
238
|
-
**Core Reviewers (Always Run):**
|
|
239
|
-
| Agent | Focus |
|
|
239
|
+
**Core Reviewers (Always Run — parallel `code-reviewer` instances, one per focus, plus `security-reviewer`):**
|
|
240
|
+
| Agent (focus) | Focus |
|
|
240
241
|
|-------|-------|
|
|
241
242
|
| security-reviewer | OWASP Top 10, vulnerabilities |
|
|
242
|
-
|
|
|
243
|
-
|
|
|
244
|
-
|
|
|
245
|
-
|
|
|
246
|
-
|
|
|
247
|
-
| git-history
|
|
248
|
-
| test-coverage
|
|
249
|
-
|
|
250
|
-
**Stack-Specific
|
|
251
|
-
| Agent | Condition |
|
|
243
|
+
| code-reviewer (focus: correctness) | Logic errors, edge cases |
|
|
244
|
+
| code-reviewer (focus: data-integrity) | Data validation, constraints |
|
|
245
|
+
| code-reviewer (focus: performance) | N+1 queries, memory leaks |
|
|
246
|
+
| code-reviewer (focus: architecture) | Layer violations, cycles |
|
|
247
|
+
| code-reviewer (focus: complexity) | Cyclomatic complexity, length, over-abstraction, dead code |
|
|
248
|
+
| code-reviewer (focus: git-history) | Churn files, risk patterns |
|
|
249
|
+
| code-reviewer (focus: test-coverage) | Missing tests, edge cases |
|
|
250
|
+
|
|
251
|
+
**Stack-Specific Review (Conditional — one extra `code-reviewer` instance):**
|
|
252
|
+
| Agent (focus) | Condition |
|
|
252
253
|
|-------|-----------|
|
|
253
|
-
|
|
|
254
|
-
| typescript-reviewer | .ts/.tsx files OR tsconfig |
|
|
255
|
-
| rails-reviewer | Gemfile has rails |
|
|
256
|
-
| react-reviewer | package.json has react |
|
|
254
|
+
| code-reviewer (focus: idioms) | Language/framework files in diff (.py / .ts / .tsx / Gemfile rails / package.json react) — prompt states the detected stack |
|
|
257
255
|
|
|
258
256
|
### Phase 2.5: UI/UX Review Agents (Auto-triggered)
|
|
259
257
|
|
|
260
258
|
> **활성화 조건**: 변경된 파일 중 UI 파일 존재 (`.tsx`, `.jsx`, `.vue`, `.svelte`, `.html`, `.css`, `.scss`)
|
|
261
259
|
> **비활성화**: `.vibe/config.json`에 `"uiUxAnalysis": false` 설정
|
|
262
260
|
|
|
263
|
-
**기존
|
|
261
|
+
**기존 Phase 2 리뷰 에이전트와 병렬 실행 — `design-reviewer` 인스턴스 3개 (관점별):**
|
|
264
262
|
|
|
265
|
-
| Agent | Role | Output |
|
|
263
|
+
| Agent (관점) | Role | Output |
|
|
266
264
|
|-------|------|--------|
|
|
267
|
-
| ⑥
|
|
268
|
-
| ⑦
|
|
269
|
-
| ⑧
|
|
265
|
+
| ⑥ design-reviewer (UX 준수) | UX 가이드라인 준수 검증 | P1/P2/P3 findings |
|
|
266
|
+
| ⑦ design-reviewer (접근성) | WCAG 2.1 AA 접근성 감사 | P1/P2/P3 findings |
|
|
267
|
+
| ⑧ design-reviewer (안티패턴) | UI 안티패턴 + 디자인 시스템 일관성 | P1/P2/P3 findings |
|
|
270
268
|
|
|
271
269
|
**실행 방법 — 기존 Phase 2 에이전트와 병렬 실행:**
|
|
272
270
|
|
|
273
271
|
```text
|
|
274
272
|
# ⑥ UX 준수 검증 (Haiku)
|
|
275
|
-
Task(subagent_type="
|
|
273
|
+
Task(subagent_type="design-reviewer",
|
|
276
274
|
prompt="Review UI files for UX guideline compliance: {changed_ui_files}. Use core_ui_search against ux-guidelines and web-interface domains.")
|
|
277
275
|
|
|
278
276
|
# ⑦ 접근성 감사 (Haiku)
|
|
279
|
-
Task(subagent_type="
|
|
277
|
+
Task(subagent_type="design-reviewer",
|
|
280
278
|
prompt="Audit UI files for WCAG 2.1 AA compliance: {changed_ui_files}.")
|
|
281
279
|
|
|
282
280
|
# ⑧ 안티패턴 검출 (Haiku)
|
|
283
|
-
Task(subagent_type="
|
|
281
|
+
Task(subagent_type="design-reviewer",
|
|
284
282
|
prompt="Detect UI anti-patterns in: {changed_ui_files}. Check against MASTER.md if exists at .vibe/design-system/{project}/MASTER.md.")
|
|
285
283
|
```
|
|
286
284
|
|
|
287
285
|
#### Visual P1 Baseline
|
|
288
286
|
|
|
289
287
|
- 프로젝트 루트에 `DESIGN.md` 가 존재하면 **시각 P1 의 1 차 baseline** 으로 사용한다 (§2 Color Palette / §7 Do's & Don'ts).
|
|
290
|
-
- `DESIGN.md` 부재 시 기존 폴백을 사용 (WCAG 2.1 AA + `MASTER.md` + design-audit 기본 5 차원).
|
|
288
|
+
- `DESIGN.md` 부재 시 기존 폴백을 사용 (WCAG 2.1 AA + `MASTER.md` + design-review(audit 모드) 기본 5 차원).
|
|
291
289
|
- v1 범위: hex 컬러 드리프트만 P1 후보. spacing / font 드리프트는 Phase 2+ 에서 추가.
|
|
292
290
|
- 안티패턴 검출(⑧) 은 `DESIGN.md §7` 의 "DON'T" 항목을 우선 규칙으로 사용한다.
|
|
293
291
|
|
|
294
292
|
**findings 통합**: ⑥⑦⑧ findings를 기존 findings[]와 병합 → P1/P2/P3 통합 정렬
|
|
295
293
|
|
|
296
|
-
**⑦ Critical finding 에스컬레이션**:
|
|
294
|
+
**⑦ Critical finding 에스컬레이션**: design-reviewer(접근성)의 P1 finding은 Review Debate(Phase 4.5)에 자동 포함
|
|
297
295
|
|
|
298
296
|
### Phase 2.7: Boundary Mismatch Detection (Integration Coherence)
|
|
299
297
|
|
|
@@ -362,36 +360,36 @@ P3 NICE-TO-HAVE (Enhancement) - N issues
|
|
|
362
360
|
4. [STYLE] Consider extracting helper function
|
|
363
361
|
```
|
|
364
362
|
|
|
365
|
-
### Phase 4.5:
|
|
363
|
+
### Phase 4.5: Review Debate (parallel native subagents)
|
|
366
364
|
|
|
367
|
-
>
|
|
368
|
-
>
|
|
365
|
+
> P1/P2 findings 를 검증하기 위해 네이티브 서브에이전트를 병렬로 스폰한다 —
|
|
366
|
+
> `security-reviewer` + `code-reviewer` 인스턴스(서로 다른 focus)가 각 finding 을 교차 검증(validate / upgrade / downgrade / remove)한다.
|
|
369
367
|
|
|
370
368
|
**토론 결과 예시:**
|
|
371
369
|
|
|
372
370
|
```
|
|
373
371
|
🤝 REVIEW DEBATE RESULTS
|
|
374
372
|
|
|
375
|
-
|
|
373
|
+
Consensus (4 parallel reviewers):
|
|
376
374
|
|
|
377
375
|
✅ Validated P1 (unanimous):
|
|
378
376
|
1. [SECURITY] SQL Injection — 4/4 agree critical
|
|
379
377
|
|
|
380
378
|
⬆️ Upgraded P2→P1 (debate result):
|
|
381
|
-
2. [PERF] Unbounded query —
|
|
382
|
-
cascading failure risk under load →
|
|
379
|
+
2. [PERF] Unbounded query — code-reviewer (focus: architecture) pointed out
|
|
380
|
+
cascading failure risk under load → agreed P1
|
|
383
381
|
|
|
384
382
|
⬇️ Downgraded P1→P2 (debate result):
|
|
385
|
-
3. [SECURITY] CSRF on read-only endpoint —
|
|
386
|
-
noted endpoint has no side effects →
|
|
383
|
+
3. [SECURITY] CSRF on read-only endpoint — code-reviewer (focus: complexity)
|
|
384
|
+
noted endpoint has no side effects → agreed P2
|
|
387
385
|
|
|
388
386
|
❌ Removed (false positive):
|
|
389
|
-
4. [ARCH] "Circular dependency" —
|
|
387
|
+
4. [ARCH] "Circular dependency" — code-reviewer (focus: architecture) confirmed
|
|
390
388
|
this is intentional bi-directional reference, not a cycle
|
|
391
389
|
|
|
392
|
-
🆕 New findings (
|
|
390
|
+
🆕 New findings (cross-review discussion):
|
|
393
391
|
5. [DATA] Race condition in concurrent updates — emerged from
|
|
394
|
-
security + performance
|
|
392
|
+
security + performance cross-review
|
|
395
393
|
```
|
|
396
394
|
|
|
397
395
|
### Phase 5: Auto-Fix (P1/P2)
|
|
@@ -452,7 +450,7 @@ Examples:
|
|
|
452
450
|
CODE REVIEW SUMMARY
|
|
453
451
|
PR #123: Add user authentication
|
|
454
452
|
|
|
455
|
-
Reviewers:
|
|
453
|
+
Reviewers: security-reviewer + 8 code-reviewer instances (per-focus) + 3 design-reviewer instances (UI)
|
|
456
454
|
⏱️ Started: {start_time}
|
|
457
455
|
⏱️ Completed: {getCurrentTime 결과}
|
|
458
456
|
|
|
@@ -519,8 +517,6 @@ node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index
|
|
|
519
517
|
|------|---------|-------------|
|
|
520
518
|
| `validateCodeQuality` | Code quality check | Overall code quality scan |
|
|
521
519
|
| `analyzeComplexity` | Complexity metrics | Check function complexity |
|
|
522
|
-
| `findSymbol` | Find definitions | Locate implementations |
|
|
523
|
-
| `findReferences` | Find all usages | Track symbol usage |
|
|
524
520
|
| `saveMemory` | Save findings | Store important review findings |
|
|
525
521
|
|
|
526
522
|
### Example Tool Usage in Review
|
package/skills/vibe.run/SKILL.md
CHANGED
|
@@ -278,7 +278,7 @@ SPEC changes and code changes must be in the **same commit**.
|
|
|
278
278
|
|
|
279
279
|
### 3. Scenario-by-Scenario Implementation
|
|
280
280
|
|
|
281
|
-
> Read `references/parallel-agents.md` for full parallel exploration patterns, background agents,
|
|
281
|
+
> Read `references/parallel-agents.md` for full parallel exploration patterns, background agents, parallel subagent group selection, and model routing.
|
|
282
282
|
|
|
283
283
|
**For each scenario:**
|
|
284
284
|
1. [Parallel exploration] Task(haiku) × 3 — related code, deps, patterns
|
|
@@ -287,8 +287,7 @@ SPEC changes and code changes must be in the **same commit**.
|
|
|
287
287
|
4. [Auto-fix loop] On failure: collect evidence → root cause → fix → re-verify
|
|
288
288
|
|
|
289
289
|
**UI/UX Design Intelligence (auto-triggered before Phase 1 if UI keywords in SPEC):**
|
|
290
|
-
- Task(haiku, `
|
|
291
|
-
- Task(haiku, `ui-dataviz-advisor`): chart/viz library advice (conditional on chart keywords)
|
|
290
|
+
- Task(haiku, `design-system-gen`): framework-specific component guidelines + chart/viz library advice (viz advice conditional on chart keywords)
|
|
292
291
|
- Load `.vibe/design-system/{project}/MASTER.md` if present
|
|
293
292
|
|
|
294
293
|
### 4. Brand Assets (New project only)
|
|
@@ -346,8 +345,6 @@ node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index
|
|
|
346
345
|
|
|
347
346
|
| Tool | Purpose |
|
|
348
347
|
|------|---------|
|
|
349
|
-
| `findSymbol` | Find symbol definitions |
|
|
350
|
-
| `findReferences` | Find all references |
|
|
351
348
|
| `analyzeComplexity` | Analyze code complexity |
|
|
352
349
|
| `validateCodeQuality` | Validate code quality |
|
|
353
350
|
| `saveMemory` | Save important decisions |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Parallel Agents & Model Orchestration — Full Reference
|
|
2
2
|
|
|
3
|
-
> Loaded by vibe.run SKILL.md when parallel execution patterns,
|
|
3
|
+
> Loaded by vibe.run SKILL.md when parallel execution patterns, parallel subagent groups, or model selection details are needed.
|
|
4
4
|
|
|
5
5
|
## Model Orchestration (Intelligent Routing)
|
|
6
6
|
|
|
@@ -28,13 +28,15 @@ Automatically select optimal model based on **task complexity analysis**.
|
|
|
28
28
|
| Bug fix | -3 |
|
|
29
29
|
| Documentation | -5 |
|
|
30
30
|
|
|
31
|
-
### Agent
|
|
31
|
+
### Agent × Model Selection
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Tier-variant agents were consolidated — the model is a Task parameter, not a separate agent:
|
|
34
|
+
|
|
35
|
+
| Agent | Low | Medium | High |
|
|
34
36
|
|-------|-------------|-----------------|-------------|
|
|
35
|
-
|
|
|
36
|
-
| implementer |
|
|
37
|
-
| architect |
|
|
37
|
+
| Explore (native) | `model: "haiku"` | `model: "sonnet"` | `model: "opus"` |
|
|
38
|
+
| implementer | `model: "haiku"` | `model: "sonnet"` | `model: "opus"` |
|
|
39
|
+
| architect | `model: "haiku"` | `model: "sonnet"` | `model: "opus"` |
|
|
38
40
|
|
|
39
41
|
### Task Calls by Role
|
|
40
42
|
|
|
@@ -122,33 +124,18 @@ Automatically select optimal model based on **task complexity analysis**.
|
|
|
122
124
|
→ 3x slower, wastes time
|
|
123
125
|
```
|
|
124
126
|
|
|
125
|
-
### Background Agent Pattern (
|
|
127
|
+
### Background Agent Pattern (autonomous + parallel ACT)
|
|
126
128
|
|
|
127
|
-
|
|
128
|
-
# Start background agent (doesn't block)
|
|
129
|
-
node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/infra/orchestrator/index.js').then(o => o.runAgent('Phase 2 prep: Analyze auth API endpoints', 'phase2-prep').then(r => console.log(r.content[0].text)))"
|
|
130
|
-
|
|
131
|
-
# Multiple backgrounds in parallel
|
|
132
|
-
node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/infra/orchestrator/index.js').then(async o => {
|
|
133
|
-
await Promise.all([
|
|
134
|
-
o.runAgent('Phase 2 prep: Analyze auth API endpoints', 'phase2-prep'),
|
|
135
|
-
o.runAgent('Pre-generate test cases for login form', 'test-prep'),
|
|
136
|
-
o.runAgent('Find existing validation patterns', 'pattern-finder')
|
|
137
|
-
]);
|
|
138
|
-
console.log('All background agents started');
|
|
139
|
-
})"
|
|
140
|
-
```
|
|
129
|
+
Use the harness's native background subagents — spawn them in one message and continue working; completion notifications arrive automatically:
|
|
141
130
|
|
|
142
|
-
**Check background agent status:**
|
|
143
|
-
```bash
|
|
144
|
-
node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/infra/orchestrator/index.js').then(o => console.log(o.status().content[0].text))"
|
|
145
131
|
```
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/infra/orchestrator/index.js').then(o => o.getResult('SESSION_ID').then(r => console.log(r.content[0].text)))"
|
|
132
|
+
Task (Explore, background): "Phase 2 prep: Analyze auth API endpoints"
|
|
133
|
+
Task (tester, background): "Pre-generate test cases for login form"
|
|
134
|
+
Task (Explore, background): "Find existing validation patterns"
|
|
150
135
|
```
|
|
151
136
|
|
|
137
|
+
No status polling is needed — the harness re-invokes you when each background agent completes. (구 자체 오케스트레이터 runAgent/status/getResult 체계는 제거됨 — 네이티브 background subagent 가 대체.)
|
|
138
|
+
|
|
152
139
|
### Phase Execution Flow (ULTRAWORK Pipeline)
|
|
153
140
|
|
|
154
141
|
```
|
|
@@ -198,81 +185,29 @@ Phase N+1 Start (IMMEDIATE — exploration already done!)
|
|
|
198
185
|
- Test cases pre-generated during implementation
|
|
199
186
|
- Cache stays warm across parallel tasks
|
|
200
187
|
|
|
201
|
-
##
|
|
202
|
-
|
|
203
|
-
### Dev Team (Full)
|
|
204
|
-
|
|
205
|
-
> **팀 정의**: `agents/teams/dev-team.md` 참조
|
|
206
|
-
> 설정: `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` + `teammateMode: in-process`
|
|
207
|
-
|
|
208
|
-
**활성화 조건:**
|
|
209
|
-
- ULTRAWORK 모드 + 3개 이상 시나리오
|
|
210
|
-
- 또는 복잡도 점수 20+ (High)
|
|
211
|
-
|
|
212
|
-
### Lite Team (Normal Mode)
|
|
213
|
-
|
|
214
|
-
> **팀 정의**: `agents/teams/lite-team.md` 참조
|
|
215
|
-
|
|
216
|
-
**활성화 조건:**
|
|
217
|
-
- 일반 모드 + 3개 이상 시나리오
|
|
218
|
-
- 복잡도 점수 8-19 (Medium)
|
|
219
|
-
- 단순 구현(1-2 파일, 시나리오 2개 이하)에서는 기존 병렬 모드 유지
|
|
220
|
-
|
|
221
|
-
**팀 선택 기준:**
|
|
222
|
-
|
|
223
|
-
| 조건 | 팀 |
|
|
224
|
-
|------|-----|
|
|
225
|
-
| 시나리오 1-2개, 파일 1-2개 | 기존 병렬 모드 (팀 없음) |
|
|
226
|
-
| 시나리오 3개+, 일반 모드 | **Lite Team (3명)** |
|
|
227
|
-
| ULTRAWORK 또는 복잡도 20+ | Dev Team Full (4명) |
|
|
228
|
-
|
|
229
|
-
### Review Team
|
|
230
|
-
|
|
231
|
-
> **팀 정의**: `agents/teams/review-debate-team.md` 참조
|
|
232
|
-
|
|
233
|
-
**활성화 조건:**
|
|
234
|
-
- `/vibe.review` 실행 후 P1 또는 P2 이슈 2개 이상 발견 시
|
|
235
|
-
- Agent Teams 환경변수 활성화 상태
|
|
236
|
-
|
|
237
|
-
### Debug Team
|
|
238
|
-
|
|
239
|
-
> **팀 정의**: `agents/teams/debug-team.md` 참조
|
|
240
|
-
|
|
241
|
-
**활성화 조건:**
|
|
242
|
-
- 동일 빌드/테스트 실패 3회 이상
|
|
243
|
-
- architecture-level uncertainty during review (stuck on root cause)
|
|
244
|
-
|
|
245
|
-
### Research Team
|
|
246
|
-
|
|
247
|
-
> **팀 정의**: `agents/teams/research-team.md` 참조
|
|
248
|
-
|
|
249
|
-
**활성화 조건:**
|
|
250
|
-
- `/vibe.spec` Step 3 리서치 단계
|
|
251
|
-
- Agent Teams 환경변수 활성화 상태
|
|
252
|
-
|
|
253
|
-
### Security Team
|
|
254
|
-
|
|
255
|
-
> **팀 정의**: `agents/teams/security-team.md` 참조
|
|
256
|
-
|
|
257
|
-
**활성화 조건:**
|
|
258
|
-
- auth, payment, user-data, crypto 관련 파일 변경 감지 시
|
|
259
|
-
- 또는 수동으로 `security` 키워드 지정 시
|
|
260
|
-
|
|
261
|
-
### Migration Team
|
|
188
|
+
## Parallel Subagent Groups
|
|
262
189
|
|
|
263
|
-
>
|
|
190
|
+
> 별도 "팀" 에이전트는 없다 — 상황별로 **네이티브 서브에이전트를 병렬 스폰**한다
|
|
191
|
+
> (단일 메시지, 다중 Task 호출). 아래는 상황 → 병렬 구성 매핑.
|
|
264
192
|
|
|
265
|
-
|
|
266
|
-
- package.json 주요 의존성 버전 변경 감지 시
|
|
267
|
-
- 또는 수동으로 `migration` 키워드 지정 시
|
|
193
|
+
**병렬 구성 선택 기준:**
|
|
268
194
|
|
|
269
|
-
|
|
195
|
+
| 조건 | 병렬 구성 |
|
|
196
|
+
|------|-----------|
|
|
197
|
+
| 시나리오 1-2개, 파일 1-2개 | 기존 병렬 모드 (추가 구성 없음) |
|
|
198
|
+
| 시나리오 3개+, 일반 모드 | implementer + tester + Explore (3 병렬) |
|
|
199
|
+
| ULTRAWORK 또는 복잡도 20+ | architect + implementer + tester + code-reviewer (4 병렬) |
|
|
270
200
|
|
|
271
|
-
|
|
201
|
+
**상황별 병렬 스폰:**
|
|
272
202
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
203
|
+
| 상황 | 활성화 조건 | 병렬 서브에이전트 |
|
|
204
|
+
|------|------------|------------------|
|
|
205
|
+
| Review Debate | `/vibe.review` 후 P1/P2 이슈 2개 이상 | security-reviewer + code-reviewer 인스턴스(focus별) |
|
|
206
|
+
| Debug | 동일 빌드/테스트 실패 3회 이상, 또는 root cause stuck | build-error-resolver + Explore + code-reviewer (focus: correctness) |
|
|
207
|
+
| Research | `/vibe.spec` Step 3 리서치 단계 | Explore × N + native WebSearch |
|
|
208
|
+
| Security | auth/payment/user-data/crypto 파일 변경, 또는 `security` 키워드 | security-reviewer + code-reviewer (focus: data-integrity) |
|
|
209
|
+
| Migration | package.json 주요 의존성 버전 변경, 또는 `migration` 키워드 | Explore(변경 영향 조사) + implementer + tester |
|
|
210
|
+
| Fullstack | SPEC에 frontend + backend 파일 모두 포함, 또는 `fullstack` 키워드 | implementer(FE) + implementer(BE) + tester |
|
|
276
211
|
|
|
277
212
|
## External LLM Usage (When Enabled)
|
|
278
213
|
|