@su-record/vibe 2.9.18 → 2.9.19
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/LICENSE +21 -21
- 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.docs.md +33 -33
- package/commands/vibe.event.md +163 -163
- package/commands/vibe.figma.md +584 -584
- package/commands/vibe.harness.md +177 -177
- package/commands/vibe.review.md +624 -624
- package/commands/vibe.run.md +1925 -1925
- package/commands/vibe.scaffold.md +195 -195
- package/commands/vibe.spec.md +565 -565
- package/commands/vibe.trace.md +276 -276
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +519 -519
- package/dist/cli/collaborator.js +52 -52
- 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.js +52 -52
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/remove.js +14 -14
- 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/detect.js +32 -32
- package/dist/cli/index.js +33 -33
- 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/setup/GlobalInstaller.d.ts.map +1 -1
- package/dist/cli/setup/GlobalInstaller.js +9 -0
- package/dist/cli/setup/GlobalInstaller.js.map +1 -1
- package/dist/cli/setup/Provisioner.js +42 -42
- 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/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/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.js +181 -181
- 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 +126 -126
- package/hooks/scripts/__tests__/keyword-detector.test.js +199 -199
- package/hooks/scripts/__tests__/pre-tool-guard.test.js +287 -287
- 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 +268 -268
- 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 +635 -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/llm-orchestrate.js +645 -645
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pr-test-gate.js +52 -52
- package/hooks/scripts/pre-tool-guard.js +213 -213
- package/hooks/scripts/prompt-dispatcher.js +190 -190
- package/hooks/scripts/sentinel-guard.js +130 -130
- package/hooks/scripts/session-start.js +177 -177
- package/hooks/scripts/skill-injector.js +83 -83
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +257 -243
- 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 +101 -101
- 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 +89 -89
- 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 +52 -52
- 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 +65 -65
- 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-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 +219 -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-spec/SKILL.md +1155 -1155
- package/skills/vibe-spec-review/SKILL.md +726 -726
- 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,358 +1,358 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: vibe-interview
|
|
3
|
-
tier: core
|
|
4
|
-
description: "Iteratively interview the user to gather ALL required and optional requirements for a new project or feature. Loops until the user explicitly stops. Uses type-specific domain checklists (website, webapp, mobile, api, library, feature) so nothing is missed. Must use this skill when the user says '만들자', '개발하자', '신규 기능', '무엇을 만들', 'let's build', 'new feature', or starts describing a product idea without a plan yet."
|
|
5
|
-
triggers: [만들자, 개발하자, 기획하자, 신규 기능, 새 프로젝트, "무엇을 만들", "무엇을 개발", 아이디어, 인터뷰, interview, requirements, "let's build", "new feature", "new project"]
|
|
6
|
-
priority: 95
|
|
7
|
-
chain-next: [vibe-plan]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# vibe.interview — Domain Requirements Interview
|
|
11
|
-
|
|
12
|
-
> **Principle**: Uncover all required and optional information in the requirements domain until the user says "stop". Do not wrap up with 10 shallow questions.
|
|
13
|
-
|
|
14
|
-
## When to Use
|
|
15
|
-
|
|
16
|
-
- The user is starting development of a new project or feature
|
|
17
|
-
- Going straight to `/vibe.spec` without a plan risks missing requirements
|
|
18
|
-
- Natural language triggers like "let's build", "let's develop", "new", "idea"
|
|
19
|
-
- `/vibe.spec` orchestrator calls this as Phase 1 (interview step)
|
|
20
|
-
|
|
21
|
-
**Skip when**:
|
|
22
|
-
- Small bug fix on an existing project
|
|
23
|
-
- `.claude/vibe/plans/{feature}.md` already exists (→ only update via `vibe-plan`)
|
|
24
|
-
|
|
25
|
-
## Core Loop
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
1. Detect project type (website|webapp|mobile|api|library|feature)
|
|
29
|
-
↓
|
|
30
|
-
2. Load type-specific checklist
|
|
31
|
-
checklists/{type}.md
|
|
32
|
-
Required items + Optional items
|
|
33
|
-
↓
|
|
34
|
-
3. ┌─── Interview loop ───┐
|
|
35
|
-
│ │
|
|
36
|
-
│ One question at a │
|
|
37
|
-
│ time │
|
|
38
|
-
│ ↓ │
|
|
39
|
-
│ User answer │
|
|
40
|
-
│ ↓ │
|
|
41
|
-
│ Update checklist │
|
|
42
|
-
│ ↓ │
|
|
43
|
-
│ New domain found → │
|
|
44
|
-
│ Expand checklist │
|
|
45
|
-
│ ↓ │
|
|
46
|
-
│ Show progress │
|
|
47
|
-
│ ↓ │
|
|
48
|
-
│ Stop detected? ─────┼─→ Exit
|
|
49
|
-
│ │ │
|
|
50
|
-
│ └──── loop ────┘
|
|
51
|
-
└──────────────────────┘
|
|
52
|
-
↓
|
|
53
|
-
4. Save collected results
|
|
54
|
-
.claude/vibe/interviews/{feature}.md
|
|
55
|
-
↓
|
|
56
|
-
5. chain-next: vibe-plan
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## Step 0: Git Branch (MANDATORY)
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
git branch --show-current
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
| Current | Action |
|
|
66
|
-
|---------|--------|
|
|
67
|
-
| `main`/`master` | `git checkout -b interview/{feature-name}` |
|
|
68
|
-
| `interview/*`, `feature/*` | Confirm with user |
|
|
69
|
-
| Other | Confirm with user |
|
|
70
|
-
|
|
71
|
-
**Naming**: lowercase + hyphens, prefix `interview/`
|
|
72
|
-
|
|
73
|
-
## Step 1: Detect Project Type
|
|
74
|
-
|
|
75
|
-
**First pass — keywords**:
|
|
76
|
-
|
|
77
|
-
| Keyword | Type | Checklist |
|
|
78
|
-
|---------|------|-----------|
|
|
79
|
-
| website, landing, portfolio, 랜딩, 웹사이트, 홍보, 프로모션 | `website` | `checklists/website.md` |
|
|
80
|
-
| webapp, dashboard, SaaS, 대시보드, 관리자, tool | `webapp` | `checklists/webapp.md` |
|
|
81
|
-
| mobile, iOS, Android, 앱, native, Flutter, React Native | `mobile` | `checklists/mobile.md` |
|
|
82
|
-
| api, backend, server, rest, graphql, 서버, 백엔드 | `api` | `checklists/api.md` |
|
|
83
|
-
| library, sdk, cli, package, npm, 라이브러리 | `library` | `checklists/library.md` |
|
|
84
|
-
| feature, 기능, 추가, refactor | `feature` | `checklists/feature.md` |
|
|
85
|
-
|
|
86
|
-
**If ambiguous, confirm with one question** (provide options):
|
|
87
|
-
|
|
88
|
-
```
|
|
89
|
-
What kind of project is this?
|
|
90
|
-
|
|
91
|
-
1. Website (landing / portfolio / promotion)
|
|
92
|
-
2. Web app (dashboard / SaaS / tool)
|
|
93
|
-
3. Mobile app
|
|
94
|
-
4. API / Backend
|
|
95
|
-
5. Library / SDK / CLI
|
|
96
|
-
6. A feature to add to an existing project
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Step 2: Load Checklist
|
|
100
|
-
|
|
101
|
-
Read the checklist file for the detected type:
|
|
102
|
-
|
|
103
|
-
```
|
|
104
|
-
Read skills/vibe-interview/checklists/{type}.md
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
The checklist is divided into a **Required** section and an **Optional** section. Each item has the following structure:
|
|
108
|
-
|
|
109
|
-
```markdown
|
|
110
|
-
- [ ] ID: question-id
|
|
111
|
-
question: The question to ask the user
|
|
112
|
-
type: required | optional
|
|
113
|
-
hint: Example answers or choices
|
|
114
|
-
follow-up: Sub-questions to drill into based on the answer
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
**Keep state in memory**:
|
|
118
|
-
|
|
119
|
-
```javascript
|
|
120
|
-
const state = {
|
|
121
|
-
type: 'website',
|
|
122
|
-
collected: {
|
|
123
|
-
'purpose': 'New product launch promotion',
|
|
124
|
-
'target-users': 'Home cafe enthusiasts',
|
|
125
|
-
// ...
|
|
126
|
-
},
|
|
127
|
-
pending: {
|
|
128
|
-
required: ['success-metric', 'launch-deadline', ...],
|
|
129
|
-
optional: ['analytics', 'cms', 'i18n', ...]
|
|
130
|
-
},
|
|
131
|
-
discovered: [], // Items newly discovered during conversation
|
|
132
|
-
stopped: false
|
|
133
|
-
};
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
## Step 3: Interview Loop
|
|
137
|
-
|
|
138
|
-
### 3.1 Question Rules
|
|
139
|
-
|
|
140
|
-
- **One question at a time**. No combined questions.
|
|
141
|
-
- **Multiple choice + free input** in parallel: "1. A 2. B 3. C or describe freely"
|
|
142
|
-
- **No fixed order**. Prioritize related pending items based on conversation flow.
|
|
143
|
-
- **Keep it short**. One line of context + one line of question.
|
|
144
|
-
|
|
145
|
-
### 3.2 Processing Answers
|
|
146
|
-
|
|
147
|
-
- Save answers to `collected`
|
|
148
|
-
- Extract additional information from answers (e.g., "I want dark mode" → auto-record `theme-preference=dark`)
|
|
149
|
-
- **Detect new domains**: If an answer mentions an area not in `pending` → add to `discovered` and generate questions
|
|
150
|
-
- e.g., "I need payments too" → expand checklist with `payment-provider`, `payment-methods`, `currency`, etc.
|
|
151
|
-
|
|
152
|
-
### 3.3 Show Progress (every 3–5 questions)
|
|
153
|
-
|
|
154
|
-
```
|
|
155
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
156
|
-
📊 Interview Progress
|
|
157
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
158
|
-
|
|
159
|
-
✅ Required: 5/8
|
|
160
|
-
⚪ Optional: 2/14
|
|
161
|
-
➕ Discovered: 3 new items
|
|
162
|
-
|
|
163
|
-
Next topic: {next-topic}
|
|
164
|
-
|
|
165
|
-
Just answer to continue.
|
|
166
|
-
Say "stop", "enough", or "done" at any time to finish.
|
|
167
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
### 3.4 Stop Detection (Stop Control)
|
|
171
|
-
|
|
172
|
-
**Explicit stop keywords** (if found in user's answer, set `stopped = true`):
|
|
173
|
-
|
|
174
|
-
```
|
|
175
|
-
그만, 멈춰, 충분해, 됐어, 이제 됐다,
|
|
176
|
-
stop, done, enough, that's it, finish, skip
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
**Implicit stop**:
|
|
180
|
-
- "I don't know" / "later" on the same topic 3 times in a row → automatically move to next topic
|
|
181
|
-
- Pressing only `Enter` on an Optional item → skip that item
|
|
182
|
-
|
|
183
|
-
**Warning when Required items are incomplete**:
|
|
184
|
-
|
|
185
|
-
```
|
|
186
|
-
⚠️ {N} required item(s) remaining: {list}
|
|
187
|
-
|
|
188
|
-
Do you still want to stop? (y/N)
|
|
189
|
-
Incomplete items will be marked as "TBD" in the plan.
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### 3.5 Phase Transitions
|
|
193
|
-
|
|
194
|
-
- **Required → Optional**: Automatically transition when all Required items are filled
|
|
195
|
-
```
|
|
196
|
-
✅ Required requirements collected!
|
|
197
|
-
|
|
198
|
-
Would you like to go through the optional items?
|
|
199
|
-
(SEO, analytics, i18n, accessibility, etc. — 1–2 questions each)
|
|
200
|
-
|
|
201
|
-
1. Yes, continue
|
|
202
|
-
2. Key items only (3–5 questions)
|
|
203
|
-
3. Stop
|
|
204
|
-
```
|
|
205
|
-
- **Optional → End**: All Optional items processed or user stopped
|
|
206
|
-
|
|
207
|
-
## Step 4: Save Collected Results
|
|
208
|
-
|
|
209
|
-
**Output file**: `.claude/vibe/interviews/{feature-name}.md`
|
|
210
|
-
|
|
211
|
-
**Structure**:
|
|
212
|
-
|
|
213
|
-
```markdown
|
|
214
|
-
---
|
|
215
|
-
feature: {feature-name}
|
|
216
|
-
type: website | webapp | mobile | api | library | feature
|
|
217
|
-
status: complete | partial
|
|
218
|
-
startedAt: {ISO-timestamp}
|
|
219
|
-
completedAt: {ISO-timestamp}
|
|
220
|
-
requiredCollected: 8/8
|
|
221
|
-
optionalCollected: 12/14
|
|
222
|
-
stoppedBy: user | auto
|
|
223
|
-
---
|
|
224
|
-
|
|
225
|
-
# Interview: {feature-name}
|
|
226
|
-
|
|
227
|
-
## Required Requirements
|
|
228
|
-
|
|
229
|
-
### purpose
|
|
230
|
-
**Q**: Why are you building this project?
|
|
231
|
-
**A**: A new product launch promotion site. Launching a home cafe coffee bean brand.
|
|
232
|
-
|
|
233
|
-
### target-users
|
|
234
|
-
**Q**: Who is the primary target audience?
|
|
235
|
-
**A**: Home cafe enthusiasts, people who buy coffee beans 2–3 times a month.
|
|
236
|
-
|
|
237
|
-
...
|
|
238
|
-
|
|
239
|
-
## Optional Requirements
|
|
240
|
-
|
|
241
|
-
### analytics
|
|
242
|
-
**Q**: Do you need analytics tool integration?
|
|
243
|
-
**A**: GA4 + Hotjar
|
|
244
|
-
|
|
245
|
-
...
|
|
246
|
-
|
|
247
|
-
## Discovered (found during conversation)
|
|
248
|
-
|
|
249
|
-
### payment-integration
|
|
250
|
-
**Context**: User mentioned "direct checkout from the buy button"
|
|
251
|
-
**Q**: What payment methods do you want to support?
|
|
252
|
-
**A**: Stripe, Kakao Pay
|
|
253
|
-
|
|
254
|
-
...
|
|
255
|
-
|
|
256
|
-
## TBD (not collected)
|
|
257
|
-
|
|
258
|
-
- [ ] `seo-strategy` — optional, skipped by user
|
|
259
|
-
- [ ] `maintenance-plan` — optional, skipped by user
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
### Update `.last-feature` pointer
|
|
263
|
-
|
|
264
|
-
```
|
|
265
|
-
Write ".claude/vibe/.last-feature" ← feature-name (single line)
|
|
266
|
-
|
|
267
|
-
Run immediately after saving the interview file in Step 4.
|
|
268
|
-
This pointer is used by /vibe.spec (no args) for Smart Resume.
|
|
269
|
-
No-op if the value is already the same.
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
## Step 5: Chain to vibe-plan
|
|
273
|
-
|
|
274
|
-
After the interview is complete, the `vibe-plan` skill is automatically activated to refine the results into a structured plan.
|
|
275
|
-
|
|
276
|
-
```
|
|
277
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
278
|
-
✅ Interview complete!
|
|
279
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
280
|
-
|
|
281
|
-
📄 .claude/vibe/interviews/{feature-name}.md
|
|
282
|
-
Required: 8/8
|
|
283
|
-
Optional: 12/14
|
|
284
|
-
Discovered: 3
|
|
285
|
-
|
|
286
|
-
→ vibe-plan skill is starting plan creation...
|
|
287
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
## Anti-Patterns
|
|
291
|
-
|
|
292
|
-
- Bundling multiple questions together at once
|
|
293
|
-
- Prompting the user to stop before Required items are complete
|
|
294
|
-
- Ignoring a user's answer and moving on to the next question
|
|
295
|
-
- Missing areas not in the checklist (use `discovered`)
|
|
296
|
-
- Writing the plan in PTCF/EARS/Phase structure here (that is refined by vibe-plan; the actual spec is written by /vibe.spec)
|
|
297
|
-
- Ending with 10 shallow questions (keep going until the user explicitly stops)
|
|
298
|
-
- Providing only multiple-choice options without allowing free input
|
|
299
|
-
|
|
300
|
-
## Example Session (abbreviated)
|
|
301
|
-
|
|
302
|
-
```
|
|
303
|
-
User: I want to make a parallax website
|
|
304
|
-
|
|
305
|
-
Claude: 🌿 Branch created: interview/parallax-website ✅
|
|
306
|
-
Type: website detected → loading checklists/website.md
|
|
307
|
-
|
|
308
|
-
Let me start with some background.
|
|
309
|
-
Why are you building this website?
|
|
310
|
-
(e.g., personal portfolio, product promotion, agency introduction, etc.)
|
|
311
|
-
|
|
312
|
-
User: New product launch promotion. Coffee bean brand.
|
|
313
|
-
|
|
314
|
-
Claude: Got it. Who is the primary target audience?
|
|
315
|
-
1. Coffee beginners
|
|
316
|
-
2. Home cafe enthusiasts
|
|
317
|
-
3. Cafe owners / baristas
|
|
318
|
-
Or describe freely
|
|
319
|
-
|
|
320
|
-
User: 2
|
|
321
|
-
|
|
322
|
-
Claude: What emotion or atmosphere should users feel first when they land on this site?
|
|
323
|
-
|
|
324
|
-
User: Premium. Cinematic.
|
|
325
|
-
|
|
326
|
-
Claude: Do you have any reference sites or images? (URL or "none")
|
|
327
|
-
|
|
328
|
-
User: Like the apple.com product page feel
|
|
329
|
-
|
|
330
|
-
[10–20 questions continue...]
|
|
331
|
-
|
|
332
|
-
Claude: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
333
|
-
📊 Interview Progress
|
|
334
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
335
|
-
✅ Required: 8/8 complete!
|
|
336
|
-
⚪ Optional: 4/14
|
|
337
|
-
|
|
338
|
-
Would you like to continue with optional items (SEO, analytics, i18n, etc.)?
|
|
339
|
-
1. Yes, all of them
|
|
340
|
-
2. Key items only (3–5)
|
|
341
|
-
3. Stop
|
|
342
|
-
|
|
343
|
-
User: 3
|
|
344
|
-
|
|
345
|
-
Claude: ⚠️ All required items complete. 10 optional items will be marked as TBD.
|
|
346
|
-
|
|
347
|
-
✅ Interview complete!
|
|
348
|
-
📄 .claude/vibe/interviews/parallax-website.md
|
|
349
|
-
|
|
350
|
-
→ vibe-plan skill is starting plan creation...
|
|
351
|
-
```
|
|
352
|
-
|
|
353
|
-
## Related
|
|
354
|
-
|
|
355
|
-
- **Next**: `vibe-plan` — refine interview results into a structured plan
|
|
356
|
-
- **After plan**: `vibe-spec` (skill) → generates SPEC → then `/vibe.run` (logic) + `/vibe.figma` (UI track) in parallel
|
|
357
|
-
- **Templates**: `~/.claude/vibe/templates/plan-template.md`
|
|
358
|
-
- **Checklists**: `skills/vibe-interview/checklists/{type}.md`
|
|
1
|
+
---
|
|
2
|
+
name: vibe-interview
|
|
3
|
+
tier: core
|
|
4
|
+
description: "Iteratively interview the user to gather ALL required and optional requirements for a new project or feature. Loops until the user explicitly stops. Uses type-specific domain checklists (website, webapp, mobile, api, library, feature) so nothing is missed. Must use this skill when the user says '만들자', '개발하자', '신규 기능', '무엇을 만들', 'let's build', 'new feature', or starts describing a product idea without a plan yet."
|
|
5
|
+
triggers: [만들자, 개발하자, 기획하자, 신규 기능, 새 프로젝트, "무엇을 만들", "무엇을 개발", 아이디어, 인터뷰, interview, requirements, "let's build", "new feature", "new project"]
|
|
6
|
+
priority: 95
|
|
7
|
+
chain-next: [vibe-plan]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# vibe.interview — Domain Requirements Interview
|
|
11
|
+
|
|
12
|
+
> **Principle**: Uncover all required and optional information in the requirements domain until the user says "stop". Do not wrap up with 10 shallow questions.
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- The user is starting development of a new project or feature
|
|
17
|
+
- Going straight to `/vibe.spec` without a plan risks missing requirements
|
|
18
|
+
- Natural language triggers like "let's build", "let's develop", "new", "idea"
|
|
19
|
+
- `/vibe.spec` orchestrator calls this as Phase 1 (interview step)
|
|
20
|
+
|
|
21
|
+
**Skip when**:
|
|
22
|
+
- Small bug fix on an existing project
|
|
23
|
+
- `.claude/vibe/plans/{feature}.md` already exists (→ only update via `vibe-plan`)
|
|
24
|
+
|
|
25
|
+
## Core Loop
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
1. Detect project type (website|webapp|mobile|api|library|feature)
|
|
29
|
+
↓
|
|
30
|
+
2. Load type-specific checklist
|
|
31
|
+
checklists/{type}.md
|
|
32
|
+
Required items + Optional items
|
|
33
|
+
↓
|
|
34
|
+
3. ┌─── Interview loop ───┐
|
|
35
|
+
│ │
|
|
36
|
+
│ One question at a │
|
|
37
|
+
│ time │
|
|
38
|
+
│ ↓ │
|
|
39
|
+
│ User answer │
|
|
40
|
+
│ ↓ │
|
|
41
|
+
│ Update checklist │
|
|
42
|
+
│ ↓ │
|
|
43
|
+
│ New domain found → │
|
|
44
|
+
│ Expand checklist │
|
|
45
|
+
│ ↓ │
|
|
46
|
+
│ Show progress │
|
|
47
|
+
│ ↓ │
|
|
48
|
+
│ Stop detected? ─────┼─→ Exit
|
|
49
|
+
│ │ │
|
|
50
|
+
│ └──── loop ────┘
|
|
51
|
+
└──────────────────────┘
|
|
52
|
+
↓
|
|
53
|
+
4. Save collected results
|
|
54
|
+
.claude/vibe/interviews/{feature}.md
|
|
55
|
+
↓
|
|
56
|
+
5. chain-next: vibe-plan
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Step 0: Git Branch (MANDATORY)
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
git branch --show-current
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
| Current | Action |
|
|
66
|
+
|---------|--------|
|
|
67
|
+
| `main`/`master` | `git checkout -b interview/{feature-name}` |
|
|
68
|
+
| `interview/*`, `feature/*` | Confirm with user |
|
|
69
|
+
| Other | Confirm with user |
|
|
70
|
+
|
|
71
|
+
**Naming**: lowercase + hyphens, prefix `interview/`
|
|
72
|
+
|
|
73
|
+
## Step 1: Detect Project Type
|
|
74
|
+
|
|
75
|
+
**First pass — keywords**:
|
|
76
|
+
|
|
77
|
+
| Keyword | Type | Checklist |
|
|
78
|
+
|---------|------|-----------|
|
|
79
|
+
| website, landing, portfolio, 랜딩, 웹사이트, 홍보, 프로모션 | `website` | `checklists/website.md` |
|
|
80
|
+
| webapp, dashboard, SaaS, 대시보드, 관리자, tool | `webapp` | `checklists/webapp.md` |
|
|
81
|
+
| mobile, iOS, Android, 앱, native, Flutter, React Native | `mobile` | `checklists/mobile.md` |
|
|
82
|
+
| api, backend, server, rest, graphql, 서버, 백엔드 | `api` | `checklists/api.md` |
|
|
83
|
+
| library, sdk, cli, package, npm, 라이브러리 | `library` | `checklists/library.md` |
|
|
84
|
+
| feature, 기능, 추가, refactor | `feature` | `checklists/feature.md` |
|
|
85
|
+
|
|
86
|
+
**If ambiguous, confirm with one question** (provide options):
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
What kind of project is this?
|
|
90
|
+
|
|
91
|
+
1. Website (landing / portfolio / promotion)
|
|
92
|
+
2. Web app (dashboard / SaaS / tool)
|
|
93
|
+
3. Mobile app
|
|
94
|
+
4. API / Backend
|
|
95
|
+
5. Library / SDK / CLI
|
|
96
|
+
6. A feature to add to an existing project
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Step 2: Load Checklist
|
|
100
|
+
|
|
101
|
+
Read the checklist file for the detected type:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
Read skills/vibe-interview/checklists/{type}.md
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
The checklist is divided into a **Required** section and an **Optional** section. Each item has the following structure:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
- [ ] ID: question-id
|
|
111
|
+
question: The question to ask the user
|
|
112
|
+
type: required | optional
|
|
113
|
+
hint: Example answers or choices
|
|
114
|
+
follow-up: Sub-questions to drill into based on the answer
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Keep state in memory**:
|
|
118
|
+
|
|
119
|
+
```javascript
|
|
120
|
+
const state = {
|
|
121
|
+
type: 'website',
|
|
122
|
+
collected: {
|
|
123
|
+
'purpose': 'New product launch promotion',
|
|
124
|
+
'target-users': 'Home cafe enthusiasts',
|
|
125
|
+
// ...
|
|
126
|
+
},
|
|
127
|
+
pending: {
|
|
128
|
+
required: ['success-metric', 'launch-deadline', ...],
|
|
129
|
+
optional: ['analytics', 'cms', 'i18n', ...]
|
|
130
|
+
},
|
|
131
|
+
discovered: [], // Items newly discovered during conversation
|
|
132
|
+
stopped: false
|
|
133
|
+
};
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Step 3: Interview Loop
|
|
137
|
+
|
|
138
|
+
### 3.1 Question Rules
|
|
139
|
+
|
|
140
|
+
- **One question at a time**. No combined questions.
|
|
141
|
+
- **Multiple choice + free input** in parallel: "1. A 2. B 3. C or describe freely"
|
|
142
|
+
- **No fixed order**. Prioritize related pending items based on conversation flow.
|
|
143
|
+
- **Keep it short**. One line of context + one line of question.
|
|
144
|
+
|
|
145
|
+
### 3.2 Processing Answers
|
|
146
|
+
|
|
147
|
+
- Save answers to `collected`
|
|
148
|
+
- Extract additional information from answers (e.g., "I want dark mode" → auto-record `theme-preference=dark`)
|
|
149
|
+
- **Detect new domains**: If an answer mentions an area not in `pending` → add to `discovered` and generate questions
|
|
150
|
+
- e.g., "I need payments too" → expand checklist with `payment-provider`, `payment-methods`, `currency`, etc.
|
|
151
|
+
|
|
152
|
+
### 3.3 Show Progress (every 3–5 questions)
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
156
|
+
📊 Interview Progress
|
|
157
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
158
|
+
|
|
159
|
+
✅ Required: 5/8
|
|
160
|
+
⚪ Optional: 2/14
|
|
161
|
+
➕ Discovered: 3 new items
|
|
162
|
+
|
|
163
|
+
Next topic: {next-topic}
|
|
164
|
+
|
|
165
|
+
Just answer to continue.
|
|
166
|
+
Say "stop", "enough", or "done" at any time to finish.
|
|
167
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 3.4 Stop Detection (Stop Control)
|
|
171
|
+
|
|
172
|
+
**Explicit stop keywords** (if found in user's answer, set `stopped = true`):
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
그만, 멈춰, 충분해, 됐어, 이제 됐다,
|
|
176
|
+
stop, done, enough, that's it, finish, skip
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**Implicit stop**:
|
|
180
|
+
- "I don't know" / "later" on the same topic 3 times in a row → automatically move to next topic
|
|
181
|
+
- Pressing only `Enter` on an Optional item → skip that item
|
|
182
|
+
|
|
183
|
+
**Warning when Required items are incomplete**:
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
⚠️ {N} required item(s) remaining: {list}
|
|
187
|
+
|
|
188
|
+
Do you still want to stop? (y/N)
|
|
189
|
+
Incomplete items will be marked as "TBD" in the plan.
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### 3.5 Phase Transitions
|
|
193
|
+
|
|
194
|
+
- **Required → Optional**: Automatically transition when all Required items are filled
|
|
195
|
+
```
|
|
196
|
+
✅ Required requirements collected!
|
|
197
|
+
|
|
198
|
+
Would you like to go through the optional items?
|
|
199
|
+
(SEO, analytics, i18n, accessibility, etc. — 1–2 questions each)
|
|
200
|
+
|
|
201
|
+
1. Yes, continue
|
|
202
|
+
2. Key items only (3–5 questions)
|
|
203
|
+
3. Stop
|
|
204
|
+
```
|
|
205
|
+
- **Optional → End**: All Optional items processed or user stopped
|
|
206
|
+
|
|
207
|
+
## Step 4: Save Collected Results
|
|
208
|
+
|
|
209
|
+
**Output file**: `.claude/vibe/interviews/{feature-name}.md`
|
|
210
|
+
|
|
211
|
+
**Structure**:
|
|
212
|
+
|
|
213
|
+
```markdown
|
|
214
|
+
---
|
|
215
|
+
feature: {feature-name}
|
|
216
|
+
type: website | webapp | mobile | api | library | feature
|
|
217
|
+
status: complete | partial
|
|
218
|
+
startedAt: {ISO-timestamp}
|
|
219
|
+
completedAt: {ISO-timestamp}
|
|
220
|
+
requiredCollected: 8/8
|
|
221
|
+
optionalCollected: 12/14
|
|
222
|
+
stoppedBy: user | auto
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
# Interview: {feature-name}
|
|
226
|
+
|
|
227
|
+
## Required Requirements
|
|
228
|
+
|
|
229
|
+
### purpose
|
|
230
|
+
**Q**: Why are you building this project?
|
|
231
|
+
**A**: A new product launch promotion site. Launching a home cafe coffee bean brand.
|
|
232
|
+
|
|
233
|
+
### target-users
|
|
234
|
+
**Q**: Who is the primary target audience?
|
|
235
|
+
**A**: Home cafe enthusiasts, people who buy coffee beans 2–3 times a month.
|
|
236
|
+
|
|
237
|
+
...
|
|
238
|
+
|
|
239
|
+
## Optional Requirements
|
|
240
|
+
|
|
241
|
+
### analytics
|
|
242
|
+
**Q**: Do you need analytics tool integration?
|
|
243
|
+
**A**: GA4 + Hotjar
|
|
244
|
+
|
|
245
|
+
...
|
|
246
|
+
|
|
247
|
+
## Discovered (found during conversation)
|
|
248
|
+
|
|
249
|
+
### payment-integration
|
|
250
|
+
**Context**: User mentioned "direct checkout from the buy button"
|
|
251
|
+
**Q**: What payment methods do you want to support?
|
|
252
|
+
**A**: Stripe, Kakao Pay
|
|
253
|
+
|
|
254
|
+
...
|
|
255
|
+
|
|
256
|
+
## TBD (not collected)
|
|
257
|
+
|
|
258
|
+
- [ ] `seo-strategy` — optional, skipped by user
|
|
259
|
+
- [ ] `maintenance-plan` — optional, skipped by user
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Update `.last-feature` pointer
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
Write ".claude/vibe/.last-feature" ← feature-name (single line)
|
|
266
|
+
|
|
267
|
+
Run immediately after saving the interview file in Step 4.
|
|
268
|
+
This pointer is used by /vibe.spec (no args) for Smart Resume.
|
|
269
|
+
No-op if the value is already the same.
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
## Step 5: Chain to vibe-plan
|
|
273
|
+
|
|
274
|
+
After the interview is complete, the `vibe-plan` skill is automatically activated to refine the results into a structured plan.
|
|
275
|
+
|
|
276
|
+
```
|
|
277
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
278
|
+
✅ Interview complete!
|
|
279
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
280
|
+
|
|
281
|
+
📄 .claude/vibe/interviews/{feature-name}.md
|
|
282
|
+
Required: 8/8
|
|
283
|
+
Optional: 12/14
|
|
284
|
+
Discovered: 3
|
|
285
|
+
|
|
286
|
+
→ vibe-plan skill is starting plan creation...
|
|
287
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
## Anti-Patterns
|
|
291
|
+
|
|
292
|
+
- Bundling multiple questions together at once
|
|
293
|
+
- Prompting the user to stop before Required items are complete
|
|
294
|
+
- Ignoring a user's answer and moving on to the next question
|
|
295
|
+
- Missing areas not in the checklist (use `discovered`)
|
|
296
|
+
- Writing the plan in PTCF/EARS/Phase structure here (that is refined by vibe-plan; the actual spec is written by /vibe.spec)
|
|
297
|
+
- Ending with 10 shallow questions (keep going until the user explicitly stops)
|
|
298
|
+
- Providing only multiple-choice options without allowing free input
|
|
299
|
+
|
|
300
|
+
## Example Session (abbreviated)
|
|
301
|
+
|
|
302
|
+
```
|
|
303
|
+
User: I want to make a parallax website
|
|
304
|
+
|
|
305
|
+
Claude: 🌿 Branch created: interview/parallax-website ✅
|
|
306
|
+
Type: website detected → loading checklists/website.md
|
|
307
|
+
|
|
308
|
+
Let me start with some background.
|
|
309
|
+
Why are you building this website?
|
|
310
|
+
(e.g., personal portfolio, product promotion, agency introduction, etc.)
|
|
311
|
+
|
|
312
|
+
User: New product launch promotion. Coffee bean brand.
|
|
313
|
+
|
|
314
|
+
Claude: Got it. Who is the primary target audience?
|
|
315
|
+
1. Coffee beginners
|
|
316
|
+
2. Home cafe enthusiasts
|
|
317
|
+
3. Cafe owners / baristas
|
|
318
|
+
Or describe freely
|
|
319
|
+
|
|
320
|
+
User: 2
|
|
321
|
+
|
|
322
|
+
Claude: What emotion or atmosphere should users feel first when they land on this site?
|
|
323
|
+
|
|
324
|
+
User: Premium. Cinematic.
|
|
325
|
+
|
|
326
|
+
Claude: Do you have any reference sites or images? (URL or "none")
|
|
327
|
+
|
|
328
|
+
User: Like the apple.com product page feel
|
|
329
|
+
|
|
330
|
+
[10–20 questions continue...]
|
|
331
|
+
|
|
332
|
+
Claude: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
333
|
+
📊 Interview Progress
|
|
334
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
335
|
+
✅ Required: 8/8 complete!
|
|
336
|
+
⚪ Optional: 4/14
|
|
337
|
+
|
|
338
|
+
Would you like to continue with optional items (SEO, analytics, i18n, etc.)?
|
|
339
|
+
1. Yes, all of them
|
|
340
|
+
2. Key items only (3–5)
|
|
341
|
+
3. Stop
|
|
342
|
+
|
|
343
|
+
User: 3
|
|
344
|
+
|
|
345
|
+
Claude: ⚠️ All required items complete. 10 optional items will be marked as TBD.
|
|
346
|
+
|
|
347
|
+
✅ Interview complete!
|
|
348
|
+
📄 .claude/vibe/interviews/parallax-website.md
|
|
349
|
+
|
|
350
|
+
→ vibe-plan skill is starting plan creation...
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
## Related
|
|
354
|
+
|
|
355
|
+
- **Next**: `vibe-plan` — refine interview results into a structured plan
|
|
356
|
+
- **After plan**: `vibe-spec` (skill) → generates SPEC → then `/vibe.run` (logic) + `/vibe.figma` (UI track) in parallel
|
|
357
|
+
- **Templates**: `~/.claude/vibe/templates/plan-template.md`
|
|
358
|
+
- **Checklists**: `skills/vibe-interview/checklists/{type}.md`
|