@su-record/vibe 2.7.12 → 2.7.13
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 +126 -126
- package/LICENSE +21 -21
- package/README.md +449 -580
- 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 -266
- 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/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 +94 -94
- 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 +260 -260
- package/commands/vibe.analyze.md +8 -0
- package/commands/vibe.review.md +10 -3
- package/commands/vibe.run.md +2078 -2022
- package/commands/vibe.spec.md +10 -10
- package/commands/vibe.spec.review.md +565 -558
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +45 -0
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +1 -7
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +55 -70
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +6 -7
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/setup.js +1 -1
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +3 -4
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +51 -55
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +19 -19
- package/dist/cli/llm/config.js.map +1 -1
- package/dist/cli/llm/gemini-commands.d.ts +4 -6
- package/dist/cli/llm/gemini-commands.d.ts.map +1 -1
- package/dist/cli/llm/gemini-commands.js +52 -322
- package/dist/cli/llm/gemini-commands.js.map +1 -1
- package/dist/cli/llm/gpt-commands.js +21 -21
- package/dist/cli/llm/gpt-commands.js.map +1 -1
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/constants.js +1 -1
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/postinstall/inline-skills.js +1 -1
- package/dist/cli/postinstall/inline-skills.js.map +1 -1
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/cli/types.d.ts +2 -16
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/utils.d.ts +0 -9
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +0 -28
- package/dist/cli/utils.js.map +1 -1
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.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/config/GlobalConfigManager.d.ts +0 -2
- package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +1 -1
- package/dist/infra/lib/config/GlobalConfigManager.js +0 -27
- package/dist/infra/lib/config/GlobalConfigManager.js.map +1 -1
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/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/auth.d.ts +4 -16
- package/dist/infra/lib/gemini/auth.d.ts.map +1 -1
- package/dist/infra/lib/gemini/auth.js +10 -405
- package/dist/infra/lib/gemini/auth.js.map +1 -1
- package/dist/infra/lib/gemini/capabilities.d.ts +4 -8
- package/dist/infra/lib/gemini/capabilities.d.ts.map +1 -1
- package/dist/infra/lib/gemini/capabilities.js +8 -166
- package/dist/infra/lib/gemini/capabilities.js.map +1 -1
- package/dist/infra/lib/gemini/chat.d.ts +4 -13
- package/dist/infra/lib/gemini/chat.d.ts.map +1 -1
- package/dist/infra/lib/gemini/chat.js +10 -323
- package/dist/infra/lib/gemini/chat.js.map +1 -1
- package/dist/infra/lib/gemini/completion.d.ts +5 -15
- package/dist/infra/lib/gemini/completion.d.ts.map +1 -1
- package/dist/infra/lib/gemini/completion.js +6 -97
- package/dist/infra/lib/gemini/completion.js.map +1 -1
- package/dist/infra/lib/gemini/constants.d.ts +2 -31
- package/dist/infra/lib/gemini/constants.d.ts.map +1 -1
- package/dist/infra/lib/gemini/constants.js +2 -77
- package/dist/infra/lib/gemini/constants.js.map +1 -1
- package/dist/infra/lib/gemini/index.d.ts +5 -8
- package/dist/infra/lib/gemini/index.d.ts.map +1 -1
- package/dist/infra/lib/gemini/index.js +4 -7
- package/dist/infra/lib/gemini/index.js.map +1 -1
- package/dist/infra/lib/gemini/models.d.ts +3 -4
- package/dist/infra/lib/gemini/models.d.ts.map +1 -1
- package/dist/infra/lib/gemini/models.js +8 -84
- package/dist/infra/lib/gemini/models.js.map +1 -1
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gemini/types.d.ts +16 -44
- package/dist/infra/lib/gemini/types.d.ts.map +1 -1
- package/dist/infra/lib/gemini/types.js +1 -1
- package/dist/infra/lib/gpt/auth.d.ts +2 -5
- package/dist/infra/lib/gpt/auth.d.ts.map +1 -1
- package/dist/infra/lib/gpt/auth.js +8 -38
- package/dist/infra/lib/gpt/auth.js.map +1 -1
- package/dist/infra/lib/gpt/chat.d.ts +3 -3
- package/dist/infra/lib/gpt/chat.d.ts.map +1 -1
- package/dist/infra/lib/gpt/chat.js +37 -53
- package/dist/infra/lib/gpt/chat.js.map +1 -1
- package/dist/infra/lib/gpt/constants.d.ts +2 -5
- package/dist/infra/lib/gpt/constants.d.ts.map +1 -1
- package/dist/infra/lib/gpt/constants.js +4 -9
- package/dist/infra/lib/gpt/constants.js.map +1 -1
- package/dist/infra/lib/gpt/embedding.d.ts +1 -1
- package/dist/infra/lib/gpt/embedding.js +3 -3
- package/dist/infra/lib/gpt/embedding.js.map +1 -1
- package/dist/infra/lib/gpt/oauth.d.ts +6 -39
- package/dist/infra/lib/gpt/oauth.d.ts.map +1 -1
- package/dist/infra/lib/gpt/oauth.js +8 -340
- package/dist/infra/lib/gpt/oauth.js.map +1 -1
- package/dist/infra/lib/gpt/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js.map +1 -1
- package/dist/infra/lib/gpt/specializations.d.ts +2 -2
- package/dist/infra/lib/gpt/specializations.js +3 -3
- package/dist/infra/lib/gpt/specializations.js.map +1 -1
- package/dist/infra/lib/gpt/types.d.ts +1 -1
- package/dist/infra/lib/gpt/types.d.ts.map +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.d.ts +2 -2
- package/dist/infra/lib/llm/auth/AuthProfileManager.d.ts.map +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.js.map +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.test.js +1 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.test.js.map +1 -1
- package/dist/infra/lib/llm/auth/TokenRefresher.d.ts +1 -1
- package/dist/infra/lib/llm/auth/TokenRefresher.js +1 -1
- package/dist/infra/lib/llm/auth/index.d.ts +2 -12
- package/dist/infra/lib/llm/auth/index.d.ts.map +1 -1
- package/dist/infra/lib/llm/auth/index.js +5 -63
- package/dist/infra/lib/llm/auth/index.js.map +1 -1
- package/dist/infra/lib/llm/types.d.ts +1 -1
- package/dist/infra/lib/llm/types.d.ts.map +1 -1
- 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 +137 -137
- package/hooks/scripts/code-check.js +70 -70
- package/hooks/scripts/context-save.js +212 -212
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +475 -646
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- 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 +121 -121
- package/skills/agents-md/SKILL.md +120 -120
- package/skills/arch-guard/SKILL.md +180 -180
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -167
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +59 -59
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +48 -48
- package/skills/e2e-commerce/SKILL.md +57 -57
- package/skills/exec-plan/SKILL.md +147 -147
- package/skills/frontend-design/SKILL.md +73 -73
- package/skills/git-worktree/SKILL.md +72 -72
- package/skills/handoff/SKILL.md +109 -109
- package/skills/parallel-research/SKILL.md +87 -87
- package/skills/priority-todos/SKILL.md +63 -63
- package/skills/seo-checklist/SKILL.md +57 -57
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +103 -103
- package/skills/typescript-advanced-types/SKILL.md +65 -65
- package/skills/ui-ux-pro-max/SKILL.md +206 -206
- package/skills/vercel-react-best-practices/SKILL.md +59 -59
- package/skills/video-production/SKILL.md +51 -51
- 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
- package/commands/vibe.voice.md +0 -79
package/skills/handoff/SKILL.md
CHANGED
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: handoff
|
|
3
|
-
description: "Generate HANDOFF.md work handover document before session end. Auto-activates on handoff, handover, session cleanup keywords."
|
|
4
|
-
triggers: [handoff, handover, session cleanup, session end, context save]
|
|
5
|
-
priority: 70
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Handoff — Session Handover Document
|
|
9
|
-
|
|
10
|
-
Record work status before session end so the next session can pick up immediately.
|
|
11
|
-
|
|
12
|
-
## What is HANDOFF.md?
|
|
13
|
-
|
|
14
|
-
A file that records the current work status before context reset. Reading this file in a new session allows immediate continuation.
|
|
15
|
-
|
|
16
|
-
### Difference from `/vibe.utils --continue`
|
|
17
|
-
|
|
18
|
-
| Item | `/vibe.utils --continue` | Handoff |
|
|
19
|
-
|------|--------------------------|---------|
|
|
20
|
-
| Method | Automatic session context restore | Manual handover document |
|
|
21
|
-
| Includes | Memory + session state | Work progress + notes + file list |
|
|
22
|
-
| When to use | At new session start | Before session end |
|
|
23
|
-
| Purpose | Quick auto-restore | Detailed handover (team/future self) |
|
|
24
|
-
|
|
25
|
-
## When to Use
|
|
26
|
-
|
|
27
|
-
- When context reaches 80-100k tokens
|
|
28
|
-
- After using `/compact` 3 times
|
|
29
|
-
- Before pausing work for an extended period
|
|
30
|
-
- When progress recording is needed during complex work
|
|
31
|
-
|
|
32
|
-
## VIBE Tool Integration
|
|
33
|
-
|
|
34
|
-
Use VIBE built-in tools to save current state before generating Handoff:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
# Save current session context
|
|
38
|
-
core_auto_save_context
|
|
39
|
-
|
|
40
|
-
# Save important decisions to memory
|
|
41
|
-
core_save_memory --key "handoff-decision" --value "Decided on JWT for auth" --category "project"
|
|
42
|
-
|
|
43
|
-
# Verify saved memories
|
|
44
|
-
core_list_memories --category "project"
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## HANDOFF.md Template
|
|
48
|
-
|
|
49
|
-
```markdown
|
|
50
|
-
# Work Handover Document
|
|
51
|
-
|
|
52
|
-
## Completed Tasks
|
|
53
|
-
- [x] Completed task 1
|
|
54
|
-
- [x] Completed task 2
|
|
55
|
-
|
|
56
|
-
## In Progress
|
|
57
|
-
- [ ] Currently working on
|
|
58
|
-
- Progress: 70%
|
|
59
|
-
- Next step: implement ~~
|
|
60
|
-
|
|
61
|
-
## Next Tasks
|
|
62
|
-
1. High priority task
|
|
63
|
-
2. Next task
|
|
64
|
-
|
|
65
|
-
## Notes & Cautions
|
|
66
|
-
- Do not touch: ~~
|
|
67
|
-
- Known bugs: ~~
|
|
68
|
-
- Temporary workarounds: ~~
|
|
69
|
-
|
|
70
|
-
## Related Files
|
|
71
|
-
- src/components/Login.tsx — Login form
|
|
72
|
-
- src/api/auth.ts — Auth API
|
|
73
|
-
|
|
74
|
-
## Last State
|
|
75
|
-
- Branch: feature/auth
|
|
76
|
-
- Last commit: abc1234
|
|
77
|
-
- Test status: passing
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Generation Steps
|
|
81
|
-
|
|
82
|
-
1. Check current changed files with `git status`
|
|
83
|
-
2. Check recent commits with `git log --oneline -5`
|
|
84
|
-
3. Organize in-progress and remaining tasks
|
|
85
|
-
4. Save session context with `core_auto_save_context`
|
|
86
|
-
5. Save key decisions with `core_save_memory`
|
|
87
|
-
6. Generate HANDOFF.md file
|
|
88
|
-
|
|
89
|
-
## Restoring in New Session
|
|
90
|
-
|
|
91
|
-
```
|
|
92
|
-
Read HANDOFF.md and continue working
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
Or use alongside VIBE auto-restore:
|
|
96
|
-
|
|
97
|
-
```
|
|
98
|
-
/vibe.utils --continue
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
In this case, saved decisions are also restored via `core_recall_memory`.
|
|
102
|
-
|
|
103
|
-
## Done Criteria (K4)
|
|
104
|
-
|
|
105
|
-
- [ ] HANDOFF.md created with all sections filled
|
|
106
|
-
- [ ] Completed/in-progress/next tasks accurately listed
|
|
107
|
-
- [ ] Related files section includes all modified files
|
|
108
|
-
- [ ] Session context saved via `core_auto_save_context`
|
|
109
|
-
- [ ] Key decisions saved via `core_save_memory`
|
|
1
|
+
---
|
|
2
|
+
name: handoff
|
|
3
|
+
description: "Generate HANDOFF.md work handover document before session end. Auto-activates on handoff, handover, session cleanup keywords."
|
|
4
|
+
triggers: [handoff, handover, session cleanup, session end, context save]
|
|
5
|
+
priority: 70
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Handoff — Session Handover Document
|
|
9
|
+
|
|
10
|
+
Record work status before session end so the next session can pick up immediately.
|
|
11
|
+
|
|
12
|
+
## What is HANDOFF.md?
|
|
13
|
+
|
|
14
|
+
A file that records the current work status before context reset. Reading this file in a new session allows immediate continuation.
|
|
15
|
+
|
|
16
|
+
### Difference from `/vibe.utils --continue`
|
|
17
|
+
|
|
18
|
+
| Item | `/vibe.utils --continue` | Handoff |
|
|
19
|
+
|------|--------------------------|---------|
|
|
20
|
+
| Method | Automatic session context restore | Manual handover document |
|
|
21
|
+
| Includes | Memory + session state | Work progress + notes + file list |
|
|
22
|
+
| When to use | At new session start | Before session end |
|
|
23
|
+
| Purpose | Quick auto-restore | Detailed handover (team/future self) |
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
|
|
27
|
+
- When context reaches 80-100k tokens
|
|
28
|
+
- After using `/compact` 3 times
|
|
29
|
+
- Before pausing work for an extended period
|
|
30
|
+
- When progress recording is needed during complex work
|
|
31
|
+
|
|
32
|
+
## VIBE Tool Integration
|
|
33
|
+
|
|
34
|
+
Use VIBE built-in tools to save current state before generating Handoff:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# Save current session context
|
|
38
|
+
core_auto_save_context
|
|
39
|
+
|
|
40
|
+
# Save important decisions to memory
|
|
41
|
+
core_save_memory --key "handoff-decision" --value "Decided on JWT for auth" --category "project"
|
|
42
|
+
|
|
43
|
+
# Verify saved memories
|
|
44
|
+
core_list_memories --category "project"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## HANDOFF.md Template
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
# Work Handover Document
|
|
51
|
+
|
|
52
|
+
## Completed Tasks
|
|
53
|
+
- [x] Completed task 1
|
|
54
|
+
- [x] Completed task 2
|
|
55
|
+
|
|
56
|
+
## In Progress
|
|
57
|
+
- [ ] Currently working on
|
|
58
|
+
- Progress: 70%
|
|
59
|
+
- Next step: implement ~~
|
|
60
|
+
|
|
61
|
+
## Next Tasks
|
|
62
|
+
1. High priority task
|
|
63
|
+
2. Next task
|
|
64
|
+
|
|
65
|
+
## Notes & Cautions
|
|
66
|
+
- Do not touch: ~~
|
|
67
|
+
- Known bugs: ~~
|
|
68
|
+
- Temporary workarounds: ~~
|
|
69
|
+
|
|
70
|
+
## Related Files
|
|
71
|
+
- src/components/Login.tsx — Login form
|
|
72
|
+
- src/api/auth.ts — Auth API
|
|
73
|
+
|
|
74
|
+
## Last State
|
|
75
|
+
- Branch: feature/auth
|
|
76
|
+
- Last commit: abc1234
|
|
77
|
+
- Test status: passing
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Generation Steps
|
|
81
|
+
|
|
82
|
+
1. Check current changed files with `git status`
|
|
83
|
+
2. Check recent commits with `git log --oneline -5`
|
|
84
|
+
3. Organize in-progress and remaining tasks
|
|
85
|
+
4. Save session context with `core_auto_save_context`
|
|
86
|
+
5. Save key decisions with `core_save_memory`
|
|
87
|
+
6. Generate HANDOFF.md file
|
|
88
|
+
|
|
89
|
+
## Restoring in New Session
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
Read HANDOFF.md and continue working
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Or use alongside VIBE auto-restore:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
/vibe.utils --continue
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
In this case, saved decisions are also restored via `core_recall_memory`.
|
|
102
|
+
|
|
103
|
+
## Done Criteria (K4)
|
|
104
|
+
|
|
105
|
+
- [ ] HANDOFF.md created with all sections filled
|
|
106
|
+
- [ ] Completed/in-progress/next tasks accurately listed
|
|
107
|
+
- [ ] Related files section includes all modified files
|
|
108
|
+
- [ ] Session context saved via `core_auto_save_context`
|
|
109
|
+
- [ ] Key decisions saved via `core_save_memory`
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: parallel-research
|
|
3
|
-
description: "Parallel research guide. Auto-activates for complex features, new technologies, security-critical work, architecture design, or technology selection decisions."
|
|
4
|
-
triggers: [parallel research, complex feature, technology selection, architecture design, security critical]
|
|
5
|
-
priority: 60
|
|
6
|
-
---
|
|
7
|
-
# Parallel Research
|
|
8
|
-
|
|
9
|
-
Parallel research patterns for solving complex problems.
|
|
10
|
-
|
|
11
|
-
## When Parallel Research is Needed
|
|
12
|
-
|
|
13
|
-
| Situation | Reason |
|
|
14
|
-
|-----------|--------|
|
|
15
|
-
| New technology adoption | Need best practices |
|
|
16
|
-
| Security-related features | Multi-angle review needed |
|
|
17
|
-
| Architecture design | Multiple perspectives needed |
|
|
18
|
-
| Technology selection | Comparison analysis needed |
|
|
19
|
-
| Complex bugs | Explore multiple causes |
|
|
20
|
-
|
|
21
|
-
## Research Agents (4 Parallel)
|
|
22
|
-
|
|
23
|
-
| Agent | Role | Tools |
|
|
24
|
-
|-------|------|-------|
|
|
25
|
-
| best-practices | Search best practices | Web Search, context7 |
|
|
26
|
-
| framework-docs | Search official docs | context7 |
|
|
27
|
-
| codebase-patterns | Analyze existing code patterns | Grep, Glob |
|
|
28
|
-
| security-advisory | Search security advisories | Web Search |
|
|
29
|
-
|
|
30
|
-
## Usage Methods
|
|
31
|
-
|
|
32
|
-
### Method 1: Direct Orchestrator Call
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/infra/orchestrator/index.js').then(o =>
|
|
36
|
-
o.research('passkey authentication', ['React', 'Supabase'])
|
|
37
|
-
.then(r => console.log(r.content[0].text))
|
|
38
|
-
)"
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### Method 2: Use /vibe.spec
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
/vibe.spec "feature-name"
|
|
45
|
-
→ Parallel research runs automatically after requirements confirmed
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### Method 3: Parallel Task Tool Execution
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
Task 1: "Search React auth best practices"
|
|
52
|
-
Task 2: "Search Supabase Auth official docs" (concurrent)
|
|
53
|
-
Task 3: "Analyze existing auth code patterns" (concurrent)
|
|
54
|
-
Task 4: "Search auth security vulnerabilities" (concurrent)
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Using Research Results
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
Parallel research complete
|
|
61
|
-
↓
|
|
62
|
-
Synthesize results
|
|
63
|
-
↓
|
|
64
|
-
Reflect in SPEC Context section
|
|
65
|
-
OR
|
|
66
|
-
Reference during implementation
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## When Research is NOT Needed
|
|
70
|
-
|
|
71
|
-
- Simple CRUD operations
|
|
72
|
-
- Already familiar patterns
|
|
73
|
-
- Similar code exists in project
|
|
74
|
-
- Time-critical (supplement with review later)
|
|
75
|
-
|
|
76
|
-
## Notes
|
|
77
|
-
|
|
78
|
-
- Research runs **after requirements confirmed**
|
|
79
|
-
- Split overly broad topics
|
|
80
|
-
- Research results are references, not absolute truth
|
|
81
|
-
|
|
82
|
-
## Done Criteria (K4)
|
|
83
|
-
|
|
84
|
-
- [ ] All 4 research agents returned results (or documented why not)
|
|
85
|
-
- [ ] Results synthesized into actionable recommendations
|
|
86
|
-
- [ ] Key findings reflected in SPEC Context section or implementation notes
|
|
87
|
-
- [ ] Conflicting recommendations resolved with reasoning
|
|
1
|
+
---
|
|
2
|
+
name: parallel-research
|
|
3
|
+
description: "Parallel research guide. Auto-activates for complex features, new technologies, security-critical work, architecture design, or technology selection decisions."
|
|
4
|
+
triggers: [parallel research, complex feature, technology selection, architecture design, security critical]
|
|
5
|
+
priority: 60
|
|
6
|
+
---
|
|
7
|
+
# Parallel Research
|
|
8
|
+
|
|
9
|
+
Parallel research patterns for solving complex problems.
|
|
10
|
+
|
|
11
|
+
## When Parallel Research is Needed
|
|
12
|
+
|
|
13
|
+
| Situation | Reason |
|
|
14
|
+
|-----------|--------|
|
|
15
|
+
| New technology adoption | Need best practices |
|
|
16
|
+
| Security-related features | Multi-angle review needed |
|
|
17
|
+
| Architecture design | Multiple perspectives needed |
|
|
18
|
+
| Technology selection | Comparison analysis needed |
|
|
19
|
+
| Complex bugs | Explore multiple causes |
|
|
20
|
+
|
|
21
|
+
## Research Agents (4 Parallel)
|
|
22
|
+
|
|
23
|
+
| Agent | Role | Tools |
|
|
24
|
+
|-------|------|-------|
|
|
25
|
+
| best-practices | Search best practices | Web Search, context7 |
|
|
26
|
+
| framework-docs | Search official docs | context7 |
|
|
27
|
+
| codebase-patterns | Analyze existing code patterns | Grep, Glob |
|
|
28
|
+
| security-advisory | Search security advisories | Web Search |
|
|
29
|
+
|
|
30
|
+
## Usage Methods
|
|
31
|
+
|
|
32
|
+
### Method 1: Direct Orchestrator Call
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/infra/orchestrator/index.js').then(o =>
|
|
36
|
+
o.research('passkey authentication', ['React', 'Supabase'])
|
|
37
|
+
.then(r => console.log(r.content[0].text))
|
|
38
|
+
)"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Method 2: Use /vibe.spec
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
/vibe.spec "feature-name"
|
|
45
|
+
→ Parallel research runs automatically after requirements confirmed
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Method 3: Parallel Task Tool Execution
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
Task 1: "Search React auth best practices"
|
|
52
|
+
Task 2: "Search Supabase Auth official docs" (concurrent)
|
|
53
|
+
Task 3: "Analyze existing auth code patterns" (concurrent)
|
|
54
|
+
Task 4: "Search auth security vulnerabilities" (concurrent)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Using Research Results
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Parallel research complete
|
|
61
|
+
↓
|
|
62
|
+
Synthesize results
|
|
63
|
+
↓
|
|
64
|
+
Reflect in SPEC Context section
|
|
65
|
+
OR
|
|
66
|
+
Reference during implementation
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## When Research is NOT Needed
|
|
70
|
+
|
|
71
|
+
- Simple CRUD operations
|
|
72
|
+
- Already familiar patterns
|
|
73
|
+
- Similar code exists in project
|
|
74
|
+
- Time-critical (supplement with review later)
|
|
75
|
+
|
|
76
|
+
## Notes
|
|
77
|
+
|
|
78
|
+
- Research runs **after requirements confirmed**
|
|
79
|
+
- Split overly broad topics
|
|
80
|
+
- Research results are references, not absolute truth
|
|
81
|
+
|
|
82
|
+
## Done Criteria (K4)
|
|
83
|
+
|
|
84
|
+
- [ ] All 4 research agents returned results (or documented why not)
|
|
85
|
+
- [ ] Results synthesized into actionable recommendations
|
|
86
|
+
- [ ] Key findings reflected in SPEC Context section or implementation notes
|
|
87
|
+
- [ ] Conflicting recommendations resolved with reasoning
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: priority-todos
|
|
3
|
-
description: "Priority-based TODO management (P1/P2/P3). Auto-activates when managing tasks, reviewing issues, or organizing work by priority."
|
|
4
|
-
triggers: [todo, priority, P1, P2, P3, task management, issue, organize]
|
|
5
|
-
priority: 60
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Priority-Based Todo Management
|
|
9
|
-
|
|
10
|
-
## Pre-check (K1)
|
|
11
|
-
|
|
12
|
-
> Do you need structured priority tracking? For 1-2 item task lists, use inline TODOs. This system is for multi-issue tracking across reviews and sessions.
|
|
13
|
-
|
|
14
|
-
## Priority Definitions
|
|
15
|
-
|
|
16
|
-
| Priority | Meaning | Action | Examples |
|
|
17
|
-
|----------|---------|--------|----------|
|
|
18
|
-
| P1 | **Blocks merge** | Fix immediately | Security vulnerability, data loss risk, production incident |
|
|
19
|
-
| P2 | **Should fix** | Fix before PR | Performance issue, missing tests, architecture violation |
|
|
20
|
-
| P3 | **Backlog** | Fix when time permits | Code style, refactoring suggestion, documentation |
|
|
21
|
-
|
|
22
|
-
## Directory Structure
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
.claude/vibe/todos/
|
|
26
|
-
├── P1-security-sql-injection.md
|
|
27
|
-
├── P2-perf-n1-query.md
|
|
28
|
-
├── P3-style-extract-helper.md
|
|
29
|
-
├── index.md # Summary table with counts/status
|
|
30
|
-
└── done/ # Archived completed items
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Workflow
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
/vibe.review → Creates P1/P2/P3 todo files + updates index.md
|
|
37
|
-
↓
|
|
38
|
-
Fix P1 first (blocks merge)
|
|
39
|
-
↓
|
|
40
|
-
Fix P2 before PR (warning only)
|
|
41
|
-
↓
|
|
42
|
-
P3 → backlog (weekly review)
|
|
43
|
-
↓
|
|
44
|
-
Mark done → moves to done/ with date prefix
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Todo File Format
|
|
48
|
-
|
|
49
|
-
Each file follows: `# [P1] Title` → Summary → Priority Justification → Location (file:line) → Suggested Fix → Checklist (fix, test, review, merge).
|
|
50
|
-
|
|
51
|
-
## Rules
|
|
52
|
-
|
|
53
|
-
- P1 exists → merge is **blocked**
|
|
54
|
-
- P2 → warning only, recommended to resolve
|
|
55
|
-
- P3 → no blocking, backlog
|
|
56
|
-
- Weekly cleanup: review and archive completed items
|
|
57
|
-
|
|
58
|
-
## Done Criteria (K4)
|
|
59
|
-
|
|
60
|
-
- [ ] All P1 items resolved before merge
|
|
61
|
-
- [ ] P2 items reviewed and either resolved or documented
|
|
62
|
-
- [ ] index.md reflects current state
|
|
63
|
-
- [ ] Completed items archived to `done/` directory
|
|
1
|
+
---
|
|
2
|
+
name: priority-todos
|
|
3
|
+
description: "Priority-based TODO management (P1/P2/P3). Auto-activates when managing tasks, reviewing issues, or organizing work by priority."
|
|
4
|
+
triggers: [todo, priority, P1, P2, P3, task management, issue, organize]
|
|
5
|
+
priority: 60
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Priority-Based Todo Management
|
|
9
|
+
|
|
10
|
+
## Pre-check (K1)
|
|
11
|
+
|
|
12
|
+
> Do you need structured priority tracking? For 1-2 item task lists, use inline TODOs. This system is for multi-issue tracking across reviews and sessions.
|
|
13
|
+
|
|
14
|
+
## Priority Definitions
|
|
15
|
+
|
|
16
|
+
| Priority | Meaning | Action | Examples |
|
|
17
|
+
|----------|---------|--------|----------|
|
|
18
|
+
| P1 | **Blocks merge** | Fix immediately | Security vulnerability, data loss risk, production incident |
|
|
19
|
+
| P2 | **Should fix** | Fix before PR | Performance issue, missing tests, architecture violation |
|
|
20
|
+
| P3 | **Backlog** | Fix when time permits | Code style, refactoring suggestion, documentation |
|
|
21
|
+
|
|
22
|
+
## Directory Structure
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
.claude/vibe/todos/
|
|
26
|
+
├── P1-security-sql-injection.md
|
|
27
|
+
├── P2-perf-n1-query.md
|
|
28
|
+
├── P3-style-extract-helper.md
|
|
29
|
+
├── index.md # Summary table with counts/status
|
|
30
|
+
└── done/ # Archived completed items
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Workflow
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
/vibe.review → Creates P1/P2/P3 todo files + updates index.md
|
|
37
|
+
↓
|
|
38
|
+
Fix P1 first (blocks merge)
|
|
39
|
+
↓
|
|
40
|
+
Fix P2 before PR (warning only)
|
|
41
|
+
↓
|
|
42
|
+
P3 → backlog (weekly review)
|
|
43
|
+
↓
|
|
44
|
+
Mark done → moves to done/ with date prefix
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Todo File Format
|
|
48
|
+
|
|
49
|
+
Each file follows: `# [P1] Title` → Summary → Priority Justification → Location (file:line) → Suggested Fix → Checklist (fix, test, review, merge).
|
|
50
|
+
|
|
51
|
+
## Rules
|
|
52
|
+
|
|
53
|
+
- P1 exists → merge is **blocked**
|
|
54
|
+
- P2 → warning only, recommended to resolve
|
|
55
|
+
- P3 → no blocking, backlog
|
|
56
|
+
- Weekly cleanup: review and archive completed items
|
|
57
|
+
|
|
58
|
+
## Done Criteria (K4)
|
|
59
|
+
|
|
60
|
+
- [ ] All P1 items resolved before merge
|
|
61
|
+
- [ ] P2 items reviewed and either resolved or documented
|
|
62
|
+
- [ ] index.md reflects current state
|
|
63
|
+
- [ ] Completed items archived to `done/` directory
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: seo-checklist
|
|
3
|
-
description: "SEO gotchas for web development - easy-to-miss items that hurt search ranking"
|
|
4
|
-
triggers: [seo, search, meta, sitemap, schema, structured data, og, opengraph, google, naver]
|
|
5
|
-
priority: 65
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# SEO Checklist
|
|
9
|
-
|
|
10
|
-
## Pre-check (K1)
|
|
11
|
-
|
|
12
|
-
> Is this a public-facing web page that needs search visibility? Internal tools, admin panels, and authenticated-only pages don't need SEO optimization.
|
|
13
|
-
|
|
14
|
-
## Easy-to-Miss Gotchas
|
|
15
|
-
|
|
16
|
-
### Meta & Social
|
|
17
|
-
|
|
18
|
-
| Gotcha | Why It Hurts | Fix |
|
|
19
|
-
|--------|-------------|-----|
|
|
20
|
-
| Missing `<link rel="canonical">` | Duplicate content penalty from URL variants | Set canonical on every page, including paginated |
|
|
21
|
-
| OG image wrong size | Cropped/pixelated on social share | Must be exactly **1200x630px** |
|
|
22
|
-
| Same title/description on all pages | Google treats as duplicate content | Unique title (50-60 chars) + description (150-160 chars) per page |
|
|
23
|
-
| Missing `og:type` | Defaults to "website" for articles | Set `article` for posts, `product` for products |
|
|
24
|
-
|
|
25
|
-
### Technical
|
|
26
|
-
|
|
27
|
-
| Gotcha | Why It Hurts | Fix |
|
|
28
|
-
|--------|-------------|-----|
|
|
29
|
-
| `robots.txt` blocks important pages | Pages not indexed | `Allow: /` for public, only block `/api/`, `/admin/` |
|
|
30
|
-
| No sitemap or stale sitemap | Crawler misses new pages | Auto-generate, include `<lastmod>` with real dates |
|
|
31
|
-
| `noindex` left in production | Entire site invisible | Verify `<meta name="robots">` in production build |
|
|
32
|
-
| Images without `width`/`height` | CLS layout shift penalty | Always set dimensions + `loading="lazy"` for below-fold |
|
|
33
|
-
|
|
34
|
-
### Core Web Vitals
|
|
35
|
-
|
|
36
|
-
| Metric | Target | Common Miss |
|
|
37
|
-
|--------|--------|-------------|
|
|
38
|
-
| LCP | ≤2.5s | Hero image not preloaded — add `<link rel="preload">` |
|
|
39
|
-
| INP | ≤200ms | Heavy JS on interaction — defer non-critical scripts |
|
|
40
|
-
| CLS | ≤0.1 | Dynamic content without reserved space — set `min-height` |
|
|
41
|
-
|
|
42
|
-
### Structured Data
|
|
43
|
-
|
|
44
|
-
| Gotcha | Fix |
|
|
45
|
-
|--------|-----|
|
|
46
|
-
| JSON-LD not validated | Test with Google Rich Results Test before deploy |
|
|
47
|
-
| Wrong `@type` | `Product` for products, `Article` for posts, `FAQPage` for FAQs |
|
|
48
|
-
| Missing `BreadcrumbList` | Add breadcrumb schema for all non-root pages |
|
|
49
|
-
|
|
50
|
-
## Done Criteria (K4)
|
|
51
|
-
|
|
52
|
-
- [ ] Every page has unique title, description, canonical URL
|
|
53
|
-
- [ ] OG images are 1200x630px on all shareable pages
|
|
54
|
-
- [ ] `robots.txt` and `sitemap.xml` present and correct
|
|
55
|
-
- [ ] Structured data validates in Rich Results Test
|
|
56
|
-
- [ ] Core Web Vitals green (LCP ≤2.5s, INP ≤200ms, CLS ≤0.1)
|
|
57
|
-
- [ ] No `noindex` tags in production
|
|
1
|
+
---
|
|
2
|
+
name: seo-checklist
|
|
3
|
+
description: "SEO gotchas for web development - easy-to-miss items that hurt search ranking"
|
|
4
|
+
triggers: [seo, search, meta, sitemap, schema, structured data, og, opengraph, google, naver]
|
|
5
|
+
priority: 65
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# SEO Checklist
|
|
9
|
+
|
|
10
|
+
## Pre-check (K1)
|
|
11
|
+
|
|
12
|
+
> Is this a public-facing web page that needs search visibility? Internal tools, admin panels, and authenticated-only pages don't need SEO optimization.
|
|
13
|
+
|
|
14
|
+
## Easy-to-Miss Gotchas
|
|
15
|
+
|
|
16
|
+
### Meta & Social
|
|
17
|
+
|
|
18
|
+
| Gotcha | Why It Hurts | Fix |
|
|
19
|
+
|--------|-------------|-----|
|
|
20
|
+
| Missing `<link rel="canonical">` | Duplicate content penalty from URL variants | Set canonical on every page, including paginated |
|
|
21
|
+
| OG image wrong size | Cropped/pixelated on social share | Must be exactly **1200x630px** |
|
|
22
|
+
| Same title/description on all pages | Google treats as duplicate content | Unique title (50-60 chars) + description (150-160 chars) per page |
|
|
23
|
+
| Missing `og:type` | Defaults to "website" for articles | Set `article` for posts, `product` for products |
|
|
24
|
+
|
|
25
|
+
### Technical
|
|
26
|
+
|
|
27
|
+
| Gotcha | Why It Hurts | Fix |
|
|
28
|
+
|--------|-------------|-----|
|
|
29
|
+
| `robots.txt` blocks important pages | Pages not indexed | `Allow: /` for public, only block `/api/`, `/admin/` |
|
|
30
|
+
| No sitemap or stale sitemap | Crawler misses new pages | Auto-generate, include `<lastmod>` with real dates |
|
|
31
|
+
| `noindex` left in production | Entire site invisible | Verify `<meta name="robots">` in production build |
|
|
32
|
+
| Images without `width`/`height` | CLS layout shift penalty | Always set dimensions + `loading="lazy"` for below-fold |
|
|
33
|
+
|
|
34
|
+
### Core Web Vitals
|
|
35
|
+
|
|
36
|
+
| Metric | Target | Common Miss |
|
|
37
|
+
|--------|--------|-------------|
|
|
38
|
+
| LCP | ≤2.5s | Hero image not preloaded — add `<link rel="preload">` |
|
|
39
|
+
| INP | ≤200ms | Heavy JS on interaction — defer non-critical scripts |
|
|
40
|
+
| CLS | ≤0.1 | Dynamic content without reserved space — set `min-height` |
|
|
41
|
+
|
|
42
|
+
### Structured Data
|
|
43
|
+
|
|
44
|
+
| Gotcha | Fix |
|
|
45
|
+
|--------|-----|
|
|
46
|
+
| JSON-LD not validated | Test with Google Rich Results Test before deploy |
|
|
47
|
+
| Wrong `@type` | `Product` for products, `Article` for posts, `FAQPage` for FAQs |
|
|
48
|
+
| Missing `BreadcrumbList` | Add breadcrumb schema for all non-root pages |
|
|
49
|
+
|
|
50
|
+
## Done Criteria (K4)
|
|
51
|
+
|
|
52
|
+
- [ ] Every page has unique title, description, canonical URL
|
|
53
|
+
- [ ] OG images are 1200x630px on all shareable pages
|
|
54
|
+
- [ ] `robots.txt` and `sitemap.xml` present and correct
|
|
55
|
+
- [ ] Structured data validates in Rich Results Test
|
|
56
|
+
- [ ] Core Web Vitals green (LCP ≤2.5s, INP ≤200ms, CLS ≤0.1)
|
|
57
|
+
- [ ] No `noindex` tags in production
|