@nerdev/skillset 0.2.1
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/LICENSE +21 -0
- package/README.md +351 -0
- package/bin/skillset.mjs +205 -0
- package/curations/README.md +53 -0
- package/curations/TEMPLATE/WHY.md +23 -0
- package/curations/TEMPLATE/overlay/SKILL.md +6 -0
- package/curations/impeccable/WHY.md +34 -0
- package/curations/impeccable/overlay/SKILL.md +116 -0
- package/package.json +43 -0
- package/scripts/ste-gate.mjs +39 -0
- package/scripts/ste-lint.py +201 -0
- package/scripts/sync.mjs +174 -0
- package/skills/ai-agent/agent-docs-writer/SKILL.md +105 -0
- package/skills/ai-agent/agent-docs-writer/references/principles.md +73 -0
- package/skills/ai-agent/agent-docs-writer/templates/AGENTS.template.md +44 -0
- package/skills/ai-agent/agent-docs-writer/templates/README.template.md +19 -0
- package/skills/ai-agent/ultra-context-engine/SKILL.md +941 -0
- package/skills/architecture/blueprint/SKILL.md +191 -0
- package/skills/architecture/code-tour/SKILL.md +204 -0
- package/skills/architecture/progress-guard/SKILL.md +148 -0
- package/skills/architecture/search-first/SKILL.md +97 -0
- package/skills/backend/api-design/SKILL.md +456 -0
- package/skills/backend/auth/SKILL.md +596 -0
- package/skills/backend/database/SKILL.md +431 -0
- package/skills/backend/realtime/SKILL.md +670 -0
- package/skills/backend/security/SKILL.md +590 -0
- package/skills/business/brag/SKILL.md +177 -0
- package/skills/business/brag/assets/music/README.md +20 -0
- package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-1-by-ende-dot-app.music-cues.json +3846 -0
- package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-1-by-ende-dot-app.music-cues.md +35 -0
- package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-10-by-ende-dot-app.music-cues.json +1826 -0
- package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-10-by-ende-dot-app.music-cues.md +35 -0
- package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-11-by-ende-dot-app.music-cues.json +2266 -0
- package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-11-by-ende-dot-app.music-cues.md +35 -0
- package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-12-by-ende-dot-app.music-cues.json +2806 -0
- package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-12-by-ende-dot-app.music-cues.md +35 -0
- package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-9-by-ende-dot-app.music-cues.json +2796 -0
- package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-9-by-ende-dot-app.music-cues.md +35 -0
- package/skills/business/brag/assets/music/happy-beats-business-moves-vol-1-by-ende-dot-app.mp3 +0 -0
- package/skills/business/brag/assets/music/happy-beats-business-moves-vol-10-by-ende-dot-app.mp3 +0 -0
- package/skills/business/brag/assets/music/happy-beats-business-moves-vol-11-by-ende-dot-app.mp3 +0 -0
- package/skills/business/brag/assets/music/happy-beats-business-moves-vol-12-by-ende-dot-app.mp3 +0 -0
- package/skills/business/brag/assets/music/happy-beats-business-moves-vol-9-by-ende-dot-app.mp3 +0 -0
- package/skills/business/brag/assets/sfx/casino/card-fan-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-fan-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-place-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-place-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-place-3.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-place-4.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-shove-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-shove-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-shove-3.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-shove-4.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-shuffle.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-slide-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-slide-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-slide-3.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-slide-4.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-slide-5.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-slide-6.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-slide-7.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/card-slide-8.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/cards-pack-open-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/cards-pack-open-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chip-lay-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chip-lay-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chip-lay-3.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-collide-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-collide-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-collide-3.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-collide-4.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-handle-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-handle-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-handle-3.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-handle-4.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-handle-6.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-stack-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-stack-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-stack-3.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-stack-4.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-stack-5.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/chips-stack-6.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/dice-grab-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/dice-grab-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/dice-shake-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/dice-shake-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/dice-shake-3.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/dice-throw-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/dice-throw-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/dice-throw-3.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/die-throw-1.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/die-throw-2.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/die-throw-3.ogg +0 -0
- package/skills/business/brag/assets/sfx/casino/die-throw-4.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_carpet_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_carpet_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_carpet_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_concrete_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_concrete_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_concrete_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_concrete_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_concrete_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_grass_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_grass_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_grass_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_grass_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_grass_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_snow_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_snow_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_snow_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_snow_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_snow_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_wood_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_wood_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_wood_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_wood_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/footstep_wood_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactBell_heavy_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactBell_heavy_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactBell_heavy_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactGeneric_light_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactGeneric_light_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactGeneric_light_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactGeneric_light_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactGeneric_light_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactGlass_heavy_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactGlass_light_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactGlass_light_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactGlass_light_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactGlass_medium_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactGlass_medium_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactGlass_medium_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactMetal_heavy_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactMetal_heavy_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactMetal_heavy_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactMetal_light_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactMetal_light_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactMetal_medium_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactMetal_medium_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactMetal_medium_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactMetal_medium_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactMetal_medium_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactMining_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlank_medium_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlank_medium_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlank_medium_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlank_medium_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlank_medium_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_heavy_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_heavy_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_heavy_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_heavy_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_heavy_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_light_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_light_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_light_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_light_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_light_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_medium_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_medium_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_medium_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_medium_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPlate_medium_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPunch_heavy_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPunch_heavy_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPunch_heavy_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPunch_heavy_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPunch_heavy_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPunch_medium_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPunch_medium_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPunch_medium_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPunch_medium_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactPunch_medium_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactSoft_heavy_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactSoft_heavy_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactSoft_heavy_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactSoft_heavy_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactSoft_heavy_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactSoft_medium_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactSoft_medium_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactSoft_medium_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactSoft_medium_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactSoft_medium_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactTin_medium_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactTin_medium_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactTin_medium_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactTin_medium_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactTin_medium_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_heavy_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_heavy_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_heavy_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_heavy_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_heavy_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_light_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_light_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_light_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_light_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_light_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_medium_000.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_medium_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_medium_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_medium_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/impact/impactWood_medium_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/bong_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/click_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/click_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/click_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/click_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/click_005.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/drop_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/drop_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/drop_003.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/error_005.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/error_006.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/glitch_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/glitch_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/select_008.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/switch_001.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/switch_002.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/switch_004.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/switch_005.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/switch_006.ogg +0 -0
- package/skills/business/brag/assets/sfx/interface/switch_007.ogg +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-001.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-002.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-003.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-004.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-005.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-006.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-007.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-008.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-009.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-010.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-011.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-012.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-013.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-014.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-015.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-016.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-017.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-018.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-019.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-020.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-021.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-022.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-023.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-024.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-025.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-026.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-027.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-028.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-029.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-030.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-031.wav +0 -0
- package/skills/business/brag/assets/sfx/keyboard/keypress-032.wav +0 -0
- package/skills/business/brag/assets/sfx/sfx-analysis.json +15584 -0
- package/skills/business/brag/assets/sfx/sfx-analysis.md +75 -0
- package/skills/business/brag/assets/sfx/ui/click1.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/click2.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/click3.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/click4.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/click5.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/mouseclick1.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/rollover1.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/rollover2.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/rollover4.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/rollover5.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch1.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch10.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch11.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch12.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch13.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch14.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch15.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch16.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch17.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch18.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch19.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch2.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch20.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch21.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch22.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch23.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch24.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch25.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch26.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch27.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch28.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch29.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch3.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch30.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch31.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch32.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch33.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch34.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch35.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch36.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch37.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch38.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch4.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch5.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch6.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch7.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch8.ogg +0 -0
- package/skills/business/brag/assets/sfx/ui/switch9.ogg +0 -0
- package/skills/business/brag/references/audio.md +307 -0
- package/skills/business/brag/references/step-1-inspect.md +133 -0
- package/skills/business/brag/references/step-2-plan.md +234 -0
- package/skills/business/brag/references/step-3-compose.md +210 -0
- package/skills/business/brag/references/step-4-deliver.md +168 -0
- package/skills/business/brag/references/tones.md +231 -0
- package/skills/business/brag/scripts/analyze_music_cues.py +309 -0
- package/skills/business/brag/scripts/pyproject.toml +14 -0
- package/skills/business/brag/scripts/uv.lock +819 -0
- package/skills/business/copywriting/SKILL.md +178 -0
- package/skills/business/customer-research/SKILL.md +259 -0
- package/skills/business/freelancing/SKILL.md +679 -0
- package/skills/business/launch/SKILL.md +273 -0
- package/skills/business/marketing-psychology/SKILL.md +364 -0
- package/skills/business/pricing/SKILL.md +233 -0
- package/skills/business/resume-revamp-jake-ats/SKILL.md +64 -0
- package/skills/business/startup-founder/SKILL.md +400 -0
- package/skills/business/startup-founder/references/funding.md +48 -0
- package/skills/business/startup-founder/references/further-reading.md +132 -0
- package/skills/business/startup-founder/references/gtm-tools.md +57 -0
- package/skills/business/startup-founder/references/legal-india.md +36 -0
- package/skills/business/startup-founder/references/marketing/README.md +16 -0
- package/skills/business/startup-founder/references/marketing/cold-email.md +172 -0
- package/skills/business/startup-founder/references/marketing/competitors.md +245 -0
- package/skills/business/startup-founder/references/marketing/customer-research.md +276 -0
- package/skills/business/startup-founder/references/marketing/free-tools.md +168 -0
- package/skills/business/startup-founder/references/marketing/launch.md +343 -0
- package/skills/business/startup-founder/references/marketing/marketing-plan.md +270 -0
- package/skills/business/startup-founder/references/marketing/pricing.md +237 -0
- package/skills/business/startup-founder/references/marketing/product-marketing.md +250 -0
- package/skills/business/startup-founder/references/validation.md +267 -0
- package/skills/devops/deployments/SKILL.md +339 -0
- package/skills/devops/git-ci/SKILL.md +372 -0
- package/skills/devops/performance/SKILL.md +523 -0
- package/skills/devops/testing/SKILL.md +558 -0
- package/skills/engineering/code-review/SKILL.md +149 -0
- package/skills/engineering/coding-standards/SKILL.md +229 -0
- package/skills/engineering/product-engineering/SKILL.md +219 -0
- package/skills/engineering/senior-engineer-prompts/SKILL.md +145 -0
- package/skills/engineering/tdd-workflow/SKILL.md +178 -0
- package/skills/engineering/verification-loop/SKILL.md +199 -0
- package/skills/nerdev/nerdev-abstraction/SKILL.md +412 -0
- package/skills/nerdev/nerdev-docs/SKILL.md +527 -0
- package/skills/nerdev/nerdev-docs/templates/adr-template.md +39 -0
- package/skills/nerdev/nerdev-docs/templates/contributing-template.md +140 -0
- package/skills/nerdev/nerdev-docs/templates/deploy-template.md +426 -0
- package/skills/nerdev/nerdev-docs/templates/design-template.md +105 -0
- package/skills/nerdev/nerdev-docs/templates/incident-template.md +66 -0
- package/skills/nerdev/nerdev-monorepo/SKILL.md +522 -0
- package/skills/quality/output-skill/SKILL.md +49 -0
- package/skills/quality/unslop/SKILL.md +67 -0
- package/skills/ui/animaxxing/SKILL.md +58 -0
- package/skills/ui/animaxxing/agents/openai.yaml +7 -0
- package/skills/ui/animaxxing/references/effect-restoration.md +26 -0
- package/skills/ui/animaxxing/references/motion-vocabulary.md +142 -0
- package/skills/ui/animaxxing/references/recipes/blast-off.md +119 -0
- package/skills/ui/animaxxing/references/recipes/particle-effects.md +718 -0
- package/skills/ui/animaxxing/references/recipes/particle-field.md +428 -0
- package/skills/ui/animaxxing/references/recipes/route-letters.md +205 -0
- package/skills/ui/animaxxing/references/recipes/speak-in.md +181 -0
- package/skills/ui/animaxxing/references/recipes/split-entrances.md +345 -0
- package/skills/ui/animaxxing/references/recipes/wave.md +144 -0
- package/skills/ui/animaxxing/references/text-stability.md +68 -0
- package/skills/ui/animaxxing/references/verification.md +44 -0
- package/skills/ui/ask-animation/SKILL.md +178 -0
- package/skills/ui/ask-base-ui/SKILL.md +400 -0
- package/skills/ui/ask-cmdk/SKILL.md +315 -0
- package/skills/ui/ask-command-menu/SKILL.md +262 -0
- package/skills/ui/ask-drawer/SKILL.md +235 -0
- package/skills/ui/ask-form/SKILL.md +229 -0
- package/skills/ui/ask-gsap/SKILL.md +435 -0
- package/skills/ui/ask-modal/SKILL.md +145 -0
- package/skills/ui/ask-motion/SKILL.md +339 -0
- package/skills/ui/ask-rhf/SKILL.md +388 -0
- package/skills/ui/ask-sonner/API.md +64 -0
- package/skills/ui/ask-sonner/SKILL.md +88 -0
- package/skills/ui/ask-table/SKILL.md +253 -0
- package/skills/ui/ask-tanstack-table/SKILL.md +490 -0
- package/skills/ui/ask-toast/SKILL.md +163 -0
- package/skills/ui/ask-vaul/SKILL.md +291 -0
- package/skills/ui/ask-virtual-list/SKILL.md +304 -0
- package/skills/ui/ask-virtuoso/SKILL.md +332 -0
- package/skills/ui/email-craft/SKILL.md +258 -0
- package/skills/ui/frontend-craftsmanship/SKILL.md +462 -0
- package/skills/ui/gsap-astro/SKILL.md +56 -0
- package/skills/ui/gsap-astro/agents/openai.yaml +7 -0
- package/skills/ui/gsap-astro/references/client-router-navigation.md +139 -0
- package/skills/ui/gsap-astro/references/initialization.md +87 -0
- package/skills/ui/gsap-astro/references/motion-system.md +152 -0
- package/skills/ui/gsap-astro/references/scripts-and-islands.md +65 -0
- package/skills/ui/gsap-astro/references/verification.md +44 -0
- package/skills/ui/gsap-core/SKILL.md +254 -0
- package/skills/ui/gsap-frameworks/SKILL.md +266 -0
- package/skills/ui/gsap-nextjs/SKILL.md +51 -0
- package/skills/ui/gsap-nextjs/agents/openai.yaml +7 -0
- package/skills/ui/gsap-nextjs/references/app-router-navigation.md +189 -0
- package/skills/ui/gsap-nextjs/references/initialization.md +87 -0
- package/skills/ui/gsap-nextjs/references/motion-system.md +158 -0
- package/skills/ui/gsap-nextjs/references/verification.md +40 -0
- package/skills/ui/gsap-nuxt/SKILL.md +56 -0
- package/skills/ui/gsap-nuxt/agents/openai.yaml +7 -0
- package/skills/ui/gsap-nuxt/references/initialization.md +87 -0
- package/skills/ui/gsap-nuxt/references/motion-system.md +161 -0
- package/skills/ui/gsap-nuxt/references/navigation.md +145 -0
- package/skills/ui/gsap-nuxt/references/page-transitions.md +107 -0
- package/skills/ui/gsap-nuxt/references/verification.md +42 -0
- package/skills/ui/gsap-performance/SKILL.md +79 -0
- package/skills/ui/gsap-plugins/SKILL.md +433 -0
- package/skills/ui/gsap-react/SKILL.md +136 -0
- package/skills/ui/gsap-react-router/SKILL.md +55 -0
- package/skills/ui/gsap-react-router/agents/openai.yaml +7 -0
- package/skills/ui/gsap-react-router/references/initialization.md +87 -0
- package/skills/ui/gsap-react-router/references/motion-system.md +158 -0
- package/skills/ui/gsap-react-router/references/react-router-navigation.md +165 -0
- package/skills/ui/gsap-react-router/references/route-lifetime.md +74 -0
- package/skills/ui/gsap-react-router/references/verification.md +42 -0
- package/skills/ui/gsap-scrolltrigger/SKILL.md +296 -0
- package/skills/ui/gsap-sveltekit/SKILL.md +54 -0
- package/skills/ui/gsap-sveltekit/agents/openai.yaml +7 -0
- package/skills/ui/gsap-sveltekit/references/initialization.md +87 -0
- package/skills/ui/gsap-sveltekit/references/motion-system.md +156 -0
- package/skills/ui/gsap-sveltekit/references/page-lifetime.md +63 -0
- package/skills/ui/gsap-sveltekit/references/sveltekit-navigation.md +160 -0
- package/skills/ui/gsap-sveltekit/references/verification.md +41 -0
- package/skills/ui/gsap-tanstack-router/SKILL.md +56 -0
- package/skills/ui/gsap-tanstack-router/agents/openai.yaml +7 -0
- package/skills/ui/gsap-tanstack-router/references/initialization.md +87 -0
- package/skills/ui/gsap-tanstack-router/references/motion-system.md +160 -0
- package/skills/ui/gsap-tanstack-router/references/route-lifetime.md +66 -0
- package/skills/ui/gsap-tanstack-router/references/tanstack-navigation.md +156 -0
- package/skills/ui/gsap-tanstack-router/references/verification.md +41 -0
- package/skills/ui/gsap-timeline/SKILL.md +107 -0
- package/skills/ui/gsap-utils/SKILL.md +284 -0
- package/skills/ui/gsap-vanilla/SKILL.md +63 -0
- package/skills/ui/gsap-vanilla/agents/openai.yaml +7 -0
- package/skills/ui/gsap-vanilla/references/cross-document-navigation.md +54 -0
- package/skills/ui/gsap-vanilla/references/initialization.md +87 -0
- package/skills/ui/gsap-vanilla/references/motion-system.md +150 -0
- package/skills/ui/gsap-vanilla/references/page-load.md +96 -0
- package/skills/ui/gsap-vanilla/references/spa-navigation.md +70 -0
- package/skills/ui/gsap-vanilla/references/verification.md +41 -0
- package/skills/ui/house-style/SKILL.md +366 -0
- package/skills/ui/imagegen/SKILL.md +49 -0
- package/skills/ui/imagegen/references/brandkit.md +48 -0
- package/skills/ui/imagegen/references/image-to-code.md +56 -0
- package/skills/ui/imagegen/references/mobile.md +58 -0
- package/skills/ui/imagegen/references/web.md +63 -0
- package/skills/ui/impeccable/SKILL.md +116 -0
- package/skills/ui/impeccable/reference/adapt.md +318 -0
- package/skills/ui/impeccable/reference/adapt.native.md +58 -0
- package/skills/ui/impeccable/reference/android.md +46 -0
- package/skills/ui/impeccable/reference/animate.md +89 -0
- package/skills/ui/impeccable/reference/audit.md +137 -0
- package/skills/ui/impeccable/reference/audit.native.md +139 -0
- package/skills/ui/impeccable/reference/bolder.md +33 -0
- package/skills/ui/impeccable/reference/clarify.md +94 -0
- package/skills/ui/impeccable/reference/colorize.md +86 -0
- package/skills/ui/impeccable/reference/craft-floor.md +44 -0
- package/skills/ui/impeccable/reference/craft.md +5 -0
- package/skills/ui/impeccable/reference/critique.md +806 -0
- package/skills/ui/impeccable/reference/degraded/asset-producer.md +37 -0
- package/skills/ui/impeccable/reference/degraded/documenter.md +24 -0
- package/skills/ui/impeccable/reference/degraded/finish-reviewer.md +38 -0
- package/skills/ui/impeccable/reference/degraded/manual-edit-applier.md +92 -0
- package/skills/ui/impeccable/reference/delight.md +70 -0
- package/skills/ui/impeccable/reference/distill.md +111 -0
- package/skills/ui/impeccable/reference/doctor.md +54 -0
- package/skills/ui/impeccable/reference/document.md +416 -0
- package/skills/ui/impeccable/reference/extract.md +69 -0
- package/skills/ui/impeccable/reference/generate.md +101 -0
- package/skills/ui/impeccable/reference/harden.md +345 -0
- package/skills/ui/impeccable/reference/hooks.md +111 -0
- package/skills/ui/impeccable/reference/init.md +131 -0
- package/skills/ui/impeccable/reference/ios.md +51 -0
- package/skills/ui/impeccable/reference/layout.md +84 -0
- package/skills/ui/impeccable/reference/live-setup.md +104 -0
- package/skills/ui/impeccable/reference/live.md +325 -0
- package/skills/ui/impeccable/reference/new-work.md +145 -0
- package/skills/ui/impeccable/reference/onboard.md +234 -0
- package/skills/ui/impeccable/reference/operate.md +61 -0
- package/skills/ui/impeccable/reference/optimize.md +258 -0
- package/skills/ui/impeccable/reference/overdrive.md +127 -0
- package/skills/ui/impeccable/reference/polish.md +105 -0
- package/skills/ui/impeccable/reference/quieter.md +99 -0
- package/skills/ui/impeccable/reference/routing.md +24 -0
- package/skills/ui/impeccable/reference/shape.md +59 -0
- package/skills/ui/impeccable/reference/typeset.md +80 -0
- package/skills/ui/impeccable/reference/visualize.md +46 -0
- package/skills/ui/impeccable/scripts/VERSION +1 -0
- package/skills/ui/impeccable/scripts/command-metadata.json +98 -0
- package/skills/ui/impeccable/scripts/data/font-index-failures.json +121 -0
- package/skills/ui/impeccable/scripts/data/font-index.json +1 -0
- package/skills/ui/impeccable/scripts/impeccable +206 -0
- package/skills/ui/impeccable/scripts/impeccable.cmd +214 -0
- package/skills/ui/impeccable/scripts/live-browser-dom.js +167 -0
- package/skills/ui/impeccable/scripts/live-browser-ignores.js +242 -0
- package/skills/ui/impeccable/scripts/live-browser-session.js +144 -0
- package/skills/ui/impeccable/scripts/live-browser.js +13510 -0
- package/skills/ui/impeccable/scripts/modern-screenshot.umd.js +14 -0
- package/skills/ui/motion/SKILL.md +207 -0
- package/skills/ui/pick-ui-library/SKILL.md +85 -0
- package/skills/ui/product-messaging/SKILL.md +163 -0
- package/skills/ui/product-site/SKILL.md +465 -0
- package/skills/ui/prototype/PICKER.md +197 -0
- package/skills/ui/prototype/SKILL.md +98 -0
- package/skills/ui/refero-design/SKILL.md +534 -0
- package/skills/ui/refero-design/agents/openai.yaml +4 -0
- package/skills/ui/refero-design/references/anti-ai-slop.md +292 -0
- package/skills/ui/refero-design/references/color.md +563 -0
- package/skills/ui/refero-design/references/copywriting.md +222 -0
- package/skills/ui/refero-design/references/craft-details.md +525 -0
- package/skills/ui/refero-design/references/example-workflow.md +264 -0
- package/skills/ui/refero-design/references/icons.md +166 -0
- package/skills/ui/refero-design/references/mcp-tools.md +258 -0
- package/skills/ui/refero-design/references/motion.md +504 -0
- package/skills/ui/refero-design/references/typography.md +737 -0
- package/skills/ui/refero-design/references/visual-workflow.md +105 -0
- package/skills/ui/style-animaxxing/SKILL.md +48 -0
- package/skills/ui/style-animaxxing/agents/openai.yaml +7 -0
- package/skills/ui/style-animaxxing/references/motion-vocabulary.md +51 -0
- package/skills/ui/style-animaxxing/references/tokens.md +288 -0
- package/skills/ui/style-animaxxing/references/typography-and-layout.md +149 -0
- package/skills/ui/style-animaxxing/references/verification.md +38 -0
- package/skills/ui/typography-picker/SKILL.md +305 -0
- package/skills/ui/ui-core/SKILL.md +345 -0
- package/skills/ui/ui-core/references/accessibility.md +85 -0
- package/skills/ui/ui-core/references/build.md +666 -0
- package/skills/ui/ui-core/references/copy.md +70 -0
- package/skills/ui/ui-core/references/dark-mode.md +76 -0
- package/skills/ui/ui-core/references/direction.md +99 -0
- package/skills/ui/ui-core/references/redesign.md +74 -0
- package/skills/ui/ui-core/references/responsive.md +77 -0
- package/skills/ui/ui-core/references/styles.md +42 -0
- package/skills/ui/ui-core/references/system.md +190 -0
- package/skills/ui/ui-core/references/verify.md +37 -0
- package/skills/ui/ui-engineering/SKILL.md +436 -0
- package/skills/ui/ui-engineering/references/avatars.md +74 -0
- package/skills/ui/ui-engineering/references/card-patterns.md +66 -0
- package/skills/ui/ui-engineering/references/floating-actions.md +65 -0
- package/skills/ui/ui-engineering/references/navigation.md +81 -0
- package/skills/ui/ui-engineering/references/overlays.md +74 -0
- package/skills/ui/ui-engineering/references/pagination.md +71 -0
- package/skills/ui/ui-engineering/references/progress-indicators.md +77 -0
- package/skills/ui/ui-engineering/references/quality-bar.md +293 -0
- package/skills/ui/ui-engineering/references/search.md +68 -0
- package/skills/ui/ui-engineering/references/tailwind-architecture.md +81 -0
- package/skills/ui/ui-theme-picker/SKILL.md +522 -0
- package/skills/ui/ui-theme-picker/references/component-sources.md +223 -0
- package/skills/ui/ui-theme-picker/references/styles.md +298 -0
- package/skills/ui/vitepress-docs/SKILL.md +439 -0
- package/skills/ui/vitepress-docs/references/components.md +333 -0
- package/skills/ui/vitepress-docs/references/layout.md +128 -0
- package/skills/ui/vitepress-docs/references/tokens.md +87 -0
- package/skills/ui/vitepress-docs/references/typography.md +76 -0
- package/skills/workflow/careful/SKILL.md +48 -0
- package/skills/workflow/context-restore/SKILL.md +69 -0
- package/skills/workflow/context-save/SKILL.md +96 -0
- package/skills/workflow/health/SKILL.md +99 -0
- package/skills/workflow/learn/SKILL.md +95 -0
- package/skills/workflow/office-hours/SKILL.md +136 -0
- package/skills/workflow/ship/SKILL.md +95 -0
- package/vendor.json +80 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: blueprint
|
|
3
|
+
category: architecture
|
|
4
|
+
source: ECC (adapted)
|
|
5
|
+
description: "Multi-PR construction plans with adversarial review. Load when planning complex features or breaking work into steps."
|
|
6
|
+
|
|
7
|
+
# Blueprint
|
|
8
|
+
|
|
9
|
+
**When to use:** Planning complex features, breaking work into PRs, creating implementation plans with review gates.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## What It Does
|
|
13
|
+
|
|
14
|
+
Turns a one-line objective into a multi-PR construction plan with self-contained step briefs so any agent can execute any step cold.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Process
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
1. Define objective (one line)
|
|
21
|
+
2. Research codebase (understand current state)
|
|
22
|
+
3. Break into steps (each step = one PR)
|
|
23
|
+
4. Adversarial review (strongest model reviews plan)
|
|
24
|
+
5. Generate step briefs (self-contained instructions)
|
|
25
|
+
6. Execute with checkpoints
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## Step Brief Format
|
|
30
|
+
|
|
31
|
+
Each step gets a self-contained brief:
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
## Step 3: Add User Authentication
|
|
35
|
+
|
|
36
|
+
### Objective
|
|
37
|
+
Implement JWT-based authentication with refresh tokens.
|
|
38
|
+
|
|
39
|
+
### Files to Create/Modify
|
|
40
|
+
- `packages/core/auth/jwt.ts` (create)
|
|
41
|
+
- `packages/core/auth/middleware.ts` (create)
|
|
42
|
+
- `apps/http-backend/src/routes/auth.ts` (modify)
|
|
43
|
+
- `apps/http-backend/src/middleware/auth.ts` (create)
|
|
44
|
+
|
|
45
|
+
### Dependencies
|
|
46
|
+
- Step 1 (database schema) must be complete
|
|
47
|
+
- Step 2 (user model) must be complete
|
|
48
|
+
|
|
49
|
+
### Implementation Details
|
|
50
|
+
1. Create JWT utilities in `packages/core/auth/jwt.ts`
|
|
51
|
+
2. Add auth middleware to `apps/http-backend/src/middleware/auth.ts`
|
|
52
|
+
3. Create auth routes in `apps/http-backend/src/routes/auth.ts`
|
|
53
|
+
4. Protect existing routes with auth middleware
|
|
54
|
+
|
|
55
|
+
### Verification
|
|
56
|
+
- [ ] Unit tests for JWT utilities
|
|
57
|
+
- [ ] Integration tests for auth routes
|
|
58
|
+
- [ ] Protected routes return 401 without token
|
|
59
|
+
- [ ] Refresh token rotation works
|
|
60
|
+
|
|
61
|
+
### Rollback Plan
|
|
62
|
+
- Revert auth middleware changes
|
|
63
|
+
- Remove auth routes
|
|
64
|
+
- Database schema unchanged (Step 1)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## Adversarial Review
|
|
69
|
+
|
|
70
|
+
Before executing, have a stronger model review the plan:
|
|
71
|
+
|
|
72
|
+
### Review Checklist
|
|
73
|
+
- [ ] Are steps in correct order?
|
|
74
|
+
- [ ] Are dependencies clear?
|
|
75
|
+
- [ ] Are verification criteria specific?
|
|
76
|
+
- [ ] Are rollback plans realistic?
|
|
77
|
+
- [ ] Is scope appropriate per step?
|
|
78
|
+
- [ ] Are there hidden complexity bombs?
|
|
79
|
+
|
|
80
|
+
### Review Output
|
|
81
|
+
```markdown
|
|
82
|
+
## Plan Review
|
|
83
|
+
|
|
84
|
+
### Issues Found
|
|
85
|
+
1. Step 3 depends on Step 5 (circular dependency)
|
|
86
|
+
- Fix: Move Step 5 before Step 3
|
|
87
|
+
|
|
88
|
+
2. Step 4 scope too large (300+ lines)
|
|
89
|
+
- Fix: Split into Step 4a and Step 4b
|
|
90
|
+
|
|
91
|
+
### Recommendations
|
|
92
|
+
- Add performance testing to Step 6
|
|
93
|
+
- Consider database migration rollback in Step 1
|
|
94
|
+
|
|
95
|
+
### Verdict: NEEDS REVISION
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
## Plan Mutation Protocol
|
|
100
|
+
|
|
101
|
+
Plans change. When they do:
|
|
102
|
+
|
|
103
|
+
### Split
|
|
104
|
+
When a step is too large:
|
|
105
|
+
```markdown
|
|
106
|
+
## Step 4a: User Registration
|
|
107
|
+
[original step content]
|
|
108
|
+
|
|
109
|
+
## Step 4b: User Login
|
|
110
|
+
[new step content]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Insert
|
|
114
|
+
When new work is discovered:
|
|
115
|
+
```markdown
|
|
116
|
+
## Step 3.5: Add Email Validation
|
|
117
|
+
[inserted step with clear dependency on Step 3]
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Skip
|
|
121
|
+
When work is no longer needed:
|
|
122
|
+
```markdown
|
|
123
|
+
## Step 6: ~~Add CSV Export~~ (SKIPPED)
|
|
124
|
+
Reason: Feature deprioritized in favor of API access
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Reorder
|
|
128
|
+
When dependencies change:
|
|
129
|
+
```markdown
|
|
130
|
+
## Step 5: ~~Add Caching~~ (MOVED to Step 3)
|
|
131
|
+
Reason: Performance critical, should be implemented earlier
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Each mutation gets an audit trail entry.
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
## Branch/PR Workflow
|
|
138
|
+
|
|
139
|
+
Each step becomes a PR:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Step 1
|
|
143
|
+
git checkout -b feat/user-schema
|
|
144
|
+
# ... implement ...
|
|
145
|
+
git commit -m "feat(db): add user schema"
|
|
146
|
+
git push -u origin feat/user-schema
|
|
147
|
+
gh pr create --base main --title "Step 1: User Schema"
|
|
148
|
+
|
|
149
|
+
# Step 2
|
|
150
|
+
git checkout -b feat/user-model
|
|
151
|
+
# ... implement ...
|
|
152
|
+
git commit -m "feat(core): add user model"
|
|
153
|
+
git push -u origin feat/user-model
|
|
154
|
+
gh pr create --base main --title "Step 2: User Model"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### PR Naming Convention
|
|
158
|
+
```
|
|
159
|
+
Step N: [Brief description]
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Examples:
|
|
163
|
+
- `Step 1: User Schema`
|
|
164
|
+
- `Step 2: User Model`
|
|
165
|
+
- `Step 3: JWT Authentication`
|
|
166
|
+
- `Step 4a: User Registration`
|
|
167
|
+
- `Step 4b: User Login`
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
## Quick Commands
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
# Create new blueprint
|
|
174
|
+
echo "## Objective: [one line description]" > blueprint.md
|
|
175
|
+
|
|
176
|
+
# Review plan
|
|
177
|
+
# (use strongest available model)
|
|
178
|
+
|
|
179
|
+
# Create branch for step
|
|
180
|
+
git checkout -b feat/step-N-description
|
|
181
|
+
|
|
182
|
+
# Create PR
|
|
183
|
+
gh pr create --base main --title "Step N: Description"
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
## Related Skills
|
|
188
|
+
|
|
189
|
+
- `nerdev/nerdev-docs` - Design docs and ADRs
|
|
190
|
+
- `devops/git-ci` - PR workflow and CI
|
|
191
|
+
- `architecture/search-first` - Research before planning
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-tour
|
|
3
|
+
category: architecture
|
|
4
|
+
source: ECC (adapted)
|
|
5
|
+
description: "Guided codebase walkthroughs for onboarding. Load when onboarding new team members or documenting architecture."
|
|
6
|
+
|
|
7
|
+
# Code Tour
|
|
8
|
+
|
|
9
|
+
**When to use:** Onboarding new team members, documenting architecture, creating guided walkthroughs, explaining complex systems.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## What It Does
|
|
13
|
+
|
|
14
|
+
Creates guided, step-by-step codebase walkthroughs with real file and line anchors. Each tour is tailored to a specific persona.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Personas
|
|
18
|
+
|
|
19
|
+
| Persona | Focus | Depth |
|
|
20
|
+
|---------|-------|-------|
|
|
21
|
+
| `new-joiner` | How to get started, where things are | High-level overview |
|
|
22
|
+
| `vibecoder` | Quick implementation patterns | Practical examples |
|
|
23
|
+
| `architect` | System design, trade-offs | Deep analysis |
|
|
24
|
+
| `pr-reviewer` | What to check, common issues | Focused checklist |
|
|
25
|
+
| `rca-investigator` | Debugging, logs, failure modes | Investigation paths |
|
|
26
|
+
| `security-reviewer` | Attack surfaces, auth flows | Security-focused |
|
|
27
|
+
| `feature-explainer` | How a specific feature works | Feature-focused |
|
|
28
|
+
| `bug-fixer` | How to debug, where to look | Problem-solving |
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## Tour Structure
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
# Code Tour: [System Name]
|
|
35
|
+
|
|
36
|
+
**Persona:** [target persona]
|
|
37
|
+
**Last Updated:** [date]
|
|
38
|
+
**Estimated Time:** [X minutes]
|
|
39
|
+
|
|
40
|
+
## Orientation
|
|
41
|
+
[What is this system? What does it do?]
|
|
42
|
+
|
|
43
|
+
## Module Map
|
|
44
|
+
[High-level diagram of components]
|
|
45
|
+
|
|
46
|
+
## Core Path
|
|
47
|
+
[The most important code path, step by step]
|
|
48
|
+
|
|
49
|
+
## Edge Cases
|
|
50
|
+
[Where things get tricky]
|
|
51
|
+
|
|
52
|
+
## Next Move
|
|
53
|
+
[What to explore after this tour]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
## Writing Style: SMIG Rule
|
|
58
|
+
|
|
59
|
+
Every section follows:
|
|
60
|
+
|
|
61
|
+
- **S**ituation - What's happening?
|
|
62
|
+
- **M**echanism - How does it work?
|
|
63
|
+
- **I**mplication - Why does it matter?
|
|
64
|
+
- **G**otcha - What to watch out for?
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
## Authentication Flow
|
|
68
|
+
|
|
69
|
+
**Situation:** Users need to authenticate before accessing protected routes.
|
|
70
|
+
|
|
71
|
+
**Mechanism:** JWT tokens with refresh rotation. Short-lived access tokens (15min)
|
|
72
|
+
stored in memory, long-lived refresh tokens (7 days) stored in httpOnly cookies.
|
|
73
|
+
|
|
74
|
+
**Implication:** No token storage in localStorage (XSS safe), but requires
|
|
75
|
+
server-side session table for revocation.
|
|
76
|
+
|
|
77
|
+
**Gotcha:** Refresh token rotation means each use invalidates the previous token.
|
|
78
|
+
If a user has multiple tabs open, only the most recent tab stays authenticated.
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
## Tour Example: New Joiner
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
# Code Tour: E-Commerce Platform
|
|
86
|
+
|
|
87
|
+
**Persona:** new-joiner
|
|
88
|
+
**Last Updated:** 2026-08-13
|
|
89
|
+
**Estimated Time:** 20 minutes
|
|
90
|
+
|
|
91
|
+
## Orientation
|
|
92
|
+
|
|
93
|
+
This is a monorepo with 3 apps:
|
|
94
|
+
- `apps/web` - Customer-facing storefront (Next.js)
|
|
95
|
+
- `apps/admin` - Internal admin panel (React)
|
|
96
|
+
- `apps/api` - Backend API (Node.js + Express)
|
|
97
|
+
|
|
98
|
+
## Module Map
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
apps/
|
|
102
|
+
├── web/ # Customer UI
|
|
103
|
+
├── admin/ # Admin UI
|
|
104
|
+
└── api/ # Backend
|
|
105
|
+
packages/
|
|
106
|
+
├── ui/ # Shared components
|
|
107
|
+
├── db/ # Database schema
|
|
108
|
+
└── common/ # Shared utilities
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Core Path: User Places Order
|
|
112
|
+
|
|
113
|
+
1. **Cart → Checkout** (`apps/web/src/pages/checkout.tsx:45`)
|
|
114
|
+
- User clicks "Proceed to Checkout"
|
|
115
|
+
- Redirects to `/checkout` with cart items in state
|
|
116
|
+
|
|
117
|
+
2. **Payment Processing** (`apps/api/src/routes/payments.ts:23`)
|
|
118
|
+
- Stripe integration for payment
|
|
119
|
+
- Creates payment intent, returns client secret
|
|
120
|
+
|
|
121
|
+
3. **Order Creation** (`apps/api/src/routes/orders.ts:67`)
|
|
122
|
+
- Validates inventory
|
|
123
|
+
- Creates order in database
|
|
124
|
+
- Sends confirmation email
|
|
125
|
+
|
|
126
|
+
4. **Order Confirmation** (`apps/web/src/pages/order-confirmation.tsx:12`)
|
|
127
|
+
- Shows order summary
|
|
128
|
+
- Provides tracking information
|
|
129
|
+
|
|
130
|
+
## Edge Cases
|
|
131
|
+
|
|
132
|
+
- **Inventory Race Condition** (`apps/api/src/services/inventory.ts:89`)
|
|
133
|
+
- Two users buy last item simultaneously
|
|
134
|
+
- Optimistic locking prevents overselling
|
|
135
|
+
|
|
136
|
+
- **Payment Failure** (`apps/api/src/routes/payments.ts:156`)
|
|
137
|
+
- If payment fails after order creation
|
|
138
|
+
- Order marked as "payment_failed", inventory released
|
|
139
|
+
|
|
140
|
+
## Next Move
|
|
141
|
+
|
|
142
|
+
After this tour, explore:
|
|
143
|
+
1. `apps/api/src/middleware/` - How requests are authenticated
|
|
144
|
+
2. `packages/db/prisma/schema.prisma` - Data model
|
|
145
|
+
3. `apps/web/src/hooks/` - React hooks for data fetching
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
## Code Annotations for Tours
|
|
150
|
+
|
|
151
|
+
Mark important code with annotations:
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
/**
|
|
155
|
+
* @tour [tour-name] - [step-number]: [brief description]
|
|
156
|
+
* @tour-persona new-joiner, architect
|
|
157
|
+
* @tour-gotcha Watch out for race condition here
|
|
158
|
+
*/
|
|
159
|
+
export async function processOrder(orderId: string): Promise<Order> {
|
|
160
|
+
// ...
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
## Generating Tours
|
|
166
|
+
|
|
167
|
+
### From Code
|
|
168
|
+
```bash
|
|
169
|
+
# Generate tour from code structure
|
|
170
|
+
find . -name "*.ts" -o -name "*.tsx" | head -20
|
|
171
|
+
|
|
172
|
+
# Identify main entry points
|
|
173
|
+
grep -r "export default\|export function" --include="*.ts" --include="*.tsx"
|
|
174
|
+
|
|
175
|
+
# Find important patterns
|
|
176
|
+
grep -r "@tour\|@important\|@gotcha" --include="*.ts" --include="*.tsx"
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### From Issues
|
|
180
|
+
Look at past incidents and bugs - they reveal:
|
|
181
|
+
- Complex code paths
|
|
182
|
+
- Common failure modes
|
|
183
|
+
- Areas needing documentation
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
## Quick Commands
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
# Create new tour
|
|
190
|
+
echo "# Code Tour: [System Name]" > CODE_TOUR.md
|
|
191
|
+
|
|
192
|
+
# Add annotations to code
|
|
193
|
+
# Add @tour comments to important functions
|
|
194
|
+
|
|
195
|
+
# Update tour after changes
|
|
196
|
+
# Keep file references and line numbers current
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
## Related Skills
|
|
201
|
+
|
|
202
|
+
- `nerdev/nerdev-docs` - Documentation patterns
|
|
203
|
+
- `architecture/blueprint` - Implementation planning
|
|
204
|
+
- `ai-agent/agent-docs-writer` - AI agent guidance
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: progress-guard
|
|
3
|
+
description: "Use whenever the user does setup work while a main project (the current SHIP thread) has code work pending. Setup work includes: docs, curation, planning, skill-collecting, repo organization, and interview-script rewrites. Trigger on \"let me first update the docs\", \"just reorganizing\", \"saw this new skill/library, let me plan around it\", project-switching after an external event (interview questions, someone's comment, a new idea), or any session where the user describes feeling stuck on the main project. Detects motion vs progress. Checks whether the current activity advances the SHIP thread. Redirects to one concrete next action on the real project."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Progress Guard
|
|
7
|
+
|
|
8
|
+
The user's known failure mode, documented from experience: when a main
|
|
9
|
+
project gets hard or scary, attention flees into "useful-looking"
|
|
10
|
+
work. Docs rewrites, skill curation, planning, and scripts that
|
|
11
|
+
describe the project instead of building it all count. This looks like
|
|
12
|
+
progress, feels like progress, and produces none. The user shipped
|
|
13
|
+
real projects with AI (modheshwari, CoDraw). The next one (playmesh)
|
|
14
|
+
stalled for exactly this reason.
|
|
15
|
+
|
|
16
|
+
## Current SHIP thread (recorded, dated)
|
|
17
|
+
|
|
18
|
+
- **playmesh**. Direction decided by the user (2026-08-17): P2P-no-server
|
|
19
|
+
WebRTC first (never worked with WebRTC), renderer (canvas/WebGL)
|
|
20
|
+
second, original game third. The "stand out from stack" layer is the
|
|
21
|
+
new thing, not bun/ws/microservices (already proven in
|
|
22
|
+
CoDraw/modheshwari). No external audience. Intrinsic fuel. Do not
|
|
23
|
+
force an audience. Anchor sessions to this order. When the user
|
|
24
|
+
drifts to docs/curation/other projects, re-anchor here with one
|
|
25
|
+
concrete step (e.g. two-tab WebRTC hello demo).
|
|
26
|
+
|
|
27
|
+
## The pattern to recognize
|
|
28
|
+
|
|
29
|
+
Distinguish **motion** (activity that feels productive) from
|
|
30
|
+
**progress** (activity that advances the SHIP thread):
|
|
31
|
+
|
|
32
|
+
Motion:
|
|
33
|
+
- Writing or rewriting docs, READMEs, architecture notes, whiteboard
|
|
34
|
+
scripts.
|
|
35
|
+
- Curating skills, collecting libraries, watching or hand-picking
|
|
36
|
+
tools, planning the skill or repo.
|
|
37
|
+
- Repo organization, setup refactoring, environment or tooling
|
|
38
|
+
rabbit holes.
|
|
39
|
+
- Switching projects because something external poked (an interview
|
|
40
|
+
question about another project, someone praised or doubted one, a new
|
|
41
|
+
idea arrived).
|
|
42
|
+
- Re-planning instead of executing: new roadmap files, fresh task lists
|
|
43
|
+
for the same old work.
|
|
44
|
+
|
|
45
|
+
Progress:
|
|
46
|
+
- One concrete unit of the SHIP thread's product actually built,
|
|
47
|
+
tested, or shipped.
|
|
48
|
+
- Code written that the product's users will touch.
|
|
49
|
+
- A decision made (with reasoning) that the code is now executing on.
|
|
50
|
+
|
|
51
|
+
## The recognized external-trigger loop
|
|
52
|
+
|
|
53
|
+
Specific documented loop: external event (e.g. someone says
|
|
54
|
+
"modheshwari is your best project, discuss it") -> freeze (cannot
|
|
55
|
+
explain under pressure) -> immediate escape into docs for that project
|
|
56
|
+
("so the pain point gets resolved") -> project queue reset to whoever
|
|
57
|
+
poked last. The docs are armor against a fear of explaining own work
|
|
58
|
+
without notes. Fix the fear, not the docs.
|
|
59
|
+
|
|
60
|
+
If the user reports a freeze moment like this, the intervention is a
|
|
61
|
+
**rehearsal**, not more docs: hand the user's own script to an agent
|
|
62
|
+
and have it grill them as an interviewer, escalating, no script in
|
|
63
|
+
front of them, 20 minutes. Do not offer doc-writing as the resolution.
|
|
64
|
+
|
|
65
|
+
## The curated-only trap (second documented failure mode)
|
|
66
|
+
|
|
67
|
+
When the user imports
|
|
68
|
+
every tool and design decision in the project from a
|
|
69
|
+
top-tier source (best-practice skills, the "correct" architecture, the
|
|
70
|
+
recommended library), the project loses the user's identity. The user
|
|
71
|
+
loses the ability to explain why the architecture looks like this from
|
|
72
|
+
first principles. That also blocks progress on the main project: when
|
|
73
|
+
nothing is "yours", there is nothing to defend, so the project feels
|
|
74
|
+
unreal.
|
|
75
|
+
|
|
76
|
+
Intervention: require **one consciously-chosen divergence per project**.
|
|
77
|
+
One place where the user deviates from the common answer on purpose,
|
|
78
|
+
with one line of reasoning ("most projects do X; I do Y because
|
|
79
|
+
<reason>"). Help name it if needed. It becomes the interview story and
|
|
80
|
+
the motivation to keep building.
|
|
81
|
+
|
|
82
|
+
## The delegated-thinking trap (third documented failure mode)
|
|
83
|
+
|
|
84
|
+
Boundary: the user offloads the *doing* to AI freely, but never the
|
|
85
|
+
*deciding*. When design decisions, architecture reasoning, or
|
|
86
|
+
plan-shaping goes to the agent wholesale, the project stops being
|
|
87
|
+
the user's. Nothing to defend, nothing committed, and momentum dies
|
|
88
|
+
(documented: playmesh, 5 days stuck after delegating the thinking). A
|
|
89
|
+
user cannot build what they did not decide to build.
|
|
90
|
+
|
|
91
|
+
Hard rules for agents in any session:
|
|
92
|
+
1. **Present decisions, do not make them.** Options with one-line
|
|
93
|
+
tradeoffs. The user picks. "Which?" not "I will do X."
|
|
94
|
+
2. **Ask for the user's opinion first** on anything that shapes the
|
|
95
|
+
product (architecture, scope, UX, what to build next) before
|
|
96
|
+
offering a recommendation.
|
|
97
|
+
3. **Surface uncertainty, do not resolve it.** If the agent notices an
|
|
98
|
+
ambiguous requirement, ask. Filling gaps silently converts the
|
|
99
|
+
user's project into the agent's project.
|
|
100
|
+
4. **Design docs and plans must contain the user's stated reasons**,
|
|
101
|
+
not paraphrased AI reasoning. If a decision lacks the user's input,
|
|
102
|
+
stop and get it.
|
|
103
|
+
5. **No delegated "thinking deliverables"** (AI-written architecture
|
|
104
|
+
docs, AI-chosen roadmaps) unless explicitly requested. When
|
|
105
|
+
requested, they get marked as drafts the user must amend, not final.
|
|
106
|
+
|
|
107
|
+
> The user's stated anti-pattern in their own words: "don't let me
|
|
108
|
+
> allocate thinking also to AI, this happened in playmesh and I was
|
|
109
|
+
> stuck for 5 days." If the session shows the user deferring decisions
|
|
110
|
+
> to the agent, this rule is how the agent refuses that deferral.
|
|
111
|
+
|
|
112
|
+
## Protocol: when the skill fires
|
|
113
|
+
|
|
114
|
+
1. **Check the "why" of the current task.** Ask (mentally or to the
|
|
115
|
+
user): does this make the SHIP thread's product more real? If the
|
|
116
|
+
user says "I'm just keeping things organized / prepping", flag it,
|
|
117
|
+
do not comply immediately.
|
|
118
|
+
2. **Name the escape.** Say plainly what is happening: this is
|
|
119
|
+
docs/curation/planning, it is motion. That is the documented
|
|
120
|
+
pattern, it is fine to feel pulled, but it is not progress. Be
|
|
121
|
+
brief, non-judgmental, matter-of-fact.
|
|
122
|
+
3. **Offer one concrete next code action** on the SHIP thread. Not a
|
|
123
|
+
plan. The single smallest real unit you can write, run, or
|
|
124
|
+
test in the next hour. E.g. "trade one live move in chess between
|
|
125
|
+
two browser tabs". A shipped micro-inch beats a finished roadmap.
|
|
126
|
+
4. **Only after that** (or if the user insists), allow a bounded
|
|
127
|
+
doc/curation session: explicitly time-box it (e.g. 25 minutes, one
|
|
128
|
+
file) and re-anchor to the SHIP thread when it ends. Never let the
|
|
129
|
+
session end on motion.
|
|
130
|
+
5. **If the user is switching projects after an external trigger**,
|
|
131
|
+
stop and ask: "did something happen, or did you choose this?" Only
|
|
132
|
+
a chosen switch counts. If it is a reaction, offer to rehearse the
|
|
133
|
+
feared moment (interview style) instead of escaping into the other
|
|
134
|
+
project.
|
|
135
|
+
|
|
136
|
+
## Stack-rank reframe (when user has many threads)
|
|
137
|
+
|
|
138
|
+
One money thread (SHIP), one growth thread (GROW), one maintenance
|
|
139
|
+
thread (PARK-able). Everything else parked. Parked means a 3-line state
|
|
140
|
+
note, then closed. The user's docs habit makes parking safe: notes are
|
|
141
|
+
the archive, the thread is off the clock.
|
|
142
|
+
|
|
143
|
+
## Success criteria
|
|
144
|
+
|
|
145
|
+
The session ends with: one real unit of the SHIP project built, or the
|
|
146
|
+
freeze moment rehearsed. Not with new docs, new curated lists, or a
|
|
147
|
+
rewritten plan. And every decision that shaped the session's work was
|
|
148
|
+
the user's, not the agent's.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: search-first
|
|
3
|
+
category: architecture
|
|
4
|
+
source: ECC (adapted)
|
|
5
|
+
description: "Research-before-coding workflow. Load before implementing new features to find existing solutions."
|
|
6
|
+
|
|
7
|
+
# Search First
|
|
8
|
+
|
|
9
|
+
Load before implementing any new feature, adding dependencies, or solving a problem that might already have a solution.
|
|
10
|
+
|
|
11
|
+
## Decision Matrix
|
|
12
|
+
|
|
13
|
+
| Option | When to use | Effort | Risk |
|
|
14
|
+
|--------|-------------|--------|------|
|
|
15
|
+
| Adopt | Existing library does exactly what you need | Low | Low |
|
|
16
|
+
| Extend | Existing library does 80% of what you need | Medium | Medium |
|
|
17
|
+
| Compose | Multiple small libraries can be combined | Medium | Low |
|
|
18
|
+
| Build | No existing solution fits, or you need full control | High | High |
|
|
19
|
+
|
|
20
|
+
## Search Process
|
|
21
|
+
|
|
22
|
+
### 1. Define Requirements
|
|
23
|
+
|
|
24
|
+
Before searching, clarify what you need, the constraints, and the acceptance criteria.
|
|
25
|
+
|
|
26
|
+
### 2. Search Existing Solutions
|
|
27
|
+
|
|
28
|
+
#### npm/PyPI
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm search [keyword]
|
|
32
|
+
npm info [package-name]
|
|
33
|
+
npm info [package-name] | grep "weekly"
|
|
34
|
+
npm info [package-name] | grep "modified"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
#### MCP Servers
|
|
38
|
+
|
|
39
|
+
Check MCP registry or community lists.
|
|
40
|
+
|
|
41
|
+
#### GitHub
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
gh search repos [keyword] --sort stars --limit 10
|
|
45
|
+
gh api repos/[owner]/[repo] | jq '.pushed_at, .stargazers_count'
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
#### Existing Skills
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
ls skills/ | grep [keyword]
|
|
52
|
+
grep -r "description:" skills/*/SKILL.md | grep [keyword]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 3. Evaluate Candidates
|
|
56
|
+
|
|
57
|
+
For each candidate, check:
|
|
58
|
+
|
|
59
|
+
| Criteria | How to check |
|
|
60
|
+
|----------|--------------|
|
|
61
|
+
| Maintenance | Last commit date, open issues, release frequency |
|
|
62
|
+
| Popularity | Weekly downloads, GitHub stars, community size |
|
|
63
|
+
| Quality | TypeScript support, test coverage, documentation |
|
|
64
|
+
| Bundle Size | Impact on your bundle |
|
|
65
|
+
| License | Compatible with your project |
|
|
66
|
+
| API Fit | Does the API match your needs? |
|
|
67
|
+
|
|
68
|
+
### 4. Make Decision
|
|
69
|
+
|
|
70
|
+
Document the options, the decision, and the trade-offs.
|
|
71
|
+
|
|
72
|
+
## Anti-Patterns
|
|
73
|
+
|
|
74
|
+
| Anti-pattern | Problem | Fix |
|
|
75
|
+
|--------------|---------|-----|
|
|
76
|
+
| Jumping to code | Building something that already exists | Search first, build last |
|
|
77
|
+
| Dependency bloat | Adding libraries for trivial things | Prefer native solutions when simple |
|
|
78
|
+
| Copy-paste | Importing code without understanding | Understand before adopting |
|
|
79
|
+
| NIH syndrome | "Not invented here" bias | Evaluate fairly, not emotionally |
|
|
80
|
+
| Premature abstraction | Building for hypothetical future needs | Solve today's problem first |
|
|
81
|
+
|
|
82
|
+
## Search Checklist
|
|
83
|
+
|
|
84
|
+
Before implementing:
|
|
85
|
+
|
|
86
|
+
- [ ] Searched npm/PyPI for existing libraries
|
|
87
|
+
- [ ] Searched GitHub for existing implementations
|
|
88
|
+
- [ ] Checked if skill already exists
|
|
89
|
+
- [ ] Evaluated top 3 candidates
|
|
90
|
+
- [ ] Documented decision with trade-offs
|
|
91
|
+
- [ ] Considered "build" option last, not first
|
|
92
|
+
|
|
93
|
+
## Related Skills
|
|
94
|
+
|
|
95
|
+
- `architecture/blueprint` - Planning implementation
|
|
96
|
+
- `nerdev/nerdev-docs` - Documenting decisions
|
|
97
|
+
- `engineering/coding-standards` - Code quality standards
|