@su-record/vibe 2.8.52 → 2.8.53
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 +169 -169
- 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/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 +379 -379
- package/commands/vibe.docs.md +32 -32
- package/commands/vibe.event.md +163 -163
- package/commands/vibe.figma.md +69 -69
- package/commands/vibe.review.md +686 -686
- package/commands/vibe.run.md +2276 -2276
- package/commands/vibe.spec.md +1195 -1195
- package/commands/vibe.spec.review.md +609 -609
- package/commands/vibe.trace.md +259 -259
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +510 -510
- package/dist/cli/collaborator.js +52 -52
- 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 +53 -53
- 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 +51 -51
- 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/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/TokenBudgetTracker.d.ts +13 -0
- package/dist/infra/lib/TokenBudgetTracker.d.ts.map +1 -1
- package/dist/infra/lib/TokenBudgetTracker.js +44 -3
- package/dist/infra/lib/TokenBudgetTracker.js.map +1 -1
- 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 +174 -174
- package/hooks/scripts/__tests__/keyword-detector.test.js +199 -199
- package/hooks/scripts/__tests__/pre-tool-guard.test.js +286 -286
- package/hooks/scripts/__tests__/sentinel-guard.test.js +210 -210
- 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 -477
- package/hooks/scripts/hud-status.js +321 -321
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +572 -572
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pr-test-gate.js +52 -52
- package/hooks/scripts/pre-tool-guard.js +214 -159
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +131 -131
- 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 +243 -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 +168 -168
- 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/e2e-commerce/SKILL.md +62 -62
- package/skills/e2e-commerce/templates/test-scenarios.md +170 -170
- package/skills/event-comms/SKILL.md +162 -162
- 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 +198 -198
- 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 +132 -132
- 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/SKILL.md +171 -171
- 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 +215 -982
- 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/figma-handoff.md +100 -100
- package/skills/vibe.figma/templates/remapped-tree.md +277 -277
- package/skills/vibe.figma.convert/SKILL.md +188 -511
- package/skills/vibe.figma.convert/rubrics/conversion-rules.md +129 -113
- package/skills/vibe.figma.convert/templates/component.md +140 -140
- package/skills/vibe.figma.extract/SKILL.md +179 -300
- package/skills/vibe.figma.extract/rubrics/image-rules.md +145 -137
- 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/constitution-template.md +252 -252
- 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/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,83 +1,83 @@
|
|
|
1
|
-
# Required Interaction States Checklist
|
|
2
|
-
|
|
3
|
-
Every interactive element must implement all applicable states. Missing states are P1–P2 findings.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## State Definitions
|
|
8
|
-
|
|
9
|
-
| State | Trigger | Visual Requirement | ARIA Requirement |
|
|
10
|
-
|-------|---------|-------------------|-----------------|
|
|
11
|
-
| **Default** | No user interaction | Base appearance defined with sufficient contrast | — |
|
|
12
|
-
| **Hover** | Mouse enters element | Visible color, shadow, or opacity change | — |
|
|
13
|
-
| **Focus** | Keyboard navigation / tab | Clearly visible focus ring (≥ 2px, non-color-only) | — |
|
|
14
|
-
| **Active / Pressed** | Mouse down or tap | Distinct from hover (darker, scale-down, or depressed look) | `aria-pressed` on toggles |
|
|
15
|
-
| **Disabled** | Element not actionable | Reduced opacity (≤ 50%) + `cursor: not-allowed` | `disabled` attr or `aria-disabled="true"` |
|
|
16
|
-
| **Loading** | Async operation in progress | Spinner, skeleton, or progress bar replaces or overlays content | `aria-busy="true"` |
|
|
17
|
-
| **Error** | Validation fails or operation fails | Error color on border/background + error message visible | `aria-invalid="true"` + `aria-describedby` pointing to error |
|
|
18
|
-
| **Success** | Operation completes | Confirmation feedback (color change, checkmark, toast) | `aria-live` announcement |
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Element-State Matrix
|
|
23
|
-
|
|
24
|
-
Use this matrix to verify each element type has all required states implemented.
|
|
25
|
-
|
|
26
|
-
| Element | Default | Hover | Focus | Active | Disabled | Loading | Error | Success |
|
|
27
|
-
|---------|---------|-------|-------|--------|----------|---------|-------|---------|
|
|
28
|
-
| Button (primary) | Required | Required | Required | Required | Required | Required | — | — |
|
|
29
|
-
| Button (destructive) | Required | Required | Required | Required | Required | Required | — | — |
|
|
30
|
-
| Link | Required | Required | Required | Required | — | — | — | — |
|
|
31
|
-
| Text input | Required | Optional | Required | — | Required | — | Required | Optional |
|
|
32
|
-
| Select / dropdown | Required | Required | Required | — | Required | — | Required | — |
|
|
33
|
-
| Checkbox | Required | Required | Required | Required | Required | — | — | — |
|
|
34
|
-
| Radio button | Required | Required | Required | Required | Required | — | — | — |
|
|
35
|
-
| Toggle / switch | Required | Required | Required | Required | Required | — | — | — |
|
|
36
|
-
| Form submit button | Required | Required | Required | Required | Required | Required | — | Required |
|
|
37
|
-
| Card (interactive) | Required | Required | Required | — | — | Required | — | — |
|
|
38
|
-
| Tab | Required | Required | Required | Required | Required | — | — | — |
|
|
39
|
-
| Menu item | Required | Required | Required | Required | Required | — | — | — |
|
|
40
|
-
| Icon button | Required | Required | Required | Required | Required | Required | — | — |
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Implementation Checklist
|
|
45
|
-
|
|
46
|
-
### Hover
|
|
47
|
-
- [ ] Color change uses a dedicated hover token (not inline opacity hack)
|
|
48
|
-
- [ ] Transition applied (`transition-colors duration-150` or equivalent)
|
|
49
|
-
- [ ] Layout does not shift on hover (no margin/padding changes)
|
|
50
|
-
|
|
51
|
-
### Focus
|
|
52
|
-
- [ ] Focus ring visible at 2:1 contrast against adjacent color
|
|
53
|
-
- [ ] `outline: none` never used without a custom focus-visible replacement
|
|
54
|
-
- [ ] `:focus-visible` used instead of `:focus` to avoid visible ring on mouse click
|
|
55
|
-
|
|
56
|
-
### Active / Pressed
|
|
57
|
-
- [ ] Distinct visual from hover state
|
|
58
|
-
- [ ] `scale(0.97–0.98)` or darker color on press — not just removing hover
|
|
59
|
-
- [ ] Touch devices: active state triggers on `touchstart`
|
|
60
|
-
|
|
61
|
-
### Disabled
|
|
62
|
-
- [ ] `opacity: 0.4–0.5` on disabled elements
|
|
63
|
-
- [ ] `pointer-events: none` prevents interaction
|
|
64
|
-
- [ ] `cursor: not-allowed` set
|
|
65
|
-
- [ ] `disabled` attribute or `aria-disabled="true"` set on element
|
|
66
|
-
- [ ] Disabled state does not rely on color alone
|
|
67
|
-
|
|
68
|
-
### Loading
|
|
69
|
-
- [ ] Original button/element width preserved during loading (no layout jump)
|
|
70
|
-
- [ ] Spinner or skeleton shown within 100ms of action trigger
|
|
71
|
-
- [ ] Interaction re-enabled after completion or error
|
|
72
|
-
- [ ] `aria-busy="true"` set on loading container
|
|
73
|
-
|
|
74
|
-
### Error
|
|
75
|
-
- [ ] Error message visible near the element (not just a global toast)
|
|
76
|
-
- [ ] Error styling uses `--color-error` token
|
|
77
|
-
- [ ] `aria-invalid="true"` set on invalid input
|
|
78
|
-
- [ ] Error message linked via `aria-describedby`
|
|
79
|
-
|
|
80
|
-
### Success
|
|
81
|
-
- [ ] Confirmation feedback shown within 300ms of completion
|
|
82
|
-
- [ ] Success message auto-dismisses or provides clear dismiss action
|
|
83
|
-
- [ ] `aria-live="polite"` region announces success to screen readers
|
|
1
|
+
# Required Interaction States Checklist
|
|
2
|
+
|
|
3
|
+
Every interactive element must implement all applicable states. Missing states are P1–P2 findings.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## State Definitions
|
|
8
|
+
|
|
9
|
+
| State | Trigger | Visual Requirement | ARIA Requirement |
|
|
10
|
+
|-------|---------|-------------------|-----------------|
|
|
11
|
+
| **Default** | No user interaction | Base appearance defined with sufficient contrast | — |
|
|
12
|
+
| **Hover** | Mouse enters element | Visible color, shadow, or opacity change | — |
|
|
13
|
+
| **Focus** | Keyboard navigation / tab | Clearly visible focus ring (≥ 2px, non-color-only) | — |
|
|
14
|
+
| **Active / Pressed** | Mouse down or tap | Distinct from hover (darker, scale-down, or depressed look) | `aria-pressed` on toggles |
|
|
15
|
+
| **Disabled** | Element not actionable | Reduced opacity (≤ 50%) + `cursor: not-allowed` | `disabled` attr or `aria-disabled="true"` |
|
|
16
|
+
| **Loading** | Async operation in progress | Spinner, skeleton, or progress bar replaces or overlays content | `aria-busy="true"` |
|
|
17
|
+
| **Error** | Validation fails or operation fails | Error color on border/background + error message visible | `aria-invalid="true"` + `aria-describedby` pointing to error |
|
|
18
|
+
| **Success** | Operation completes | Confirmation feedback (color change, checkmark, toast) | `aria-live` announcement |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Element-State Matrix
|
|
23
|
+
|
|
24
|
+
Use this matrix to verify each element type has all required states implemented.
|
|
25
|
+
|
|
26
|
+
| Element | Default | Hover | Focus | Active | Disabled | Loading | Error | Success |
|
|
27
|
+
|---------|---------|-------|-------|--------|----------|---------|-------|---------|
|
|
28
|
+
| Button (primary) | Required | Required | Required | Required | Required | Required | — | — |
|
|
29
|
+
| Button (destructive) | Required | Required | Required | Required | Required | Required | — | — |
|
|
30
|
+
| Link | Required | Required | Required | Required | — | — | — | — |
|
|
31
|
+
| Text input | Required | Optional | Required | — | Required | — | Required | Optional |
|
|
32
|
+
| Select / dropdown | Required | Required | Required | — | Required | — | Required | — |
|
|
33
|
+
| Checkbox | Required | Required | Required | Required | Required | — | — | — |
|
|
34
|
+
| Radio button | Required | Required | Required | Required | Required | — | — | — |
|
|
35
|
+
| Toggle / switch | Required | Required | Required | Required | Required | — | — | — |
|
|
36
|
+
| Form submit button | Required | Required | Required | Required | Required | Required | — | Required |
|
|
37
|
+
| Card (interactive) | Required | Required | Required | — | — | Required | — | — |
|
|
38
|
+
| Tab | Required | Required | Required | Required | Required | — | — | — |
|
|
39
|
+
| Menu item | Required | Required | Required | Required | Required | — | — | — |
|
|
40
|
+
| Icon button | Required | Required | Required | Required | Required | Required | — | — |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Implementation Checklist
|
|
45
|
+
|
|
46
|
+
### Hover
|
|
47
|
+
- [ ] Color change uses a dedicated hover token (not inline opacity hack)
|
|
48
|
+
- [ ] Transition applied (`transition-colors duration-150` or equivalent)
|
|
49
|
+
- [ ] Layout does not shift on hover (no margin/padding changes)
|
|
50
|
+
|
|
51
|
+
### Focus
|
|
52
|
+
- [ ] Focus ring visible at 2:1 contrast against adjacent color
|
|
53
|
+
- [ ] `outline: none` never used without a custom focus-visible replacement
|
|
54
|
+
- [ ] `:focus-visible` used instead of `:focus` to avoid visible ring on mouse click
|
|
55
|
+
|
|
56
|
+
### Active / Pressed
|
|
57
|
+
- [ ] Distinct visual from hover state
|
|
58
|
+
- [ ] `scale(0.97–0.98)` or darker color on press — not just removing hover
|
|
59
|
+
- [ ] Touch devices: active state triggers on `touchstart`
|
|
60
|
+
|
|
61
|
+
### Disabled
|
|
62
|
+
- [ ] `opacity: 0.4–0.5` on disabled elements
|
|
63
|
+
- [ ] `pointer-events: none` prevents interaction
|
|
64
|
+
- [ ] `cursor: not-allowed` set
|
|
65
|
+
- [ ] `disabled` attribute or `aria-disabled="true"` set on element
|
|
66
|
+
- [ ] Disabled state does not rely on color alone
|
|
67
|
+
|
|
68
|
+
### Loading
|
|
69
|
+
- [ ] Original button/element width preserved during loading (no layout jump)
|
|
70
|
+
- [ ] Spinner or skeleton shown within 100ms of action trigger
|
|
71
|
+
- [ ] Interaction re-enabled after completion or error
|
|
72
|
+
- [ ] `aria-busy="true"` set on loading container
|
|
73
|
+
|
|
74
|
+
### Error
|
|
75
|
+
- [ ] Error message visible near the element (not just a global toast)
|
|
76
|
+
- [ ] Error styling uses `--color-error` token
|
|
77
|
+
- [ ] `aria-invalid="true"` set on invalid input
|
|
78
|
+
- [ ] Error message linked via `aria-describedby`
|
|
79
|
+
|
|
80
|
+
### Success
|
|
81
|
+
- [ ] Confirmation feedback shown within 300ms of completion
|
|
82
|
+
- [ ] Success message auto-dismisses or provides clear dismiss action
|
|
83
|
+
- [ ] `aria-live="polite"` region announces success to screen readers
|
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
# Standard Breakpoint Definitions
|
|
2
|
-
|
|
3
|
-
Reference for responsive design implementation across all stacks.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Core Breakpoints
|
|
8
|
-
|
|
9
|
-
| Name | Min Width | Target Devices | Priority |
|
|
10
|
-
|------|-----------|---------------|----------|
|
|
11
|
-
| `xs` | 375px | Small phones (iPhone SE, Galaxy A) | Test target |
|
|
12
|
-
| `sm` | 640px | Large phones (landscape), small tablets | Layout change |
|
|
13
|
-
| `md` | 768px | Tablets (portrait), large phones | Major breakpoint |
|
|
14
|
-
| `lg` | 1024px | Tablets (landscape), small laptops | Major breakpoint |
|
|
15
|
-
| `xl` | 1280px | Standard desktop | Primary design target |
|
|
16
|
-
| `2xl` | 1536px | Large monitors | Wide-layout target |
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Framework Mappings
|
|
21
|
-
|
|
22
|
-
| Breakpoint | Tailwind class | CSS media query | Common use |
|
|
23
|
-
|------------|---------------|-----------------|------------|
|
|
24
|
-
| Mobile default | (no prefix) | base styles | Mobile-first base |
|
|
25
|
-
| sm | `sm:` | `@media (min-width: 640px)` | Large phone adjustments |
|
|
26
|
-
| md | `md:` | `@media (min-width: 768px)` | Tablet layout |
|
|
27
|
-
| lg | `lg:` | `@media (min-width: 1024px)` | Desktop layout |
|
|
28
|
-
| xl | `xl:` | `@media (min-width: 1280px)` | Wide desktop |
|
|
29
|
-
| 2xl | `2xl:` | `@media (min-width: 1536px)` | Ultra-wide |
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Layout Behavior by Breakpoint
|
|
34
|
-
|
|
35
|
-
### Navigation
|
|
36
|
-
| Breakpoint | Pattern |
|
|
37
|
-
|------------|---------|
|
|
38
|
-
| < md | Hamburger menu / bottom tab bar |
|
|
39
|
-
| md–lg | Collapsed sidebar or top nav with fewer items |
|
|
40
|
-
| ≥ lg | Full sidebar or top nav with all items visible |
|
|
41
|
-
|
|
42
|
-
### Content Grid
|
|
43
|
-
| Breakpoint | Columns |
|
|
44
|
-
|------------|---------|
|
|
45
|
-
| xs–sm | 1 column |
|
|
46
|
-
| md | 2 columns |
|
|
47
|
-
| lg | 3 columns |
|
|
48
|
-
| xl+ | 4 columns (data-heavy) or 3 columns (content) |
|
|
49
|
-
|
|
50
|
-
### Typography Scale Adjustments
|
|
51
|
-
| Element | Mobile | Desktop |
|
|
52
|
-
|---------|--------|---------|
|
|
53
|
-
| Hero heading | `text-3xl` (30px) | `text-5xl` (48px) |
|
|
54
|
-
| Section heading | `text-xl` (20px) | `text-3xl` (30px) |
|
|
55
|
-
| Body | `text-base` (16px) | `text-base` (16px) — never reduce below 16px |
|
|
56
|
-
| Caption | `text-sm` (14px) | `text-sm` (14px) |
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Touch Target Rules
|
|
61
|
-
|
|
62
|
-
| Device | Minimum touch target | Recommended |
|
|
63
|
-
|--------|---------------------|-------------|
|
|
64
|
-
| Mobile (< md) | 44×44px | 48×48px |
|
|
65
|
-
| Tablet (md–lg) | 44×44px | 44×44px |
|
|
66
|
-
| Desktop (≥ lg) | 32×32px (mouse) | 36×36px |
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Testing Checklist
|
|
71
|
-
|
|
72
|
-
| Breakpoint | Must Verify |
|
|
73
|
-
|------------|-------------|
|
|
74
|
-
| 375px | No horizontal scroll; text readable; nav accessible; forms usable |
|
|
75
|
-
| 768px | Layout transitions correctly; no content overlap |
|
|
76
|
-
| 1024px | Desktop features visible; sidebar or nav fully expanded |
|
|
77
|
-
| 1440px | Max-width container centered; content not stretched too wide |
|
|
78
|
-
|
|
79
|
-
### Max-width containers
|
|
80
|
-
|
|
81
|
-
| Use case | Recommended max-width |
|
|
82
|
-
|----------|-----------------------|
|
|
83
|
-
| Marketing / landing pages | `max-w-5xl` (1024px) or `max-w-6xl` (1152px) |
|
|
84
|
-
| Application layouts | `max-w-7xl` (1280px) |
|
|
85
|
-
| Reading / article content | `max-w-2xl` (672px) or `max-w-3xl` (768px) |
|
|
86
|
-
| Full-bleed dashboards | None (use grid with sidebars) |
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## Container Query Usage
|
|
91
|
-
|
|
92
|
-
Use `@container` when a component's layout depends on its parent width, not the viewport.
|
|
93
|
-
|
|
94
|
-
| Scenario | Use viewport breakpoint | Use container query |
|
|
95
|
-
|----------|------------------------|---------------------|
|
|
96
|
-
| Page-level layout | Yes | No |
|
|
97
|
-
| Component in sidebar vs main | No | Yes |
|
|
98
|
-
| Card grid columns | No | Yes |
|
|
99
|
-
| Navbar collapsing | Yes | No |
|
|
1
|
+
# Standard Breakpoint Definitions
|
|
2
|
+
|
|
3
|
+
Reference for responsive design implementation across all stacks.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Core Breakpoints
|
|
8
|
+
|
|
9
|
+
| Name | Min Width | Target Devices | Priority |
|
|
10
|
+
|------|-----------|---------------|----------|
|
|
11
|
+
| `xs` | 375px | Small phones (iPhone SE, Galaxy A) | Test target |
|
|
12
|
+
| `sm` | 640px | Large phones (landscape), small tablets | Layout change |
|
|
13
|
+
| `md` | 768px | Tablets (portrait), large phones | Major breakpoint |
|
|
14
|
+
| `lg` | 1024px | Tablets (landscape), small laptops | Major breakpoint |
|
|
15
|
+
| `xl` | 1280px | Standard desktop | Primary design target |
|
|
16
|
+
| `2xl` | 1536px | Large monitors | Wide-layout target |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Framework Mappings
|
|
21
|
+
|
|
22
|
+
| Breakpoint | Tailwind class | CSS media query | Common use |
|
|
23
|
+
|------------|---------------|-----------------|------------|
|
|
24
|
+
| Mobile default | (no prefix) | base styles | Mobile-first base |
|
|
25
|
+
| sm | `sm:` | `@media (min-width: 640px)` | Large phone adjustments |
|
|
26
|
+
| md | `md:` | `@media (min-width: 768px)` | Tablet layout |
|
|
27
|
+
| lg | `lg:` | `@media (min-width: 1024px)` | Desktop layout |
|
|
28
|
+
| xl | `xl:` | `@media (min-width: 1280px)` | Wide desktop |
|
|
29
|
+
| 2xl | `2xl:` | `@media (min-width: 1536px)` | Ultra-wide |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Layout Behavior by Breakpoint
|
|
34
|
+
|
|
35
|
+
### Navigation
|
|
36
|
+
| Breakpoint | Pattern |
|
|
37
|
+
|------------|---------|
|
|
38
|
+
| < md | Hamburger menu / bottom tab bar |
|
|
39
|
+
| md–lg | Collapsed sidebar or top nav with fewer items |
|
|
40
|
+
| ≥ lg | Full sidebar or top nav with all items visible |
|
|
41
|
+
|
|
42
|
+
### Content Grid
|
|
43
|
+
| Breakpoint | Columns |
|
|
44
|
+
|------------|---------|
|
|
45
|
+
| xs–sm | 1 column |
|
|
46
|
+
| md | 2 columns |
|
|
47
|
+
| lg | 3 columns |
|
|
48
|
+
| xl+ | 4 columns (data-heavy) or 3 columns (content) |
|
|
49
|
+
|
|
50
|
+
### Typography Scale Adjustments
|
|
51
|
+
| Element | Mobile | Desktop |
|
|
52
|
+
|---------|--------|---------|
|
|
53
|
+
| Hero heading | `text-3xl` (30px) | `text-5xl` (48px) |
|
|
54
|
+
| Section heading | `text-xl` (20px) | `text-3xl` (30px) |
|
|
55
|
+
| Body | `text-base` (16px) | `text-base` (16px) — never reduce below 16px |
|
|
56
|
+
| Caption | `text-sm` (14px) | `text-sm` (14px) |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Touch Target Rules
|
|
61
|
+
|
|
62
|
+
| Device | Minimum touch target | Recommended |
|
|
63
|
+
|--------|---------------------|-------------|
|
|
64
|
+
| Mobile (< md) | 44×44px | 48×48px |
|
|
65
|
+
| Tablet (md–lg) | 44×44px | 44×44px |
|
|
66
|
+
| Desktop (≥ lg) | 32×32px (mouse) | 36×36px |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Testing Checklist
|
|
71
|
+
|
|
72
|
+
| Breakpoint | Must Verify |
|
|
73
|
+
|------------|-------------|
|
|
74
|
+
| 375px | No horizontal scroll; text readable; nav accessible; forms usable |
|
|
75
|
+
| 768px | Layout transitions correctly; no content overlap |
|
|
76
|
+
| 1024px | Desktop features visible; sidebar or nav fully expanded |
|
|
77
|
+
| 1440px | Max-width container centered; content not stretched too wide |
|
|
78
|
+
|
|
79
|
+
### Max-width containers
|
|
80
|
+
|
|
81
|
+
| Use case | Recommended max-width |
|
|
82
|
+
|----------|-----------------------|
|
|
83
|
+
| Marketing / landing pages | `max-w-5xl` (1024px) or `max-w-6xl` (1152px) |
|
|
84
|
+
| Application layouts | `max-w-7xl` (1280px) |
|
|
85
|
+
| Reading / article content | `max-w-2xl` (672px) or `max-w-3xl` (768px) |
|
|
86
|
+
| Full-bleed dashboards | None (use grid with sidebars) |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Container Query Usage
|
|
91
|
+
|
|
92
|
+
Use `@container` when a component's layout depends on its parent width, not the viewport.
|
|
93
|
+
|
|
94
|
+
| Scenario | Use viewport breakpoint | Use container query |
|
|
95
|
+
|----------|------------------------|---------------------|
|
|
96
|
+
| Page-level layout | Yes | No |
|
|
97
|
+
| Component in sidebar vs main | No | Yes |
|
|
98
|
+
| Card grid columns | No | Yes |
|
|
99
|
+
| Navbar collapsing | Yes | No |
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: user-personas
|
|
3
|
-
tier: standard
|
|
4
|
-
description: "Create refined user personas from research data — 3 personas with JTBD, pains, gains, and unexpected insights."
|
|
5
|
-
triggers: [persona, user persona, user profile, user segment, user research]
|
|
6
|
-
priority: 50
|
|
7
|
-
chain-next: [create-prd, prioritization-frameworks]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# User Personas
|
|
11
|
-
|
|
12
|
-
> Based on the user persona framework from [Product Compass](https://www.productcompass.pm/p/interviewing-customers-the-ultimate) by Pawel Huryn (MIT License).
|
|
13
|
-
|
|
14
|
-
## Purpose
|
|
15
|
-
|
|
16
|
-
Create detailed, actionable user personas from research data that capture the true diversity of your user base. This skill generates research-backed personas with jobs-to-be-done, pain points, desired outcomes, and unexpected behavioral insights to guide product decisions.
|
|
17
|
-
|
|
18
|
-
## Instructions
|
|
19
|
-
|
|
20
|
-
You are an experienced product researcher specializing in persona development and user research synthesis.
|
|
21
|
-
|
|
22
|
-
### Input
|
|
23
|
-
|
|
24
|
-
Your task is to create 3 refined user personas for **$ARGUMENTS**.
|
|
25
|
-
|
|
26
|
-
If the user provides CSV, Excel, survey responses, interview transcripts, or other research data files, read and analyze them directly using available tools. Extract key patterns, demographics, motivations, and behaviors.
|
|
27
|
-
|
|
28
|
-
### Analysis Steps (Think Step by Step)
|
|
29
|
-
|
|
30
|
-
1. **Data Collection**: Read and review all provided research data and documents
|
|
31
|
-
2. **Pattern Recognition**: Identify recurring characteristics, goals, pain points, and behaviors across users
|
|
32
|
-
3. **Segmentation**: Group similar users into distinct personas based on shared motivations and jobs-to-be-done
|
|
33
|
-
4. **Enrichment**: For each persona, synthesize data into a coherent profile
|
|
34
|
-
5. **Validation**: Cross-reference insights to ensure personas are grounded in actual research findings
|
|
35
|
-
|
|
36
|
-
### Output Structure
|
|
37
|
-
|
|
38
|
-
For each of the 3 personas, provide:
|
|
39
|
-
|
|
40
|
-
**Persona Name & Demographics**
|
|
41
|
-
- Age range, role/title, company size (if B2B), key characteristics
|
|
42
|
-
|
|
43
|
-
**Primary Job-to-be-Done**
|
|
44
|
-
- The core outcome the persona is trying to achieve
|
|
45
|
-
- Context and frequency of the job
|
|
46
|
-
|
|
47
|
-
**Top 3 Pain Points**
|
|
48
|
-
- Specific challenges or obstacles preventing job completion
|
|
49
|
-
- Impact and severity of each pain
|
|
50
|
-
|
|
51
|
-
**Top 3 Desired Gains**
|
|
52
|
-
- Benefits, outcomes, or solutions the persona seeks
|
|
53
|
-
- How they measure success
|
|
54
|
-
|
|
55
|
-
**One Unexpected Insight**
|
|
56
|
-
- A counterintuitive behavioral pattern or motivation derived from the data
|
|
57
|
-
- Why this matters for product decisions
|
|
58
|
-
|
|
59
|
-
**Product Fit Assessment**
|
|
60
|
-
- How $ARGUMENTS addresses (or could address) this persona's needs
|
|
61
|
-
- Potential friction points or unmet needs
|
|
62
|
-
|
|
63
|
-
## Best Practices
|
|
64
|
-
|
|
65
|
-
- Ground all insights in actual data; avoid assumptions
|
|
66
|
-
- Use direct quotes from research when available
|
|
67
|
-
- Identify behavioral patterns, not just demographic categories
|
|
68
|
-
- Make personas distinct and non-overlapping where possible
|
|
69
|
-
- Flag any data gaps or areas requiring additional research
|
|
70
|
-
|
|
71
|
-
## Further Reading
|
|
72
|
-
|
|
73
|
-
- [User Interviews: The Ultimate Guide to Research Interviews](https://www.productcompass.pm/p/interviewing-customers-the-ultimate)
|
|
74
|
-
- [Market Research: Advanced Techniques](https://www.productcompass.pm/p/market-research-advanced-techniques)
|
|
75
|
-
- [Jobs-to-be-Done Masterclass with Tony Ulwick and Sabeen Sattar](https://www.productcompass.pm/p/jobs-to-be-done-masterclass-with)
|
|
1
|
+
---
|
|
2
|
+
name: user-personas
|
|
3
|
+
tier: standard
|
|
4
|
+
description: "Create refined user personas from research data — 3 personas with JTBD, pains, gains, and unexpected insights."
|
|
5
|
+
triggers: [persona, user persona, user profile, user segment, user research]
|
|
6
|
+
priority: 50
|
|
7
|
+
chain-next: [create-prd, prioritization-frameworks]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# User Personas
|
|
11
|
+
|
|
12
|
+
> Based on the user persona framework from [Product Compass](https://www.productcompass.pm/p/interviewing-customers-the-ultimate) by Pawel Huryn (MIT License).
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
Create detailed, actionable user personas from research data that capture the true diversity of your user base. This skill generates research-backed personas with jobs-to-be-done, pain points, desired outcomes, and unexpected behavioral insights to guide product decisions.
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
|
|
20
|
+
You are an experienced product researcher specializing in persona development and user research synthesis.
|
|
21
|
+
|
|
22
|
+
### Input
|
|
23
|
+
|
|
24
|
+
Your task is to create 3 refined user personas for **$ARGUMENTS**.
|
|
25
|
+
|
|
26
|
+
If the user provides CSV, Excel, survey responses, interview transcripts, or other research data files, read and analyze them directly using available tools. Extract key patterns, demographics, motivations, and behaviors.
|
|
27
|
+
|
|
28
|
+
### Analysis Steps (Think Step by Step)
|
|
29
|
+
|
|
30
|
+
1. **Data Collection**: Read and review all provided research data and documents
|
|
31
|
+
2. **Pattern Recognition**: Identify recurring characteristics, goals, pain points, and behaviors across users
|
|
32
|
+
3. **Segmentation**: Group similar users into distinct personas based on shared motivations and jobs-to-be-done
|
|
33
|
+
4. **Enrichment**: For each persona, synthesize data into a coherent profile
|
|
34
|
+
5. **Validation**: Cross-reference insights to ensure personas are grounded in actual research findings
|
|
35
|
+
|
|
36
|
+
### Output Structure
|
|
37
|
+
|
|
38
|
+
For each of the 3 personas, provide:
|
|
39
|
+
|
|
40
|
+
**Persona Name & Demographics**
|
|
41
|
+
- Age range, role/title, company size (if B2B), key characteristics
|
|
42
|
+
|
|
43
|
+
**Primary Job-to-be-Done**
|
|
44
|
+
- The core outcome the persona is trying to achieve
|
|
45
|
+
- Context and frequency of the job
|
|
46
|
+
|
|
47
|
+
**Top 3 Pain Points**
|
|
48
|
+
- Specific challenges or obstacles preventing job completion
|
|
49
|
+
- Impact and severity of each pain
|
|
50
|
+
|
|
51
|
+
**Top 3 Desired Gains**
|
|
52
|
+
- Benefits, outcomes, or solutions the persona seeks
|
|
53
|
+
- How they measure success
|
|
54
|
+
|
|
55
|
+
**One Unexpected Insight**
|
|
56
|
+
- A counterintuitive behavioral pattern or motivation derived from the data
|
|
57
|
+
- Why this matters for product decisions
|
|
58
|
+
|
|
59
|
+
**Product Fit Assessment**
|
|
60
|
+
- How $ARGUMENTS addresses (or could address) this persona's needs
|
|
61
|
+
- Potential friction points or unmet needs
|
|
62
|
+
|
|
63
|
+
## Best Practices
|
|
64
|
+
|
|
65
|
+
- Ground all insights in actual data; avoid assumptions
|
|
66
|
+
- Use direct quotes from research when available
|
|
67
|
+
- Identify behavioral patterns, not just demographic categories
|
|
68
|
+
- Make personas distinct and non-overlapping where possible
|
|
69
|
+
- Flag any data gaps or areas requiring additional research
|
|
70
|
+
|
|
71
|
+
## Further Reading
|
|
72
|
+
|
|
73
|
+
- [User Interviews: The Ultimate Guide to Research Interviews](https://www.productcompass.pm/p/interviewing-customers-the-ultimate)
|
|
74
|
+
- [Market Research: Advanced Techniques](https://www.productcompass.pm/p/market-research-advanced-techniques)
|
|
75
|
+
- [Jobs-to-be-Done Masterclass with Tony Ulwick and Sabeen Sattar](https://www.productcompass.pm/p/jobs-to-be-done-masterclass-with)
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
# Persona Research Methodology
|
|
2
|
-
|
|
3
|
-
## Research Method Selection
|
|
4
|
-
|
|
5
|
-
| Situation | Recommended Method | Sample Size |
|
|
6
|
-
|-----------|-------------------|-------------|
|
|
7
|
-
| New product, no users yet | Exploratory interviews | 8–12 participants |
|
|
8
|
-
| Existing product, need depth | In-depth interviews | 5–8 per segment |
|
|
9
|
-
| Validating existing personas | Survey | 50+ respondents |
|
|
10
|
-
| Behavioral patterns | Analytics + session recordings | All available data |
|
|
11
|
-
| Competitive landscape | Competitor review + job forums | Qualitative |
|
|
12
|
-
|
|
13
|
-
## Interview Design Checklist
|
|
14
|
-
|
|
15
|
-
- [ ] Questions focus on past behavior, not hypothetical future behavior
|
|
16
|
-
- [ ] "Tell me about a time when..." used instead of "Would you...?"
|
|
17
|
-
- [ ] No leading questions (avoid "Don't you find X frustrating?")
|
|
18
|
-
- [ ] Follow-up probes prepared: "Why?", "What happened next?", "How did that make you feel?"
|
|
19
|
-
- [ ] Job-to-be-done lens: ask what they're trying to accomplish, not what features they want
|
|
20
|
-
- [ ] Session recorded (with consent) for later synthesis
|
|
21
|
-
- [ ] Duration: 45–60 minutes per interview
|
|
22
|
-
|
|
23
|
-
## Data Collection Quality Gates
|
|
24
|
-
|
|
25
|
-
- [ ] Minimum 5 interviews per distinct segment before drawing conclusions
|
|
26
|
-
- [ ] Direct quotes captured verbatim (not paraphrased during interview)
|
|
27
|
-
- [ ] Demographic bias checked — sample matches target market
|
|
28
|
-
- [ ] B2B: multiple roles interviewed (buyer, user, influencer)
|
|
29
|
-
- [ ] Negative cases included — interview users who churned or rejected the product
|
|
30
|
-
|
|
31
|
-
## Synthesis Process
|
|
32
|
-
|
|
33
|
-
1. **Affinity mapping**: Group raw observations by theme (not by participant)
|
|
34
|
-
2. **Pattern extraction**: Identify recurring pain points and jobs across 3+ participants
|
|
35
|
-
3. **Segmentation**: Cluster participants by shared motivations (not demographics)
|
|
36
|
-
4. **Persona drafting**: One persona per distinct motivation cluster
|
|
37
|
-
5. **Validation**: Cross-reference each persona claim against source data
|
|
38
|
-
|
|
39
|
-
## Persona Validity Checklist
|
|
40
|
-
|
|
41
|
-
- [ ] Each persona grounded in ≥3 real participants from research
|
|
42
|
-
- [ ] Personas are mutually distinct — overlapping personas should be merged
|
|
43
|
-
- [ ] Unexpected insights included — if all insights are obvious, dig deeper
|
|
44
|
-
- [ ] Demographics are secondary — job-to-be-done drives persona definition
|
|
45
|
-
- [ ] Quotes used are verbatim from research (not invented)
|
|
46
|
-
- [ ] Data gaps explicitly flagged — don't fill gaps with assumptions
|
|
47
|
-
|
|
48
|
-
## Common Research Mistakes
|
|
49
|
-
|
|
50
|
-
| Mistake | Consequence | Fix |
|
|
51
|
-
|---------|-------------|-----|
|
|
52
|
-
| Asking "what features do you want?" | Users design solutions, not needs | Ask about current behavior and pain |
|
|
53
|
-
| Only interviewing enthusiasts | Survivorship bias | Include churned users and non-adopters |
|
|
54
|
-
| Conflating segment with persona | Personas become stereotypes | Base personas on motivations, not age/gender |
|
|
55
|
-
| Too many personas (>5) | Team ignores them | Merge overlapping clusters, max 3–4 |
|
|
56
|
-
| No data gaps acknowledged | False confidence | Flag what you don't yet know |
|
|
1
|
+
# Persona Research Methodology
|
|
2
|
+
|
|
3
|
+
## Research Method Selection
|
|
4
|
+
|
|
5
|
+
| Situation | Recommended Method | Sample Size |
|
|
6
|
+
|-----------|-------------------|-------------|
|
|
7
|
+
| New product, no users yet | Exploratory interviews | 8–12 participants |
|
|
8
|
+
| Existing product, need depth | In-depth interviews | 5–8 per segment |
|
|
9
|
+
| Validating existing personas | Survey | 50+ respondents |
|
|
10
|
+
| Behavioral patterns | Analytics + session recordings | All available data |
|
|
11
|
+
| Competitive landscape | Competitor review + job forums | Qualitative |
|
|
12
|
+
|
|
13
|
+
## Interview Design Checklist
|
|
14
|
+
|
|
15
|
+
- [ ] Questions focus on past behavior, not hypothetical future behavior
|
|
16
|
+
- [ ] "Tell me about a time when..." used instead of "Would you...?"
|
|
17
|
+
- [ ] No leading questions (avoid "Don't you find X frustrating?")
|
|
18
|
+
- [ ] Follow-up probes prepared: "Why?", "What happened next?", "How did that make you feel?"
|
|
19
|
+
- [ ] Job-to-be-done lens: ask what they're trying to accomplish, not what features they want
|
|
20
|
+
- [ ] Session recorded (with consent) for later synthesis
|
|
21
|
+
- [ ] Duration: 45–60 minutes per interview
|
|
22
|
+
|
|
23
|
+
## Data Collection Quality Gates
|
|
24
|
+
|
|
25
|
+
- [ ] Minimum 5 interviews per distinct segment before drawing conclusions
|
|
26
|
+
- [ ] Direct quotes captured verbatim (not paraphrased during interview)
|
|
27
|
+
- [ ] Demographic bias checked — sample matches target market
|
|
28
|
+
- [ ] B2B: multiple roles interviewed (buyer, user, influencer)
|
|
29
|
+
- [ ] Negative cases included — interview users who churned or rejected the product
|
|
30
|
+
|
|
31
|
+
## Synthesis Process
|
|
32
|
+
|
|
33
|
+
1. **Affinity mapping**: Group raw observations by theme (not by participant)
|
|
34
|
+
2. **Pattern extraction**: Identify recurring pain points and jobs across 3+ participants
|
|
35
|
+
3. **Segmentation**: Cluster participants by shared motivations (not demographics)
|
|
36
|
+
4. **Persona drafting**: One persona per distinct motivation cluster
|
|
37
|
+
5. **Validation**: Cross-reference each persona claim against source data
|
|
38
|
+
|
|
39
|
+
## Persona Validity Checklist
|
|
40
|
+
|
|
41
|
+
- [ ] Each persona grounded in ≥3 real participants from research
|
|
42
|
+
- [ ] Personas are mutually distinct — overlapping personas should be merged
|
|
43
|
+
- [ ] Unexpected insights included — if all insights are obvious, dig deeper
|
|
44
|
+
- [ ] Demographics are secondary — job-to-be-done drives persona definition
|
|
45
|
+
- [ ] Quotes used are verbatim from research (not invented)
|
|
46
|
+
- [ ] Data gaps explicitly flagged — don't fill gaps with assumptions
|
|
47
|
+
|
|
48
|
+
## Common Research Mistakes
|
|
49
|
+
|
|
50
|
+
| Mistake | Consequence | Fix |
|
|
51
|
+
|---------|-------------|-----|
|
|
52
|
+
| Asking "what features do you want?" | Users design solutions, not needs | Ask about current behavior and pain |
|
|
53
|
+
| Only interviewing enthusiasts | Survivorship bias | Include churned users and non-adopters |
|
|
54
|
+
| Conflating segment with persona | Personas become stereotypes | Base personas on motivations, not age/gender |
|
|
55
|
+
| Too many personas (>5) | Team ignores them | Merge overlapping clusters, max 3–4 |
|
|
56
|
+
| No data gaps acknowledged | False confidence | Flag what you don't yet know |
|