@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,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: context-restore
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "Restore working context saved earlier by /context-save."
|
|
5
|
+
triggers:
|
|
6
|
+
- resume where i left off
|
|
7
|
+
- restore context
|
|
8
|
+
- where was i
|
|
9
|
+
- pick up where i left off
|
|
10
|
+
- context restore
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
Use when asked to "resume", "restore context", "where was I", or "pick up where I left off". Pair with /context-save.
|
|
16
|
+
|
|
17
|
+
Do NOT implement code changes. This skill reads saved context files only.
|
|
18
|
+
|
|
19
|
+
## Restore flow
|
|
20
|
+
|
|
21
|
+
### Step 1: find saved contexts
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
CONTEXT_DIR=".opencode/contexts"
|
|
25
|
+
if [ ! -d "$CONTEXT_DIR" ]; then
|
|
26
|
+
echo "NO_CONTEXTS"
|
|
27
|
+
else
|
|
28
|
+
find "$CONTEXT_DIR" -maxdepth 1 -name "*.md" -type f 2>/dev/null | sort -r | head -20
|
|
29
|
+
fi
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Step 2: load the right file
|
|
33
|
+
|
|
34
|
+
If the user specified a title fragment or number, find the matching file. Otherwise load the most recent one.
|
|
35
|
+
|
|
36
|
+
Read the file and present:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
RESUMING CONTEXT
|
|
40
|
+
Title: {title}
|
|
41
|
+
Branch: {branch}
|
|
42
|
+
Saved: {timestamp}
|
|
43
|
+
Status: {status}
|
|
44
|
+
|
|
45
|
+
### Summary
|
|
46
|
+
{summary from saved file}
|
|
47
|
+
|
|
48
|
+
### Remaining Work
|
|
49
|
+
{remaining work items}
|
|
50
|
+
|
|
51
|
+
### Notes
|
|
52
|
+
{notes}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
If the current branch differs from the saved context's branch, note it.
|
|
56
|
+
|
|
57
|
+
### Step 3: offer next steps
|
|
58
|
+
|
|
59
|
+
Ask: continue working, show full file, or just needed context.
|
|
60
|
+
|
|
61
|
+
## If no saved contexts exist
|
|
62
|
+
|
|
63
|
+
"No saved contexts yet. Run `/context-save` first to save your current working state."
|
|
64
|
+
|
|
65
|
+
## Important rules
|
|
66
|
+
|
|
67
|
+
- Never modify code. Read saved files and present them only.
|
|
68
|
+
- Prefer the current branch's checkpoint, but keep all branches as fallback.
|
|
69
|
+
- "Most recent" means filename prefix (YYYYMMDD-HHMMSS), not filesystem mtime.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: context-save
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "Save working context so any future session can pick up without losing a beat."
|
|
5
|
+
triggers:
|
|
6
|
+
- save progress
|
|
7
|
+
- save state
|
|
8
|
+
- save my work
|
|
9
|
+
- context save
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## When to use
|
|
13
|
+
|
|
14
|
+
Use when asked to "save progress", "save state", "context save", or "save my work". Pair with /context-restore to resume later.
|
|
15
|
+
|
|
16
|
+
Do NOT implement code changes. This skill captures state only.
|
|
17
|
+
|
|
18
|
+
## Save flow
|
|
19
|
+
|
|
20
|
+
### Step 1: gather state
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
echo "=== BRANCH ==="
|
|
24
|
+
git rev-parse --abbrev-ref HEAD 2>/dev/null
|
|
25
|
+
echo "=== STATUS ==="
|
|
26
|
+
git status --short 2>/dev/null
|
|
27
|
+
echo "=== DIFF STAT ==="
|
|
28
|
+
git diff --stat 2>/dev/null
|
|
29
|
+
echo "=== STAGED DIFF STAT ==="
|
|
30
|
+
git diff --cached --stat 2>/dev/null
|
|
31
|
+
echo "=== RECENT LOG ==="
|
|
32
|
+
git log --oneline -10 2>/dev/null
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Step 2: summarize context
|
|
36
|
+
|
|
37
|
+
Using the gathered state plus conversation history, write a summary covering:
|
|
38
|
+
|
|
39
|
+
1. What's being worked on.
|
|
40
|
+
2. Decisions made. Architectural choices, trade-offs, approaches chosen and why.
|
|
41
|
+
3. Remaining work. Concrete next steps, in priority order.
|
|
42
|
+
4. Notes. Gotchas, blocked items, open questions, things tried that didn't work.
|
|
43
|
+
|
|
44
|
+
### Step 3: write the file
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
CONTEXT_DIR=".opencode/contexts"
|
|
48
|
+
mkdir -p "$CONTEXT_DIR"
|
|
49
|
+
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
|
|
50
|
+
FILE="$CONTEXT_DIR/${TIMESTAMP}-context.md"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
File format:
|
|
54
|
+
|
|
55
|
+
```markdown
|
|
56
|
+
---
|
|
57
|
+
status: in-progress
|
|
58
|
+
branch: {current branch name}
|
|
59
|
+
timestamp: {ISO-8601 timestamp}
|
|
60
|
+
files_modified:
|
|
61
|
+
- path/to/file1
|
|
62
|
+
- path/to/file2
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Working on: {title}
|
|
66
|
+
|
|
67
|
+
### Summary
|
|
68
|
+
{1-3 sentences about the goal and current progress}
|
|
69
|
+
|
|
70
|
+
### Decisions Made
|
|
71
|
+
{Bulleted list of choices and reasoning}
|
|
72
|
+
|
|
73
|
+
### Remaining Work
|
|
74
|
+
{Numbered list of next steps}
|
|
75
|
+
|
|
76
|
+
### Notes
|
|
77
|
+
{Gotchas, blocked items, open questions}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
After writing, confirm:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
CONTEXT SAVED
|
|
84
|
+
Title: {title}
|
|
85
|
+
Branch: {branch}
|
|
86
|
+
File: {path}
|
|
87
|
+
Modified: {N} files
|
|
88
|
+
|
|
89
|
+
Restore later with /context-restore.
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Important rules
|
|
93
|
+
|
|
94
|
+
- Never modify code. Read state and write the context file only.
|
|
95
|
+
- Always include the branch name. It matters for cross-branch restore.
|
|
96
|
+
- Saved files are append-only. Never overwrite existing files.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: health
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "Code quality dashboard. Wraps type checker, linter, test runner, dead code detector. Computes a weighted composite score."
|
|
5
|
+
triggers:
|
|
6
|
+
- code health check
|
|
7
|
+
- quality dashboard
|
|
8
|
+
- how healthy is codebase
|
|
9
|
+
- health check
|
|
10
|
+
- quality score
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
Use when asked for a "health check", "code quality", "how healthy is the codebase", "run all checks", or "quality score".
|
|
16
|
+
|
|
17
|
+
Do NOT fix any issues. Produce the dashboard and recommendations only.
|
|
18
|
+
|
|
19
|
+
## Step 1: detect health stack
|
|
20
|
+
|
|
21
|
+
Auto-detect available tools:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
[ -f tsconfig.json ] && echo "TYPECHECK: tsc --noEmit"
|
|
25
|
+
[ -f biome.json ] || [ -f biome.jsonc ] && echo "LINT: biome check ."
|
|
26
|
+
ls eslint.config.* .eslintrc.* 2>/dev/null | head -1 && echo "LINT: eslint ."
|
|
27
|
+
[ -f .pylintrc ] || [ -f pyproject.toml ] && echo "LINT: ruff check ."
|
|
28
|
+
[ -f package.json ] && grep -q '"test"' package.json && echo "TEST: npm test"
|
|
29
|
+
[ -f pyproject.toml ] && echo "TEST: pytest"
|
|
30
|
+
[ -f Cargo.toml ] && echo "TEST: cargo test"
|
|
31
|
+
[ -f go.mod ] && echo "TEST: go test ./..."
|
|
32
|
+
command -v knip >/dev/null 2>&1 && echo "DEADCODE: knip"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Step 2: run tools
|
|
36
|
+
|
|
37
|
+
Run each detected tool sequentially. Record exit code, duration, and last 50 lines of output.
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
START=$(date +%s)
|
|
41
|
+
{command} 2>&1 | tail -50
|
|
42
|
+
EXIT_CODE=$?
|
|
43
|
+
END=$(date +%s)
|
|
44
|
+
echo "TOOL:{name} EXIT:$EXIT_CODE DURATION:$((END-START))s"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Step 3: score each category
|
|
48
|
+
|
|
49
|
+
| Category | Weight | 10 | 7 | 4 | 0 |
|
|
50
|
+
|-----------|--------|------|-----------|------------|-----------|
|
|
51
|
+
| Type check | 22% | Clean (exit 0) | <10 errors | <50 errors | >=50 errors |
|
|
52
|
+
| Lint | 18% | Clean (exit 0) | <5 warnings | <20 warnings | >=20 warnings |
|
|
53
|
+
| Tests | 28% | All pass (exit 0) | >95% pass | >80% pass | <=80% pass |
|
|
54
|
+
| Dead code | 13% | Clean (exit 0) | <5 unused | <20 unused | >=20 unused |
|
|
55
|
+
| Shell lint | 9% | Clean (exit 0) | <5 issues | >=5 issues | N/A |
|
|
56
|
+
|
|
57
|
+
Composite score: `(typecheck * 0.22) + (lint * 0.18) + (test * 0.28) + (deadcode * 0.13) + (shell * 0.09)`
|
|
58
|
+
|
|
59
|
+
Redistribute weight proportionally for skipped categories.
|
|
60
|
+
|
|
61
|
+
## Step 4: present dashboard
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
CODE HEALTH DASHBOARD
|
|
65
|
+
|
|
66
|
+
Project: <project name>
|
|
67
|
+
Branch: <current branch>
|
|
68
|
+
Date: <today>
|
|
69
|
+
|
|
70
|
+
Category Tool Score Status Duration Details
|
|
71
|
+
---------- ---------------- ----- -------- -------- -------
|
|
72
|
+
Type check tsc --noEmit 10/10 CLEAN 3s 0 errors
|
|
73
|
+
Lint biome check . 8/10 WARNING 2s 3 warnings
|
|
74
|
+
Tests bun test 10/10 CLEAN 12s 47/47 passed
|
|
75
|
+
Dead code knip 7/10 WARNING 5s 4 unused exports
|
|
76
|
+
|
|
77
|
+
COMPOSITE SCORE: 9.1 / 10
|
|
78
|
+
Duration: 23s total
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Status labels: 10 = CLEAN, 7-9 = WARNING, 4-6 = NEEDS WORK, 0-3 = CRITICAL.
|
|
82
|
+
|
|
83
|
+
## Step 5: recommendations
|
|
84
|
+
|
|
85
|
+
Rank by impact (weight * score deficit). Only show categories below 10.
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
RECOMMENDATIONS (by impact)
|
|
89
|
+
1. [HIGH] Fix 2 failing tests (Tests: 9/10, weight 30%)
|
|
90
|
+
2. [MED] Address 12 lint warnings (Lint: 6/10, weight 20%)
|
|
91
|
+
3. [LOW] Remove 4 unused exports (Dead code: 7/10, weight 15%)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Important rules
|
|
95
|
+
|
|
96
|
+
1. Run the project's own tools. Don't substitute your own analysis.
|
|
97
|
+
2. Read-only. Never fix issues.
|
|
98
|
+
3. Skipped is not failed. Redistribute weight for unavailable tools.
|
|
99
|
+
4. Show raw output for failures so the user can act without re-running.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: learn
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "Manage project learnings. Review, search, prune, and export patterns across sessions."
|
|
5
|
+
triggers:
|
|
6
|
+
- show learnings
|
|
7
|
+
- what have we learned
|
|
8
|
+
- manage project learnings
|
|
9
|
+
- learn
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## When to use
|
|
13
|
+
|
|
14
|
+
Use when asked to "what have we learned", "show learnings", "prune stale learnings", or "export learnings".
|
|
15
|
+
|
|
16
|
+
Proactively suggest when the user asks about past patterns or wonders "didn't we fix this before?"
|
|
17
|
+
|
|
18
|
+
Do NOT implement code changes. This skill manages learnings only.
|
|
19
|
+
|
|
20
|
+
## Commands
|
|
21
|
+
|
|
22
|
+
- `/learn` shows recent learnings.
|
|
23
|
+
- `/learn search <query>` searches them.
|
|
24
|
+
- `/learn prune` checks for stale or contradictory entries.
|
|
25
|
+
- `/learn export` formats them as markdown.
|
|
26
|
+
- `/learn add` lets you add one manually.
|
|
27
|
+
|
|
28
|
+
## Show recent
|
|
29
|
+
|
|
30
|
+
Show the most recent 20 learnings:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
LEARN_FILE=".opencode/learnings.jsonl"
|
|
34
|
+
if [ -f "$LEARN_FILE" ]; then
|
|
35
|
+
tail -20 "$LEARN_FILE"
|
|
36
|
+
else
|
|
37
|
+
echo "No learnings yet."
|
|
38
|
+
fi
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Present in a readable format grouped by type: pattern, pitfall, preference, architecture.
|
|
42
|
+
|
|
43
|
+
## Search
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
grep -i "QUERY" .opencode/learnings.jsonl 2>/dev/null | tail -20
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Prune
|
|
50
|
+
|
|
51
|
+
Load all learnings and check for:
|
|
52
|
+
1. Stale references. If a learning references files that no longer exist.
|
|
53
|
+
2. Contradictions. Same key with different insights.
|
|
54
|
+
|
|
55
|
+
Present each flagged entry and ask: remove, keep, or update.
|
|
56
|
+
|
|
57
|
+
## Export
|
|
58
|
+
|
|
59
|
+
Format learnings as markdown:
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
## Project Learnings
|
|
63
|
+
|
|
64
|
+
### Patterns
|
|
65
|
+
- **[key]**: [insight] (confidence: N/10)
|
|
66
|
+
|
|
67
|
+
### Pitfalls
|
|
68
|
+
- **[key]**: [insight] (confidence: N/10)
|
|
69
|
+
|
|
70
|
+
### Preferences
|
|
71
|
+
- **[key]**: [insight]
|
|
72
|
+
|
|
73
|
+
### Architecture
|
|
74
|
+
- **[key]**: [insight] (confidence: N/10)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Manual add
|
|
78
|
+
|
|
79
|
+
Ask the user for: type (pattern, pitfall, preference, architecture, tool), a short key (2-5 words, kebab-case), the insight (one sentence), and confidence (1-10).
|
|
80
|
+
|
|
81
|
+
Then log it:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
mkdir -p .opencode
|
|
85
|
+
echo '{"type":"TYPE","key":"KEY","insight":"INSIGHT","confidence":N,"source":"user-stated","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"}' >> .opencode/learnings.jsonl
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Automatic logging
|
|
89
|
+
|
|
90
|
+
After completing any skill, review the session for durable learnings and log each one. A durable learning is a project quirk, command fix, pitfall, or pattern that would save 5+ minutes in a future session. If none, say "No durable learnings this session."
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
mkdir -p .opencode
|
|
94
|
+
echo '{"type":"operational","key":"SHORT_KEY","insight":"DESCRIPTION","confidence":N,"source":"observed","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"}' >> .opencode/learnings.jsonl
|
|
95
|
+
```
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: office-hours
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "YC office hours. Six forcing questions that reframe your product before you write code. Produces a design doc, not code."
|
|
5
|
+
triggers:
|
|
6
|
+
- brainstorm this
|
|
7
|
+
- is this worth building
|
|
8
|
+
- help me think through
|
|
9
|
+
- office hours
|
|
10
|
+
- I have an idea
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
Use when asked to "brainstorm this", "I have an idea", "help me think through this", "office hours", or "is this worth building".
|
|
16
|
+
|
|
17
|
+
Proactively invoke when the user describes a new product idea, asks whether something is worth building, or wants to think through design decisions before any code exists.
|
|
18
|
+
|
|
19
|
+
Do NOT write code. Your only output is a design document.
|
|
20
|
+
|
|
21
|
+
## Voice
|
|
22
|
+
|
|
23
|
+
- Lead with the point. Be concrete. Name files, functions, line numbers.
|
|
24
|
+
- Sound like a builder talking to a builder.
|
|
25
|
+
- No em dashes. No AI vocabulary: delve, crucial, robust, comprehensive, nuanced, multifaceted, furthermore, moreover, additionally, pivotal, landscape, tapestry, underscore, foster, showcase, intricate, vibrant, fundamental, significant.
|
|
26
|
+
- The user has context you do not: domain knowledge, timing, relationships, taste.
|
|
27
|
+
|
|
28
|
+
## Phase 1: Context gathering
|
|
29
|
+
|
|
30
|
+
1. Read CLAUDE.md, TODOS.md if they exist.
|
|
31
|
+
2. Run `git log --oneline -30` and `git diff origin/main --stat` to understand recent context.
|
|
32
|
+
3. Use Grep/Glob to map the codebase areas most relevant to the request.
|
|
33
|
+
|
|
34
|
+
## Phase 2: Goal detection
|
|
35
|
+
|
|
36
|
+
Ask the user:
|
|
37
|
+
|
|
38
|
+
> Before we dig in, what's your goal with this?
|
|
39
|
+
>
|
|
40
|
+
> - **Building a startup** or thinking about it
|
|
41
|
+
> - **Intrapreneurship.** Internal project, need to ship fast.
|
|
42
|
+
> - **Hackathon / demo.** Time-boxed, need to impress.
|
|
43
|
+
> - **Open source / research.** Building for a community.
|
|
44
|
+
> - **Learning.** Teaching yourself, vibe coding.
|
|
45
|
+
> - **Having fun.** Side project, creative outlet.
|
|
46
|
+
|
|
47
|
+
Startup and intrapreneurship go to Phase 3A. Everything else goes to Phase 3B.
|
|
48
|
+
|
|
49
|
+
## Phase 3A: Startup mode, YC product diagnostic
|
|
50
|
+
|
|
51
|
+
Ask these six questions one at a time. After each, reflect back what you heard and push back where the framing is weak.
|
|
52
|
+
|
|
53
|
+
### Question 1: demand reality
|
|
54
|
+
|
|
55
|
+
"Who specifically has this problem? How do you know? Have they tried to solve it themselves?"
|
|
56
|
+
|
|
57
|
+
If the user says "everyone" or "developers in general", narrow it. Specificity is signal.
|
|
58
|
+
|
|
59
|
+
### Question 2: status quo
|
|
60
|
+
|
|
61
|
+
"What do these people use today? Why haven't they switched to something better?"
|
|
62
|
+
|
|
63
|
+
If the answer is "nothing", probe harder. They're using something, even if it's a spreadsheet or their memory.
|
|
64
|
+
|
|
65
|
+
### Question 3: desperate specificity
|
|
66
|
+
|
|
67
|
+
"Describe the exact moment when someone hits this pain. What are they doing? What goes wrong?"
|
|
68
|
+
|
|
69
|
+
Vague pain ("it's annoying") is not a product opportunity. The moment needs to be vivid enough to storyboard.
|
|
70
|
+
|
|
71
|
+
### Question 4: narrowest wedge
|
|
72
|
+
|
|
73
|
+
"What's the smallest possible version that would make one person switch? Not a platform. A wedge."
|
|
74
|
+
|
|
75
|
+
If the answer involves more than 3 features, it's too big for v1. Cut harder.
|
|
76
|
+
|
|
77
|
+
### Question 5: observation
|
|
78
|
+
|
|
79
|
+
"What have you personally seen that makes you believe this is a real problem?"
|
|
80
|
+
|
|
81
|
+
"I think this would be useful" is not an observation. "I watched my co-founder spend 4 hours doing X" is.
|
|
82
|
+
|
|
83
|
+
### Question 6: future-fit
|
|
84
|
+
|
|
85
|
+
"If this works perfectly in 12 months, what does the world look like?"
|
|
86
|
+
|
|
87
|
+
Let them dream, then rein it back to the wedge.
|
|
88
|
+
|
|
89
|
+
## Phase 3B: Builder mode, design partner
|
|
90
|
+
|
|
91
|
+
For side projects, hackathons, learning, and open source.
|
|
92
|
+
|
|
93
|
+
1. What's the spark? What made you think of this? What's exciting about it?
|
|
94
|
+
2. Who's it for? Even if it's for you, describe your ideal user.
|
|
95
|
+
3. What's the wild version? If there were no constraints, what would this become?
|
|
96
|
+
4. What's the MVP? The smallest thing that proves the concept works.
|
|
97
|
+
5. What would make you proud? Ship it tomorrow vs. 3 months from now. What's the minimum you'd be proud to show?
|
|
98
|
+
|
|
99
|
+
## Phase 4: Alternatives
|
|
100
|
+
|
|
101
|
+
After understanding the problem, present 2-3 implementation approaches.
|
|
102
|
+
|
|
103
|
+
For each: what it is (one sentence), effort estimate (days/weeks), what you learn, what you sacrifice.
|
|
104
|
+
|
|
105
|
+
## Phase 5: Design doc
|
|
106
|
+
|
|
107
|
+
Write a design doc to `docs/designs/{slug}-design-{date}.md`:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
# {Title} Design Doc
|
|
111
|
+
|
|
112
|
+
## Problem
|
|
113
|
+
What problem are we solving and for whom?
|
|
114
|
+
|
|
115
|
+
## Context
|
|
116
|
+
What do we know? What observations led here?
|
|
117
|
+
|
|
118
|
+
## Goal
|
|
119
|
+
What does success look like?
|
|
120
|
+
|
|
121
|
+
## Non-Goals
|
|
122
|
+
What are we explicitly NOT doing?
|
|
123
|
+
|
|
124
|
+
## Approach
|
|
125
|
+
2-3 options with tradeoffs.
|
|
126
|
+
|
|
127
|
+
## Recommendation
|
|
128
|
+
Which option and why.
|
|
129
|
+
|
|
130
|
+
## Open Questions
|
|
131
|
+
What's still unclear?
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Completion
|
|
135
|
+
|
|
136
|
+
Report what was discussed, what was decided, where the doc lives. Suggest the next step.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ship
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "Ship workflow: detect base branch, run tests, review diff, commit, push, create PR."
|
|
5
|
+
triggers:
|
|
6
|
+
- ship it
|
|
7
|
+
- create a pr
|
|
8
|
+
- push to main
|
|
9
|
+
- deploy this
|
|
10
|
+
- let's ship
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
Use when asked to "ship", "deploy", "push to main", "create a PR", or "get it deployed".
|
|
16
|
+
|
|
17
|
+
Proactively suggest when the user says code is ready or asks about deploying.
|
|
18
|
+
|
|
19
|
+
## Voice
|
|
20
|
+
|
|
21
|
+
- Lead with the point. Be concrete.
|
|
22
|
+
- Sound like a builder talking to a builder.
|
|
23
|
+
- No em dashes. No AI vocabulary.
|
|
24
|
+
- Bounded closer: what changed, what was skipped, what to watch.
|
|
25
|
+
|
|
26
|
+
## Step 0: detect platform and base branch
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
git remote get-url origin 2>/dev/null
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
GitHub: `gh pr view --json baseRefName -q .baseRefName` or `gh repo view --json defaultBranchRef -q .defaultBranchRef.name`.
|
|
33
|
+
|
|
34
|
+
GitLab: `glab mr view -F json 2>/dev/null` or `glab repo view -F json 2>/dev/null`.
|
|
35
|
+
|
|
36
|
+
Fallback: `git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's|refs/remotes/origin/||'`, then `main`, then `master`.
|
|
37
|
+
|
|
38
|
+
## Step 1: pre-flight
|
|
39
|
+
|
|
40
|
+
1. Check the current branch. If on the base branch, abort. "You're on the base branch. Ship from a feature branch."
|
|
41
|
+
2. Run `git status`. Uncommitted changes are always included.
|
|
42
|
+
3. Run `git diff <base>...HEAD --stat` and `git log <base>..HEAD --oneline`.
|
|
43
|
+
|
|
44
|
+
## Step 2: run tests
|
|
45
|
+
|
|
46
|
+
Detect and run the project's test suite:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
[ -f package.json ] && npm test 2>&1
|
|
50
|
+
[ -f pyproject.toml ] && python -m pytest 2>&1
|
|
51
|
+
[ -f setup.py ] && python -m pytest 2>&1
|
|
52
|
+
[ -f go.mod ] && go test ./... 2>&1
|
|
53
|
+
[ -f Cargo.toml ] && cargo test 2>&1
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If tests fail, report the failures and ask whether to proceed or fix first.
|
|
57
|
+
|
|
58
|
+
## Step 3: review diff
|
|
59
|
+
|
|
60
|
+
Read the diff and check for:
|
|
61
|
+
- Obvious bugs (null checks, error handling, edge cases)
|
|
62
|
+
- Hardcoded secrets or credentials
|
|
63
|
+
- Files that shouldn't be committed (build artifacts, .env, node_modules)
|
|
64
|
+
- Missing tests for new functionality
|
|
65
|
+
|
|
66
|
+
Auto-fix obvious issues. Flag ambiguous ones for the user.
|
|
67
|
+
|
|
68
|
+
## Step 4: commit
|
|
69
|
+
|
|
70
|
+
Stage changes and commit with a descriptive message:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
git add -A
|
|
74
|
+
git commit -m "{type}: {description}"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Use conventional commit format: feat, fix, refactor, docs, test, chore.
|
|
78
|
+
|
|
79
|
+
## Step 5: push
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
git push origin {branch}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Step 6: create PR
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
gh pr create --base {base} --title "{title}" --body "{description}"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
PR body should include what changed, why it changed, how to test it, and any breaking changes.
|
|
92
|
+
|
|
93
|
+
## Completion
|
|
94
|
+
|
|
95
|
+
Report the PR URL, number of files changed, and any concerns.
|
package/vendor.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./docs/vendor.schema.json",
|
|
3
|
+
"upstreams": [
|
|
4
|
+
{
|
|
5
|
+
"name": "impeccable",
|
|
6
|
+
"repo": "pbakaus/impeccable",
|
|
7
|
+
"commit": "e0881d2de397d5e9761d7b35ff5017d8f5ebf69b",
|
|
8
|
+
"source": ".opencode/skills",
|
|
9
|
+
"skills": [
|
|
10
|
+
{
|
|
11
|
+
"name": "impeccable",
|
|
12
|
+
"dest": "ui/impeccable",
|
|
13
|
+
"sha256": "0bf06a4113be945f911e3a64457c923b57b000f5129ab92272db9bcb5289ef7f"
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "taste-skill",
|
|
19
|
+
"repo": "Leonxlnx/taste-skill",
|
|
20
|
+
"commit": "c184364c58658b2f131b4ae8bd3d206cabb3deee",
|
|
21
|
+
"source": "skills",
|
|
22
|
+
"skills": [
|
|
23
|
+
{
|
|
24
|
+
"name": "output-skill",
|
|
25
|
+
"dest": "quality/output-skill",
|
|
26
|
+
"sha256": "f07af7f89f8ade4c8e23f7480295b63f5cacae52d3d0524ab8cb2c1707d6951e"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "emil-skills",
|
|
32
|
+
"repo": "emilkowalski/skills",
|
|
33
|
+
"commit": "85e8e2363b713506e1d5b6e07a0eb2da66be1bc3",
|
|
34
|
+
"source": "skills",
|
|
35
|
+
"skills": [
|
|
36
|
+
{
|
|
37
|
+
"name": "ask-sonner",
|
|
38
|
+
"dest": "ui/ask-sonner",
|
|
39
|
+
"sha256": "54fadebaeb6b904ec77ef9d288edde366645f5d93794dc6137e94c196aeb6163"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "pick-ui-library",
|
|
43
|
+
"dest": "ui/pick-ui-library",
|
|
44
|
+
"sha256": "1204b873a8918bed93e125e2d2ef5e479e5cfcb6f1a63068bbd867b07db4f0d1"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "prototype",
|
|
48
|
+
"dest": "ui/prototype",
|
|
49
|
+
"sha256": "fbafb2c083b74232e78dcbd1685cf02d90310d474aa9489a22a46025fbffccad"
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "pstack",
|
|
55
|
+
"repo": "cursor/plugins",
|
|
56
|
+
"commit": "b42effe0aa50f59c693d7e2924714e015e00bf7c",
|
|
57
|
+
"source": "pstack/skills",
|
|
58
|
+
"skills": [
|
|
59
|
+
{
|
|
60
|
+
"name": "unslop",
|
|
61
|
+
"dest": "quality/unslop",
|
|
62
|
+
"sha256": "6542a1662aa6be597b22d6ef030598a0c20c7a11f06b3eea7fcaad106ffe817d"
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "brag",
|
|
68
|
+
"repo": "latent-spaces/brag",
|
|
69
|
+
"commit": "57ce4c9bb912f01a0078b154318bf67c5cbf780f",
|
|
70
|
+
"source": "skills",
|
|
71
|
+
"skills": [
|
|
72
|
+
{
|
|
73
|
+
"name": "brag",
|
|
74
|
+
"dest": "business/brag",
|
|
75
|
+
"sha256": "8654789421c6215a86200085a98accd8d61350ea5e94800401048d300348effa"
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|