@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.
Files changed (567) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +351 -0
  3. package/bin/skillset.mjs +205 -0
  4. package/curations/README.md +53 -0
  5. package/curations/TEMPLATE/WHY.md +23 -0
  6. package/curations/TEMPLATE/overlay/SKILL.md +6 -0
  7. package/curations/impeccable/WHY.md +34 -0
  8. package/curations/impeccable/overlay/SKILL.md +116 -0
  9. package/package.json +43 -0
  10. package/scripts/ste-gate.mjs +39 -0
  11. package/scripts/ste-lint.py +201 -0
  12. package/scripts/sync.mjs +174 -0
  13. package/skills/ai-agent/agent-docs-writer/SKILL.md +105 -0
  14. package/skills/ai-agent/agent-docs-writer/references/principles.md +73 -0
  15. package/skills/ai-agent/agent-docs-writer/templates/AGENTS.template.md +44 -0
  16. package/skills/ai-agent/agent-docs-writer/templates/README.template.md +19 -0
  17. package/skills/ai-agent/ultra-context-engine/SKILL.md +941 -0
  18. package/skills/architecture/blueprint/SKILL.md +191 -0
  19. package/skills/architecture/code-tour/SKILL.md +204 -0
  20. package/skills/architecture/progress-guard/SKILL.md +148 -0
  21. package/skills/architecture/search-first/SKILL.md +97 -0
  22. package/skills/backend/api-design/SKILL.md +456 -0
  23. package/skills/backend/auth/SKILL.md +596 -0
  24. package/skills/backend/database/SKILL.md +431 -0
  25. package/skills/backend/realtime/SKILL.md +670 -0
  26. package/skills/backend/security/SKILL.md +590 -0
  27. package/skills/business/brag/SKILL.md +177 -0
  28. package/skills/business/brag/assets/music/README.md +20 -0
  29. package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-1-by-ende-dot-app.music-cues.json +3846 -0
  30. package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-1-by-ende-dot-app.music-cues.md +35 -0
  31. package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-10-by-ende-dot-app.music-cues.json +1826 -0
  32. package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-10-by-ende-dot-app.music-cues.md +35 -0
  33. package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-11-by-ende-dot-app.music-cues.json +2266 -0
  34. package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-11-by-ende-dot-app.music-cues.md +35 -0
  35. package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-12-by-ende-dot-app.music-cues.json +2806 -0
  36. package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-12-by-ende-dot-app.music-cues.md +35 -0
  37. package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-9-by-ende-dot-app.music-cues.json +2796 -0
  38. package/skills/business/brag/assets/music/cues/happy-beats-business-moves-vol-9-by-ende-dot-app.music-cues.md +35 -0
  39. package/skills/business/brag/assets/music/happy-beats-business-moves-vol-1-by-ende-dot-app.mp3 +0 -0
  40. package/skills/business/brag/assets/music/happy-beats-business-moves-vol-10-by-ende-dot-app.mp3 +0 -0
  41. package/skills/business/brag/assets/music/happy-beats-business-moves-vol-11-by-ende-dot-app.mp3 +0 -0
  42. package/skills/business/brag/assets/music/happy-beats-business-moves-vol-12-by-ende-dot-app.mp3 +0 -0
  43. package/skills/business/brag/assets/music/happy-beats-business-moves-vol-9-by-ende-dot-app.mp3 +0 -0
  44. package/skills/business/brag/assets/sfx/casino/card-fan-1.ogg +0 -0
  45. package/skills/business/brag/assets/sfx/casino/card-fan-2.ogg +0 -0
  46. package/skills/business/brag/assets/sfx/casino/card-place-1.ogg +0 -0
  47. package/skills/business/brag/assets/sfx/casino/card-place-2.ogg +0 -0
  48. package/skills/business/brag/assets/sfx/casino/card-place-3.ogg +0 -0
  49. package/skills/business/brag/assets/sfx/casino/card-place-4.ogg +0 -0
  50. package/skills/business/brag/assets/sfx/casino/card-shove-1.ogg +0 -0
  51. package/skills/business/brag/assets/sfx/casino/card-shove-2.ogg +0 -0
  52. package/skills/business/brag/assets/sfx/casino/card-shove-3.ogg +0 -0
  53. package/skills/business/brag/assets/sfx/casino/card-shove-4.ogg +0 -0
  54. package/skills/business/brag/assets/sfx/casino/card-shuffle.ogg +0 -0
  55. package/skills/business/brag/assets/sfx/casino/card-slide-1.ogg +0 -0
  56. package/skills/business/brag/assets/sfx/casino/card-slide-2.ogg +0 -0
  57. package/skills/business/brag/assets/sfx/casino/card-slide-3.ogg +0 -0
  58. package/skills/business/brag/assets/sfx/casino/card-slide-4.ogg +0 -0
  59. package/skills/business/brag/assets/sfx/casino/card-slide-5.ogg +0 -0
  60. package/skills/business/brag/assets/sfx/casino/card-slide-6.ogg +0 -0
  61. package/skills/business/brag/assets/sfx/casino/card-slide-7.ogg +0 -0
  62. package/skills/business/brag/assets/sfx/casino/card-slide-8.ogg +0 -0
  63. package/skills/business/brag/assets/sfx/casino/cards-pack-open-1.ogg +0 -0
  64. package/skills/business/brag/assets/sfx/casino/cards-pack-open-2.ogg +0 -0
  65. package/skills/business/brag/assets/sfx/casino/chip-lay-1.ogg +0 -0
  66. package/skills/business/brag/assets/sfx/casino/chip-lay-2.ogg +0 -0
  67. package/skills/business/brag/assets/sfx/casino/chip-lay-3.ogg +0 -0
  68. package/skills/business/brag/assets/sfx/casino/chips-collide-1.ogg +0 -0
  69. package/skills/business/brag/assets/sfx/casino/chips-collide-2.ogg +0 -0
  70. package/skills/business/brag/assets/sfx/casino/chips-collide-3.ogg +0 -0
  71. package/skills/business/brag/assets/sfx/casino/chips-collide-4.ogg +0 -0
  72. package/skills/business/brag/assets/sfx/casino/chips-handle-1.ogg +0 -0
  73. package/skills/business/brag/assets/sfx/casino/chips-handle-2.ogg +0 -0
  74. package/skills/business/brag/assets/sfx/casino/chips-handle-3.ogg +0 -0
  75. package/skills/business/brag/assets/sfx/casino/chips-handle-4.ogg +0 -0
  76. package/skills/business/brag/assets/sfx/casino/chips-handle-6.ogg +0 -0
  77. package/skills/business/brag/assets/sfx/casino/chips-stack-1.ogg +0 -0
  78. package/skills/business/brag/assets/sfx/casino/chips-stack-2.ogg +0 -0
  79. package/skills/business/brag/assets/sfx/casino/chips-stack-3.ogg +0 -0
  80. package/skills/business/brag/assets/sfx/casino/chips-stack-4.ogg +0 -0
  81. package/skills/business/brag/assets/sfx/casino/chips-stack-5.ogg +0 -0
  82. package/skills/business/brag/assets/sfx/casino/chips-stack-6.ogg +0 -0
  83. package/skills/business/brag/assets/sfx/casino/dice-grab-1.ogg +0 -0
  84. package/skills/business/brag/assets/sfx/casino/dice-grab-2.ogg +0 -0
  85. package/skills/business/brag/assets/sfx/casino/dice-shake-1.ogg +0 -0
  86. package/skills/business/brag/assets/sfx/casino/dice-shake-2.ogg +0 -0
  87. package/skills/business/brag/assets/sfx/casino/dice-shake-3.ogg +0 -0
  88. package/skills/business/brag/assets/sfx/casino/dice-throw-1.ogg +0 -0
  89. package/skills/business/brag/assets/sfx/casino/dice-throw-2.ogg +0 -0
  90. package/skills/business/brag/assets/sfx/casino/dice-throw-3.ogg +0 -0
  91. package/skills/business/brag/assets/sfx/casino/die-throw-1.ogg +0 -0
  92. package/skills/business/brag/assets/sfx/casino/die-throw-2.ogg +0 -0
  93. package/skills/business/brag/assets/sfx/casino/die-throw-3.ogg +0 -0
  94. package/skills/business/brag/assets/sfx/casino/die-throw-4.ogg +0 -0
  95. package/skills/business/brag/assets/sfx/impact/footstep_carpet_000.ogg +0 -0
  96. package/skills/business/brag/assets/sfx/impact/footstep_carpet_003.ogg +0 -0
  97. package/skills/business/brag/assets/sfx/impact/footstep_carpet_004.ogg +0 -0
  98. package/skills/business/brag/assets/sfx/impact/footstep_concrete_000.ogg +0 -0
  99. package/skills/business/brag/assets/sfx/impact/footstep_concrete_001.ogg +0 -0
  100. package/skills/business/brag/assets/sfx/impact/footstep_concrete_002.ogg +0 -0
  101. package/skills/business/brag/assets/sfx/impact/footstep_concrete_003.ogg +0 -0
  102. package/skills/business/brag/assets/sfx/impact/footstep_concrete_004.ogg +0 -0
  103. package/skills/business/brag/assets/sfx/impact/footstep_grass_000.ogg +0 -0
  104. package/skills/business/brag/assets/sfx/impact/footstep_grass_001.ogg +0 -0
  105. package/skills/business/brag/assets/sfx/impact/footstep_grass_002.ogg +0 -0
  106. package/skills/business/brag/assets/sfx/impact/footstep_grass_003.ogg +0 -0
  107. package/skills/business/brag/assets/sfx/impact/footstep_grass_004.ogg +0 -0
  108. package/skills/business/brag/assets/sfx/impact/footstep_snow_000.ogg +0 -0
  109. package/skills/business/brag/assets/sfx/impact/footstep_snow_001.ogg +0 -0
  110. package/skills/business/brag/assets/sfx/impact/footstep_snow_002.ogg +0 -0
  111. package/skills/business/brag/assets/sfx/impact/footstep_snow_003.ogg +0 -0
  112. package/skills/business/brag/assets/sfx/impact/footstep_snow_004.ogg +0 -0
  113. package/skills/business/brag/assets/sfx/impact/footstep_wood_000.ogg +0 -0
  114. package/skills/business/brag/assets/sfx/impact/footstep_wood_001.ogg +0 -0
  115. package/skills/business/brag/assets/sfx/impact/footstep_wood_002.ogg +0 -0
  116. package/skills/business/brag/assets/sfx/impact/footstep_wood_003.ogg +0 -0
  117. package/skills/business/brag/assets/sfx/impact/footstep_wood_004.ogg +0 -0
  118. package/skills/business/brag/assets/sfx/impact/impactBell_heavy_000.ogg +0 -0
  119. package/skills/business/brag/assets/sfx/impact/impactBell_heavy_003.ogg +0 -0
  120. package/skills/business/brag/assets/sfx/impact/impactBell_heavy_004.ogg +0 -0
  121. package/skills/business/brag/assets/sfx/impact/impactGeneric_light_000.ogg +0 -0
  122. package/skills/business/brag/assets/sfx/impact/impactGeneric_light_001.ogg +0 -0
  123. package/skills/business/brag/assets/sfx/impact/impactGeneric_light_002.ogg +0 -0
  124. package/skills/business/brag/assets/sfx/impact/impactGeneric_light_003.ogg +0 -0
  125. package/skills/business/brag/assets/sfx/impact/impactGeneric_light_004.ogg +0 -0
  126. package/skills/business/brag/assets/sfx/impact/impactGlass_heavy_002.ogg +0 -0
  127. package/skills/business/brag/assets/sfx/impact/impactGlass_light_001.ogg +0 -0
  128. package/skills/business/brag/assets/sfx/impact/impactGlass_light_002.ogg +0 -0
  129. package/skills/business/brag/assets/sfx/impact/impactGlass_light_003.ogg +0 -0
  130. package/skills/business/brag/assets/sfx/impact/impactGlass_medium_000.ogg +0 -0
  131. package/skills/business/brag/assets/sfx/impact/impactGlass_medium_002.ogg +0 -0
  132. package/skills/business/brag/assets/sfx/impact/impactGlass_medium_004.ogg +0 -0
  133. package/skills/business/brag/assets/sfx/impact/impactMetal_heavy_000.ogg +0 -0
  134. package/skills/business/brag/assets/sfx/impact/impactMetal_heavy_002.ogg +0 -0
  135. package/skills/business/brag/assets/sfx/impact/impactMetal_heavy_004.ogg +0 -0
  136. package/skills/business/brag/assets/sfx/impact/impactMetal_light_002.ogg +0 -0
  137. package/skills/business/brag/assets/sfx/impact/impactMetal_light_003.ogg +0 -0
  138. package/skills/business/brag/assets/sfx/impact/impactMetal_medium_000.ogg +0 -0
  139. package/skills/business/brag/assets/sfx/impact/impactMetal_medium_001.ogg +0 -0
  140. package/skills/business/brag/assets/sfx/impact/impactMetal_medium_002.ogg +0 -0
  141. package/skills/business/brag/assets/sfx/impact/impactMetal_medium_003.ogg +0 -0
  142. package/skills/business/brag/assets/sfx/impact/impactMetal_medium_004.ogg +0 -0
  143. package/skills/business/brag/assets/sfx/impact/impactMining_001.ogg +0 -0
  144. package/skills/business/brag/assets/sfx/impact/impactPlank_medium_000.ogg +0 -0
  145. package/skills/business/brag/assets/sfx/impact/impactPlank_medium_001.ogg +0 -0
  146. package/skills/business/brag/assets/sfx/impact/impactPlank_medium_002.ogg +0 -0
  147. package/skills/business/brag/assets/sfx/impact/impactPlank_medium_003.ogg +0 -0
  148. package/skills/business/brag/assets/sfx/impact/impactPlank_medium_004.ogg +0 -0
  149. package/skills/business/brag/assets/sfx/impact/impactPlate_heavy_000.ogg +0 -0
  150. package/skills/business/brag/assets/sfx/impact/impactPlate_heavy_001.ogg +0 -0
  151. package/skills/business/brag/assets/sfx/impact/impactPlate_heavy_002.ogg +0 -0
  152. package/skills/business/brag/assets/sfx/impact/impactPlate_heavy_003.ogg +0 -0
  153. package/skills/business/brag/assets/sfx/impact/impactPlate_heavy_004.ogg +0 -0
  154. package/skills/business/brag/assets/sfx/impact/impactPlate_light_000.ogg +0 -0
  155. package/skills/business/brag/assets/sfx/impact/impactPlate_light_001.ogg +0 -0
  156. package/skills/business/brag/assets/sfx/impact/impactPlate_light_002.ogg +0 -0
  157. package/skills/business/brag/assets/sfx/impact/impactPlate_light_003.ogg +0 -0
  158. package/skills/business/brag/assets/sfx/impact/impactPlate_light_004.ogg +0 -0
  159. package/skills/business/brag/assets/sfx/impact/impactPlate_medium_000.ogg +0 -0
  160. package/skills/business/brag/assets/sfx/impact/impactPlate_medium_001.ogg +0 -0
  161. package/skills/business/brag/assets/sfx/impact/impactPlate_medium_002.ogg +0 -0
  162. package/skills/business/brag/assets/sfx/impact/impactPlate_medium_003.ogg +0 -0
  163. package/skills/business/brag/assets/sfx/impact/impactPlate_medium_004.ogg +0 -0
  164. package/skills/business/brag/assets/sfx/impact/impactPunch_heavy_000.ogg +0 -0
  165. package/skills/business/brag/assets/sfx/impact/impactPunch_heavy_001.ogg +0 -0
  166. package/skills/business/brag/assets/sfx/impact/impactPunch_heavy_002.ogg +0 -0
  167. package/skills/business/brag/assets/sfx/impact/impactPunch_heavy_003.ogg +0 -0
  168. package/skills/business/brag/assets/sfx/impact/impactPunch_heavy_004.ogg +0 -0
  169. package/skills/business/brag/assets/sfx/impact/impactPunch_medium_000.ogg +0 -0
  170. package/skills/business/brag/assets/sfx/impact/impactPunch_medium_001.ogg +0 -0
  171. package/skills/business/brag/assets/sfx/impact/impactPunch_medium_002.ogg +0 -0
  172. package/skills/business/brag/assets/sfx/impact/impactPunch_medium_003.ogg +0 -0
  173. package/skills/business/brag/assets/sfx/impact/impactPunch_medium_004.ogg +0 -0
  174. package/skills/business/brag/assets/sfx/impact/impactSoft_heavy_000.ogg +0 -0
  175. package/skills/business/brag/assets/sfx/impact/impactSoft_heavy_001.ogg +0 -0
  176. package/skills/business/brag/assets/sfx/impact/impactSoft_heavy_002.ogg +0 -0
  177. package/skills/business/brag/assets/sfx/impact/impactSoft_heavy_003.ogg +0 -0
  178. package/skills/business/brag/assets/sfx/impact/impactSoft_heavy_004.ogg +0 -0
  179. package/skills/business/brag/assets/sfx/impact/impactSoft_medium_000.ogg +0 -0
  180. package/skills/business/brag/assets/sfx/impact/impactSoft_medium_001.ogg +0 -0
  181. package/skills/business/brag/assets/sfx/impact/impactSoft_medium_002.ogg +0 -0
  182. package/skills/business/brag/assets/sfx/impact/impactSoft_medium_003.ogg +0 -0
  183. package/skills/business/brag/assets/sfx/impact/impactSoft_medium_004.ogg +0 -0
  184. package/skills/business/brag/assets/sfx/impact/impactTin_medium_000.ogg +0 -0
  185. package/skills/business/brag/assets/sfx/impact/impactTin_medium_001.ogg +0 -0
  186. package/skills/business/brag/assets/sfx/impact/impactTin_medium_002.ogg +0 -0
  187. package/skills/business/brag/assets/sfx/impact/impactTin_medium_003.ogg +0 -0
  188. package/skills/business/brag/assets/sfx/impact/impactTin_medium_004.ogg +0 -0
  189. package/skills/business/brag/assets/sfx/impact/impactWood_heavy_000.ogg +0 -0
  190. package/skills/business/brag/assets/sfx/impact/impactWood_heavy_001.ogg +0 -0
  191. package/skills/business/brag/assets/sfx/impact/impactWood_heavy_002.ogg +0 -0
  192. package/skills/business/brag/assets/sfx/impact/impactWood_heavy_003.ogg +0 -0
  193. package/skills/business/brag/assets/sfx/impact/impactWood_heavy_004.ogg +0 -0
  194. package/skills/business/brag/assets/sfx/impact/impactWood_light_000.ogg +0 -0
  195. package/skills/business/brag/assets/sfx/impact/impactWood_light_001.ogg +0 -0
  196. package/skills/business/brag/assets/sfx/impact/impactWood_light_002.ogg +0 -0
  197. package/skills/business/brag/assets/sfx/impact/impactWood_light_003.ogg +0 -0
  198. package/skills/business/brag/assets/sfx/impact/impactWood_light_004.ogg +0 -0
  199. package/skills/business/brag/assets/sfx/impact/impactWood_medium_000.ogg +0 -0
  200. package/skills/business/brag/assets/sfx/impact/impactWood_medium_001.ogg +0 -0
  201. package/skills/business/brag/assets/sfx/impact/impactWood_medium_002.ogg +0 -0
  202. package/skills/business/brag/assets/sfx/impact/impactWood_medium_003.ogg +0 -0
  203. package/skills/business/brag/assets/sfx/impact/impactWood_medium_004.ogg +0 -0
  204. package/skills/business/brag/assets/sfx/interface/bong_001.ogg +0 -0
  205. package/skills/business/brag/assets/sfx/interface/click_001.ogg +0 -0
  206. package/skills/business/brag/assets/sfx/interface/click_002.ogg +0 -0
  207. package/skills/business/brag/assets/sfx/interface/click_003.ogg +0 -0
  208. package/skills/business/brag/assets/sfx/interface/click_004.ogg +0 -0
  209. package/skills/business/brag/assets/sfx/interface/click_005.ogg +0 -0
  210. package/skills/business/brag/assets/sfx/interface/drop_001.ogg +0 -0
  211. package/skills/business/brag/assets/sfx/interface/drop_002.ogg +0 -0
  212. package/skills/business/brag/assets/sfx/interface/drop_003.ogg +0 -0
  213. package/skills/business/brag/assets/sfx/interface/error_005.ogg +0 -0
  214. package/skills/business/brag/assets/sfx/interface/error_006.ogg +0 -0
  215. package/skills/business/brag/assets/sfx/interface/glitch_002.ogg +0 -0
  216. package/skills/business/brag/assets/sfx/interface/glitch_004.ogg +0 -0
  217. package/skills/business/brag/assets/sfx/interface/select_008.ogg +0 -0
  218. package/skills/business/brag/assets/sfx/interface/switch_001.ogg +0 -0
  219. package/skills/business/brag/assets/sfx/interface/switch_002.ogg +0 -0
  220. package/skills/business/brag/assets/sfx/interface/switch_004.ogg +0 -0
  221. package/skills/business/brag/assets/sfx/interface/switch_005.ogg +0 -0
  222. package/skills/business/brag/assets/sfx/interface/switch_006.ogg +0 -0
  223. package/skills/business/brag/assets/sfx/interface/switch_007.ogg +0 -0
  224. package/skills/business/brag/assets/sfx/keyboard/keypress-001.wav +0 -0
  225. package/skills/business/brag/assets/sfx/keyboard/keypress-002.wav +0 -0
  226. package/skills/business/brag/assets/sfx/keyboard/keypress-003.wav +0 -0
  227. package/skills/business/brag/assets/sfx/keyboard/keypress-004.wav +0 -0
  228. package/skills/business/brag/assets/sfx/keyboard/keypress-005.wav +0 -0
  229. package/skills/business/brag/assets/sfx/keyboard/keypress-006.wav +0 -0
  230. package/skills/business/brag/assets/sfx/keyboard/keypress-007.wav +0 -0
  231. package/skills/business/brag/assets/sfx/keyboard/keypress-008.wav +0 -0
  232. package/skills/business/brag/assets/sfx/keyboard/keypress-009.wav +0 -0
  233. package/skills/business/brag/assets/sfx/keyboard/keypress-010.wav +0 -0
  234. package/skills/business/brag/assets/sfx/keyboard/keypress-011.wav +0 -0
  235. package/skills/business/brag/assets/sfx/keyboard/keypress-012.wav +0 -0
  236. package/skills/business/brag/assets/sfx/keyboard/keypress-013.wav +0 -0
  237. package/skills/business/brag/assets/sfx/keyboard/keypress-014.wav +0 -0
  238. package/skills/business/brag/assets/sfx/keyboard/keypress-015.wav +0 -0
  239. package/skills/business/brag/assets/sfx/keyboard/keypress-016.wav +0 -0
  240. package/skills/business/brag/assets/sfx/keyboard/keypress-017.wav +0 -0
  241. package/skills/business/brag/assets/sfx/keyboard/keypress-018.wav +0 -0
  242. package/skills/business/brag/assets/sfx/keyboard/keypress-019.wav +0 -0
  243. package/skills/business/brag/assets/sfx/keyboard/keypress-020.wav +0 -0
  244. package/skills/business/brag/assets/sfx/keyboard/keypress-021.wav +0 -0
  245. package/skills/business/brag/assets/sfx/keyboard/keypress-022.wav +0 -0
  246. package/skills/business/brag/assets/sfx/keyboard/keypress-023.wav +0 -0
  247. package/skills/business/brag/assets/sfx/keyboard/keypress-024.wav +0 -0
  248. package/skills/business/brag/assets/sfx/keyboard/keypress-025.wav +0 -0
  249. package/skills/business/brag/assets/sfx/keyboard/keypress-026.wav +0 -0
  250. package/skills/business/brag/assets/sfx/keyboard/keypress-027.wav +0 -0
  251. package/skills/business/brag/assets/sfx/keyboard/keypress-028.wav +0 -0
  252. package/skills/business/brag/assets/sfx/keyboard/keypress-029.wav +0 -0
  253. package/skills/business/brag/assets/sfx/keyboard/keypress-030.wav +0 -0
  254. package/skills/business/brag/assets/sfx/keyboard/keypress-031.wav +0 -0
  255. package/skills/business/brag/assets/sfx/keyboard/keypress-032.wav +0 -0
  256. package/skills/business/brag/assets/sfx/sfx-analysis.json +15584 -0
  257. package/skills/business/brag/assets/sfx/sfx-analysis.md +75 -0
  258. package/skills/business/brag/assets/sfx/ui/click1.ogg +0 -0
  259. package/skills/business/brag/assets/sfx/ui/click2.ogg +0 -0
  260. package/skills/business/brag/assets/sfx/ui/click3.ogg +0 -0
  261. package/skills/business/brag/assets/sfx/ui/click4.ogg +0 -0
  262. package/skills/business/brag/assets/sfx/ui/click5.ogg +0 -0
  263. package/skills/business/brag/assets/sfx/ui/mouseclick1.ogg +0 -0
  264. package/skills/business/brag/assets/sfx/ui/rollover1.ogg +0 -0
  265. package/skills/business/brag/assets/sfx/ui/rollover2.ogg +0 -0
  266. package/skills/business/brag/assets/sfx/ui/rollover4.ogg +0 -0
  267. package/skills/business/brag/assets/sfx/ui/rollover5.ogg +0 -0
  268. package/skills/business/brag/assets/sfx/ui/switch1.ogg +0 -0
  269. package/skills/business/brag/assets/sfx/ui/switch10.ogg +0 -0
  270. package/skills/business/brag/assets/sfx/ui/switch11.ogg +0 -0
  271. package/skills/business/brag/assets/sfx/ui/switch12.ogg +0 -0
  272. package/skills/business/brag/assets/sfx/ui/switch13.ogg +0 -0
  273. package/skills/business/brag/assets/sfx/ui/switch14.ogg +0 -0
  274. package/skills/business/brag/assets/sfx/ui/switch15.ogg +0 -0
  275. package/skills/business/brag/assets/sfx/ui/switch16.ogg +0 -0
  276. package/skills/business/brag/assets/sfx/ui/switch17.ogg +0 -0
  277. package/skills/business/brag/assets/sfx/ui/switch18.ogg +0 -0
  278. package/skills/business/brag/assets/sfx/ui/switch19.ogg +0 -0
  279. package/skills/business/brag/assets/sfx/ui/switch2.ogg +0 -0
  280. package/skills/business/brag/assets/sfx/ui/switch20.ogg +0 -0
  281. package/skills/business/brag/assets/sfx/ui/switch21.ogg +0 -0
  282. package/skills/business/brag/assets/sfx/ui/switch22.ogg +0 -0
  283. package/skills/business/brag/assets/sfx/ui/switch23.ogg +0 -0
  284. package/skills/business/brag/assets/sfx/ui/switch24.ogg +0 -0
  285. package/skills/business/brag/assets/sfx/ui/switch25.ogg +0 -0
  286. package/skills/business/brag/assets/sfx/ui/switch26.ogg +0 -0
  287. package/skills/business/brag/assets/sfx/ui/switch27.ogg +0 -0
  288. package/skills/business/brag/assets/sfx/ui/switch28.ogg +0 -0
  289. package/skills/business/brag/assets/sfx/ui/switch29.ogg +0 -0
  290. package/skills/business/brag/assets/sfx/ui/switch3.ogg +0 -0
  291. package/skills/business/brag/assets/sfx/ui/switch30.ogg +0 -0
  292. package/skills/business/brag/assets/sfx/ui/switch31.ogg +0 -0
  293. package/skills/business/brag/assets/sfx/ui/switch32.ogg +0 -0
  294. package/skills/business/brag/assets/sfx/ui/switch33.ogg +0 -0
  295. package/skills/business/brag/assets/sfx/ui/switch34.ogg +0 -0
  296. package/skills/business/brag/assets/sfx/ui/switch35.ogg +0 -0
  297. package/skills/business/brag/assets/sfx/ui/switch36.ogg +0 -0
  298. package/skills/business/brag/assets/sfx/ui/switch37.ogg +0 -0
  299. package/skills/business/brag/assets/sfx/ui/switch38.ogg +0 -0
  300. package/skills/business/brag/assets/sfx/ui/switch4.ogg +0 -0
  301. package/skills/business/brag/assets/sfx/ui/switch5.ogg +0 -0
  302. package/skills/business/brag/assets/sfx/ui/switch6.ogg +0 -0
  303. package/skills/business/brag/assets/sfx/ui/switch7.ogg +0 -0
  304. package/skills/business/brag/assets/sfx/ui/switch8.ogg +0 -0
  305. package/skills/business/brag/assets/sfx/ui/switch9.ogg +0 -0
  306. package/skills/business/brag/references/audio.md +307 -0
  307. package/skills/business/brag/references/step-1-inspect.md +133 -0
  308. package/skills/business/brag/references/step-2-plan.md +234 -0
  309. package/skills/business/brag/references/step-3-compose.md +210 -0
  310. package/skills/business/brag/references/step-4-deliver.md +168 -0
  311. package/skills/business/brag/references/tones.md +231 -0
  312. package/skills/business/brag/scripts/analyze_music_cues.py +309 -0
  313. package/skills/business/brag/scripts/pyproject.toml +14 -0
  314. package/skills/business/brag/scripts/uv.lock +819 -0
  315. package/skills/business/copywriting/SKILL.md +178 -0
  316. package/skills/business/customer-research/SKILL.md +259 -0
  317. package/skills/business/freelancing/SKILL.md +679 -0
  318. package/skills/business/launch/SKILL.md +273 -0
  319. package/skills/business/marketing-psychology/SKILL.md +364 -0
  320. package/skills/business/pricing/SKILL.md +233 -0
  321. package/skills/business/resume-revamp-jake-ats/SKILL.md +64 -0
  322. package/skills/business/startup-founder/SKILL.md +400 -0
  323. package/skills/business/startup-founder/references/funding.md +48 -0
  324. package/skills/business/startup-founder/references/further-reading.md +132 -0
  325. package/skills/business/startup-founder/references/gtm-tools.md +57 -0
  326. package/skills/business/startup-founder/references/legal-india.md +36 -0
  327. package/skills/business/startup-founder/references/marketing/README.md +16 -0
  328. package/skills/business/startup-founder/references/marketing/cold-email.md +172 -0
  329. package/skills/business/startup-founder/references/marketing/competitors.md +245 -0
  330. package/skills/business/startup-founder/references/marketing/customer-research.md +276 -0
  331. package/skills/business/startup-founder/references/marketing/free-tools.md +168 -0
  332. package/skills/business/startup-founder/references/marketing/launch.md +343 -0
  333. package/skills/business/startup-founder/references/marketing/marketing-plan.md +270 -0
  334. package/skills/business/startup-founder/references/marketing/pricing.md +237 -0
  335. package/skills/business/startup-founder/references/marketing/product-marketing.md +250 -0
  336. package/skills/business/startup-founder/references/validation.md +267 -0
  337. package/skills/devops/deployments/SKILL.md +339 -0
  338. package/skills/devops/git-ci/SKILL.md +372 -0
  339. package/skills/devops/performance/SKILL.md +523 -0
  340. package/skills/devops/testing/SKILL.md +558 -0
  341. package/skills/engineering/code-review/SKILL.md +149 -0
  342. package/skills/engineering/coding-standards/SKILL.md +229 -0
  343. package/skills/engineering/product-engineering/SKILL.md +219 -0
  344. package/skills/engineering/senior-engineer-prompts/SKILL.md +145 -0
  345. package/skills/engineering/tdd-workflow/SKILL.md +178 -0
  346. package/skills/engineering/verification-loop/SKILL.md +199 -0
  347. package/skills/nerdev/nerdev-abstraction/SKILL.md +412 -0
  348. package/skills/nerdev/nerdev-docs/SKILL.md +527 -0
  349. package/skills/nerdev/nerdev-docs/templates/adr-template.md +39 -0
  350. package/skills/nerdev/nerdev-docs/templates/contributing-template.md +140 -0
  351. package/skills/nerdev/nerdev-docs/templates/deploy-template.md +426 -0
  352. package/skills/nerdev/nerdev-docs/templates/design-template.md +105 -0
  353. package/skills/nerdev/nerdev-docs/templates/incident-template.md +66 -0
  354. package/skills/nerdev/nerdev-monorepo/SKILL.md +522 -0
  355. package/skills/quality/output-skill/SKILL.md +49 -0
  356. package/skills/quality/unslop/SKILL.md +67 -0
  357. package/skills/ui/animaxxing/SKILL.md +58 -0
  358. package/skills/ui/animaxxing/agents/openai.yaml +7 -0
  359. package/skills/ui/animaxxing/references/effect-restoration.md +26 -0
  360. package/skills/ui/animaxxing/references/motion-vocabulary.md +142 -0
  361. package/skills/ui/animaxxing/references/recipes/blast-off.md +119 -0
  362. package/skills/ui/animaxxing/references/recipes/particle-effects.md +718 -0
  363. package/skills/ui/animaxxing/references/recipes/particle-field.md +428 -0
  364. package/skills/ui/animaxxing/references/recipes/route-letters.md +205 -0
  365. package/skills/ui/animaxxing/references/recipes/speak-in.md +181 -0
  366. package/skills/ui/animaxxing/references/recipes/split-entrances.md +345 -0
  367. package/skills/ui/animaxxing/references/recipes/wave.md +144 -0
  368. package/skills/ui/animaxxing/references/text-stability.md +68 -0
  369. package/skills/ui/animaxxing/references/verification.md +44 -0
  370. package/skills/ui/ask-animation/SKILL.md +178 -0
  371. package/skills/ui/ask-base-ui/SKILL.md +400 -0
  372. package/skills/ui/ask-cmdk/SKILL.md +315 -0
  373. package/skills/ui/ask-command-menu/SKILL.md +262 -0
  374. package/skills/ui/ask-drawer/SKILL.md +235 -0
  375. package/skills/ui/ask-form/SKILL.md +229 -0
  376. package/skills/ui/ask-gsap/SKILL.md +435 -0
  377. package/skills/ui/ask-modal/SKILL.md +145 -0
  378. package/skills/ui/ask-motion/SKILL.md +339 -0
  379. package/skills/ui/ask-rhf/SKILL.md +388 -0
  380. package/skills/ui/ask-sonner/API.md +64 -0
  381. package/skills/ui/ask-sonner/SKILL.md +88 -0
  382. package/skills/ui/ask-table/SKILL.md +253 -0
  383. package/skills/ui/ask-tanstack-table/SKILL.md +490 -0
  384. package/skills/ui/ask-toast/SKILL.md +163 -0
  385. package/skills/ui/ask-vaul/SKILL.md +291 -0
  386. package/skills/ui/ask-virtual-list/SKILL.md +304 -0
  387. package/skills/ui/ask-virtuoso/SKILL.md +332 -0
  388. package/skills/ui/email-craft/SKILL.md +258 -0
  389. package/skills/ui/frontend-craftsmanship/SKILL.md +462 -0
  390. package/skills/ui/gsap-astro/SKILL.md +56 -0
  391. package/skills/ui/gsap-astro/agents/openai.yaml +7 -0
  392. package/skills/ui/gsap-astro/references/client-router-navigation.md +139 -0
  393. package/skills/ui/gsap-astro/references/initialization.md +87 -0
  394. package/skills/ui/gsap-astro/references/motion-system.md +152 -0
  395. package/skills/ui/gsap-astro/references/scripts-and-islands.md +65 -0
  396. package/skills/ui/gsap-astro/references/verification.md +44 -0
  397. package/skills/ui/gsap-core/SKILL.md +254 -0
  398. package/skills/ui/gsap-frameworks/SKILL.md +266 -0
  399. package/skills/ui/gsap-nextjs/SKILL.md +51 -0
  400. package/skills/ui/gsap-nextjs/agents/openai.yaml +7 -0
  401. package/skills/ui/gsap-nextjs/references/app-router-navigation.md +189 -0
  402. package/skills/ui/gsap-nextjs/references/initialization.md +87 -0
  403. package/skills/ui/gsap-nextjs/references/motion-system.md +158 -0
  404. package/skills/ui/gsap-nextjs/references/verification.md +40 -0
  405. package/skills/ui/gsap-nuxt/SKILL.md +56 -0
  406. package/skills/ui/gsap-nuxt/agents/openai.yaml +7 -0
  407. package/skills/ui/gsap-nuxt/references/initialization.md +87 -0
  408. package/skills/ui/gsap-nuxt/references/motion-system.md +161 -0
  409. package/skills/ui/gsap-nuxt/references/navigation.md +145 -0
  410. package/skills/ui/gsap-nuxt/references/page-transitions.md +107 -0
  411. package/skills/ui/gsap-nuxt/references/verification.md +42 -0
  412. package/skills/ui/gsap-performance/SKILL.md +79 -0
  413. package/skills/ui/gsap-plugins/SKILL.md +433 -0
  414. package/skills/ui/gsap-react/SKILL.md +136 -0
  415. package/skills/ui/gsap-react-router/SKILL.md +55 -0
  416. package/skills/ui/gsap-react-router/agents/openai.yaml +7 -0
  417. package/skills/ui/gsap-react-router/references/initialization.md +87 -0
  418. package/skills/ui/gsap-react-router/references/motion-system.md +158 -0
  419. package/skills/ui/gsap-react-router/references/react-router-navigation.md +165 -0
  420. package/skills/ui/gsap-react-router/references/route-lifetime.md +74 -0
  421. package/skills/ui/gsap-react-router/references/verification.md +42 -0
  422. package/skills/ui/gsap-scrolltrigger/SKILL.md +296 -0
  423. package/skills/ui/gsap-sveltekit/SKILL.md +54 -0
  424. package/skills/ui/gsap-sveltekit/agents/openai.yaml +7 -0
  425. package/skills/ui/gsap-sveltekit/references/initialization.md +87 -0
  426. package/skills/ui/gsap-sveltekit/references/motion-system.md +156 -0
  427. package/skills/ui/gsap-sveltekit/references/page-lifetime.md +63 -0
  428. package/skills/ui/gsap-sveltekit/references/sveltekit-navigation.md +160 -0
  429. package/skills/ui/gsap-sveltekit/references/verification.md +41 -0
  430. package/skills/ui/gsap-tanstack-router/SKILL.md +56 -0
  431. package/skills/ui/gsap-tanstack-router/agents/openai.yaml +7 -0
  432. package/skills/ui/gsap-tanstack-router/references/initialization.md +87 -0
  433. package/skills/ui/gsap-tanstack-router/references/motion-system.md +160 -0
  434. package/skills/ui/gsap-tanstack-router/references/route-lifetime.md +66 -0
  435. package/skills/ui/gsap-tanstack-router/references/tanstack-navigation.md +156 -0
  436. package/skills/ui/gsap-tanstack-router/references/verification.md +41 -0
  437. package/skills/ui/gsap-timeline/SKILL.md +107 -0
  438. package/skills/ui/gsap-utils/SKILL.md +284 -0
  439. package/skills/ui/gsap-vanilla/SKILL.md +63 -0
  440. package/skills/ui/gsap-vanilla/agents/openai.yaml +7 -0
  441. package/skills/ui/gsap-vanilla/references/cross-document-navigation.md +54 -0
  442. package/skills/ui/gsap-vanilla/references/initialization.md +87 -0
  443. package/skills/ui/gsap-vanilla/references/motion-system.md +150 -0
  444. package/skills/ui/gsap-vanilla/references/page-load.md +96 -0
  445. package/skills/ui/gsap-vanilla/references/spa-navigation.md +70 -0
  446. package/skills/ui/gsap-vanilla/references/verification.md +41 -0
  447. package/skills/ui/house-style/SKILL.md +366 -0
  448. package/skills/ui/imagegen/SKILL.md +49 -0
  449. package/skills/ui/imagegen/references/brandkit.md +48 -0
  450. package/skills/ui/imagegen/references/image-to-code.md +56 -0
  451. package/skills/ui/imagegen/references/mobile.md +58 -0
  452. package/skills/ui/imagegen/references/web.md +63 -0
  453. package/skills/ui/impeccable/SKILL.md +116 -0
  454. package/skills/ui/impeccable/reference/adapt.md +318 -0
  455. package/skills/ui/impeccable/reference/adapt.native.md +58 -0
  456. package/skills/ui/impeccable/reference/android.md +46 -0
  457. package/skills/ui/impeccable/reference/animate.md +89 -0
  458. package/skills/ui/impeccable/reference/audit.md +137 -0
  459. package/skills/ui/impeccable/reference/audit.native.md +139 -0
  460. package/skills/ui/impeccable/reference/bolder.md +33 -0
  461. package/skills/ui/impeccable/reference/clarify.md +94 -0
  462. package/skills/ui/impeccable/reference/colorize.md +86 -0
  463. package/skills/ui/impeccable/reference/craft-floor.md +44 -0
  464. package/skills/ui/impeccable/reference/craft.md +5 -0
  465. package/skills/ui/impeccable/reference/critique.md +806 -0
  466. package/skills/ui/impeccable/reference/degraded/asset-producer.md +37 -0
  467. package/skills/ui/impeccable/reference/degraded/documenter.md +24 -0
  468. package/skills/ui/impeccable/reference/degraded/finish-reviewer.md +38 -0
  469. package/skills/ui/impeccable/reference/degraded/manual-edit-applier.md +92 -0
  470. package/skills/ui/impeccable/reference/delight.md +70 -0
  471. package/skills/ui/impeccable/reference/distill.md +111 -0
  472. package/skills/ui/impeccable/reference/doctor.md +54 -0
  473. package/skills/ui/impeccable/reference/document.md +416 -0
  474. package/skills/ui/impeccable/reference/extract.md +69 -0
  475. package/skills/ui/impeccable/reference/generate.md +101 -0
  476. package/skills/ui/impeccable/reference/harden.md +345 -0
  477. package/skills/ui/impeccable/reference/hooks.md +111 -0
  478. package/skills/ui/impeccable/reference/init.md +131 -0
  479. package/skills/ui/impeccable/reference/ios.md +51 -0
  480. package/skills/ui/impeccable/reference/layout.md +84 -0
  481. package/skills/ui/impeccable/reference/live-setup.md +104 -0
  482. package/skills/ui/impeccable/reference/live.md +325 -0
  483. package/skills/ui/impeccable/reference/new-work.md +145 -0
  484. package/skills/ui/impeccable/reference/onboard.md +234 -0
  485. package/skills/ui/impeccable/reference/operate.md +61 -0
  486. package/skills/ui/impeccable/reference/optimize.md +258 -0
  487. package/skills/ui/impeccable/reference/overdrive.md +127 -0
  488. package/skills/ui/impeccable/reference/polish.md +105 -0
  489. package/skills/ui/impeccable/reference/quieter.md +99 -0
  490. package/skills/ui/impeccable/reference/routing.md +24 -0
  491. package/skills/ui/impeccable/reference/shape.md +59 -0
  492. package/skills/ui/impeccable/reference/typeset.md +80 -0
  493. package/skills/ui/impeccable/reference/visualize.md +46 -0
  494. package/skills/ui/impeccable/scripts/VERSION +1 -0
  495. package/skills/ui/impeccable/scripts/command-metadata.json +98 -0
  496. package/skills/ui/impeccable/scripts/data/font-index-failures.json +121 -0
  497. package/skills/ui/impeccable/scripts/data/font-index.json +1 -0
  498. package/skills/ui/impeccable/scripts/impeccable +206 -0
  499. package/skills/ui/impeccable/scripts/impeccable.cmd +214 -0
  500. package/skills/ui/impeccable/scripts/live-browser-dom.js +167 -0
  501. package/skills/ui/impeccable/scripts/live-browser-ignores.js +242 -0
  502. package/skills/ui/impeccable/scripts/live-browser-session.js +144 -0
  503. package/skills/ui/impeccable/scripts/live-browser.js +13510 -0
  504. package/skills/ui/impeccable/scripts/modern-screenshot.umd.js +14 -0
  505. package/skills/ui/motion/SKILL.md +207 -0
  506. package/skills/ui/pick-ui-library/SKILL.md +85 -0
  507. package/skills/ui/product-messaging/SKILL.md +163 -0
  508. package/skills/ui/product-site/SKILL.md +465 -0
  509. package/skills/ui/prototype/PICKER.md +197 -0
  510. package/skills/ui/prototype/SKILL.md +98 -0
  511. package/skills/ui/refero-design/SKILL.md +534 -0
  512. package/skills/ui/refero-design/agents/openai.yaml +4 -0
  513. package/skills/ui/refero-design/references/anti-ai-slop.md +292 -0
  514. package/skills/ui/refero-design/references/color.md +563 -0
  515. package/skills/ui/refero-design/references/copywriting.md +222 -0
  516. package/skills/ui/refero-design/references/craft-details.md +525 -0
  517. package/skills/ui/refero-design/references/example-workflow.md +264 -0
  518. package/skills/ui/refero-design/references/icons.md +166 -0
  519. package/skills/ui/refero-design/references/mcp-tools.md +258 -0
  520. package/skills/ui/refero-design/references/motion.md +504 -0
  521. package/skills/ui/refero-design/references/typography.md +737 -0
  522. package/skills/ui/refero-design/references/visual-workflow.md +105 -0
  523. package/skills/ui/style-animaxxing/SKILL.md +48 -0
  524. package/skills/ui/style-animaxxing/agents/openai.yaml +7 -0
  525. package/skills/ui/style-animaxxing/references/motion-vocabulary.md +51 -0
  526. package/skills/ui/style-animaxxing/references/tokens.md +288 -0
  527. package/skills/ui/style-animaxxing/references/typography-and-layout.md +149 -0
  528. package/skills/ui/style-animaxxing/references/verification.md +38 -0
  529. package/skills/ui/typography-picker/SKILL.md +305 -0
  530. package/skills/ui/ui-core/SKILL.md +345 -0
  531. package/skills/ui/ui-core/references/accessibility.md +85 -0
  532. package/skills/ui/ui-core/references/build.md +666 -0
  533. package/skills/ui/ui-core/references/copy.md +70 -0
  534. package/skills/ui/ui-core/references/dark-mode.md +76 -0
  535. package/skills/ui/ui-core/references/direction.md +99 -0
  536. package/skills/ui/ui-core/references/redesign.md +74 -0
  537. package/skills/ui/ui-core/references/responsive.md +77 -0
  538. package/skills/ui/ui-core/references/styles.md +42 -0
  539. package/skills/ui/ui-core/references/system.md +190 -0
  540. package/skills/ui/ui-core/references/verify.md +37 -0
  541. package/skills/ui/ui-engineering/SKILL.md +436 -0
  542. package/skills/ui/ui-engineering/references/avatars.md +74 -0
  543. package/skills/ui/ui-engineering/references/card-patterns.md +66 -0
  544. package/skills/ui/ui-engineering/references/floating-actions.md +65 -0
  545. package/skills/ui/ui-engineering/references/navigation.md +81 -0
  546. package/skills/ui/ui-engineering/references/overlays.md +74 -0
  547. package/skills/ui/ui-engineering/references/pagination.md +71 -0
  548. package/skills/ui/ui-engineering/references/progress-indicators.md +77 -0
  549. package/skills/ui/ui-engineering/references/quality-bar.md +293 -0
  550. package/skills/ui/ui-engineering/references/search.md +68 -0
  551. package/skills/ui/ui-engineering/references/tailwind-architecture.md +81 -0
  552. package/skills/ui/ui-theme-picker/SKILL.md +522 -0
  553. package/skills/ui/ui-theme-picker/references/component-sources.md +223 -0
  554. package/skills/ui/ui-theme-picker/references/styles.md +298 -0
  555. package/skills/ui/vitepress-docs/SKILL.md +439 -0
  556. package/skills/ui/vitepress-docs/references/components.md +333 -0
  557. package/skills/ui/vitepress-docs/references/layout.md +128 -0
  558. package/skills/ui/vitepress-docs/references/tokens.md +87 -0
  559. package/skills/ui/vitepress-docs/references/typography.md +76 -0
  560. package/skills/workflow/careful/SKILL.md +48 -0
  561. package/skills/workflow/context-restore/SKILL.md +69 -0
  562. package/skills/workflow/context-save/SKILL.md +96 -0
  563. package/skills/workflow/health/SKILL.md +99 -0
  564. package/skills/workflow/learn/SKILL.md +95 -0
  565. package/skills/workflow/office-hours/SKILL.md +136 -0
  566. package/skills/workflow/ship/SKILL.md +95 -0
  567. package/vendor.json +80 -0
@@ -0,0 +1,105 @@
1
+ # Visual Workflow
2
+
3
+ Use this reference only when the task needs visual exploration, generated mockups,
4
+ bitmap assets, or post-build visual QA. Keep the main Refero workflow research-first:
5
+ styles for taste, screens for product patterns, flows for journeys.
6
+
7
+ ## Image Generation Capability
8
+
9
+ Image generation is optional. Use it only when the current environment exposes an image
10
+ tool, or when the user has approved a CLI/API image workflow. Refero must still work
11
+ in Claude Code, Codex, Cursor, Gemini CLI, Lovable, and other MCP-compatible agents when
12
+ no image tool exists.
13
+
14
+ In Codex Desktop, use the built-in `image_gen` / Image Gen tool when it is available.
15
+ Generate each visual direction or bitmap asset as its own image result. Do not use
16
+ browser screenshots, CSS drawings, inline SVG, or placeholder shapes as a substitute for
17
+ generated bitmap assets when the reference lock calls for real imagery.
18
+
19
+ If image generation is unavailable, present written reference-locked directions and
20
+ implementation-ready prompts instead. Do not assume another agent can call Codex
21
+ Desktop's built-in image tool just because Codex is installed locally; verify the tool
22
+ is exposed and user-approved first.
23
+
24
+ ## Three Visual Directions
25
+
26
+ Use this only when exploration is useful: variants, a new visual language, major
27
+ redesigns, landing pages, or other high-visibility surfaces with several plausible
28
+ directions. Do not run it for small edits, obvious component work, or production fixes
29
+ with a clear source.
30
+
31
+ 1. Research styles first; add screens/flows when structure or journey matters.
32
+ 2. Create three distinct reference-locked directions with a primary source, traits to
33
+ preserve, borrowed details, media strategy, and rejects, unless the user asks for a
34
+ different count.
35
+ 3. If image generation is available and worth the latency, generate one independent
36
+ image per direction. Otherwise provide written directions with implementation-ready
37
+ prompts.
38
+ 4. Stop and ask the user to choose. The selected option becomes the visual target for
39
+ build and QA.
40
+
41
+ Example format only. Replace these names and directions for every task based on the
42
+ current brief and Refero research:
43
+
44
+ ```text
45
+ 1. [Direction name] - [specific layout, style, product framing, and primary reference].
46
+ 2. [Direction name] - [specific layout, style, product framing, and primary reference].
47
+ 3. [Direction name] - [specific layout, style, product framing, and primary reference].
48
+ ```
49
+
50
+ ## Visual Target Gate
51
+
52
+ Before coding substantial visual work, identify the build target and what must not drift:
53
+
54
+ ```text
55
+ Build target: [existing UI / user screenshot / Figma frame / URL capture / selected generated mockup / approved reference lock]
56
+ What must not drift: [canvas, typography, accent roles, layout, media, density]
57
+ ```
58
+
59
+ If no target exists and the visual direction is material, explore options or ask the
60
+ user to approve one reference-locked direction first.
61
+
62
+ ## Generated Assets
63
+
64
+ Generate assets only when the reference lock needs bitmap media: hero/product imagery,
65
+ illustrations, textures, thumbnails, cutouts, or required replacement assets. Do not use
66
+ image generation for standard icons, editable SVG systems, code-native UI, or fake
67
+ product evidence.
68
+
69
+ Before generating, write a short asset lock:
70
+
71
+ ```text
72
+ Asset role: [hero image / texture / illustration / thumbnail / cutout]
73
+ Slot: [dimensions/aspect ratio/location]
74
+ Art direction: [source, palette, subject, rendering, crop, density]
75
+ Avoid: [wrong palette, extra text, brand drift, generic placeholders]
76
+ ```
77
+
78
+ Generated assets must be placed into the implementation before handoff or documented as
79
+ blocked.
80
+
81
+ ## Visual QA
82
+
83
+ After implementation, run a visual QA pass for substantial UI/design work:
84
+
85
+ ```text
86
+ Source truth: [reference lock / selected mockup / screenshot / Figma / URL capture]
87
+ Implementation evidence: [local screenshot, deployed URL screenshot, or captured app state]
88
+ Viewport/state: [desktop/mobile, route, theme, interaction state]
89
+ Final result: [passed / blocked]
90
+ ```
91
+
92
+ Check typography, spacing/layout, colors/tokens, imagery/assets, relevant component
93
+ states, and product copy. Use the relevant craft references during QA when judging
94
+ typography, color, motion, icons, accessibility, images, copy, and generic-design drift.
95
+
96
+ Classify issues by severity:
97
+
98
+ - `P0`: broken task, unreadable/overlapping UI, or severe accessibility issue
99
+ - `P1`: major design drift or likely user-facing usability regression
100
+ - `P2`: moderate visual mismatch, missing state, responsive issue, or asset drift
101
+ - `P3`: polish that can follow after handoff
102
+
103
+ Do not hand off visual work with unresolved P0/P1/P2 findings unless clearly blocked by
104
+ missing source access, missing assets, or an unavailable tool. If blocked, say what
105
+ evidence is missing and what should be checked next.
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: style-animaxxing
3
+ description: "Apply the Animaxxing art direction: monochrome editorial design, Rethink Sans and JetBrains Mono, poster type, hairlines, and a curated motion treatment. Use for 'animaxx it', the Animaxxing aesthetic, or a requested Swiss-style monochrome redesign. Use animaxxing for reusable effects while preserving another brand. Not for framework routing or isolated GSAP API questions."
4
+ license: MIT
5
+ metadata:
6
+ short-description: The Animaxxing look and its motion art direction
7
+ ---
8
+
9
+ # Animaxxing Style
10
+
11
+ The look of [Animaxxing](https://github.com/johnpolacek/animaxxing): black, white, neutral gray, oversized sans against small uppercase mono, hairline rules, scattering letters, and particle-assembled controls.
12
+
13
+ This skill owns visual design and selects how motion supports it. `animaxxing` supplies the reusable vanilla TypeScript and GSAP recipes. The matching `gsap-<framework>` skill (including `gsap-vanilla`) owns **mount → initial state → intro → settled → outro → end state → unmount**, navigation, interruption, and cleanup timing.
14
+
15
+ ## Choose the scope
16
+
17
+ - Apply a full restyle only when the request authorizes it; preserve an existing brand otherwise. An explicit Animaxxing redesign needs no further confirmation.
18
+ - For the full treatment, install and load `animaxxing` and the matching framework skill, then use the surface choices below. If either is unavailable, identify the missing skill; do not invent its recipes or lifecycle guidance.
19
+ - For the design with minimal or no animation, apply the tokens and layout and reduce or omit display effects. Do not require a motion skill or GSAP for a static restyle.
20
+ - For effects on another brand, use `animaxxing` directly without applying these fonts, colors, or layout rules.
21
+
22
+ ## Apply and load progressively
23
+
24
+ For a full restyle, work in this order; for a focused change, load only the relevant reference.
25
+
26
+ | Task | Reference |
27
+ |---|---|
28
+ | Colors, fonts, scales, spacing, focus, light/dark themes | [Tokens](references/tokens.md) |
29
+ | Poster/Statement/Label/Annotation/BodyCopy roles; header, grid, rail, ledgers, cards | [Typography and layout](references/typography-and-layout.md) |
30
+ | Choose effects, map them to surfaces, set the Animaxxing pacing | [Motion art direction](references/motion-vocabulary.md), then the selected references in `animaxxing` |
31
+ | Check the changed look | [Verification](references/verification.md); for motion, also use the motion and framework skills' relevant checks |
32
+
33
+ ## Design constraints
34
+
35
+ - Load variable Rethink Sans (400–800) and JetBrains Mono (100–800) through the project's font pipeline. Use plain CSS tokens, or their Tailwind v4 mapping if the project uses it.
36
+ - Neutral token colors only; no decorative shadows or gradients. Use hairlines by default, 2px borders for controls/cards, and tight radii.
37
+ - Flush left, ragged right. Poster type may crop deliberately; reading text and annotations never crop. Annotations stay at least 11px; uppercase mono is for metadata, not body copy.
38
+ - Reading text stays still. Display text can scatter, split, or wave; the hero subhead is the speak-in exception for the full treatment.
39
+ - Ordinary UI motion uses the duration/ease/distance values in the tokens reference; display effects deliberately use larger moves. The motion skill owns implementation and text stability checks.
40
+ - Motion is part of this art direction, but the requested intensity takes precedence. Keep the composition readable with all effects omitted and under reduced motion.
41
+
42
+ ## Composition boundary
43
+
44
+ Select and configure effects; do not copy their implementations into this skill. Load recipe files from the installed `animaxxing` skill by name, without assuming skill folders are siblings on disk. The framework controller calls the selected builders and owns their phase state and cleanup handles. This skill never installs routing hooks, owns a navigation wait, or decides mount, unmount, or replay timing.
45
+
46
+ ## Readable design
47
+
48
+ Static styles keep meaningful content readable. Invisible entrances use the matching installed framework skill’s `references/initialization.md`; effect rollback belongs to `animaxxing`’s `references/effect-restoration.md`. Do not add unconditional hiding, readiness timers, or route recovery to this style. Preserve the selected choreography when initialization succeeds.
@@ -0,0 +1,7 @@
1
+ interface:
2
+ display_name: "Animaxxing Style"
3
+ short_description: "The Animaxxing look and its motion art direction"
4
+ default_prompt: "Use $style-animaxxing to restyle this site in the Animaxxing look, composing animaxxing and the matching GSAP framework skill when animation is requested."
5
+
6
+ policy:
7
+ allow_implicit_invocation: true
@@ -0,0 +1,51 @@
1
+ # Motion art direction
2
+
3
+ Motion is part of the Animaxxing look: big display gestures, quiet reading text, and controls that assemble from particles. This file selects and configures effects. Load `animaxxing` for their implementation and the matching framework skill for **mount → initial state → intro → settled → outro → end state → unmount**.
4
+
5
+ ## Intensity
6
+
7
+ - **Full treatment:** use the surface mapping below. One ambient effect per display surface; reading copy stays still, with the hero subhead as the speak-in exception.
8
+ - **Minimal motion:** keep tokens, typography, and composition. Prefer brief fades or rises and omit scattering, speak-in, waves, particles, and blast-off. Ordinary reading text remains immediately readable.
9
+ - **No animation:** render the same settled composition without splits, canvases, or GSAP. Do not add initial hiding or phase markers for effects that will not run.
10
+
11
+ The user's requested intensity takes precedence. System or app reduced motion also suppresses display and ambient effects; the motion skill and framework controller own readable endpoints and completion behavior.
12
+
13
+ ## Recipe selection
14
+
15
+ Install and load `animaxxing`, then read only the selected reference inside that skill. Do not assume its installation directory is adjacent to this one.
16
+
17
+ | Visual choice | Reference in `animaxxing` |
18
+ |---|---|
19
+ | Ordinary fade/rise/wipe pairs and route marker values | `references/motion-vocabulary.md` |
20
+ | Masked display entrance; elastic wordmark | `references/recipes/split-entrances.md` |
21
+ | Scattering headline and coordinated page items | `references/recipes/route-letters.md` |
22
+ | Spoken hero subhead | `references/recipes/speak-in.md` |
23
+ | Ambient heading wave | `references/recipes/wave.md` |
24
+ | Hero dispersal | `references/recipes/blast-off.md` |
25
+ | Button/card/link/field treatments | `references/recipes/particle-effects.md` and `particle-field.md` in the same directory |
26
+
27
+ ## Configuration for this look
28
+
29
+ Use the ordinary motion values in [tokens](tokens.md#motion-tokens). The motion recipes carry matching example defaults; when composing them, keep the selected values in the consuming app's motion module. Display recipes deliberately use longer sequences and larger spreads.
30
+
31
+ Rethink Sans display type rests at 800, so the wave's example dips through 400–500 and returns to 800. Speak-in's `broken` finish uses 400–800. These are settings for this style; the reusable recipes can use other supported font ranges. Particle canvases use `color: var(--foreground)` from the theme, with sufficient contrast against the surface.
32
+
33
+ Use the route recipe's `letters` treatment for the main display headline and standard rise for supporting page items. The framework controller applies the recipe's target markers, initial visibility, and cleanup; this style does not add a second readiness or navigation mechanism.
34
+
35
+ ## Surface effects
36
+
37
+ For the full treatment, select these recipes from `animaxxing`. These are art-direction choices mapped onto the framework skill's phases; its controller owns execution timing.
38
+
39
+ | Surface | Intro | Settled | Outro |
40
+ |---|---|---|---|
41
+ | Hero headline | route `letters` | `startWave(heading, { period: 1.5 })` | `blastOff` (on a call to action) or route exit |
42
+ | Hero subhead | `speakIn(el, { emphasis, delay: 0.3 })` after the letters land | finishes persist | `blastOff` throws the words |
43
+ | Primary call to action | `reactor.enter(delay)` | embers | `blast()` when pressed, `exit()` on route exit |
44
+ | Secondary call to action | `marquee.enter(delay)` | runners | same |
45
+ | Card | `resolve.enter(index * 0.09)` on idle | one runner, glints | `exit()` |
46
+ | Onward link | `slipstream.enter()` on idle | drifting hairlines | `blast()` when pressed |
47
+ | Command block or giant field | `ignite.enter(0.75 + index * 0.25)` on entering | embers off the rule | `blast()` on copy or submit, `exit()` on route exit |
48
+ | Wordmark | `charsSpringIn` plus underline `scaleX 0 → 1` | still | none when the framework keeps the shell persistent |
49
+ | Everything else | route standard rise | still | route exit |
50
+
51
+ Timing on the hero, for reference: letters land from 0.75s; the subhead starts speaking at 1.05s; the buttons enter at speak start plus 0.2s and 0.35s; the wave starts on `idle`. The blast-off visual disperses the hero; its completion handle belongs to the framework controller. Do not substitute a fixed navigation timer for completion.
@@ -0,0 +1,288 @@
1
+ # Tokens
2
+
3
+ Read this to set up colors, fonts, type scale, spacing, radii, borders, focus, and selection. Two forms are given: plain CSS custom properties, and the Tailwind v4 `@theme inline` mapping that turns them into utilities.
4
+
5
+ ## Colors
6
+
7
+ Monochrome only. Twelve semantic tokens, in a light and a dark scheme. Components consume them by name and never by hex.
8
+
9
+ Scheme precedence, highest first:
10
+
11
+ 1. `data-theme="dark"` or `data-theme="light"` on `<html>`: an explicit user choice, written by a toggle and persisted (localStorage is fine).
12
+ 2. `prefers-color-scheme`: the operating-system setting, used when no explicit choice exists.
13
+ 3. Light.
14
+
15
+ ```css
16
+ :root {
17
+ color-scheme: light;
18
+
19
+ --canvas: #ffffff;
20
+ --foreground: #171717;
21
+ --muted: #525252;
22
+ --border: #d4d4d4;
23
+ --surface: #fafafa;
24
+ --surface-hover: #f0f0f0;
25
+ --inverse: #171717;
26
+ --inverse-hover: #404040;
27
+ --inverse-foreground: #ffffff;
28
+ --focus: #171717;
29
+ --selection: #171717;
30
+ --selection-foreground: #ffffff;
31
+ }
32
+
33
+ /* The operating-system setting, unless the user pinned the light scheme. */
34
+ @media (prefers-color-scheme: dark) {
35
+ :root:not([data-theme="light"]) {
36
+ color-scheme: dark;
37
+
38
+ --canvas: #0a0a0a;
39
+ --foreground: #ededed;
40
+ --muted: #a3a3a3;
41
+ --border: #262626;
42
+ --surface: #171717;
43
+ --surface-hover: #262626;
44
+ --inverse: #ededed;
45
+ --inverse-hover: #d4d4d4;
46
+ --inverse-foreground: #0a0a0a;
47
+ --focus: #ededed;
48
+ --selection: #ededed;
49
+ --selection-foreground: #0a0a0a;
50
+ }
51
+ }
52
+
53
+ /* An explicit user choice wins at any operating-system setting. */
54
+ :root[data-theme="dark"] {
55
+ color-scheme: dark;
56
+
57
+ --canvas: #0a0a0a;
58
+ --foreground: #ededed;
59
+ --muted: #a3a3a3;
60
+ --border: #262626;
61
+ --surface: #171717;
62
+ --surface-hover: #262626;
63
+ --inverse: #ededed;
64
+ --inverse-hover: #d4d4d4;
65
+ --inverse-foreground: #0a0a0a;
66
+ --focus: #ededed;
67
+ --selection: #ededed;
68
+ --selection-foreground: #0a0a0a;
69
+ }
70
+
71
+ body {
72
+ background: var(--canvas);
73
+ color: var(--foreground);
74
+ font-family: var(--font-sans);
75
+ }
76
+ ```
77
+
78
+ Roles:
79
+
80
+ | Token | Role |
81
+ |---|---|
82
+ | `canvas` | The page ground. |
83
+ | `foreground` | Text and rules at full strength. |
84
+ | `muted` | Supporting copy, labels, annotations. Meets AA on canvas and surface. |
85
+ | `border` | Hairlines and quiet outlines. |
86
+ | `surface`, `surface-hover` | Cards and panels one step off the canvas. |
87
+ | `inverse`, `inverse-hover`, `inverse-foreground` | The solid button and any inverted band. Supporting copy on an inverted band uses `inverse-foreground` at 75% opacity, because `muted` falls below AA there. |
88
+ | `focus` | The keyboard focus ring. |
89
+ | `selection`, `selection-foreground` | Text selection, inverted. |
90
+
91
+ Particle canvases read their color from `color` on the canvas element, so give the canvas `color: var(--foreground)` and they follow the scheme.
92
+
93
+ Blend colors only while the scheme switches, so a toggle does not flash. Add `theme-transitioning` to `<html>` for the switch and remove it 250ms later:
94
+
95
+ ```css
96
+ :root.theme-transitioning,
97
+ :root.theme-transitioning *,
98
+ :root.theme-transitioning *::before,
99
+ :root.theme-transitioning *::after {
100
+ transition-duration: 0.25s !important;
101
+ transition-property: background-color, border-color, color, fill, outline-color, stroke, text-decoration-color !important;
102
+ transition-timing-function: linear !important;
103
+ }
104
+
105
+ @media (prefers-reduced-motion: reduce) {
106
+ :root.theme-transitioning,
107
+ :root.theme-transitioning *,
108
+ :root.theme-transitioning *::before,
109
+ :root.theme-transitioning *::after {
110
+ transition-duration: 0s !important;
111
+ }
112
+ }
113
+ ```
114
+
115
+ ## Fonts
116
+
117
+ | Token | Face | Axis | Use |
118
+ |---|---|---|---|
119
+ | `--font-sans` | Rethink Sans, variable | `wght` 400 to 800 | Everything that is read, and all display type. |
120
+ | `--font-mono` | JetBrains Mono, variable | `wght` 100 to 800 | Labels, annotations, figures, code. |
121
+
122
+ 800 is the top of Rethink Sans's axis. Asking for 900 clamps to the same rendering, so the system names the weight it gets: `font-weight: 800` for display, 600 for emphasis, 400 at rest. Animated weight stays inside 400 to 800.
123
+
124
+ Disable ligatures in code so figures stay tabular:
125
+
126
+ ```css
127
+ code, pre { font-variant-ligatures: none; }
128
+ ```
129
+
130
+ ## Type scale
131
+
132
+ The two poster sizes are fluid and measured in `cqi`, so they respond to whatever column or frame they sit in and fall back to the viewport when no container is declared. Put `container-type: inline-size` on the column that owns a poster.
133
+
134
+ | Token | Size | Line height | Letter spacing | Role |
135
+ |---|---|---|---|---|
136
+ | `poster` | `clamp(3.25rem, 18cqi, 15rem)` | 0.84 | -0.045em | Structural graphic type. May be cropped. |
137
+ | `statement` | `clamp(2.75rem, 7cqi, 4.5rem)` | 0.95 | -0.03em | One size down; still reads as a sentence. Measure 18ch. |
138
+ | `display` | 2.25rem | 2.5rem | -0.02em | Card and section headings. |
139
+ | `title` | 1.5rem | 2rem | -0.01em | Subheadings. |
140
+ | `lead` | 1.125rem | 1.75rem | | Intro copy. |
141
+ | `body` | 1rem | 1.5rem | | Body copy. Measure 68ch, or 42ch narrow. |
142
+ | `caption` | 0.75rem | 1rem | 0.02em | Mono labels. |
143
+ | `annotation` | 0.6875rem | 1rem | 0.08em | Mono margin notes. The floor. |
144
+
145
+ ## Spacing, radii, borders
146
+
147
+ | Token | Value |
148
+ |---|---|
149
+ | `--spacing-gutter` | 1.5rem |
150
+ | `--spacing-gutter-lg` | 2.5rem |
151
+ | `--spacing-section` | 4rem |
152
+ | `--radius-xs` | 0.125rem |
153
+ | `--radius-sm` | 0.25rem |
154
+ | `--radius-md` | 0.375rem |
155
+ | `--radius-lg` | 0.5rem |
156
+ | `--radius-xl` | 0.75rem |
157
+ | `--border-width-hairline` | 1px |
158
+ | `--border-width-strong` | 2px |
159
+
160
+ Radii are deliberately tight to keep the system editorial. Hairline is the default separator; strong is for chips, buttons, and cards.
161
+
162
+ ## Focus and selection
163
+
164
+ ```css
165
+ :focus-visible {
166
+ outline: var(--border-width-strong) solid var(--focus);
167
+ outline-offset: 2px;
168
+ }
169
+
170
+ ::selection {
171
+ background: var(--selection);
172
+ color: var(--selection-foreground);
173
+ }
174
+
175
+ button { cursor: pointer; }
176
+ ```
177
+
178
+ Interactive elements that sit on a canvas of their own use a wider offset so the ring clears the particles: `outline-offset: 4px`.
179
+
180
+ ## Hatch
181
+
182
+ A fill made of diagonal hairlines cut out of a solid block. Used where a texture is needed without a second color.
183
+
184
+ ```css
185
+ .hatch {
186
+ background-color: var(--foreground);
187
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M-1 9L9-1M-1 1L1-1M7 9L9 7' stroke='black' stroke-width='1'/%3E%3C/svg%3E");
188
+ mask-size: 8px 8px;
189
+ mask-repeat: repeat;
190
+ }
191
+ ```
192
+
193
+ ## Tailwind v4 mapping
194
+
195
+ With Tailwind, the same tokens become utilities (`bg-canvas`, `text-muted`, `border-border`, `bg-inverse`, `text-poster`, `px-gutter`, `rounded-lg`, `border-hairline`):
196
+
197
+ ```css
198
+ @import "tailwindcss";
199
+
200
+ @theme inline {
201
+ --color-canvas: var(--canvas);
202
+ --color-foreground: var(--foreground);
203
+ --color-muted: var(--muted);
204
+ --color-border: var(--border);
205
+ --color-surface: var(--surface);
206
+ --color-surface-hover: var(--surface-hover);
207
+ --color-inverse: var(--inverse);
208
+ --color-inverse-hover: var(--inverse-hover);
209
+ --color-inverse-foreground: var(--inverse-foreground);
210
+ --color-focus: var(--focus);
211
+ --color-selection: var(--selection);
212
+ --color-selection-foreground: var(--selection-foreground);
213
+
214
+ --font-sans: var(--font-rethink-sans);
215
+ --font-mono: var(--font-jetbrains-mono);
216
+
217
+ --spacing-gutter: 1.5rem;
218
+ --spacing-gutter-lg: 2.5rem;
219
+ --spacing-section: 4rem;
220
+
221
+ --radius-xs: 0.125rem;
222
+ --radius-sm: 0.25rem;
223
+ --radius-md: 0.375rem;
224
+ --radius-lg: 0.5rem;
225
+ --radius-xl: 0.75rem;
226
+
227
+ --border-width-hairline: 1px;
228
+ --border-width-strong: 2px;
229
+
230
+ --text-poster: clamp(3.25rem, 18cqi, 15rem);
231
+ --text-poster--line-height: 0.84;
232
+ --text-poster--letter-spacing: -0.045em;
233
+
234
+ --text-statement: clamp(2.75rem, 7cqi, 4.5rem);
235
+ --text-statement--line-height: 0.95;
236
+ --text-statement--letter-spacing: -0.03em;
237
+
238
+ --text-annotation: 0.6875rem;
239
+ --text-annotation--line-height: 1rem;
240
+ --text-annotation--letter-spacing: 0.08em;
241
+
242
+ --text-caption: 0.75rem;
243
+ --text-caption--line-height: 1rem;
244
+ --text-caption--letter-spacing: 0.02em;
245
+
246
+ --text-body: 1rem;
247
+ --text-body--line-height: 1.5rem;
248
+
249
+ --text-lead: 1.125rem;
250
+ --text-lead--line-height: 1.75rem;
251
+
252
+ --text-title: 1.5rem;
253
+ --text-title--line-height: 2rem;
254
+ --text-title--letter-spacing: -0.01em;
255
+
256
+ --text-display: 2.25rem;
257
+ --text-display--line-height: 2.5rem;
258
+ --text-display--letter-spacing: -0.02em;
259
+ }
260
+ ```
261
+
262
+ `--font-rethink-sans` and `--font-jetbrains-mono` are whatever variables the project's font loader emits. Without a loader, set them from `@font-face` or the Google Fonts stylesheet: `--font-rethink-sans: "Rethink Sans", system-ui, sans-serif; --font-jetbrains-mono: "JetBrains Mono", ui-monospace, monospace;`.
263
+
264
+ ## Motion tokens
265
+
266
+ Art-direction defaults for this look. Configure the selected `animaxxing` recipes with these values; its recipes remain usable without this token file. Keep the selected values in one module in the consuming app.
267
+
268
+ ```ts
269
+ export const DURATION = { micro: 0.14, component: 0.2, page: 0.28 } as const;
270
+
271
+ export const EASE = {
272
+ /** Entrances decelerate: fast at first, settled at the end. */
273
+ entrance: "power2.out",
274
+ /** Exits accelerate away and feel shorter than entrances. */
275
+ exit: "power2.in",
276
+ /** Position or state shifts that start and end at rest. */
277
+ shift: "power2.inOut",
278
+ } as const;
279
+
280
+ export const SHIFT = { micro: 4, component: 8, page: 16 } as const;
281
+
282
+ export const STAGGER = { tight: 0.03, loose: 0.05 } as const;
283
+
284
+ /** Rethink Sans's whole animatable range. Above 800 clamps and renders identically. */
285
+ export const WEIGHT = { rest: 400, emphasis: 600, display: 800 } as const;
286
+ ```
287
+
288
+ Micro motion runs 100 to 180ms, components 160 to 240ms, pages and major panels 220 to 320ms. A coordinated sequence rarely exceeds 500ms, which is why staggers are small. Display effects in the recipes run longer on purpose and are the exception, not the rule.
@@ -0,0 +1,149 @@
1
+ # Typography and layout
2
+
3
+ Read this to compose pages. The system runs on International Typographic Style contrast: oversized Rethink Sans statements against compact supporting copy, everything flush left and ragged right on a twelve-column grid ruled with hairlines.
4
+
5
+ Class strings below are Tailwind v4 against the tokens reference. Each carries a plain-CSS equivalent in prose where the mapping is not obvious.
6
+
7
+ ## Type roles
8
+
9
+ Five roles name the contrast so compositions can be assembled without a hero component baking one arrangement in.
10
+
11
+ | Role | Element | Classes | Notes |
12
+ |---|---|---|---|
13
+ | Poster | `p` or heading | `font-sans text-poster font-extrabold text-balance` | Structural graphic type, fluid to its container. Never for text that must be read in full. Add `[margin-inline-start:-0.055em]` to pull the left side-bearing off so the glyph edge, not the box, aligns to the grid. |
14
+ | Statement | `p` or heading | `max-w-[18ch] font-sans text-statement font-extrabold text-balance` | One size down: an oversized statement that still reads as a sentence. |
15
+ | Label | `span` | `font-mono text-caption uppercase text-muted` | The metadata voice. Anchors a grid cell; never competes with it. |
16
+ | Annotation | `p` | `max-w-[46ch] font-mono text-annotation uppercase text-muted` | The smallest type. Kept above 11px, never cropped. |
17
+ | BodyCopy | `p` | `font-sans text-body text-pretty max-w-[68ch]` | Supporting copy at a comfortable measure. `max-w-[42ch]` for the narrow measure. |
18
+
19
+ Support tone: `text-muted` on canvas and surface; `text-inverse-foreground/75` on an inverted band.
20
+
21
+ **Crop.** Oversized type is clipped at a deliberate boundary instead of shrunk: wrap it in `overflow-hidden` (and `flex justify-end` to crop the start edge). Only display type is ever cropped.
22
+
23
+ ## The display setting
24
+
25
+ Card headings, story titles, and any heading below poster scale share one setting:
26
+
27
+ ```
28
+ DISPLAY = "font-sans font-extrabold leading-[0.84] tracking-[-0.045em]"
29
+ ```
30
+
31
+ Plain CSS: `font-weight: 800; line-height: 0.84; letter-spacing: -0.045em`. For character-animated targets, follow the character animation guidance below.
32
+
33
+ Card headings: `font-sans text-4xl font-extrabold uppercase tracking-[-0.03em] sm:text-5xl`.
34
+
35
+ ## Character animation
36
+
37
+ When character motion is selected, load `animaxxing` and its `references/text-stability.md` before splitting. That reference owns kerning, font readiness, mask clearance, and split/revert checks. Omit `text-balance` on split targets and use stable normal wrapping. Preserve the design's font, scale, and tracking; choose words or lines if character splitting would compromise them.
38
+
39
+ ## Mono vocabulary
40
+
41
+ ```
42
+ MONO_LABEL = "font-mono text-caption font-bold uppercase tracking-[0.08em]"
43
+ MONO_NOTE = "font-mono text-annotation uppercase tracking-[0.08em]"
44
+ FIGURE = MONO_NOTE + " tabular-nums"
45
+ ```
46
+
47
+ Numbers in a ledger are `FIGURE`. Section numbers are two digits: `01 · Wikipedia`, `Ch. 01 / 04`. The middle dot is a real `·` with spaces either side.
48
+
49
+ ## Chips and buttons
50
+
51
+ Strong border, tight radius, uppercase extrabold sans at a small size.
52
+
53
+ ```
54
+ CHIP = "inline-flex h-12 items-center gap-2.5 rounded-xl border-2 px-5 font-sans text-[13px] font-extrabold uppercase tracking-[0.04em] transition-colors"
55
+ CHIP_SOLID = CHIP + " border-inverse bg-inverse text-inverse-foreground hover:bg-inverse-hover"
56
+ CHIP_OUTLINE = CHIP + " border-foreground text-foreground hover:bg-surface-hover"
57
+ CHIP_QUIET = CHIP + " border-border text-muted hover:border-foreground hover:text-foreground"
58
+ SMALL_CHIP = "inline-flex h-10 items-center rounded-lg border-2 border-foreground px-4 font-sans text-caption font-extrabold uppercase tracking-[0.04em] text-foreground transition-colors hover:bg-surface-hover"
59
+ ```
60
+
61
+ Calls to action are the same shape at display size:
62
+
63
+ ```
64
+ BUTTON_SOLID = "inline-flex cursor-pointer items-center rounded-lg bg-inverse px-6 py-3 font-sans text-4xl font-extrabold uppercase tracking-[-0.02em] text-inverse-foreground transition-colors hover:bg-inverse-hover focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-focus sm:px-8 sm:py-4 sm:text-5xl"
65
+ BUTTON_OUTLINE = same, with "border-2 border-foreground bg-transparent text-foreground hover:bg-surface-hover" in place of the inverse fill
66
+ ```
67
+
68
+ For the full motion treatment, the primary action is solid and gets `reactor`; the secondary is outlined and gets `marquee` from `animaxxing`. With minimal or no motion, keep the same button styling. Only one solid button per composition.
69
+
70
+ The `transition-colors` on chips and buttons is the one CSS transition in the system. GSAP never animates `color`, so they do not collide.
71
+
72
+ ## Page grammar
73
+
74
+ ### Site shell
75
+
76
+ Site chrome: a header with the wordmark, then the page, then a hairline-ruled footer. The wordmark is lowercase mono, tracked out, muted, with a 1px underline drawn by `scaleX` on entrance. The footer carries the credit and the theme toggle at `text-caption` mono.
77
+
78
+ ```
79
+ header: "px-gutter pt-gutter-lg sm:px-gutter-lg" > "mx-auto flex min-h-9 w-full max-w-7xl items-center justify-between gap-4"
80
+ wordmark: "relative inline-block font-mono text-base uppercase tracking-[0.08em] text-muted sm:text-lg"
81
+ footer: "mt-auto border-t border-border px-gutter py-10 sm:px-gutter-lg"
82
+ ```
83
+
84
+ Where the framework controller keeps the shell persistent, give it the first-load entrance from the motion vocabulary; the framework skill owns persistence and replay timing.
85
+
86
+ ### Page section
87
+
88
+ ```
89
+ main: "flex flex-1 flex-col"
90
+ section: "px-gutter pt-10 pb-16 sm:px-gutter-lg" > "mx-auto w-full max-w-7xl"
91
+ ```
92
+
93
+ ### Sticky header strip
94
+
95
+ A redesigned site's own chrome, inside the page:
96
+
97
+ ```
98
+ header: "sticky top-0 z-30 -mx-gutter border-b border-border bg-canvas px-gutter sm:-mx-gutter-lg sm:px-gutter-lg"
99
+ row: "flex min-h-14 items-center gap-x-8 py-2"
100
+ ```
101
+
102
+ Left to right: the site's name as `MONO_LABEL` in foreground, a nav of `MONO_NOTE` links in muted that turn foreground on hover, a `FIGURE` clock or meta pushed right, and one `SMALL_CHIP` action. Below `md`, the nav hides and the chip takes the right edge.
103
+
104
+ ### Twelve-column grid and the chapters rail
105
+
106
+ ```
107
+ grid: "mt-8 grid grid-cols-12 gap-x-6 gap-y-8"
108
+ rail: "col-span-12 lg:col-span-1"
109
+ body: "col-span-12 lg:col-span-11"
110
+ ```
111
+
112
+ The rail lists the page's chapters, numbered `01` to `04`. At `lg` it turns on its side: `lg:sticky lg:top-20 lg:h-[calc(100vh-6rem)] lg:rotate-180 lg:border-l lg:border-border lg:pl-3 lg:[writing-mode:vertical-rl]`. Below `lg` it is a row of chips that scrolls horizontally. The current chapter carries `aria-current="page"` and foreground color; the rest are muted.
113
+
114
+ ```
115
+ RAIL_LINK = MONO_LABEL + " inline-flex shrink-0 items-center gap-2 rounded-lg px-2.5 py-2 transition-colors lg:py-2.5"
116
+ ```
117
+
118
+ Poster headlines take eight columns; a photograph takes four and is cropped at the gutter.
119
+
120
+ ### Ledgers
121
+
122
+ Dense lists are hairline-ruled rows, figures right, no zebra striping:
123
+
124
+ ```
125
+ ROW = "grid grid-cols-[3rem_minmax(0,1fr)] items-start gap-x-6 border-b border-border py-3 lg:min-h-10 lg:grid-cols-[4rem_minmax(0,1fr)_14.5rem_5.5rem_5.5rem_4.5rem] lg:items-center lg:py-2.5"
126
+ ```
127
+
128
+ The first story or item is set in `DISPLAY` type over its actions; the rest are rows. Below `lg` each row folds its figures into one `FIGURE` line under the title.
129
+
130
+ ### Cards
131
+
132
+ ```
133
+ card: "group block h-full cursor-pointer rounded-lg border-2 border-border bg-surface p-6 transition-colors hover:border-foreground hover:bg-surface-hover focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-focus sm:p-8"
134
+ ```
135
+
136
+ Anatomy, top to bottom: a `Label` row (`01 · Source` left, `Soon` right when the card is a placeholder), the heading in the card display setting at `mt-8`, a `BodyCopy` blurb in muted at `mt-4` and `max-w-[36ch]`, and an `Annotation` call to action in foreground at `mt-8` ending in ` →`. The whole card is the link. Cards sit in `grid gap-6 sm:grid-cols-2 lg:grid-cols-3`.
137
+
138
+ ### Forms
139
+
140
+ A text field is a rule, not a box: `block w-full border-b-[3px] border-foreground bg-transparent py-3 font-sans font-extrabold text-foreground placeholder:text-border outline-none!`, at whatever poster size the column allows. The keyboard ring is handled by the field's own `focus-visible` or by the particle treatment; suppress the browser outline only when one of those replaces it. Labels stay in the DOM as `sr-only` when the placeholder carries the visible label.
141
+
142
+ ## Composition rules
143
+
144
+ - Flush left, ragged right. No justified text, no centered blocks.
145
+ - One poster or statement per view. Everything else supports it.
146
+ - Hairlines rule; strong borders outline interactive things.
147
+ - Numbers are tabular mono. Dates, times, counts, and chapter marks all read as figures.
148
+ - Photographs are monochrome, cropped hard at the grid, never rounded beyond `rounded-lg`.
149
+ - Empty space is a material. Section spacing is `--spacing-section`; do not fill it.