@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,366 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: house-style
|
|
3
|
+
description: "How I want this codebase built: route-based file layout, UI that looks like Apple or Google shipped it (no AI purple slop), micro-animations that move only what changed, and docs that I write and you audit. Load before writing code, designing a screen, or touching documentation."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# House style
|
|
7
|
+
|
|
8
|
+
This skill is how I like things done. It is my voice, not an upstream's. If a
|
|
9
|
+
synced skill says one thing and this says another, this wins.
|
|
10
|
+
|
|
11
|
+
> **UI/Design skill family:** This skill is the *law* (philosophy/aesthetics). The process skills that implement it:
|
|
12
|
+
> - [`ui`](../ui/SKILL.md): whole UI job (pick direction, design system, build screen, redesign, verify)
|
|
13
|
+
> - [`impeccable`](../impeccable/SKILL.md): commands/detectors for audit, polish, animate, etc.
|
|
14
|
+
> - [`motion`](../motion/SKILL.md): whole motion job (name, decide, build, review, audit)
|
|
15
|
+
> - [`pick-ui-library`](../pick-ui-library/SKILL.md): curated library picks for UI primitives
|
|
16
|
+
> - [`imagegen`](../imagegen/SKILL.md): premium design image generation (references only)
|
|
17
|
+
> - [`prototype`](../prototype/SKILL.md): build divergent UI variants behind a picker
|
|
18
|
+
>
|
|
19
|
+
> Load `house-style` + the relevant process skill(s) for UI/design/frontend work.
|
|
20
|
+
|
|
21
|
+
Three rules cover most of it:
|
|
22
|
+
|
|
23
|
+
1. Files follow the route, not the framework.
|
|
24
|
+
2. The screen looks bought, not generated.
|
|
25
|
+
3. The docs are mine to write, yours to audit.
|
|
26
|
+
|
|
27
|
+
## 1. Files follow the route
|
|
28
|
+
|
|
29
|
+
One route, one file. Every function that serves `/me` lives in `me.ts`,
|
|
30
|
+
whether it GETs, PUTs, DELETEs or POSTs. Edge cases included: input shapes,
|
|
31
|
+
error handling, the auth checks that route needs, and whatever stats the
|
|
32
|
+
route must show.
|
|
33
|
+
|
|
34
|
+
Example. A profile endpoint that shows my stats, the way LeetCode shows
|
|
35
|
+
stats for a user, lives in `me.ts`:
|
|
36
|
+
|
|
37
|
+
- `me.ts` holds every HTTP handler for `/me`: getting my info, updating it,
|
|
38
|
+
deleting sessions, posting achievements.
|
|
39
|
+
- If `/me` shows stats, the code that loads, formats and returns those stats
|
|
40
|
+
lives here too. It can call shared helpers, but the route owns the flow.
|
|
41
|
+
- Shared code is only code two or more routes genuinely use. When in doubt,
|
|
42
|
+
keep it in the route file. Splitting early turns files into treasure hunts.
|
|
43
|
+
|
|
44
|
+
The exact split changes with the use case. A dashboard endpoint might own
|
|
45
|
+
several aggregate functions. A tiny health check owns one. The rule stays:
|
|
46
|
+
the route names the file, the file owns the route.
|
|
47
|
+
|
|
48
|
+
## 2. The screen looks bought, not generated
|
|
49
|
+
|
|
50
|
+
I do not want the default AI look. The purple gradient slop with the glowing
|
|
51
|
+
buttons, oversized rounded cards, the same five icons everywhere. It makes
|
|
52
|
+
every product look the same.
|
|
53
|
+
|
|
54
|
+
When you build UI, ask one question first: if Apple or Google shipped this
|
|
55
|
+
screen, would it look out of place? Their shared vocabulary is the target:
|
|
56
|
+
|
|
57
|
+
- One clear action per screen. A CTA that quietly says what happens next.
|
|
58
|
+
- Simple buttons. Flat or barely rounded, solid contrast, no glow, no
|
|
59
|
+
gradient.
|
|
60
|
+
- Color in small doses. One accent, used only for things that matter.
|
|
61
|
+
Restraint is the accent.
|
|
62
|
+
- Whitespace does the separating, not borders and shadows.
|
|
63
|
+
- Real type hierarchy: a headline, a sentence, a hint. Not five sizes of
|
|
64
|
+
bold.
|
|
65
|
+
- Small details done right beat big decorations. Alignment, spacing, hover
|
|
66
|
+
states, error states.
|
|
67
|
+
- Clean typography and a clean design system. Consistent type scale, one
|
|
68
|
+
font family, consistent spacing tokens.
|
|
69
|
+
- **Tailwind, strictly.** Component-based Tailwind CSS. Every visual
|
|
70
|
+
decision is a Tailwind utility or a small composable component. Raw CSS
|
|
71
|
+
only when Tailwind cannot do what the design needs, and only with a
|
|
72
|
+
reason.
|
|
73
|
+
- **Feedback matches the action.** Manipulation (press, drag) gets a
|
|
74
|
+
visual state: pressed, hovered, active. Completed work (saved, sent)
|
|
75
|
+
gets a quiet status: a checkmark, a toast. Destructive work gets
|
|
76
|
+
confirmation. Nothing else moves.
|
|
77
|
+
|
|
78
|
+
Eye-catching does not mean loud. The screens that stop people are the calm
|
|
79
|
+
ones with one surprising detail: a perfect number, a sharp shape, one bold
|
|
80
|
+
move in the layout. If any UI skill (impeccable, ui, whichever is
|
|
81
|
+
loaded) suggests purple, gradients, heavy rounding or decoration, say no
|
|
82
|
+
and go calmer.
|
|
83
|
+
|
|
84
|
+
### Micro-animations: motion is a detail, not a decoration
|
|
85
|
+
|
|
86
|
+
Motion follows the same rule as color: restraint. When nothing moves
|
|
87
|
+
except what needs to, the one movement that matters is obvious.
|
|
88
|
+
|
|
89
|
+
- **Move what changed, nothing else.** The clicked button, the reordered
|
|
90
|
+
list item, the flipped state. If the motion does not answer "what
|
|
91
|
+
happened?", cut it. No bounces, no confetti, no idle pulses. Nothing
|
|
92
|
+
animates on a loop: a pulse that never stops is a design that does not
|
|
93
|
+
know what to say.
|
|
94
|
+
- **One motion per event.** Two springs competing at once read as glitch.
|
|
95
|
+
Everything else changes instantly.
|
|
96
|
+
- **Spring curves, not keywords.** `ease-in-out` is the elevator; it does
|
|
97
|
+
not belong in a good UI. Arriving things default to an `ease-out`
|
|
98
|
+
spring (`cubic-bezier(0.16, 1, 0.3, 1)`), leaving things go sharper.
|
|
99
|
+
Raw CSS is allowed here when Tailwind's curves cannot do the feel: in
|
|
100
|
+
motion, the curve is the design.
|
|
101
|
+
- **200ms in, 150ms out.** Micro means micro. A motion that needs more
|
|
102
|
+
than 300ms is a scene change with a storyboard, and it needs a reason.
|
|
103
|
+
- **Matched to the element.** Small element, small motion. A checkbox
|
|
104
|
+
does not slide; a card does.
|
|
105
|
+
- **State lands first.** Inputs respond the frame they are pressed.
|
|
106
|
+
Motion is polish on top, and interruptible: the next click cancels the
|
|
107
|
+
last spring. Nobody waits on a spring.
|
|
108
|
+
- **Exits exist.** Whatever appears animated leaves animated. A one-frame
|
|
109
|
+
vanish is a flicker that cheapens the whole screen.
|
|
110
|
+
- **Respect reduced motion.** `prefers-reduced-motion: reduce` means
|
|
111
|
+
instant state changes. No springs, no entrance sequences, no parallax.
|
|
112
|
+
- **No effects that announce themselves.** No scroll-jacked pages, no
|
|
113
|
+
parallax, no staggered entrances on every load. They are purple slop
|
|
114
|
+
that moves.
|
|
115
|
+
|
|
116
|
+
**Where the good stuff lives.** When a motion needs to feel right, study
|
|
117
|
+
these first, then tune:
|
|
118
|
+
|
|
119
|
+
- [Apple HIG Motion](https://developer.apple.com/design/human-interface-guidelines/motion):
|
|
120
|
+
the spec for how motion should feel: springy, brief, cancelable.
|
|
121
|
+
- [Material 3 easing and duration](https://m3.material.io/styles/motion/easing-and-duration):
|
|
122
|
+
the spec for curves and timings, including the rule that exits beat
|
|
123
|
+
entrances.
|
|
124
|
+
- [linear.app](https://linear.app): calm, precise, no wasted movement.
|
|
125
|
+
The default answer to "what should motion feel like".
|
|
126
|
+
- [stripe.com](https://stripe.com): transitions where the content leads
|
|
127
|
+
and the effects follow.
|
|
128
|
+
- [raycast.com](https://raycast.com): near-zero motion for a tool used
|
|
129
|
+
hundreds of times a day.
|
|
130
|
+
- [apple.com](https://www.apple.com) product pages: scroll reveals done
|
|
131
|
+
with restraint.
|
|
132
|
+
- [60fps.design](https://60fps.design): a gallery of shipped app motion,
|
|
133
|
+
real products instead of prototypes.
|
|
134
|
+
- [emilkowal.ski](https://emilkowal.ski): the when and why of animating,
|
|
135
|
+
from the design engineer behind Linear-grade UI.
|
|
136
|
+
- [Awwwards microinteractions](https://www.awwwards.com/websites/microinteractions/):
|
|
137
|
+
award sites that mostly show you where the line to "too much" is.
|
|
138
|
+
|
|
139
|
+
The pattern every one of them shares: fast, physical, quiet,
|
|
140
|
+
purposeful.
|
|
141
|
+
|
|
142
|
+
### Gradients: restraint is the rule
|
|
143
|
+
|
|
144
|
+
Gradients are not banned. Bad gradients are banned. The difference is
|
|
145
|
+
purpose and subtlety.
|
|
146
|
+
|
|
147
|
+
**What to ban:**
|
|
148
|
+
- Purple or blue glow gradients on backgrounds. The AI signature.
|
|
149
|
+
- Gradient text (`background-clip: text` with a gradient fill). Always
|
|
150
|
+
looks cheap.
|
|
151
|
+
- Radial gradient halos behind heroes or sections. Decorative noise.
|
|
152
|
+
- Repeating gradient stripes as surface decoration. Not a texture, just
|
|
153
|
+
noise.
|
|
154
|
+
- Gradient buttons with saturated color shifts. Buttons are flat or
|
|
155
|
+
solid.
|
|
156
|
+
- Any gradient where you can see the color stops. If the transition is
|
|
157
|
+
visible, it is too much.
|
|
158
|
+
|
|
159
|
+
**What to allow:**
|
|
160
|
+
- Subtle tonal shifts on backgrounds. Two near-identical shades of the
|
|
161
|
+
same gray, blending imperceptibly. Stripe does this. The eye reads it
|
|
162
|
+
as depth, not as a gradient.
|
|
163
|
+
- Shimmer loading states. A linear-gradient animating across a skeleton
|
|
164
|
+
is functional, not decorative.
|
|
165
|
+
- Fade masks on scroll containers. A gradient from opaque to transparent
|
|
166
|
+
at the edge of a scrollable area tells the user there is more content.
|
|
167
|
+
That is communication.
|
|
168
|
+
- Duotone or tonal overlays on images. Two colors, high contrast, used
|
|
169
|
+
to unify photography with the palette. Not a rainbow.
|
|
170
|
+
- Background gradients that are solid colors with a slight warm/cool
|
|
171
|
+
shift. Not chromatic. Think "this white is slightly warmer on the left"
|
|
172
|
+
instead of "this goes from purple to blue."
|
|
173
|
+
|
|
174
|
+
**The test:** cover the gradient with your thumb. If the design falls
|
|
175
|
+
apart without it, the gradient is doing too much. If nothing changes,
|
|
176
|
+
the gradient is decoration, and decoration that does nothing is noise.
|
|
177
|
+
|
|
178
|
+
**Where gradients earn their place:**
|
|
179
|
+
- Surfaces that need subtle depth (a card that recedes slightly toward
|
|
180
|
+
the bottom)
|
|
181
|
+
- Loading and transition states (shimmer, crossfade)
|
|
182
|
+
- Scroll indicators (fade at the edge of a container)
|
|
183
|
+
- Image treatment (tonal overlay to match palette)
|
|
184
|
+
|
|
185
|
+
**Where they never belong:**
|
|
186
|
+
- Buttons
|
|
187
|
+
- Text
|
|
188
|
+
- Headers or nav bars
|
|
189
|
+
- Anywhere that a solid color does the job
|
|
190
|
+
|
|
191
|
+
Study how Stripe uses gradients: barely perceptible, always functional,
|
|
192
|
+
never the first thing you see. The gradient exists to make the solid
|
|
193
|
+
color feel less flat. That is the whole job.
|
|
194
|
+
|
|
195
|
+
### The Gumroad Effect: personality over polish
|
|
196
|
+
|
|
197
|
+
Gumroad's UI breaks every "SaaS design" rule on purpose. Study it when
|
|
198
|
+
a screen needs identity, not just correctness.
|
|
199
|
+
|
|
200
|
+
**What they do differently:**
|
|
201
|
+
|
|
202
|
+
- **Custom type, not system fonts.** ABC Favorit, not Inter. The font
|
|
203
|
+
IS the brand. Most SaaS sites are interchangeable because they all
|
|
204
|
+
use the same 3 fonts. Gumroad isn't.
|
|
205
|
+
- **Buttons with physical weight.** Each button has 3 stacked layers
|
|
206
|
+
(yellow offset, red offset, black base) that animate on hover with
|
|
207
|
+
translate and hard shadow. Feels like pressing a real button. Compare
|
|
208
|
+
to flat rectangles everywhere else.
|
|
209
|
+
- **Bold, limited palette.** Black, white, pink (#FF90E8), yellow,
|
|
210
|
+
orange, red. No gradients, no glass morphism. The pink is the
|
|
211
|
+
signature. Restraint in palette, boldness in application.
|
|
212
|
+
- **Type as the visual element.** "$2,193,086" in 12rem font. "Go from
|
|
213
|
+
0 to $1" in 8xl. Typography does the heavy lifting, not illustrations
|
|
214
|
+
or stock photos.
|
|
215
|
+
- **Asymmetric bento cards.** Feature cards aren't uniform grids.
|
|
216
|
+
Different sizes, images overflowing boundaries, text positioned
|
|
217
|
+
absolutely. Feels organic, not like a Canva template.
|
|
218
|
+
- **Micro-interactions that mean something.** Hover states use
|
|
219
|
+
`hover:-translate-x-2 hover:-translate-y-2 hover:shadow-[4px_4px_0_0_#000]`.
|
|
220
|
+
Every interactive element moves slightly and gains a hard shadow. The
|
|
221
|
+
marquee of category tags scrolls continuously. Parallax coins in the
|
|
222
|
+
hero. Nothing is idle decoration.
|
|
223
|
+
- **Social proof that feels real.** Real names, real photos, real quotes
|
|
224
|
+
with real numbers ("$10k+ per month", "6-figure salary"). Not
|
|
225
|
+
"Trusted by 10,000+ companies."
|
|
226
|
+
- **Open source as trust signal.** GitHub link (9.6K stars) in the hero
|
|
227
|
+
nav. Says "we have nothing to hide."
|
|
228
|
+
|
|
229
|
+
**The core principle:** Gumroad's UI looks like what would happen if a
|
|
230
|
+
designer who actually sells stuff on the internet designed the site.
|
|
231
|
+
It's not trying to look like Stripe or Vercel. It's trying to look like
|
|
232
|
+
Gumroad, slightly rough, very human, unmistakably itself.
|
|
233
|
+
|
|
234
|
+
Most SaaS sites are interchangeable. Gumroad isn't. It has an identity.
|
|
235
|
+
That's why it's good. When building UI, ask: would someone know this is
|
|
236
|
+
ours without seeing the logo? If not, it needs more personality, not
|
|
237
|
+
more polish.
|
|
238
|
+
|
|
239
|
+
**Apply this by:**
|
|
240
|
+
- Picking one distinctive font and committing to it
|
|
241
|
+
- Making hover states tactile, not just color changes
|
|
242
|
+
- Using type at scale as the primary visual element
|
|
243
|
+
- Letting cards and layouts be asymmetric, not grid-perfect
|
|
244
|
+
- Showing real numbers and real names, not vague claims
|
|
245
|
+
- Choosing a signature color and using it everywhere
|
|
246
|
+
|
|
247
|
+
## Modular Route-Based File Layout (Backend Services)
|
|
248
|
+
|
|
249
|
+
### Principle
|
|
250
|
+
One route → one file. Shared code only when ≥2 routes use it. Keep it in the route file until proven shared.
|
|
251
|
+
|
|
252
|
+
### Structure for Bun HTTP APIs (`apps/be/`)
|
|
253
|
+
```
|
|
254
|
+
src/
|
|
255
|
+
├── index.ts # Server entry, route dispatch
|
|
256
|
+
├── config.ts # Env, secrets, constants
|
|
257
|
+
├── schemas.ts # Zod input validation per route
|
|
258
|
+
├── auth.ts # Shared auth: hash, JWT, getCurrentUser
|
|
259
|
+
├── utils.ts # Response helpers, CORS
|
|
260
|
+
└── routes/
|
|
261
|
+
├── auth.ts # POST /auth/signup, /auth/signin, GET /auth/me
|
|
262
|
+
├── rooms.ts # POST /rooms, GET /rooms, GET /rooms/:id
|
|
263
|
+
└── health.ts # GET /health
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### Structure for WebSocket Gateway (`apps/ws-gateway/`)
|
|
267
|
+
```
|
|
268
|
+
src/
|
|
269
|
+
├── index.ts # Server entry, WS connection handler
|
|
270
|
+
├── utils.ts # Shared state (clients, rooms), broadcast, helpers
|
|
271
|
+
└── handlers/
|
|
272
|
+
├── auth.ts # AUTH → AUTH_OK
|
|
273
|
+
├── rooms.ts # CREATE_ROOM, JOIN_ROOM
|
|
274
|
+
├── players.ts # PLAYER_READY, START_GAME, LEAVE_ROOM
|
|
275
|
+
├── game.ts # GAME_ACTION, PING
|
|
276
|
+
└── dispatcher.ts # Message routing, connection lifecycle
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Rules
|
|
280
|
+
- **Route file owns the flow**: input validation, auth checks, DB calls, response
|
|
281
|
+
- **Shared code lives in `utils/` or root**: only when genuinely used by ≥2 routes
|
|
282
|
+
- **No premature abstraction**: duplicate until it hurts, then extract
|
|
283
|
+
- **Types from `protocol` package**: never redefine message types locally
|
|
284
|
+
- **Entry point imports routes, routes import shared**: no circular deps
|
|
285
|
+
|
|
286
|
+
This pattern works for both REST (Bun) and WebSocket handlers.
|
|
287
|
+
|
|
288
|
+
> **For Turborepo + Bun projects:** Full monorepo structure, package patterns, CI/CD, and deployment conventions are in [`nerdev-monorepo`](../nerdev-monorepo/SKILL.md). This skill covers the aesthetic/philosophy layer; that one covers the structural/operational layer.
|
|
289
|
+
|
|
290
|
+
## 3. Docs are mine, yours is the audit
|
|
291
|
+
|
|
292
|
+
AI-written docs are slop. They are vague, they hedge, they list features
|
|
293
|
+
with no outcome stated. I write the docs. You make sure I actually do it,
|
|
294
|
+
then you check my work.
|
|
295
|
+
|
|
296
|
+
### Two layers, one page
|
|
297
|
+
|
|
298
|
+
Every user-facing feature page ships two short versions, both on the same
|
|
299
|
+
page so a reader can switch:
|
|
300
|
+
|
|
301
|
+
- The plain version first. What this does, in outcomes. No jargon, no
|
|
302
|
+
internals. "See your solving streak and the topics you are weakest in
|
|
303
|
+
this month."
|
|
304
|
+
- The technical version underneath, behind tabs or a details block, for the
|
|
305
|
+
person who will maintain it. Real names, real shapes, caching rules,
|
|
306
|
+
error paths.
|
|
307
|
+
|
|
308
|
+
For the switch, markdown offers a few options: `<details>` blocks,
|
|
309
|
+
`::: code-tabs` / `::: tabs` directives (GitBook, VitePress), or MDX `Tabs`.
|
|
310
|
+
Pick what the platform renders. When in doubt, `<details>` works on GitHub
|
|
311
|
+
and most other places.
|
|
312
|
+
|
|
313
|
+
### The rule that never bends
|
|
314
|
+
|
|
315
|
+
I write these docs. Not you. When a feature is done:
|
|
316
|
+
|
|
317
|
+
1. You tell me the docs are needed and ask the questions that make writing
|
|
318
|
+
them easy: what outcome does this give someone? what annoyed you about
|
|
319
|
+
how it worked before? what should the maintainer know first?
|
|
320
|
+
2. You wait. No drafting "just to help". If I try to shrug the writing off
|
|
321
|
+
to you, push back gently and wait.
|
|
322
|
+
3. Then you audit what I wrote. Check: outcome first, no vague words, real
|
|
323
|
+
names and commands, nothing claimed that is not true at this commit.
|
|
324
|
+
Where it falls short, tell me exactly what to fix and why.
|
|
325
|
+
|
|
326
|
+
Docs are how I keep ownership of the product. If I did not write it, I do
|
|
327
|
+
not understand it, and that is the one outcome worse than messy docs.
|
|
328
|
+
|
|
329
|
+
## 4. How to talk to me
|
|
330
|
+
|
|
331
|
+
I know English well. Still, write so a 5th grader gets it. Plain words,
|
|
332
|
+
short sentences, no padding. Long and fancy does not mean clear.
|
|
333
|
+
|
|
334
|
+
- **Short and sweet.** If a sentence works without words, cut the words.
|
|
335
|
+
Clarity is brevity, not a longer explanation.
|
|
336
|
+
- **No em dashes. Anywhere. Never.** Not in files, diffs, docs, comments,
|
|
337
|
+
or chat. Use commas or periods. One em dash means the deliverable fails
|
|
338
|
+
review.
|
|
339
|
+
- **STE-clean on owned skills.** Owned skill files pass `npm run lint:ste`.
|
|
340
|
+
The bar is 2.5 violations per 100 words. Bullet lists and quoted speech
|
|
341
|
+
do not count.
|
|
342
|
+
- **Small paragraphs.** Two or three lines beats a wall of text.
|
|
343
|
+
- **List is the default.** Features, files, packages, steps: one per line,
|
|
344
|
+
`name: what it does`.
|
|
345
|
+
|
|
346
|
+
```
|
|
347
|
+
me.ts: all API work for /me, stats included.
|
|
348
|
+
auth.ts: login, tokens, sessions.
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
- **Abstract, not imported.** No import trees, no function signatures. Say
|
|
352
|
+
what a thing does and how it fits. If the function name adds nothing,
|
|
353
|
+
leave it out.
|
|
354
|
+
- **Outcomes over details.** Say what someone gets or what breaks. Not how
|
|
355
|
+
many lines moved.
|
|
356
|
+
|
|
357
|
+
## Working with the agent
|
|
358
|
+
|
|
359
|
+
Ask like a friend, not a lawyer. If something I said does not land, say
|
|
360
|
+
"wait, I think I missed something" and re-say it in plainer words. Ask the
|
|
361
|
+
questions that matter before building, one round at a time, and stop only
|
|
362
|
+
when we both actually agree. Do not build on guesses.
|
|
363
|
+
|
|
364
|
+
Build in the smallest step that is real: get the data shape right first,
|
|
365
|
+
remove what is dead, then add. If a sentence of a plan would survive
|
|
366
|
+
unchanged in another project, it does not describe this one. Cut it.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: imagegen
|
|
3
|
+
description: Generates premium design images with image models: web section references, mobile app screens, brand kits, and image-first website builds. Use when the user wants design references, landing page images, app screen concepts, brand identity decks, or a website built from generated images. Replaces imagegen-frontend-web, imagegen-frontend-mobile, brandkit, and image-to-code-skill as one owned skill. Generates images only, except the image-to-code flow which implements what it generated. house-style is the law for taste. This file is the craft.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Imagegen
|
|
7
|
+
|
|
8
|
+
> **Skill family:** `house-style` = law. [`ui`](../ui/SKILL.md) = full UI process. [`impeccable`](../impeccable/SKILL.md) = commands. [`motion`](../motion/SKILL.md) = motion job. [`pick-ui-library`](../pick-ui-library/SKILL.md) = library picks. [`prototype`](../prototype/SKILL.md) = divergence exploration. This skill = premium design *image references* (web, mobile, brand, image-to-code). Load `house-style` + this skill for design references; the generated images feed into `ui`/`prototype`/`image-to-code` for implementation.
|
|
9
|
+
|
|
10
|
+
One job, four modes. Pick the mode from the ask: web references, mobile
|
|
11
|
+
screens, brand kit, image to code. Details in references/. house-style
|
|
12
|
+
is the law for taste; this file is the craft of image generation.
|
|
13
|
+
|
|
14
|
+
## The rules that never bend
|
|
15
|
+
|
|
16
|
+
- One image per section. Never collapse a flow into one collage, never
|
|
17
|
+
crop a section out of a bigger image: generate it fresh.
|
|
18
|
+
- Readable text. If the text feels small, the design is not finished.
|
|
19
|
+
- One controlled palette per project. Accent logic holds across every
|
|
20
|
+
image.
|
|
21
|
+
- One design bible before any multi-image set: palette, type mood,
|
|
22
|
+
spacing, radius, icon style, texture, navigation.
|
|
23
|
+
- No purple-blue AI gradients, no generic startup looks, no rainbow.
|
|
24
|
+
- No fake names, no filler copy, no meaningless marquees.
|
|
25
|
+
- Images are references a coder can recreate, not mood art.
|
|
26
|
+
- Mode decides framing: web images horizontal, mobile screens inside
|
|
27
|
+
phone mockups, brand work on boards.
|
|
28
|
+
|
|
29
|
+
## Mode selection
|
|
30
|
+
|
|
31
|
+
- Landing page, marketing site, product page: web references
|
|
32
|
+
(references/web.md).
|
|
33
|
+
- App concept, onboarding, app screens: mobile (references/mobile.md).
|
|
34
|
+
- Logo system, identity deck, brand board: brand kit
|
|
35
|
+
(references/brandkit.md).
|
|
36
|
+
- Build a site from generated design: image to code
|
|
37
|
+
(references/image-to-code.md).
|
|
38
|
+
|
|
39
|
+
## After every set
|
|
40
|
+
|
|
41
|
+
Run the mode's checklist: count, continuity, palette, readability,
|
|
42
|
+
framing, anti-slop. Fix what fails before delivering.
|
|
43
|
+
|
|
44
|
+
## Origin
|
|
45
|
+
|
|
46
|
+
Merged from four skills that were one job in four voices:
|
|
47
|
+
imagegen-frontend-web, imagegen-frontend-mobile, brandkit, and
|
|
48
|
+
image-to-code-skill. Their folders do not come back on sync. Their best
|
|
49
|
+
content lives in the references.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Brand kit
|
|
2
|
+
|
|
3
|
+
## The board
|
|
4
|
+
|
|
5
|
+
Default: one overview image, 3x3 layout, 4:3 or 16:10, clean gutters,
|
|
6
|
+
minimal text. Every board is a visual argument: what the brand
|
|
7
|
+
represents, the metaphor, how the logo expresses it, how it scales, and
|
|
8
|
+
why it is ownable.
|
|
9
|
+
|
|
10
|
+
## The 3x3 panel system
|
|
11
|
+
|
|
12
|
+
1. Logo cover: large mark, strong negative space.
|
|
13
|
+
2. Logo construction: grid and geometry, why the mark exists.
|
|
14
|
+
3. Digital application: browser, app header, terminal, app icon.
|
|
15
|
+
4. Brand essence: one short tagline, large type.
|
|
16
|
+
5. Color system: swatches and palette cards.
|
|
17
|
+
6. Typography: large specimen, primary and secondary.
|
|
18
|
+
7. Physical application: card, badge, packaging.
|
|
19
|
+
8. Image direction: cinematic, product crop, material texture.
|
|
20
|
+
9. System detail: UI chips, icon row, pattern.
|
|
21
|
+
|
|
22
|
+
## Brand strategy first
|
|
23
|
+
|
|
24
|
+
Infer: category, audience, function, emotional promise, trust level,
|
|
25
|
+
visual world, metaphor. Symbols are never random. Dev tool: cursor,
|
|
26
|
+
frame, bolt. AI: spark, orbit, signal. Security: shield, eye, seal.
|
|
27
|
+
Luxury: monogram, emboss. Productivity: path, check, calendar.
|
|
28
|
+
|
|
29
|
+
## Logo concept (one method, max two)
|
|
30
|
+
|
|
31
|
+
Monogram with meaning, product action, metaphor fusion, negative space,
|
|
32
|
+
construction geometry. The mark must be simple, memorable, scalable,
|
|
33
|
+
ownable.
|
|
34
|
+
|
|
35
|
+
## Visual modes
|
|
36
|
+
|
|
37
|
+
Dark developer, dark operator, dark nature, dark security, light
|
|
38
|
+
editorial, luxury, voice, cultural. Match the mode to the brand.
|
|
39
|
+
|
|
40
|
+
## Text rules
|
|
41
|
+
|
|
42
|
+
Very little text: brand name, one tagline, one URL, 2-5 labels. No
|
|
43
|
+
paragraphs, no lorem, no menus.
|
|
44
|
+
|
|
45
|
+
## Anti-generic
|
|
46
|
+
|
|
47
|
+
No floating icons, generic gradients, fake tiny UI, messy collages,
|
|
48
|
+
cheap neon, template boards.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Image to code
|
|
2
|
+
|
|
3
|
+
## The workflow
|
|
4
|
+
|
|
5
|
+
1. Infer the section count.
|
|
6
|
+
2. Generate the section reference images first.
|
|
7
|
+
3. Add detail or extraction images where needed.
|
|
8
|
+
4. Regenerate unclear sections as fresh standalone images.
|
|
9
|
+
5. Deeply inspect every image.
|
|
10
|
+
6. Extract: text, type, spacing, colors, layout, buttons, component
|
|
11
|
+
logic.
|
|
12
|
+
7. Implement to match the generated design as closely as possible.
|
|
13
|
+
8. Invent missing details only when the images leave it ambiguous.
|
|
14
|
+
|
|
15
|
+
## Anti-under-generation
|
|
16
|
+
|
|
17
|
+
Never reduce the image count for convenience. One clear image per
|
|
18
|
+
section beats one compressed board. An extra detail image beats
|
|
19
|
+
guessing.
|
|
20
|
+
|
|
21
|
+
## The do-not-crop rule
|
|
22
|
+
|
|
23
|
+
Never crop a section out of a larger image: it destroys spacing, type
|
|
24
|
+
scale, and proportions. Generate fresh, keeping the design language.
|
|
25
|
+
|
|
26
|
+
## Deep analysis
|
|
27
|
+
|
|
28
|
+
Treat the images as the specification: exact visible text, type scale
|
|
29
|
+
relationships, spacing logic, button shapes, palette, shadow mood.
|
|
30
|
+
Faithful logic, not pixel OCR.
|
|
31
|
+
|
|
32
|
+
## Design-to-code discipline
|
|
33
|
+
|
|
34
|
+
Copy-oriented: visually faithful, not inspired by. No drift into
|
|
35
|
+
default templates, generic rows, compressed spacing, flattened type, or
|
|
36
|
+
reintroduced nested boxes.
|
|
37
|
+
|
|
38
|
+
## Missing detail order
|
|
39
|
+
|
|
40
|
+
1. Preserve the visible design language.
|
|
41
|
+
2. Preserve the layout logic.
|
|
42
|
+
3. Preserve the component family.
|
|
43
|
+
4. Preserve the mood.
|
|
44
|
+
5. Generate an extra image.
|
|
45
|
+
6. Regenerate fresh.
|
|
46
|
+
7. Then pick the most implementation-friendly faithful version.
|
|
47
|
+
|
|
48
|
+
## Hero readability
|
|
49
|
+
|
|
50
|
+
One focal point, headline 1-3 lines, no pills or fake stats, clean on
|
|
51
|
+
a small laptop.
|
|
52
|
+
|
|
53
|
+
## Section packs
|
|
54
|
+
|
|
55
|
+
4, 8, or 12: hero, trust bar, features, showcase, benefits,
|
|
56
|
+
testimonials, pricing, CTA.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Mobile screens
|
|
2
|
+
|
|
3
|
+
## Platform mode first
|
|
4
|
+
|
|
5
|
+
Pick one: iOS-native, Android-native, or cross-platform neutral. Never
|
|
6
|
+
mix patterns from different platforms.
|
|
7
|
+
|
|
8
|
+
## The count rule
|
|
9
|
+
|
|
10
|
+
One screen per image. 1 screen, 1 image. 5 screens, 5 images. Flows:
|
|
11
|
+
onboarding, auth with all states, meaningful app sets. Better several
|
|
12
|
+
clean screens than one compressed board.
|
|
13
|
+
|
|
14
|
+
## No cropping
|
|
15
|
+
|
|
16
|
+
Never crop a screen out of an earlier image. Generate fresh with the
|
|
17
|
+
same design language.
|
|
18
|
+
|
|
19
|
+
## Framing
|
|
20
|
+
|
|
21
|
+
Default: UI inside a phone mockup with a visible frame. One device
|
|
22
|
+
style per set, consistent scale, even margins, the phone never touches
|
|
23
|
+
the canvas edge. The mockup supports the screen; the content stays the
|
|
24
|
+
hero.
|
|
25
|
+
|
|
26
|
+
## First screen
|
|
27
|
+
|
|
28
|
+
One focal point, headline 1-3 lines, no stats or pills, CTA visible.
|
|
29
|
+
Respect safe areas, status bar, home indicator, and gesture space.
|
|
30
|
+
|
|
31
|
+
## Navigation
|
|
32
|
+
|
|
33
|
+
Familiar patterns: tab bar, stack, sheets, segmented controls. Do not
|
|
34
|
+
overload the bottom nav.
|
|
35
|
+
|
|
36
|
+
## Textured surfaces
|
|
37
|
+
|
|
38
|
+
Soft film grain, paper texture, frosted feel, tonal fog. Texture
|
|
39
|
+
supports the mood and never competes with the text.
|
|
40
|
+
|
|
41
|
+
## Iconography
|
|
42
|
+
|
|
43
|
+
A clean custom-feeling system with consistent stroke logic. No Lucide
|
|
44
|
+
defaults, no mixed weights.
|
|
45
|
+
|
|
46
|
+
## Category biases
|
|
47
|
+
|
|
48
|
+
- Fintech: trust, calm numbers, no chart spam.
|
|
49
|
+
- Health: calm, airy.
|
|
50
|
+
- Productivity: clarity and discipline.
|
|
51
|
+
- Social: rhythm and media moments.
|
|
52
|
+
- Commerce: strong product imagery, clean checkout.
|
|
53
|
+
- Wellness: soft materials, soft fades.
|
|
54
|
+
|
|
55
|
+
## Regenerate when
|
|
56
|
+
|
|
57
|
+
Text too small, crowded, fake navigation, looks like a website, nested
|
|
58
|
+
cards, muddy palette, sloppy framing, lost consistency.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Web references
|
|
2
|
+
|
|
3
|
+
## The count rule
|
|
4
|
+
|
|
5
|
+
One separate horizontal image per section. Hero: 1. Landing page: 6.
|
|
6
|
+
Full marketing site: 8. Product page or portfolio: 6. Ambiguous:
|
|
7
|
+
default high. Announce the count first, then deliver each one labeled
|
|
8
|
+
"Section X of N".
|
|
9
|
+
|
|
10
|
+
## Formats
|
|
11
|
+
|
|
12
|
+
Horizontal: 16:9, 16:10, or 21:9. Hero usually 16:9 or 21:9. Content
|
|
13
|
+
sections 16:10.
|
|
14
|
+
|
|
15
|
+
## Hero scale (pick one, decisively)
|
|
16
|
+
|
|
17
|
+
- Giant statement: massive type fills the first viewport.
|
|
18
|
+
- Mid editorial: balanced type and image.
|
|
19
|
+
- Mini minimalist: tiny logo, short statement, thin CTA, mostly
|
|
20
|
+
negative space. Mini means confidence, not weakness.
|
|
21
|
+
|
|
22
|
+
## Composition anchors
|
|
23
|
+
|
|
24
|
+
Pick one per section, at least 3 different anchors across the site,
|
|
25
|
+
never the same twice in a row. Left-text-right-image is the overused AI
|
|
26
|
+
default: allowed only when it earns it. Before the final layout ask:
|
|
27
|
+
"Am I drafting the default out of habit?"
|
|
28
|
+
|
|
29
|
+
## Background modes
|
|
30
|
+
|
|
31
|
+
Pick one per section and vary: solid plus asset, texture, full-bleed
|
|
32
|
+
image with tonal overlay, editorial side image, image as the visual,
|
|
33
|
+
flat block with detail crop, tonal gradient, duotone, radial vignette,
|
|
34
|
+
noise gradient. The same mode 3 sections in a row is a reject.
|
|
35
|
+
|
|
36
|
+
## CTAs
|
|
37
|
+
|
|
38
|
+
Pick per section from: pill, outline, underlined link with arrow,
|
|
39
|
+
full-width banner, oversized headline with tiny hint. Vary at least
|
|
40
|
+
once. One unmistakable primary action per viewport.
|
|
41
|
+
|
|
42
|
+
## Palette
|
|
43
|
+
|
|
44
|
+
One primary, one secondary, one accent used sparingly, plus neutrals.
|
|
45
|
+
Section mood shifts reuse the same palette. Full-bleed images match the
|
|
46
|
+
palette tonally. Gradients allowed only as low-chroma tonal grades.
|
|
47
|
+
|
|
48
|
+
## Second-read moment
|
|
49
|
+
|
|
50
|
+
Exactly one per page, deliberate: an oversized numeral, a material
|
|
51
|
+
switch, a side-rail editorial note. It aids recall, it does not show
|
|
52
|
+
off.
|
|
53
|
+
|
|
54
|
+
## Narrative spine
|
|
55
|
+
|
|
56
|
+
Pick one and thread it through every section: artifact, journey, tool,
|
|
57
|
+
living system, stage, archive.
|
|
58
|
+
|
|
59
|
+
## Continuity
|
|
60
|
+
|
|
61
|
+
The same palette, type family and scale, CTA family, radius language,
|
|
62
|
+
and image treatment across all sections. Variation only in anchor,
|
|
63
|
+
background mode, size, and placement.
|