@su-record/vibe 2.9.25 → 2.9.32
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 +37 -37
- package/CLAUDE.md +109 -106
- package/LICENSE +21 -21
- package/README.en.md +220 -220
- package/README.md +171 -171
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +294 -294
- package/agents/event/event-comms.md +78 -78
- package/agents/event/event-content.md +68 -68
- package/agents/event/event-image.md +95 -95
- package/agents/event/event-ops.md +84 -84
- package/agents/event/event-scheduler.md +69 -69
- package/agents/event/event-speaker.md +86 -86
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/qa/qa-coordinator.md +131 -131
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/teams/debug-team.md +70 -70
- package/agents/teams/dev-team.md +88 -88
- package/agents/teams/docs-team.md +80 -80
- package/agents/teams/figma/figma-analyst.md +52 -52
- package/agents/teams/figma/figma-architect.md +112 -112
- package/agents/teams/figma/figma-auditor.md +82 -82
- package/agents/teams/figma/figma-builder.md +100 -100
- package/agents/teams/figma-team.md +85 -85
- package/agents/teams/fullstack-team.md +83 -83
- package/agents/teams/lite-team.md +69 -69
- package/agents/teams/migration-team.md +78 -78
- package/agents/teams/refactor-team.md +94 -94
- package/agents/teams/research-team.md +86 -86
- package/agents/teams/review-debate-team.md +125 -125
- package/agents/teams/security-team.md +81 -81
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +102 -102
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +258 -258
- package/commands/vibe.analyze.md +533 -533
- package/commands/vibe.contract.md +105 -105
- package/commands/vibe.docs.md +33 -33
- package/commands/vibe.event.md +163 -163
- package/commands/vibe.figma.md +600 -584
- package/commands/vibe.harness.md +177 -177
- package/commands/vibe.regress.md +73 -73
- package/commands/vibe.review.md +624 -624
- package/commands/vibe.run.md +1946 -1940
- package/commands/vibe.scaffold.md +195 -195
- package/commands/vibe.spec.md +577 -577
- package/commands/vibe.test.md +49 -49
- package/commands/vibe.trace.md +276 -276
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +572 -550
- package/dist/cli/auth.d.ts +7 -1
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +51 -11
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/collaborator.d.ts +5 -1
- package/dist/cli/collaborator.d.ts.map +1 -1
- package/dist/cli/collaborator.js +60 -55
- package/dist/cli/collaborator.js.map +1 -1
- package/dist/cli/commands/codex-proxy.js +15 -15
- package/dist/cli/commands/config.js +9 -9
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/figma.js +20 -20
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +47 -63
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.d.ts +13 -5
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +71 -35
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/remove.d.ts.map +1 -1
- package/dist/cli/commands/remove.js +35 -22
- package/dist/cli/commands/remove.js.map +1 -1
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/stats.js +6 -6
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +10 -6
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +37 -35
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +16 -16
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/postinstall/global-config.d.ts.map +1 -1
- package/dist/cli/postinstall/global-config.js +8 -4
- package/dist/cli/postinstall/global-config.js.map +1 -1
- package/dist/cli/setup/LegacyMigration.d.ts +14 -0
- package/dist/cli/setup/LegacyMigration.d.ts.map +1 -1
- package/dist/cli/setup/LegacyMigration.js +61 -0
- package/dist/cli/setup/LegacyMigration.js.map +1 -1
- package/dist/cli/setup/ProjectSetup.d.ts +9 -3
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +60 -36
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/cli/setup/Provisioner.js +44 -44
- package/dist/cli/setup/Provisioner.js.map +1 -1
- package/dist/cli/setup.d.ts +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +1 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/utils/cli-detector.d.ts +9 -6
- package/dist/cli/utils/cli-detector.d.ts.map +1 -1
- package/dist/cli/utils/cli-detector.js +127 -8
- package/dist/cli/utils/cli-detector.js.map +1 -1
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.d.ts +3 -3
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/browser/compare.d.ts +27 -0
- package/dist/infra/lib/browser/compare.d.ts.map +1 -1
- package/dist/infra/lib/browser/compare.js +55 -0
- package/dist/infra/lib/browser/compare.js.map +1 -1
- package/dist/infra/lib/browser/index.d.ts +2 -1
- package/dist/infra/lib/browser/index.d.ts.map +1 -1
- package/dist/infra/lib/browser/index.js +1 -1
- package/dist/infra/lib/browser/index.js.map +1 -1
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/ParityTester.js +57 -57
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/figma/audit.d.ts +37 -0
- package/dist/infra/lib/figma/audit.d.ts.map +1 -0
- package/dist/infra/lib/figma/audit.js +130 -0
- package/dist/infra/lib/figma/audit.js.map +1 -0
- package/dist/infra/lib/figma/extract.d.ts +21 -1
- package/dist/infra/lib/figma/extract.d.ts.map +1 -1
- package/dist/infra/lib/figma/extract.js +84 -12
- package/dist/infra/lib/figma/extract.js.map +1 -1
- package/dist/infra/lib/figma/index.d.ts +4 -2
- package/dist/infra/lib/figma/index.d.ts.map +1 -1
- package/dist/infra/lib/figma/index.js +2 -1
- package/dist/infra/lib/figma/index.js.map +1 -1
- package/dist/infra/lib/figma/types.d.ts +31 -0
- package/dist/infra/lib/figma/types.d.ts.map +1 -1
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.d.ts +5 -0
- package/dist/infra/lib/memory/MemoryStorage.d.ts.map +1 -1
- package/dist/infra/lib/memory/MemoryStorage.js +202 -183
- package/dist/infra/lib/memory/MemoryStorage.js.map +1 -1
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +134 -126
- package/hooks/scripts/__tests__/keyword-detector.test.js +199 -199
- package/hooks/scripts/__tests__/pre-tool-guard.test.js +409 -409
- package/hooks/scripts/__tests__/sentinel-guard.test.js +208 -208
- package/hooks/scripts/auto-commit.js +97 -97
- package/hooks/scripts/auto-format.js +64 -64
- package/hooks/scripts/auto-test.js +81 -81
- package/hooks/scripts/code-check.js +271 -271
- package/hooks/scripts/codex-detect.js +46 -46
- package/hooks/scripts/codex-review-gate.js +80 -80
- package/hooks/scripts/command-log.js +32 -32
- package/hooks/scripts/context-save.js +353 -353
- package/hooks/scripts/evolution-engine.js +91 -91
- package/hooks/scripts/figma-extract.js +768 -635
- package/hooks/scripts/figma-guard.js +219 -219
- package/hooks/scripts/figma-refine.js +315 -315
- package/hooks/scripts/figma-to-scss.js +394 -394
- package/hooks/scripts/figma-validate.js +353 -353
- package/hooks/scripts/hud-status.js +321 -321
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/lib/dispatcher.js +87 -83
- package/hooks/scripts/lib/scope-from-spec.js +276 -261
- package/hooks/scripts/llm-orchestrate.js +645 -645
- package/hooks/scripts/post-edit.js +35 -35
- package/hooks/scripts/pr-test-gate.js +52 -52
- package/hooks/scripts/pre-tool-guard.js +259 -259
- package/hooks/scripts/prompt-dispatcher.js +192 -190
- package/hooks/scripts/scope-guard.js +145 -145
- package/hooks/scripts/sentinel-guard.js +130 -130
- package/hooks/scripts/session-start.js +186 -186
- package/hooks/scripts/skill-injector.js +83 -83
- package/hooks/scripts/step-counter.js +45 -0
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +315 -257
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +106 -106
- package/skills/agents-md/SKILL.md +121 -121
- package/skills/agents-md/rubrics/what-to-keep.md +49 -49
- package/skills/agents-md/templates/agents-md.md +36 -36
- package/skills/arch-guard/SKILL.md +181 -181
- package/skills/arch-guard/agents/detector.md +48 -48
- package/skills/arch-guard/agents/reporter.md +48 -48
- package/skills/arch-guard/agents/rule-generator.md +49 -49
- package/skills/arch-guard/agents/violation-checker.md +51 -51
- package/skills/arch-guard/frameworks/clean-architecture.md +108 -108
- package/skills/arch-guard/frameworks/solid.md +102 -102
- package/skills/arch-guard/scripts/check-boundaries.js +90 -90
- package/skills/arch-guard/templates/arch-rules.json +47 -47
- package/skills/arch-guard/templates/violation-report.md +53 -53
- package/skills/brand-assets/SKILL.md +147 -147
- package/skills/brand-assets/rubrics/asset-checklist.md +98 -98
- package/skills/brand-assets/templates/brand-guide.md +161 -161
- package/skills/capability-loop/SKILL.md +272 -272
- package/skills/capability-loop/agents/capability-designer.md +61 -61
- package/skills/capability-loop/agents/failure-analyst.md +55 -55
- package/skills/capability-loop/agents/implementer.md +50 -50
- package/skills/capability-loop/agents/tester.md +53 -53
- package/skills/capability-loop/templates/capability-spec.md +118 -118
- package/skills/capability-loop/templates/failure-analysis.md +118 -118
- package/skills/characterization-test/SKILL.md +207 -207
- package/skills/characterization-test/agents/behavior-capturer.md +50 -50
- package/skills/characterization-test/agents/coverage-checker.md +54 -54
- package/skills/characterization-test/agents/reporter.md +50 -50
- package/skills/characterization-test/agents/test-writer.md +49 -49
- package/skills/characterization-test/rubrics/coverage-criteria.md +53 -53
- package/skills/characterization-test/templates/test-template.ts +101 -101
- package/skills/chub-usage/SKILL.md +139 -139
- package/skills/claude-md-guide/SKILL.md +351 -351
- package/skills/claude-md-guide/rubrics/anti-patterns.md +88 -88
- package/skills/claude-md-guide/templates/claude-md.md +54 -54
- package/skills/commerce-patterns/SKILL.md +64 -64
- package/skills/commerce-patterns/rubrics/checkout-flow.md +48 -48
- package/skills/commerce-patterns/templates/product-schema.md +85 -85
- package/skills/commit-push-pr/SKILL.md +77 -77
- package/skills/commit-push-pr/agents/change-analyzer.md +55 -55
- package/skills/commit-push-pr/agents/message-writer.md +50 -50
- package/skills/commit-push-pr/agents/pr-writer.md +58 -58
- package/skills/commit-push-pr/agents/reviewer.md +52 -52
- package/skills/commit-push-pr/rubrics/commit-message.md +73 -73
- package/skills/commit-push-pr/templates/pr-body.md +63 -63
- package/skills/context7-usage/SKILL.md +106 -106
- package/skills/context7-usage/rubrics/when-to-use.md +50 -50
- package/skills/create-prd/SKILL.md +90 -90
- package/skills/create-prd/agents/edge-case-finder.md +48 -48
- package/skills/create-prd/agents/prioritizer.md +60 -60
- package/skills/create-prd/agents/requirements-writer.md +48 -48
- package/skills/create-prd/agents/researcher.md +55 -55
- package/skills/create-prd/agents/reviewer.md +54 -54
- package/skills/create-prd/frameworks/jobs-to-be-done.md +96 -96
- package/skills/create-prd/frameworks/rice-scoring.md +97 -97
- package/skills/create-prd/orchestrator.md +70 -70
- package/skills/create-prd/rubrics/completeness.md +58 -58
- package/skills/create-prd/templates/prd.md +139 -139
- package/skills/design-audit/SKILL.md +152 -152
- package/skills/design-audit/agents/a11y-auditor.md +43 -43
- package/skills/design-audit/agents/performance-auditor.md +46 -46
- package/skills/design-audit/agents/responsive-auditor.md +46 -46
- package/skills/design-audit/agents/scorer.md +47 -47
- package/skills/design-audit/agents/slop-detector.md +47 -47
- package/skills/design-audit/frameworks/core-web-vitals.md +107 -107
- package/skills/design-audit/frameworks/wcag-checklist.md +64 -64
- package/skills/design-audit/orchestrator.md +64 -64
- package/skills/design-audit/rubrics/ai-slop-patterns.md +83 -83
- package/skills/design-audit/rubrics/scoring.md +63 -63
- package/skills/design-audit/templates/report.md +88 -88
- package/skills/design-critique/SKILL.md +139 -139
- package/skills/design-critique/rubrics/ux-heuristics.md +143 -143
- package/skills/design-critique/templates/critique-report.md +86 -86
- package/skills/design-distill/SKILL.md +130 -130
- package/skills/design-distill/templates/design-system.md +132 -132
- package/skills/design-normalize/SKILL.md +133 -133
- package/skills/design-normalize/rubrics/token-naming.md +117 -117
- package/skills/design-normalize/templates/token-audit.md +89 -89
- package/skills/design-polish/SKILL.md +131 -131
- package/skills/design-polish/rubrics/polish-checklist.md +68 -68
- package/skills/design-polish/templates/polish-report.md +64 -64
- package/skills/design-teach/SKILL.md +182 -182
- package/skills/design-teach/rubrics/brand-personality.md +73 -73
- package/skills/design-teach/templates/design-context.json +36 -36
- package/skills/devlog/SKILL.md +143 -143
- package/skills/e2e-commerce/SKILL.md +62 -62
- package/skills/e2e-commerce/templates/test-scenarios.md +170 -170
- package/skills/event-comms/SKILL.md +172 -172
- package/skills/event-comms/templates/email-invite.md +99 -99
- package/skills/event-comms/templates/sns-post.md +133 -133
- package/skills/event-ops/SKILL.md +207 -207
- package/skills/event-ops/rubrics/contingency.md +85 -85
- package/skills/event-ops/templates/d-day-checklist.md +65 -65
- package/skills/event-planning/SKILL.md +144 -144
- package/skills/event-planning/rubrics/timeline.md +70 -70
- package/skills/event-planning/templates/event-plan.md +91 -91
- package/skills/exec-plan/SKILL.md +149 -149
- package/skills/exec-plan/agents/decomposer.md +47 -47
- package/skills/exec-plan/agents/dependency-mapper.md +44 -44
- package/skills/exec-plan/agents/estimator.md +43 -43
- package/skills/exec-plan/agents/validator.md +55 -55
- package/skills/exec-plan/orchestrator.md +70 -70
- package/skills/exec-plan/rubrics/complexity-scoring.md +75 -75
- package/skills/exec-plan/templates/plan.md +147 -147
- package/skills/git-worktree/SKILL.md +73 -73
- package/skills/git-worktree/rubrics/when-to-use.md +55 -55
- package/skills/handoff/SKILL.md +110 -110
- package/skills/handoff/agents/context-summarizer.md +51 -51
- package/skills/handoff/agents/document-writer.md +63 -63
- package/skills/handoff/agents/state-collector.md +53 -53
- package/skills/handoff/agents/verifier.md +48 -48
- package/skills/handoff/rubrics/completeness.md +62 -62
- package/skills/handoff/templates/handoff.md +107 -107
- package/skills/parallel-research/SKILL.md +104 -104
- package/skills/parallel-research/agents/best-practices.md +43 -43
- package/skills/parallel-research/agents/codebase-patterns.md +46 -46
- package/skills/parallel-research/agents/framework-docs.md +45 -45
- package/skills/parallel-research/agents/security-advisory.md +46 -46
- package/skills/parallel-research/agents/synthesizer.md +57 -57
- package/skills/parallel-research/experts/best-practices.md +50 -50
- package/skills/parallel-research/experts/codebase-patterns.md +70 -70
- package/skills/parallel-research/experts/framework-docs.md +65 -65
- package/skills/parallel-research/experts/security-advisory.md +69 -69
- package/skills/parallel-research/orchestrator.md +79 -79
- package/skills/parallel-research/templates/awesome-list.md +32 -32
- package/skills/parallel-research/templates/paper.md +88 -88
- package/skills/parallel-research/templates/synthesis.md +101 -101
- package/skills/prioritization-frameworks/SKILL.md +87 -87
- package/skills/prioritization-frameworks/rubrics/frameworks.md +79 -79
- package/skills/prioritization-frameworks/templates/scoring-matrix.md +69 -69
- package/skills/priority-todos/SKILL.md +64 -64
- package/skills/priority-todos/rubrics/prioritization.md +70 -70
- package/skills/priority-todos/templates/todo-board.md +59 -59
- package/skills/seo-checklist/SKILL.md +58 -58
- package/skills/seo-checklist/frameworks/structured-data.md +153 -153
- package/skills/seo-checklist/rubrics/content-seo.md +42 -42
- package/skills/seo-checklist/rubrics/technical-seo.md +48 -48
- package/skills/techdebt/SKILL.md +124 -124
- package/skills/techdebt/agents/analyzer.md +50 -50
- package/skills/techdebt/agents/fixer.md +41 -41
- package/skills/techdebt/agents/reviewer.md +47 -47
- package/skills/techdebt/agents/scanner.md +44 -44
- package/skills/techdebt/orchestrator.md +70 -70
- package/skills/techdebt/rubrics/severity.md +51 -51
- package/skills/techdebt/scripts/scan.js +90 -90
- package/skills/techdebt/templates/report.md +86 -86
- package/skills/tool-fallback/SKILL.md +104 -104
- package/skills/tool-fallback/rubrics/fallback-chain.md +58 -58
- package/skills/typescript-advanced-types/SKILL.md +67 -67
- package/skills/typescript-advanced-types/rubrics/type-patterns.md +109 -109
- package/skills/ui-ux-pro-max/SKILL.md +236 -236
- package/skills/ui-ux-pro-max/reference/color-and-contrast.md +517 -517
- package/skills/ui-ux-pro-max/reference/interaction-design.md +544 -544
- package/skills/ui-ux-pro-max/reference/motion-design.md +591 -591
- package/skills/ui-ux-pro-max/reference/responsive-design.md +463 -463
- package/skills/ui-ux-pro-max/reference/spatial-design.md +390 -390
- package/skills/ui-ux-pro-max/reference/typography.md +455 -455
- package/skills/ui-ux-pro-max/reference/ux-writing.md +469 -469
- package/skills/ui-ux-pro-max/rubrics/interaction-states.md +83 -83
- package/skills/ui-ux-pro-max/rubrics/responsive-breakpoints.md +99 -99
- package/skills/user-personas/SKILL.md +75 -75
- package/skills/user-personas/rubrics/research-methods.md +56 -56
- package/skills/user-personas/templates/persona.md +89 -89
- package/skills/vercel-react-best-practices/SKILL.md +60 -60
- package/skills/vercel-react-best-practices/rubrics/performance.md +82 -82
- package/skills/vercel-react-best-practices/rubrics/server-components.md +86 -86
- package/skills/vibe-contract/SKILL.md +166 -166
- package/skills/vibe-docs/templates/architecture.md +80 -80
- package/skills/vibe-docs/templates/readme.md +84 -84
- package/skills/vibe-docs/templates/release-notes.md +74 -74
- package/skills/vibe-figma/SKILL.md +363 -363
- package/skills/vibe-figma/rubrics/extraction-checklist.md +51 -51
- package/skills/vibe-figma/templates/component-index.md +126 -126
- package/skills/vibe-figma/templates/component-spec.md +168 -168
- package/skills/vibe-figma/templates/figma-handoff.md +100 -100
- package/skills/vibe-figma/templates/remapped-tree.md +277 -277
- package/skills/vibe-figma-convert/SKILL.md +235 -235
- package/skills/vibe-figma-convert/rubrics/conversion-rules.md +141 -141
- package/skills/vibe-figma-convert/templates/component.md +140 -140
- package/skills/vibe-figma-extract/SKILL.md +241 -219
- package/skills/vibe-figma-extract/rubrics/image-rules.md +157 -157
- package/skills/vibe-interview/SKILL.md +358 -358
- package/skills/vibe-interview/checklists/api.md +101 -101
- package/skills/vibe-interview/checklists/feature.md +88 -88
- package/skills/vibe-interview/checklists/library.md +95 -95
- package/skills/vibe-interview/checklists/mobile.md +89 -89
- package/skills/vibe-interview/checklists/webapp.md +97 -97
- package/skills/vibe-interview/checklists/website.md +99 -99
- package/skills/vibe-plan/SKILL.md +254 -254
- package/skills/vibe-regress/SKILL.md +174 -174
- package/skills/vibe-regress/templates/bug.md +44 -44
- package/skills/vibe-regress/templates/test-jest.md +29 -29
- package/skills/vibe-regress/templates/test-vitest.md +30 -30
- package/skills/vibe-spec/SKILL.md +1195 -1195
- package/skills/vibe-spec-review/SKILL.md +726 -726
- package/skills/vibe-test/SKILL.md +140 -140
- package/skills/video-production/SKILL.md +52 -52
- package/skills/video-production/rubrics/quality-checklist.md +58 -58
- package/skills/video-production/templates/production-plan.md +104 -104
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/claudemd-template.md +74 -74
- package/vibe/templates/constitution-template.md +267 -267
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/plan-template.md +194 -194
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
|
@@ -1,254 +1,254 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: vibe-plan
|
|
3
|
-
tier: core
|
|
4
|
-
description: "Refine a vibe-interview result into a human-readable markdown 기획서 (planning document). The plan is a vision document that downstream skills/commands use: /vibe.spec consumes it for code implementation, /vibe.figma uses it for UI storyboards. Must use this skill after vibe-interview completes, or when the user has raw interview notes and wants a structured plan document."
|
|
5
|
-
triggers: [기획서, 기획서 작성, plan document, 기획 정리, "interview 정리", refine plan]
|
|
6
|
-
priority: 90
|
|
7
|
-
chain-next: [vibe-spec, vibe-figma]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# vibe.plan — Interview → Plan Document Refinement
|
|
11
|
-
|
|
12
|
-
> **Principle**: Refine the raw Q&A from the interview into a **human-readable vision document**. AI execution structures like PTCF/EARS/Phase are the responsibility of `/vibe.spec`.
|
|
13
|
-
|
|
14
|
-
## When to Use
|
|
15
|
-
|
|
16
|
-
- `vibe-interview` has just completed and `.claude/vibe/interviews/{feature}.md` exists
|
|
17
|
-
- The user requests "write me a plan document" or "clean up the interview"
|
|
18
|
-
- Need to convert an external PRD/wireframe into the vibe plan document format
|
|
19
|
-
|
|
20
|
-
**Skip condition**:
|
|
21
|
-
- If this skill is called directly without an interview → chain to `vibe-interview` first (no chain-prev; inform the user)
|
|
22
|
-
|
|
23
|
-
## Core Flow
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
1. Read interview file
|
|
27
|
-
.claude/vibe/interviews/{feature}.md
|
|
28
|
-
↓
|
|
29
|
-
2. Load template
|
|
30
|
-
~/.claude/vibe/templates/plan-template.md
|
|
31
|
-
↓
|
|
32
|
-
3. Refine per section
|
|
33
|
-
- Required responses → body sections
|
|
34
|
-
- Optional responses → body + "Assumptions"
|
|
35
|
-
- TBD items → "Open Questions"
|
|
36
|
-
- Discovered → merged into relevant sections
|
|
37
|
-
↓
|
|
38
|
-
4. Conditionally include UI sections
|
|
39
|
-
type ∈ {website, webapp, mobile} → include Look&Feel / layout / responsive
|
|
40
|
-
type ∈ {api, library, feature-data} → omit
|
|
41
|
-
↓
|
|
42
|
-
5. Save plan document
|
|
43
|
-
.claude/vibe/plans/{feature}.md
|
|
44
|
-
↓
|
|
45
|
-
6. Handoff guidance
|
|
46
|
-
Next steps: /vibe.spec, /vibe.figma, parallel
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Step 1: Read Interview File
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
Read .claude/vibe/interviews/{feature-name}.md
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Extract `type`, `status`, `requiredCollected`, `optionalCollected`, etc. from the frontmatter.
|
|
56
|
-
|
|
57
|
-
**Validation**:
|
|
58
|
-
- If the file does not exist → guide the user to run `vibe-interview` first.
|
|
59
|
-
- `status: partial` + Required items incomplete → apply **AI-Driven Gap Filling**:
|
|
60
|
-
|
|
61
|
-
### AI-Driven Gap Filling
|
|
62
|
-
|
|
63
|
-
When the user stops the interview early, they are **delegating the rest to AI** — not refusing to answer. The plan phase must fill in the gaps autonomously.
|
|
64
|
-
|
|
65
|
-
**Process for missing Required items:**
|
|
66
|
-
|
|
67
|
-
1. **Analyze the project** — Read `package.json`, existing code, `CLAUDE.md`, `docs/` for context clues
|
|
68
|
-
2. **Research similar products** — Use the collected answers (purpose, target users) to infer reasonable defaults
|
|
69
|
-
3. **Fill with best-guess + rationale** — For each missing item, write the AI's best inference with a `[AI-inferred]` tag and a one-line rationale
|
|
70
|
-
|
|
71
|
-
**Example:**
|
|
72
|
-
|
|
73
|
-
```markdown
|
|
74
|
-
### Success Metrics
|
|
75
|
-
[AI-inferred] Based on the project type (landing page for coffee brand):
|
|
76
|
-
- Conversion rate: visitor → purchase click-through > 3%
|
|
77
|
-
- Page load: FCP < 1.5s on mobile
|
|
78
|
-
- Bounce rate: < 50%
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
4. **Present filled plan for review** — Show the user which items were AI-filled:
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
85
|
-
📄 Plan document generated
|
|
86
|
-
|
|
87
|
-
Collected from interview: {N} items
|
|
88
|
-
AI-inferred: {M} items (marked [AI-inferred])
|
|
89
|
-
|
|
90
|
-
Please review the [AI-inferred] sections.
|
|
91
|
-
Edit anything that doesn't match your intent.
|
|
92
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
5. **User can correct inline** — If the user says "change X to Y", update the plan and remove the `[AI-inferred]` tag from that item.
|
|
96
|
-
|
|
97
|
-
**Rules for AI inference:**
|
|
98
|
-
- Always choose the most common/safe default for the project type
|
|
99
|
-
- Never invent business requirements (e.g., pricing, brand name) — mark these as `[Needs user input]` instead
|
|
100
|
-
- Technical decisions (framework, DB, hosting) can be inferred from existing project setup
|
|
101
|
-
- UX decisions (color, tone, layout) can be inferred from reference sites or stated brand direction
|
|
102
|
-
- If fewer than 2 answers were collected (user barely started), ask 3 essential questions before proceeding: purpose, target users, and project type
|
|
103
|
-
|
|
104
|
-
### `.last-feature` Pointer Update
|
|
105
|
-
|
|
106
|
-
```
|
|
107
|
-
Write ".claude/vibe/.last-feature" ← feature-name (one line)
|
|
108
|
-
Run immediately after extracting the feature name from the interview file.
|
|
109
|
-
No-op if the value is already the same.
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
## Step 2: Load Template
|
|
113
|
-
|
|
114
|
-
```
|
|
115
|
-
Read ~/.claude/vibe/templates/plan-template.md
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
The template has a 12-section structure:
|
|
119
|
-
|
|
120
|
-
| # | Section | All Types | UI Types Only |
|
|
121
|
-
|---|---------|-----------|---------------|
|
|
122
|
-
| 1 | Overview | ✅ | |
|
|
123
|
-
| 2 | Background (Why) | ✅ | |
|
|
124
|
-
| 3 | Target Users (Who) | ✅ | |
|
|
125
|
-
| 4 | Goals & Success Criteria | ✅ | |
|
|
126
|
-
| 5 | Core Features/Sections | ✅ | |
|
|
127
|
-
| 6 | Scope & Out-of-Scope | ✅ | |
|
|
128
|
-
| 7 | Look & Feel | | ✅ |
|
|
129
|
-
| 8 | Layout/Section Structure | | ✅ |
|
|
130
|
-
| 9 | Responsive Strategy | | ✅ |
|
|
131
|
-
| 10 | Tech Stack & Constraints | ✅ | |
|
|
132
|
-
| 11 | Assumptions & Risks | ✅ | |
|
|
133
|
-
| 12 | Next Steps (Handoff) | ✅ | |
|
|
134
|
-
|
|
135
|
-
### Template Fallback
|
|
136
|
-
|
|
137
|
-
If `~/.claude/vibe/templates/plan-template.md` is not found:
|
|
138
|
-
1. Check `{{VIBE_PATH}}/vibe/templates/plan-template.md` (package source)
|
|
139
|
-
2. If neither exists, use the built-in section list from this skill as the template structure
|
|
140
|
-
3. Never fail silently — always inform the user which template source was used
|
|
141
|
-
|
|
142
|
-
## Step 3: Per-Section Refinement Mapping
|
|
143
|
-
|
|
144
|
-
Interview items → plan document section mapping rules:
|
|
145
|
-
|
|
146
|
-
### Common Mapping
|
|
147
|
-
|
|
148
|
-
| Interview Item | Plan Section |
|
|
149
|
-
|----------------|--------------|
|
|
150
|
-
| `R1. purpose` | §2 Background (Why) |
|
|
151
|
-
| `R2. target-users` | §3 Target Users |
|
|
152
|
-
| `R3. core-message` / `R3. core-features` / `R3. core-endpoints` | §5 Core Features/Sections |
|
|
153
|
-
| `R4. required-sections` / `R4. data-model` / `R4. core-api` | §5 Core Features/Sections |
|
|
154
|
-
| `R7/R8. success-metric` | §4 Goals & Success Criteria |
|
|
155
|
-
| `R6/R7. tech-constraints` / `tech-stack` | §10 Tech Stack & Constraints |
|
|
156
|
-
|
|
157
|
-
### UI Types (website/webapp/mobile) Additional Mapping
|
|
158
|
-
|
|
159
|
-
| Interview Item | Plan Section |
|
|
160
|
-
|----------------|--------------|
|
|
161
|
-
| `R5. brand-tone` + `O1. reference-sites` + `O2. color-direction` + `O3. typography-preference` + `O4. animation-level` | §7 Look & Feel |
|
|
162
|
-
| `R4. required-sections` (website) / `R4. core-features` (webapp) | §8 Layout/Section Structure |
|
|
163
|
-
| `O5. responsive-strategy` + `O6/O8. accessibility-level` | §9 Responsive Strategy |
|
|
164
|
-
|
|
165
|
-
### Common Post-Processing
|
|
166
|
-
|
|
167
|
-
- `interview.TBD[]` → §11 "Assumptions & Risks" or "Open Questions" at the end of the document
|
|
168
|
-
- `interview.discovered[]` → merged into relevant sections + "Discovered during interview" note
|
|
169
|
-
- All uncollected Optional items → recorded as defaults in §11 "Assumptions" (e.g., "Accessibility: WCAG AA assumed")
|
|
170
|
-
|
|
171
|
-
## Step 4: Conditionally Include UI Sections
|
|
172
|
-
|
|
173
|
-
```python
|
|
174
|
-
if interview.type in {"website", "webapp", "mobile"}:
|
|
175
|
-
include_sections = [1..12] # all sections
|
|
176
|
-
else: # api, library, feature-data
|
|
177
|
-
include_sections = [1..6, 10..12] # omit §7-9 (Look&Feel/Layout/Responsive)
|
|
178
|
-
# note in §5: "No UI — API/Library project"
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
## Step 5: Save Plan Document
|
|
182
|
-
|
|
183
|
-
**Output path**: `.claude/vibe/plans/{feature-name}.md`
|
|
184
|
-
|
|
185
|
-
**Frontmatter**:
|
|
186
|
-
|
|
187
|
-
```yaml
|
|
188
|
-
---
|
|
189
|
-
feature: {feature-name}
|
|
190
|
-
type: {website | webapp | mobile | api | library | feature}
|
|
191
|
-
status: draft
|
|
192
|
-
createdAt: {ISO-timestamp}
|
|
193
|
-
lastUpdated: {ISO-timestamp}
|
|
194
|
-
source: .claude/vibe/interviews/{feature-name}.md
|
|
195
|
-
downstream: [spec, figma] # or [spec] for non-UI
|
|
196
|
-
---
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
**Body**: Template structure + refined content.
|
|
200
|
-
|
|
201
|
-
**Quality criteria**:
|
|
202
|
-
- Each section takes 30 seconds or less to read
|
|
203
|
-
- Compressed to 3-7 bullets per section
|
|
204
|
-
- Minimize technical jargon (this is a human-readable vision document)
|
|
205
|
-
- Mark "TBD" in bold to make it clear that a follow-up decision is needed
|
|
206
|
-
|
|
207
|
-
## Step 6: Handoff Guidance
|
|
208
|
-
|
|
209
|
-
After saving the plan document, guide the user on next steps:
|
|
210
|
-
|
|
211
|
-
```
|
|
212
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
213
|
-
✅ Plan document complete!
|
|
214
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
215
|
-
|
|
216
|
-
📄 .claude/vibe/plans/{feature-name}.md
|
|
217
|
-
Sections: {N} written
|
|
218
|
-
TBD: {M} (to be decided later)
|
|
219
|
-
|
|
220
|
-
Type: {type}
|
|
221
|
-
|
|
222
|
-
Next steps:
|
|
223
|
-
|
|
224
|
-
[UI project: website/webapp/mobile]
|
|
225
|
-
1. /vibe.spec ".claude/vibe/plans/{feature-name}.md"
|
|
226
|
-
→ Write code spec → /vibe.run implementation
|
|
227
|
-
2. /vibe.figma
|
|
228
|
-
→ Figma design → FE UI code
|
|
229
|
-
3. Run in parallel (recommended)
|
|
230
|
-
→ Feature + Design → website prototype
|
|
231
|
-
|
|
232
|
-
[Non-UI: api/library]
|
|
233
|
-
1. /vibe.spec ".claude/vibe/plans/{feature-name}.md"
|
|
234
|
-
→ Code spec → /vibe.run implementation
|
|
235
|
-
|
|
236
|
-
Where would you like to start?
|
|
237
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
## Anti-Patterns
|
|
241
|
-
|
|
242
|
-
- Do not write in PTCF structure (that is /vibe.spec's responsibility)
|
|
243
|
-
- Do not use EARS format (WHEN/THEN)
|
|
244
|
-
- Do not include file lists, Phase splits, or Acceptance Criteria
|
|
245
|
-
- Do not over-specify the Tech Stack — high-level only
|
|
246
|
-
- Do not hide TBD items — they must be surfaced explicitly so they can be decided in the next step
|
|
247
|
-
- Do not run this skill without an interview (no raw information)
|
|
248
|
-
- Do not force-fill a Look&Feel section for non-UI projects
|
|
249
|
-
|
|
250
|
-
## Related
|
|
251
|
-
|
|
252
|
-
- **Prev**: `vibe-interview` — requirements collection (implicit chain-prev)
|
|
253
|
-
- **Next**: `/vibe.spec` (code spec), `/vibe.figma` (UI design)
|
|
254
|
-
- **Template**: `~/.claude/vibe/templates/plan-template.md`
|
|
1
|
+
---
|
|
2
|
+
name: vibe-plan
|
|
3
|
+
tier: core
|
|
4
|
+
description: "Refine a vibe-interview result into a human-readable markdown 기획서 (planning document). The plan is a vision document that downstream skills/commands use: /vibe.spec consumes it for code implementation, /vibe.figma uses it for UI storyboards. Must use this skill after vibe-interview completes, or when the user has raw interview notes and wants a structured plan document."
|
|
5
|
+
triggers: [기획서, 기획서 작성, plan document, 기획 정리, "interview 정리", refine plan]
|
|
6
|
+
priority: 90
|
|
7
|
+
chain-next: [vibe-spec, vibe-figma]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# vibe.plan — Interview → Plan Document Refinement
|
|
11
|
+
|
|
12
|
+
> **Principle**: Refine the raw Q&A from the interview into a **human-readable vision document**. AI execution structures like PTCF/EARS/Phase are the responsibility of `/vibe.spec`.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- `vibe-interview` has just completed and `.claude/vibe/interviews/{feature}.md` exists
|
|
17
|
+
- The user requests "write me a plan document" or "clean up the interview"
|
|
18
|
+
- Need to convert an external PRD/wireframe into the vibe plan document format
|
|
19
|
+
|
|
20
|
+
**Skip condition**:
|
|
21
|
+
- If this skill is called directly without an interview → chain to `vibe-interview` first (no chain-prev; inform the user)
|
|
22
|
+
|
|
23
|
+
## Core Flow
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
1. Read interview file
|
|
27
|
+
.claude/vibe/interviews/{feature}.md
|
|
28
|
+
↓
|
|
29
|
+
2. Load template
|
|
30
|
+
~/.claude/vibe/templates/plan-template.md
|
|
31
|
+
↓
|
|
32
|
+
3. Refine per section
|
|
33
|
+
- Required responses → body sections
|
|
34
|
+
- Optional responses → body + "Assumptions"
|
|
35
|
+
- TBD items → "Open Questions"
|
|
36
|
+
- Discovered → merged into relevant sections
|
|
37
|
+
↓
|
|
38
|
+
4. Conditionally include UI sections
|
|
39
|
+
type ∈ {website, webapp, mobile} → include Look&Feel / layout / responsive
|
|
40
|
+
type ∈ {api, library, feature-data} → omit
|
|
41
|
+
↓
|
|
42
|
+
5. Save plan document
|
|
43
|
+
.claude/vibe/plans/{feature}.md
|
|
44
|
+
↓
|
|
45
|
+
6. Handoff guidance
|
|
46
|
+
Next steps: /vibe.spec, /vibe.figma, parallel
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Step 1: Read Interview File
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
Read .claude/vibe/interviews/{feature-name}.md
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Extract `type`, `status`, `requiredCollected`, `optionalCollected`, etc. from the frontmatter.
|
|
56
|
+
|
|
57
|
+
**Validation**:
|
|
58
|
+
- If the file does not exist → guide the user to run `vibe-interview` first.
|
|
59
|
+
- `status: partial` + Required items incomplete → apply **AI-Driven Gap Filling**:
|
|
60
|
+
|
|
61
|
+
### AI-Driven Gap Filling
|
|
62
|
+
|
|
63
|
+
When the user stops the interview early, they are **delegating the rest to AI** — not refusing to answer. The plan phase must fill in the gaps autonomously.
|
|
64
|
+
|
|
65
|
+
**Process for missing Required items:**
|
|
66
|
+
|
|
67
|
+
1. **Analyze the project** — Read `package.json`, existing code, `CLAUDE.md`, `docs/` for context clues
|
|
68
|
+
2. **Research similar products** — Use the collected answers (purpose, target users) to infer reasonable defaults
|
|
69
|
+
3. **Fill with best-guess + rationale** — For each missing item, write the AI's best inference with a `[AI-inferred]` tag and a one-line rationale
|
|
70
|
+
|
|
71
|
+
**Example:**
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
### Success Metrics
|
|
75
|
+
[AI-inferred] Based on the project type (landing page for coffee brand):
|
|
76
|
+
- Conversion rate: visitor → purchase click-through > 3%
|
|
77
|
+
- Page load: FCP < 1.5s on mobile
|
|
78
|
+
- Bounce rate: < 50%
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
4. **Present filled plan for review** — Show the user which items were AI-filled:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
85
|
+
📄 Plan document generated
|
|
86
|
+
|
|
87
|
+
Collected from interview: {N} items
|
|
88
|
+
AI-inferred: {M} items (marked [AI-inferred])
|
|
89
|
+
|
|
90
|
+
Please review the [AI-inferred] sections.
|
|
91
|
+
Edit anything that doesn't match your intent.
|
|
92
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
5. **User can correct inline** — If the user says "change X to Y", update the plan and remove the `[AI-inferred]` tag from that item.
|
|
96
|
+
|
|
97
|
+
**Rules for AI inference:**
|
|
98
|
+
- Always choose the most common/safe default for the project type
|
|
99
|
+
- Never invent business requirements (e.g., pricing, brand name) — mark these as `[Needs user input]` instead
|
|
100
|
+
- Technical decisions (framework, DB, hosting) can be inferred from existing project setup
|
|
101
|
+
- UX decisions (color, tone, layout) can be inferred from reference sites or stated brand direction
|
|
102
|
+
- If fewer than 2 answers were collected (user barely started), ask 3 essential questions before proceeding: purpose, target users, and project type
|
|
103
|
+
|
|
104
|
+
### `.last-feature` Pointer Update
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
Write ".claude/vibe/.last-feature" ← feature-name (one line)
|
|
108
|
+
Run immediately after extracting the feature name from the interview file.
|
|
109
|
+
No-op if the value is already the same.
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Step 2: Load Template
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
Read ~/.claude/vibe/templates/plan-template.md
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The template has a 12-section structure:
|
|
119
|
+
|
|
120
|
+
| # | Section | All Types | UI Types Only |
|
|
121
|
+
|---|---------|-----------|---------------|
|
|
122
|
+
| 1 | Overview | ✅ | |
|
|
123
|
+
| 2 | Background (Why) | ✅ | |
|
|
124
|
+
| 3 | Target Users (Who) | ✅ | |
|
|
125
|
+
| 4 | Goals & Success Criteria | ✅ | |
|
|
126
|
+
| 5 | Core Features/Sections | ✅ | |
|
|
127
|
+
| 6 | Scope & Out-of-Scope | ✅ | |
|
|
128
|
+
| 7 | Look & Feel | | ✅ |
|
|
129
|
+
| 8 | Layout/Section Structure | | ✅ |
|
|
130
|
+
| 9 | Responsive Strategy | | ✅ |
|
|
131
|
+
| 10 | Tech Stack & Constraints | ✅ | |
|
|
132
|
+
| 11 | Assumptions & Risks | ✅ | |
|
|
133
|
+
| 12 | Next Steps (Handoff) | ✅ | |
|
|
134
|
+
|
|
135
|
+
### Template Fallback
|
|
136
|
+
|
|
137
|
+
If `~/.claude/vibe/templates/plan-template.md` is not found:
|
|
138
|
+
1. Check `{{VIBE_PATH}}/vibe/templates/plan-template.md` (package source)
|
|
139
|
+
2. If neither exists, use the built-in section list from this skill as the template structure
|
|
140
|
+
3. Never fail silently — always inform the user which template source was used
|
|
141
|
+
|
|
142
|
+
## Step 3: Per-Section Refinement Mapping
|
|
143
|
+
|
|
144
|
+
Interview items → plan document section mapping rules:
|
|
145
|
+
|
|
146
|
+
### Common Mapping
|
|
147
|
+
|
|
148
|
+
| Interview Item | Plan Section |
|
|
149
|
+
|----------------|--------------|
|
|
150
|
+
| `R1. purpose` | §2 Background (Why) |
|
|
151
|
+
| `R2. target-users` | §3 Target Users |
|
|
152
|
+
| `R3. core-message` / `R3. core-features` / `R3. core-endpoints` | §5 Core Features/Sections |
|
|
153
|
+
| `R4. required-sections` / `R4. data-model` / `R4. core-api` | §5 Core Features/Sections |
|
|
154
|
+
| `R7/R8. success-metric` | §4 Goals & Success Criteria |
|
|
155
|
+
| `R6/R7. tech-constraints` / `tech-stack` | §10 Tech Stack & Constraints |
|
|
156
|
+
|
|
157
|
+
### UI Types (website/webapp/mobile) Additional Mapping
|
|
158
|
+
|
|
159
|
+
| Interview Item | Plan Section |
|
|
160
|
+
|----------------|--------------|
|
|
161
|
+
| `R5. brand-tone` + `O1. reference-sites` + `O2. color-direction` + `O3. typography-preference` + `O4. animation-level` | §7 Look & Feel |
|
|
162
|
+
| `R4. required-sections` (website) / `R4. core-features` (webapp) | §8 Layout/Section Structure |
|
|
163
|
+
| `O5. responsive-strategy` + `O6/O8. accessibility-level` | §9 Responsive Strategy |
|
|
164
|
+
|
|
165
|
+
### Common Post-Processing
|
|
166
|
+
|
|
167
|
+
- `interview.TBD[]` → §11 "Assumptions & Risks" or "Open Questions" at the end of the document
|
|
168
|
+
- `interview.discovered[]` → merged into relevant sections + "Discovered during interview" note
|
|
169
|
+
- All uncollected Optional items → recorded as defaults in §11 "Assumptions" (e.g., "Accessibility: WCAG AA assumed")
|
|
170
|
+
|
|
171
|
+
## Step 4: Conditionally Include UI Sections
|
|
172
|
+
|
|
173
|
+
```python
|
|
174
|
+
if interview.type in {"website", "webapp", "mobile"}:
|
|
175
|
+
include_sections = [1..12] # all sections
|
|
176
|
+
else: # api, library, feature-data
|
|
177
|
+
include_sections = [1..6, 10..12] # omit §7-9 (Look&Feel/Layout/Responsive)
|
|
178
|
+
# note in §5: "No UI — API/Library project"
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Step 5: Save Plan Document
|
|
182
|
+
|
|
183
|
+
**Output path**: `.claude/vibe/plans/{feature-name}.md`
|
|
184
|
+
|
|
185
|
+
**Frontmatter**:
|
|
186
|
+
|
|
187
|
+
```yaml
|
|
188
|
+
---
|
|
189
|
+
feature: {feature-name}
|
|
190
|
+
type: {website | webapp | mobile | api | library | feature}
|
|
191
|
+
status: draft
|
|
192
|
+
createdAt: {ISO-timestamp}
|
|
193
|
+
lastUpdated: {ISO-timestamp}
|
|
194
|
+
source: .claude/vibe/interviews/{feature-name}.md
|
|
195
|
+
downstream: [spec, figma] # or [spec] for non-UI
|
|
196
|
+
---
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Body**: Template structure + refined content.
|
|
200
|
+
|
|
201
|
+
**Quality criteria**:
|
|
202
|
+
- Each section takes 30 seconds or less to read
|
|
203
|
+
- Compressed to 3-7 bullets per section
|
|
204
|
+
- Minimize technical jargon (this is a human-readable vision document)
|
|
205
|
+
- Mark "TBD" in bold to make it clear that a follow-up decision is needed
|
|
206
|
+
|
|
207
|
+
## Step 6: Handoff Guidance
|
|
208
|
+
|
|
209
|
+
After saving the plan document, guide the user on next steps:
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
213
|
+
✅ Plan document complete!
|
|
214
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
215
|
+
|
|
216
|
+
📄 .claude/vibe/plans/{feature-name}.md
|
|
217
|
+
Sections: {N} written
|
|
218
|
+
TBD: {M} (to be decided later)
|
|
219
|
+
|
|
220
|
+
Type: {type}
|
|
221
|
+
|
|
222
|
+
Next steps:
|
|
223
|
+
|
|
224
|
+
[UI project: website/webapp/mobile]
|
|
225
|
+
1. /vibe.spec ".claude/vibe/plans/{feature-name}.md"
|
|
226
|
+
→ Write code spec → /vibe.run implementation
|
|
227
|
+
2. /vibe.figma
|
|
228
|
+
→ Figma design → FE UI code
|
|
229
|
+
3. Run in parallel (recommended)
|
|
230
|
+
→ Feature + Design → website prototype
|
|
231
|
+
|
|
232
|
+
[Non-UI: api/library]
|
|
233
|
+
1. /vibe.spec ".claude/vibe/plans/{feature-name}.md"
|
|
234
|
+
→ Code spec → /vibe.run implementation
|
|
235
|
+
|
|
236
|
+
Where would you like to start?
|
|
237
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## Anti-Patterns
|
|
241
|
+
|
|
242
|
+
- Do not write in PTCF structure (that is /vibe.spec's responsibility)
|
|
243
|
+
- Do not use EARS format (WHEN/THEN)
|
|
244
|
+
- Do not include file lists, Phase splits, or Acceptance Criteria
|
|
245
|
+
- Do not over-specify the Tech Stack — high-level only
|
|
246
|
+
- Do not hide TBD items — they must be surfaced explicitly so they can be decided in the next step
|
|
247
|
+
- Do not run this skill without an interview (no raw information)
|
|
248
|
+
- Do not force-fill a Look&Feel section for non-UI projects
|
|
249
|
+
|
|
250
|
+
## Related
|
|
251
|
+
|
|
252
|
+
- **Prev**: `vibe-interview` — requirements collection (implicit chain-prev)
|
|
253
|
+
- **Next**: `/vibe.spec` (code spec), `/vibe.figma` (UI design)
|
|
254
|
+
- **Template**: `~/.claude/vibe/templates/plan-template.md`
|