@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
package/skills/test/SKILL.md
CHANGED
|
@@ -72,10 +72,10 @@ Written to `~/.vibe/test-reports/<YYYYMMDD-HHmm>-<harness>.{json,md}`. Exact sch
|
|
|
72
72
|
],
|
|
73
73
|
"hooks": [
|
|
74
74
|
{ "name": "pre-tool-guard", "status": "pass", "tests": "38/38" },
|
|
75
|
-
{ "name": "
|
|
75
|
+
{ "name": "scope-guard", "status": "pass", "tests": "12/12" }
|
|
76
76
|
],
|
|
77
77
|
"agents": [
|
|
78
|
-
{ "name": "
|
|
78
|
+
{ "name": "implementer", "status": "pass" }
|
|
79
79
|
]
|
|
80
80
|
},
|
|
81
81
|
"failed": [
|
|
@@ -111,7 +111,7 @@ Written to `~/.vibe/test-reports/<YYYYMMDD-HHmm>-<harness>.{json,md}`. Exact sch
|
|
|
111
111
|
## Failures
|
|
112
112
|
|
|
113
113
|
- **skills / spec** — invocation includes `auto` but triggers array is empty
|
|
114
|
-
- **agents /
|
|
114
|
+
- **agents / implementer** — agent file not found
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
If `failed` is empty, replace the Failures section with `_All probes passed._`.
|
|
@@ -3,8 +3,8 @@ name: tool-fallback
|
|
|
3
3
|
invocation: [auto]
|
|
4
4
|
tier: optional
|
|
5
5
|
description: "Tool failure fallback strategies with circuit breaker. Auto-activates on API errors, search failures, timeouts, 429, 5xx, overloaded errors."
|
|
6
|
-
triggers: [
|
|
7
|
-
priority:
|
|
6
|
+
triggers: [search failure, 429, 5xx, overloaded, fallback, circuit breaker, rate limit]
|
|
7
|
+
priority: 60
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Tool Fallback Strategies
|
|
@@ -3,7 +3,7 @@ name: vercel-react-best-practices
|
|
|
3
3
|
invocation: [auto]
|
|
4
4
|
tier: core
|
|
5
5
|
description: "React/Next.js performance gotchas from Vercel engineering. Non-intuitive pitfalls that LLMs commonly miss."
|
|
6
|
-
triggers: [react, next.js,
|
|
6
|
+
triggers: [react, next.js, vercel, react performance, re-render, rendering waterfall]
|
|
7
7
|
priority: 60
|
|
8
8
|
---
|
|
9
9
|
|
package/skills/vibe/SKILL.md
CHANGED
|
@@ -31,7 +31,7 @@ user-invocable: true
|
|
|
31
31
|
- **동적 파이프라인**: 의도/입력 종류에 따라 매번 다른 스킬 체인 구성. 미리 정해진 고정 흐름 아님.
|
|
32
32
|
- **무제한 라우팅**: 라우팅 표는 빠른 경로일 뿐 닫힌 화이트리스트가 아니다. 설치된 모든 `vibe.*` 스킬이 라우팅 후보이며, 표에 없는 요구사항도 description 기반 의미 매칭으로 처리한다 (Catch-all).
|
|
33
33
|
- **하네스 정규화 (추론 앞단)**: vibe는 CC(추론)·Codex(직역) 어느 하네스의 암묵적 동작에도 의존하지 않는다. `/vibe`가 모호한 NL을 **명시적·직역 가능한 지시로 먼저 전개**하고, 하위 skill은 모호한 입력을 받지 않는다. 이로써 모든 하네스에서 동일 결과 + CC급 편의를 제공한다. 전문: `vibe/rules/principles/dual-harness-doctrine.md`.
|
|
34
|
-
- **Smart Resume**: `.vibe/{
|
|
34
|
+
- **Smart Resume**: `.vibe/{specs,features}/` 감지하여 "이어서 진행?" 자동 제안 (레거시 `.vibe/{interviews,plans}/` 는 입력 컨텍스트로만 인식).
|
|
35
35
|
- **SPEC 확정 1회 승인 → 루프**: SPEC(Done의 정의 + 수용 기준)을 사용자와 확정하는 것이 유일한 의무적 사람 개입. 승인 후에는 `vibe/rules/loop-contract.md`의 ANCHOR→ACT→JUDGE→RECORD 루프를 게이트 전부 통과할 때까지 자동 반복한다. 루프 종료 = 게이트 통과 또는 stuck 또는 max_iterations 도달.
|
|
36
36
|
- **위임자 역할**: `/vibe` 본인은 코드를 직접 쓰지 않는다. 라우팅·설계·실행 위임만 한다.
|
|
37
37
|
|
|
@@ -56,8 +56,8 @@ user-invocable: true
|
|
|
56
56
|
|
|
57
57
|
| 의도 | 신호 | 기본 파이프라인 |
|
|
58
58
|
|---|---|---|
|
|
59
|
-
| **new feature** | "만들어줘", "추가", 신규 아이디어, 입력 없이 빈 호출 |
|
|
60
|
-
| **figma-driven UI** | figma.com URL, "디자인", 이미지/PDF + UI 단어 | figma
|
|
59
|
+
| **new feature** | "만들어줘", "추가", 신규 아이디어, 입력 없이 빈 호출 | spec → run → verify (trace/contract 는 사용자 요청 또는 SPEC 에 API Contract 섹션이 있을 때만) |
|
|
60
|
+
| **figma-driven UI** | figma.com URL, "디자인", 이미지/PDF + UI 단어 | figma (Extract → Convert Mode) → run → verify |
|
|
61
61
|
| **clone existing UI** | 일반 웹사이트 URL + "비슷한", "클론", "이런 느낌" | clone → run → verify |
|
|
62
62
|
| **resume in-progress** | feature name + `.vibe/specs/{name}.md` 존재 | (resume 지점부터) |
|
|
63
63
|
| **review only** | "리뷰", "검토만", 코드/SPEC 첨부 + "확인" | review |
|
|
@@ -92,18 +92,17 @@ user-invocable: true
|
|
|
92
92
|
.vibe/.last-feature 존재 → 직전 feature 이름 추출
|
|
93
93
|
.vibe/specs/{feature}/ 또는 .vibe/specs/{feature}.md 존재 → spec 단계 완료
|
|
94
94
|
.vibe/features/{feature}/ 또는 .vibe/features/{feature}.feature 존재 → feature 단계 완료
|
|
95
|
-
.vibe/plans/{feature}.md 존재 →
|
|
96
|
-
.vibe/interviews/{feature}.md 존재 → interview 단계 완료
|
|
95
|
+
.vibe/plans/{feature}.md · .vibe/interviews/{feature}.md 존재 → 레거시 아티팩트 (구버전) — spec 패스의 입력 컨텍스트로만 사용, 재생성 금지
|
|
97
96
|
```
|
|
98
97
|
|
|
99
98
|
감지된 진행 상태가 있으면 사용자에게 명시:
|
|
100
99
|
|
|
101
100
|
```
|
|
102
101
|
🔍 진행 중인 작업 감지: "login"
|
|
103
|
-
✅
|
|
102
|
+
✅ spec · ⏳ run
|
|
104
103
|
|
|
105
|
-
이어서
|
|
106
|
-
[1] 이어서
|
|
104
|
+
이어서 run 부터 진행할까요? 아니면 새 작업?
|
|
105
|
+
[1] 이어서 run
|
|
107
106
|
[2] 새 작업 (위 요구사항으로)
|
|
108
107
|
[3] 취소
|
|
109
108
|
```
|
|
@@ -126,32 +125,21 @@ Input: 자연어 ("패럴랙스 웹사이트 만들어줘")
|
|
|
126
125
|
Resume: 없음 (신규)
|
|
127
126
|
Keywords: 없음
|
|
128
127
|
|
|
129
|
-
Phase 1: /vibe.spec →
|
|
128
|
+
Phase 1: /vibe.spec → 단일 패스 SPEC + 승인 (유일한 의무 게이트)
|
|
130
129
|
Phase 2: /vibe.figma → UI 디자인 트랙 (type=website 감지)
|
|
131
130
|
Phase 3: /vibe.run → 구현
|
|
132
131
|
Phase 4: /vibe.verify → 검증
|
|
133
|
-
Phase 5: /vibe.contract → API 계약 검증
|
|
134
|
-
Phase 6: /vibe.trace → RTM 출력
|
|
135
132
|
|
|
136
|
-
예상:
|
|
133
|
+
예상: 4 phase, 사람 개입 1회 (SPEC 승인)
|
|
137
134
|
```
|
|
138
135
|
|
|
139
|
-
|
|
136
|
+
설계된 파이프라인은 요약 출력 후 바로 실행한다 — **별도의 파이프라인 승인 게이트는 없다.** 유일한 의무적 사람 개입은 spec 단계 안의 SPEC 확정 승인이다 (loop-contract SSOT).
|
|
140
137
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
[1] 진행
|
|
144
|
-
[2] 수정 (어느 phase 빼거나 추가)
|
|
145
|
-
[3] 취소
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
**Skip 조건:**
|
|
149
|
-
- `automationLevel: autonomous` 설정 (`.vibe/config.json`) 또는 `ultrawork`/`ulw` 별칭 → SPEC 승인 게이트만 skip, 루프는 정상 동작
|
|
138
|
+
**SPEC 승인 skip 조건:**
|
|
139
|
+
- `automationLevel: autonomous` 설정 (`.vibe/config.json`) 또는 `ultrawork`/`ulw` 별칭 → SPEC 승인 게이트 skip, 루프는 정상 동작
|
|
150
140
|
- `--max-iter 1` 또는 `quick` 별칭 → 1회 시도 후 종료
|
|
151
141
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
### Phase 5: 체인 실행
|
|
142
|
+
### Phase 4: 체인 실행
|
|
155
143
|
|
|
156
144
|
승인된 파이프라인을 순차 호출:
|
|
157
145
|
|
|
@@ -166,18 +154,18 @@ Phase 6: /vibe.trace → RTM 출력
|
|
|
166
154
|
```
|
|
167
155
|
|
|
168
156
|
각 phase 종료 후 JUDGE 단계:
|
|
169
|
-
- 게이트 통과 (P1=0 ∧ verifyPassed) → 루프 종료, Phase
|
|
157
|
+
- 게이트 통과 (P1=0 ∧ verifyPassed) → 루프 종료, Phase 5 보고
|
|
170
158
|
- 게이트 미통과 → RECORD(run-ledger + loop-history.jsonl) 후 다음 ANCHOR로
|
|
171
159
|
- stuck(연속 2회 동일 findings 해시) → `automationLevel: confirm`이면 사용자 질문; `autonomous`이면 TODO 기록 후 루프 종료
|
|
172
160
|
- max_iterations(기본 10) 도달 → 잔여를 인박스로 이월
|
|
173
161
|
|
|
174
|
-
### Phase
|
|
162
|
+
### Phase 5: 종료 보고
|
|
175
163
|
|
|
176
164
|
```
|
|
177
165
|
✅ /vibe 완료
|
|
178
166
|
|
|
179
167
|
실행 파이프라인:
|
|
180
|
-
✅ /vibe.spec (
|
|
168
|
+
✅ /vibe.spec (단일 패스 SPEC + 승인)
|
|
181
169
|
✅ /vibe.figma (UI 디자인 트랙)
|
|
182
170
|
✅ /vibe.run (구현)
|
|
183
171
|
✅ /vibe.verify (검증 — 9/9 통과)
|
|
@@ -203,7 +191,7 @@ Phase 6: /vibe.trace → RTM 출력
|
|
|
203
191
|
→ Intent: figma-driven UI
|
|
204
192
|
→ Resume: 없음
|
|
205
193
|
→ Pipeline:
|
|
206
|
-
1. /vibe.figma (figma
|
|
194
|
+
1. /vibe.figma (figma Extract + Convert Mode)
|
|
207
195
|
2. /vibe.spec (생성된 SPEC 자동 보정)
|
|
208
196
|
3. /vibe.run
|
|
209
197
|
4. /vibe.verify
|
|
@@ -290,13 +278,10 @@ Phase 6: /vibe.trace → RTM 출력
|
|
|
290
278
|
[Phase 3: 파이프라인 설계]
|
|
291
279
|
...
|
|
292
280
|
|
|
293
|
-
[Phase 4:
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
[Phase 5: 실행]
|
|
297
|
-
...
|
|
281
|
+
[Phase 4: 실행]
|
|
282
|
+
... (SPEC 승인은 spec 단계 내부의 1회 게이트)
|
|
298
283
|
|
|
299
|
-
[Phase
|
|
284
|
+
[Phase 5: 종료 보고]
|
|
300
285
|
...
|
|
301
286
|
```
|
|
302
287
|
|
|
@@ -87,31 +87,31 @@ Read `CLAUDE.md`, `package.json`, `pyproject.toml`, etc. to identify tech stack:
|
|
|
87
87
|
|
|
88
88
|
#### 3. Explore Related Code (Parallel Sub-Agents)
|
|
89
89
|
|
|
90
|
-
**MANDATORY: Always use
|
|
90
|
+
**MANDATORY: Always use native Explore sub-agents. Never explore in main session.**
|
|
91
91
|
|
|
92
|
-
> Why: 3
|
|
92
|
+
> Why: 3 Explore agents return ~600 tokens of summaries to main session.
|
|
93
93
|
> Direct Glob/Grep/Read in main session would add 5-15K tokens of raw content.
|
|
94
94
|
|
|
95
95
|
**Parallel exploration (ALL in ONE message):**
|
|
96
96
|
|
|
97
97
|
```text
|
|
98
|
-
Agent(subagent_type="
|
|
98
|
+
Agent(subagent_type="Explore", model="haiku",
|
|
99
99
|
prompt="Find all [FEATURE] related API endpoints. List file paths, HTTP methods, routes, and auth requirements.")
|
|
100
100
|
|
|
101
|
-
Agent(subagent_type="
|
|
101
|
+
Agent(subagent_type="Explore", model="haiku",
|
|
102
102
|
prompt="Find all [FEATURE] related services, business logic, and utility functions. Map dependencies.")
|
|
103
103
|
|
|
104
|
-
Agent(subagent_type="
|
|
104
|
+
Agent(subagent_type="Explore", model="haiku",
|
|
105
105
|
prompt="Find all [FEATURE] related data models, schemas, and database queries. Document relationships and key fields.")
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
**Scale for large projects (6+ related files):**
|
|
109
109
|
|
|
110
110
|
```text
|
|
111
|
-
Agent(subagent_type="
|
|
111
|
+
Agent(subagent_type="Explore", model="haiku",
|
|
112
112
|
prompt="Find all test files related to [FEATURE]. Identify tested vs untested paths.")
|
|
113
113
|
|
|
114
|
-
Agent(subagent_type="
|
|
114
|
+
Agent(subagent_type="Explore", model="haiku",
|
|
115
115
|
prompt="Analyze [FEATURE] configuration, environment variables, and external integrations.")
|
|
116
116
|
```
|
|
117
117
|
|
|
@@ -430,8 +430,6 @@ node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index
|
|
|
430
430
|
|
|
431
431
|
| Tool | Purpose | When to Use |
|
|
432
432
|
|------|---------|-------------|
|
|
433
|
-
| `findSymbol` | Find symbol definitions | Locate function/class implementations |
|
|
434
|
-
| `findReferences` | Find all references | Track usage patterns |
|
|
435
433
|
| `analyzeComplexity` | Complexity analysis | Measure complexity metrics |
|
|
436
434
|
| `validateCodeQuality` | Quality validation | Check code quality standards |
|
|
437
435
|
| `saveMemory` | Save analysis results | Persist findings for future sessions |
|
|
@@ -16,7 +16,7 @@ Generate or update project documentation by analyzing the actual codebase.
|
|
|
16
16
|
/vibe.docs guide # 사용자 가이드 (docs/GUIDE.md)
|
|
17
17
|
/vibe.docs arch # 아키텍처 문서 + Mermaid 다이어그램 (docs/ARCHITECTURE.md)
|
|
18
18
|
/vibe.docs release # 릴리즈 노트 (git history 기반)
|
|
19
|
-
/vibe.docs agent # CLAUDE.md / AGENTS.md 생성·동기화 (
|
|
19
|
+
/vibe.docs agent # CLAUDE.md / AGENTS.md 생성·동기화 (agents-md 검증 필수)
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
## Pipeline Position
|
|
@@ -42,11 +42,11 @@ Automate community event planning with D-Day based proactive execution.
|
|
|
42
42
|
└── DWK: 9 steps (D-30 → D+3)
|
|
43
43
|
|
|
44
44
|
5. AUTO-EXECUTE pending deliverables
|
|
45
|
-
├── Content drafts → event-
|
|
46
|
-
├──
|
|
47
|
-
├──
|
|
48
|
-
├──
|
|
49
|
-
└──
|
|
45
|
+
├── Content drafts → event-planner agent
|
|
46
|
+
├── Speaker research → event-planner agent
|
|
47
|
+
├── Image generation → event-ops agent
|
|
48
|
+
├── SMS/email drafts → event-ops agent
|
|
49
|
+
└── Ops materials → event-ops agent
|
|
50
50
|
|
|
51
51
|
6. REQUEST confirmation for send actions
|
|
52
52
|
├── SMS actual send
|
|
@@ -73,41 +73,41 @@ Automate community event planning with D-Day based proactive execution.
|
|
|
73
73
|
|
|
74
74
|
| Phase | Agents Triggered | Outputs |
|
|
75
75
|
|-------|-----------------|---------|
|
|
76
|
-
| D-60 | event-
|
|
77
|
-
| D-45 | event-
|
|
78
|
-
| D-40 | event-
|
|
79
|
-
| D-28 | event-
|
|
80
|
-
| D-30 | event-
|
|
81
|
-
| D-14 | event-
|
|
82
|
-
| D-3 | event-
|
|
76
|
+
| D-60 | event-planner | 3 topic suggestions + speaker research |
|
|
77
|
+
| D-45 | event-planner | DM + email outreach drafts |
|
|
78
|
+
| D-40 | event-ops | Topic confirmation request email |
|
|
79
|
+
| D-28 | event-planner, event-ops | Intro + 2 images + 3 SMS + 1 email |
|
|
80
|
+
| D-30 | event-planner, event-ops | LinkedIn/Threads promo + SMS send(✅) |
|
|
81
|
+
| D-14 | event-planner | LinkedIn/Threads reminder |
|
|
82
|
+
| D-3 | event-ops | BCC email + SMS send(✅) |
|
|
83
83
|
| D-1 | event-ops | Nametags + checklist + PPTX + SMS(✅) |
|
|
84
|
-
| D-Day | event-
|
|
85
|
-
| D+1 | event-
|
|
84
|
+
| D-Day | event-ops | Day-of SMS(✅) |
|
|
85
|
+
| D+1 | event-planner, event-ops | Review posts + settlement |
|
|
86
86
|
| D+2 | — | Site update (manual) |
|
|
87
87
|
|
|
88
88
|
### Webinar Phases
|
|
89
89
|
|
|
90
90
|
| Phase | Agents Triggered | Outputs |
|
|
91
91
|
|-------|-----------------|---------|
|
|
92
|
-
| Planning | event-
|
|
93
|
-
| Planning | event-
|
|
94
|
-
| D-4 | event-
|
|
95
|
-
| D-Day | event-
|
|
96
|
-
| D+1 | event-
|
|
92
|
+
| Planning | event-planner, event-ops | Intro + 3 images + SMS + email |
|
|
93
|
+
| Planning | event-planner | LinkedIn/Threads promo |
|
|
94
|
+
| D-4 | event-ops | Zoom(manual) + BCC email + SMS(✅) |
|
|
95
|
+
| D-Day | event-ops | SMS(✅) + slides |
|
|
96
|
+
| D+1 | event-planner | Review posts |
|
|
97
97
|
|
|
98
98
|
### DWK Phases
|
|
99
99
|
|
|
100
100
|
| Phase | Agents Triggered | Outputs |
|
|
101
101
|
|-------|-----------------|---------|
|
|
102
|
-
| D-30 | event-
|
|
103
|
-
| D-25 | event-
|
|
104
|
-
| D-20 | event-
|
|
105
|
-
| D-16 | event-
|
|
106
|
-
| D-15 | event-
|
|
107
|
-
| D-3 | event-
|
|
102
|
+
| D-30 | event-planner | 3 topics + speaker research |
|
|
103
|
+
| D-25 | event-planner | DM + email outreach |
|
|
104
|
+
| D-20 | event-ops | Topic confirmation email |
|
|
105
|
+
| D-16 | event-planner, event-ops | Intro + 2 images + SMS + email |
|
|
106
|
+
| D-15 | event-planner | LinkedIn/Threads promo |
|
|
107
|
+
| D-3 | event-ops | BCC email + SMS(✅) |
|
|
108
108
|
| D-1 | event-ops | Slido plan + PPTX + SNS remind(✅) |
|
|
109
|
-
| D-Day | event-
|
|
110
|
-
| D+3 | event-
|
|
109
|
+
| D-Day | event-ops | SMS(✅) + nametags(offline) |
|
|
110
|
+
| D+3 | event-planner, event-ops | Review + settlement |
|
|
111
111
|
|
|
112
112
|
## State File Format
|
|
113
113
|
|
|
@@ -158,8 +158,7 @@ Load skill `figma` — Phase 1 Storyboard
|
|
|
158
158
|
### Phase 2 — 재료 확보
|
|
159
159
|
|
|
160
160
|
```
|
|
161
|
-
Load skill `figma
|
|
162
|
-
Load skill `figma` — Phase 2 (코디네이터: MO/PC 병렬 워커)
|
|
161
|
+
Load skill `figma` — Phase 2 Extract Mode (코디네이터: MO/PC 병렬 워커)
|
|
163
162
|
|
|
164
163
|
Phase 0에서 수집한 URL 중 "design"으로 자동 분류된 항목 (MO/PC)을 사용.
|
|
165
164
|
→ tree.json + bg/ + content/ + sections/ (검증용)
|
|
@@ -181,8 +180,7 @@ Load skill `figma` — Phase 3
|
|
|
181
180
|
### Phase 4 — BP별 스태틱 구현 (컨벤션 준수)
|
|
182
181
|
|
|
183
182
|
```
|
|
184
|
-
Load skill `figma
|
|
185
|
-
Load skill `figma` — Phase 4
|
|
183
|
+
Load skill `figma` — Phase 4 Convert Mode
|
|
186
184
|
|
|
187
185
|
재사용 매칭 (BLOCKING):
|
|
188
186
|
① component-index.json 매칭 → import (새로 만들지 않음)
|
|
@@ -191,7 +189,7 @@ Load skill `figma` — Phase 4
|
|
|
191
189
|
⛔ figma-to-scss.js 강제 / figma-validate.js PASS 없이 다음 섹션 금지
|
|
192
190
|
|
|
193
191
|
⤵ Phase 4 후처리
|
|
194
|
-
Load skill `design-normalize
|
|
192
|
+
Load skill `design-refine` — normalize 모드
|
|
195
193
|
→ 매칭 안 된 하드코딩 값 → MASTER.md 토큰으로 정렬
|
|
196
194
|
→ 새 토큰 필요 항목은 review 큐에 기록
|
|
197
195
|
```
|
|
@@ -216,17 +214,17 @@ Load skill `figma` — Phase 6 (시각 검증 루프, P1=0까지)
|
|
|
216
214
|
- Figma MCP/변환기가 삼킨 값이 여기서 드러난다.
|
|
217
215
|
|
|
218
216
|
⤵ Phase 6 후처리
|
|
219
|
-
Load skill `design-audit
|
|
217
|
+
Load skill `design-review` — audit 모드
|
|
220
218
|
→ 5-dimension 점검 (a11y, performance, responsive, theming, AI slop)
|
|
221
219
|
→ P1 finding은 review 큐에 기록 (read-only)
|
|
222
220
|
|
|
223
221
|
⤵ Phase 6.5 (hasEmitDesignMd == true 시)
|
|
224
|
-
→ resolved tokens (Color/Typography/Spacing) + design-audit 산출물을
|
|
222
|
+
→ resolved tokens (Color/Typography/Spacing) + design-review(audit) 산출물을
|
|
225
223
|
DESIGN.md (Stitch 9 섹션) 으로 정제해 프로젝트 루트에 저장
|
|
226
224
|
→ 첫 줄: `<!-- design-md-version: 1 -->`
|
|
227
225
|
→ `vibe.design lint` 자동 통과 확인
|
|
228
226
|
|
|
229
|
-
⛔ Phase 6 + design-audit 완료 전까지 "완료 요약" 출력 금지.
|
|
227
|
+
⛔ Phase 6 + design-review(audit) 완료 전까지 "완료 요약" 출력 금지.
|
|
230
228
|
```
|
|
231
229
|
|
|
232
230
|
---
|
|
@@ -260,8 +258,7 @@ Load skill `figma` — Phase 1
|
|
|
260
258
|
### Phase 2 — 재료 확보
|
|
261
259
|
|
|
262
260
|
```
|
|
263
|
-
Load skill `figma
|
|
264
|
-
Load skill `figma` — Phase 2
|
|
261
|
+
Load skill `figma` — Phase 2 Extract Mode
|
|
265
262
|
→ Branch 1 Phase 2와 동일 (design URL로 추출)
|
|
266
263
|
|
|
267
264
|
🚦 Audit gate: Branch 1과 동일하게 `auditSummary.p1 > 0` 이면 Phase 3 진입 금지.
|
|
@@ -276,14 +273,13 @@ Load skill `figma` — Phase 3 (figma-refine.js 강제)
|
|
|
276
273
|
### Phase 4 — BP별 스태틱 구현 (Standalone 모드)
|
|
277
274
|
|
|
278
275
|
```
|
|
279
|
-
Load skill `figma
|
|
280
|
-
Load skill `figma` — Phase 4
|
|
276
|
+
Load skill `figma` — Phase 4 Convert Mode
|
|
281
277
|
|
|
282
278
|
⛔ 재사용 매칭 SKIP — 새 컴포넌트 자유 생성
|
|
283
279
|
✅ 새 토큰 자유 생성 (피처 스코프 네이밍: $feature-color-xxx)
|
|
284
280
|
✅ figma-to-scss.js / figma-validate.js는 그대로 강제
|
|
285
281
|
|
|
286
|
-
❌ design-normalize 호출 금지 (이 Branch는 토큰 alignment 대상이 아님)
|
|
282
|
+
❌ design-refine(normalize) 호출 금지 (이 Branch는 토큰 alignment 대상이 아님)
|
|
287
283
|
```
|
|
288
284
|
|
|
289
285
|
### Phase 5 — 컴파일 게이트
|
|
@@ -300,15 +296,15 @@ Load skill `figma` — Phase 6 (시각 검증 루프, P1=0까지)
|
|
|
300
296
|
Raw-vs-computed 재조정: Branch 1과 동일 — tree.json `raw` ↔ getComputedStyle 비교.
|
|
301
297
|
|
|
302
298
|
⤵ Phase 6 후처리
|
|
303
|
-
Load skill `design-audit
|
|
299
|
+
Load skill `design-review` — audit 모드
|
|
304
300
|
→ a11y는 항상 검증. 컨벤션 무시 모드여도 접근성은 양보 불가.
|
|
305
301
|
|
|
306
302
|
⤵ Phase 6.5 (hasEmitDesignMd == true 시)
|
|
307
|
-
→ resolved tokens + design-audit 산출물을
|
|
303
|
+
→ resolved tokens + design-review(audit) 산출물을
|
|
308
304
|
DESIGN.md (Stitch 9 섹션) 으로 정제해 프로젝트 루트에 저장
|
|
309
305
|
→ 첫 줄: `<!-- design-md-version: 1 -->`
|
|
310
306
|
|
|
311
|
-
⛔ Phase 6 + design-audit 완료 전까지 "완료 요약" 출력 금지.
|
|
307
|
+
⛔ Phase 6 + design-review(audit) 완료 전까지 "완료 요약" 출력 금지.
|
|
312
308
|
```
|
|
313
309
|
|
|
314
310
|
---
|
|
@@ -612,7 +608,7 @@ Load skill `figma:figma-generate-design` — Step 3+: Assemble Sections (디자
|
|
|
612
608
|
|
|
613
609
|
```
|
|
614
610
|
❌ Branch 1 도중 figma:figma-use / figma:figma-generate-design 호출 금지 (READ 모드)
|
|
615
|
-
❌ Branch 2 도중 design-normalize 호출 금지 (독립 모드)
|
|
616
|
-
❌ Branch 3 도중 figma
|
|
611
|
+
❌ Branch 2 도중 design-refine(normalize) 호출 금지 (독립 모드)
|
|
612
|
+
❌ Branch 3 도중 figma 스킬의 Extract/Convert Mode · figma-refine.js 호출 금지 (WRITE 모드)
|
|
617
613
|
❌ Branch 결정 후 다른 Branch의 Phase로 점프 금지
|
|
618
614
|
```
|
|
@@ -30,16 +30,16 @@ When items are N/A, **remove their points from the total** rather than scoring 0
|
|
|
30
30
|
|
|
31
31
|
### 1. Collect Project State (Parallel Agents)
|
|
32
32
|
|
|
33
|
-
Dispatch 3
|
|
33
|
+
Dispatch 3 native Explore agents in a single message:
|
|
34
34
|
|
|
35
35
|
```text
|
|
36
|
-
Agent(subagent_type="
|
|
36
|
+
Agent(subagent_type="Explore", model="haiku",
|
|
37
37
|
prompt="Check project scaffolding: 1) Does docs/ exist with business documents? 2) Does .dev/ exist for AI logs? 3) Is src/ organized by role (not flat)? 4) Is tests/ separate from src/? 5) List top-level directory structure.")
|
|
38
38
|
|
|
39
|
-
Agent(subagent_type="
|
|
39
|
+
Agent(subagent_type="Explore", model="haiku",
|
|
40
40
|
prompt="Check project context and boundaries: 1) Does CLAUDE.md exist? How many lines? 2) Does .claude/rules/ or .vibe/ exist? How many rule files? 3) Does .claude/settings.local.json exist with hooks? 4) Does .vibe/config.json exist? 5) Are there any .claude/skills/ directories?")
|
|
41
41
|
|
|
42
|
-
Agent(subagent_type="
|
|
42
|
+
Agent(subagent_type="Explore", model="haiku",
|
|
43
43
|
prompt="Check project planning, execution, and verification: 1) Are there SPEC files in .vibe/specs/? 2) Are there Feature (BDD) files in .vibe/features/? 3) Are there test files? How many? 4) Is there CI config (.github/workflows, etc.)? 5) Are there .dev/learnings/ files?")
|
|
44
44
|
```
|
|
45
45
|
|
|
@@ -81,7 +81,7 @@ Agent(subagent_type="explorer-low", model="haiku",
|
|
|
81
81
|
| Item | Criteria | Points |
|
|
82
82
|
|------|----------|--------|
|
|
83
83
|
| Agents or skills | Specialized agents or skills defined | /5 |
|
|
84
|
-
|
|
|
84
|
+
| Parallel composition | Parallel native subagents (architect + implementer + tester, etc.) | /4 |
|
|
85
85
|
| Permission model | Per-agent permission separation (read-only vs write) | /3 |
|
|
86
86
|
| Non-code workflows | Support for documentation, research, and other non-code tasks | /3 |
|
|
87
87
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vibe.llm
|
|
3
|
+
description: Refresh available models for claude/openai(api+oauth)/gemini/zai as of now and update the vibe model SSOT
|
|
4
|
+
argument-hint: "list | refresh"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /vibe.llm
|
|
9
|
+
|
|
10
|
+
현재 시점 기준으로 각 LLM provider(claude, openai API+oauth, gemini, zai)의
|
|
11
|
+
**사용 가능한 모델을 최신화**하고, vibe 가 쓰는 **모델 SSOT(`~/.vibe/config.json` models)**를 갱신한다.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
/vibe.llm list # provider 별 현재 사용 가능한 모델 표시 (★ = 추천/최신)
|
|
17
|
+
/vibe.llm refresh # 라이브 조회 → 추천 모델을 config.json models 에 반영
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
CLI 로도 동일하게 동작한다:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
vibe llm list
|
|
24
|
+
vibe llm refresh
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 동작
|
|
28
|
+
|
|
29
|
+
1. **라이브 조회** — 각 provider 의 list-models API 호출:
|
|
30
|
+
- claude: `GET /v1/models` (ANTHROPIC_API_KEY)
|
|
31
|
+
- openai: `GET /v1/models` (OPENAI_API_KEY). 키 없이 oauth(Codex)만 있으면 큐레이션 목록 표시
|
|
32
|
+
- gemini: `GET /v1beta/models` (GEMINI_API_KEY)
|
|
33
|
+
- zai: `GET /models` (coding/general 키)
|
|
34
|
+
2. **fallback** — 키가 없거나 API 실패 시 in-repo 큐레이션 목록을 사용(무네트워크에서도 동작)
|
|
35
|
+
3. **SSOT 갱신** — provider 별 추천(최신) 모델을 `~/.vibe/config.json` 의 `models`
|
|
36
|
+
(gpt, gemini, zai, zaiCoding)에 기록. 변경 내역을 출력한다.
|
|
37
|
+
|
|
38
|
+
> Claude 모델은 Claude Code tier(sonnet/opus/haiku alias)로 관리되므로 자동으로 덮어쓰지 않고
|
|
39
|
+
> 조회 결과만 표시한다.
|
|
40
|
+
|
|
41
|
+
## 구현 위치
|
|
42
|
+
|
|
43
|
+
- CLI: `src/cli/commands/llm.ts` → `src/cli/llm/model-refresh.ts`
|
|
44
|
+
- SSOT: `~/.vibe/config.json` `models` (ModelOverrides)
|
|
45
|
+
|
|
46
|
+
이 스킬은 위 CLI 를 호출하고 결과(변경된 모델 SSOT)를 요약해 보고한다.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
ARGUMENTS: $ARGUMENTS
|
|
@@ -198,8 +198,6 @@ node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index
|
|
|
198
198
|
|
|
199
199
|
| Tool | Purpose | When to Use |
|
|
200
200
|
|------|---------|-------------|
|
|
201
|
-
| `findSymbol` | Find symbol definitions | Locate potential problem areas |
|
|
202
|
-
| `findReferences` | Find all references | Trace data/control flow |
|
|
203
201
|
| `analyzeComplexity` | Complexity analysis | Identify high-risk complex code |
|
|
204
202
|
| `saveMemory` | Save reasoning progress | Store hypothesis verification results |
|
|
205
203
|
| `recallMemory` | Recall saved memory | Retrieve previous reasoning context |
|