@xonovex/skills 0.1.0

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 (341) hide show
  1. package/.claude-plugin/plugin.json +21 -0
  2. package/commands/code-align.md +108 -0
  3. package/commands/code-harden.md +74 -0
  4. package/commands/code-simplify.md +145 -0
  5. package/commands/git-commit.md +146 -0
  6. package/commands/insights-extract.md +109 -0
  7. package/commands/insights-integrate.md +100 -0
  8. package/commands/plan-continue.md +167 -0
  9. package/commands/plan-create.md +107 -0
  10. package/commands/plan-research.md +113 -0
  11. package/commands/plan-subplans-create.md +111 -0
  12. package/commands/plan-tdd-create.md +128 -0
  13. package/commands/plan-update.md +99 -0
  14. package/commands/plan-validate.md +100 -0
  15. package/commands/plan-worktree-abandon.md +104 -0
  16. package/commands/plan-worktree-create.md +92 -0
  17. package/commands/plan-worktree-merge.md +132 -0
  18. package/package.json +44 -0
  19. package/skills/astro-guidelines/SKILL.md +23 -0
  20. package/skills/astro-guidelines/reference/accessibility.md +31 -0
  21. package/skills/astro-guidelines/reference/components.md +42 -0
  22. package/skills/astro-guidelines/reference/content-collections.md +32 -0
  23. package/skills/astro-guidelines/reference/islands-architecture.md +26 -0
  24. package/skills/astro-guidelines/reference/project-structure.md +32 -0
  25. package/skills/c99-game-opinionated-guidelines/SKILL.md +43 -0
  26. package/skills/c99-game-opinionated-guidelines/reference/builder-pattern.md +29 -0
  27. package/skills/c99-game-opinionated-guidelines/reference/coordinate-system.md +27 -0
  28. package/skills/c99-game-opinionated-guidelines/reference/geometry-pipeline.md +29 -0
  29. package/skills/c99-game-opinionated-guidelines/reference/math-types.md +31 -0
  30. package/skills/c99-game-opinionated-guidelines/reference/mesh-types.md +32 -0
  31. package/skills/c99-game-opinionated-guidelines/reference/physics-patterns.md +28 -0
  32. package/skills/c99-game-opinionated-guidelines/reference/spatial-structures.md +26 -0
  33. package/skills/c99-game-opinionated-guidelines/reference/tagged-unions.md +40 -0
  34. package/skills/c99-game-opinionated-guidelines/reference/vertex-packing.md +38 -0
  35. package/skills/c99-guidelines/SKILL.md +29 -0
  36. package/skills/c99-guidelines/reference/compound-literals.md +33 -0
  37. package/skills/c99-guidelines/reference/const-correctness.md +32 -0
  38. package/skills/c99-guidelines/reference/designated-initializers.md +32 -0
  39. package/skills/c99-guidelines/reference/error-handling.md +49 -0
  40. package/skills/c99-guidelines/reference/inline-functions.md +37 -0
  41. package/skills/c99-guidelines/reference/memory-management.md +35 -0
  42. package/skills/c99-opinionated-guidelines/SKILL.md +44 -0
  43. package/skills/c99-opinionated-guidelines/reference/alignment.md +50 -0
  44. package/skills/c99-opinionated-guidelines/reference/caller-owns-memory.md +38 -0
  45. package/skills/c99-opinionated-guidelines/reference/compound-literals.md +33 -0
  46. package/skills/c99-opinionated-guidelines/reference/const-correctness.md +32 -0
  47. package/skills/c99-opinionated-guidelines/reference/data-oriented-design.md +42 -0
  48. package/skills/c99-opinionated-guidelines/reference/designated-initializers.md +32 -0
  49. package/skills/c99-opinionated-guidelines/reference/error-handling.md +49 -0
  50. package/skills/c99-opinionated-guidelines/reference/file-naming.md +33 -0
  51. package/skills/c99-opinionated-guidelines/reference/implementation-variants.md +35 -0
  52. package/skills/c99-opinionated-guidelines/reference/inline-functions.md +37 -0
  53. package/skills/c99-opinionated-guidelines/reference/memory-management.md +35 -0
  54. package/skills/c99-opinionated-guidelines/reference/safety-validations.md +32 -0
  55. package/skills/c99-opinionated-guidelines/reference/testing-patterns.md +39 -0
  56. package/skills/cmake-guidelines/SKILL.md +31 -0
  57. package/skills/cmake-guidelines/reference/compile-options.md +34 -0
  58. package/skills/cmake-guidelines/reference/fetchcontent.md +32 -0
  59. package/skills/cmake-guidelines/reference/find-package.md +29 -0
  60. package/skills/cmake-guidelines/reference/generator-expressions.md +34 -0
  61. package/skills/cmake-guidelines/reference/installation.md +38 -0
  62. package/skills/cmake-guidelines/reference/project-structure.md +40 -0
  63. package/skills/cmake-guidelines/reference/target-types.md +37 -0
  64. package/skills/cmake-guidelines/reference/testing.md +30 -0
  65. package/skills/cmake-guidelines/reference/visibility-specifiers.md +32 -0
  66. package/skills/content-guidelines/SKILL.md +36 -0
  67. package/skills/content-guidelines/reference/humanize.md +30 -0
  68. package/skills/content-guidelines/reference/news.md +28 -0
  69. package/skills/content-guidelines/reference/travelguide.md +31 -0
  70. package/skills/docker-guidelines/SKILL.md +23 -0
  71. package/skills/docker-guidelines/reference/docker-compose.md +40 -0
  72. package/skills/docker-guidelines/reference/layer-caching.md +25 -0
  73. package/skills/docker-guidelines/reference/multi-stage-builds.md +37 -0
  74. package/skills/docker-guidelines/reference/production-config.md +32 -0
  75. package/skills/docker-guidelines/reference/security.md +27 -0
  76. package/skills/express.js-guidelines/SKILL.md +32 -0
  77. package/skills/express.js-guidelines/reference/app-setup.md +39 -0
  78. package/skills/express.js-guidelines/reference/authentication.md +39 -0
  79. package/skills/express.js-guidelines/reference/controllers.md +49 -0
  80. package/skills/express.js-guidelines/reference/error-handling.md +54 -0
  81. package/skills/express.js-guidelines/reference/project-structure.md +29 -0
  82. package/skills/express.js-guidelines/reference/responses.md +30 -0
  83. package/skills/express.js-guidelines/reference/routes.md +29 -0
  84. package/skills/express.js-guidelines/reference/testing.md +39 -0
  85. package/skills/express.js-guidelines/reference/validation.md +41 -0
  86. package/skills/general-fp-guidelines/SKILL.md +28 -0
  87. package/skills/general-oop-guidelines/SKILL.md +28 -0
  88. package/skills/git-guidelines/SKILL.md +46 -0
  89. package/skills/git-guidelines/reference/commit.md +32 -0
  90. package/skills/git-guidelines/reference/merge-resolve.md +38 -0
  91. package/skills/git-guidelines/reference/worktree-abandon.md +48 -0
  92. package/skills/git-guidelines/reference/worktree-cleanup.md +40 -0
  93. package/skills/git-guidelines/reference/worktree-commit.md +46 -0
  94. package/skills/git-guidelines/reference/worktree-create.md +42 -0
  95. package/skills/git-guidelines/reference/worktree-merge.md +45 -0
  96. package/skills/git-guidelines/reference/worktree-validate.md +44 -0
  97. package/skills/hono-guidelines/SKILL.md +49 -0
  98. package/skills/hono-guidelines/reference/application-structure.md +53 -0
  99. package/skills/hono-guidelines/reference/context-storage.md +46 -0
  100. package/skills/hono-guidelines/reference/cookie-handling.md +63 -0
  101. package/skills/hono-guidelines/reference/error-handling.md +69 -0
  102. package/skills/hono-guidelines/reference/middleware-combine.md +47 -0
  103. package/skills/hono-guidelines/reference/middleware-patterns.md +58 -0
  104. package/skills/hono-guidelines/reference/platform-runtime.md +41 -0
  105. package/skills/hono-guidelines/reference/security-middleware.md +60 -0
  106. package/skills/hono-guidelines/reference/validation-type-safety.md +43 -0
  107. package/skills/hono-guidelines/reference/websocket-support.md +59 -0
  108. package/skills/hono-opinionated-guidelines/SKILL.md +49 -0
  109. package/skills/hono-opinionated-guidelines/reference/application-structure.md +53 -0
  110. package/skills/hono-opinionated-guidelines/reference/body-limit.md +57 -0
  111. package/skills/hono-opinionated-guidelines/reference/context-storage.md +46 -0
  112. package/skills/hono-opinionated-guidelines/reference/controllers.md +38 -0
  113. package/skills/hono-opinionated-guidelines/reference/cookie-handling.md +63 -0
  114. package/skills/hono-opinionated-guidelines/reference/error-handling.md +69 -0
  115. package/skills/hono-opinionated-guidelines/reference/middleware-combine.md +47 -0
  116. package/skills/hono-opinionated-guidelines/reference/middleware-patterns.md +58 -0
  117. package/skills/hono-opinionated-guidelines/reference/openapi-explicit-status-codes.md +61 -0
  118. package/skills/hono-opinionated-guidelines/reference/openapi-inline-handlers.md +56 -0
  119. package/skills/hono-opinionated-guidelines/reference/openapi-router-hierarchy.md +64 -0
  120. package/skills/hono-opinionated-guidelines/reference/openapi-spec-generation.md +57 -0
  121. package/skills/hono-opinionated-guidelines/reference/platform-runtime.md +41 -0
  122. package/skills/hono-opinionated-guidelines/reference/router-selection.md +34 -0
  123. package/skills/hono-opinionated-guidelines/reference/security-middleware.md +60 -0
  124. package/skills/hono-opinionated-guidelines/reference/validation-type-safety.md +43 -0
  125. package/skills/hono-opinionated-guidelines/reference/websocket-support.md +59 -0
  126. package/skills/insights-guidelines/SKILL.md +28 -0
  127. package/skills/insights-guidelines/reference/insights-extract.md +31 -0
  128. package/skills/insights-guidelines/reference/insights-integrate.md +35 -0
  129. package/skills/instruction-guidelines/SKILL.md +26 -0
  130. package/skills/instruction-guidelines/reference/assimilate.md +38 -0
  131. package/skills/instruction-guidelines/reference/simplify.md +46 -0
  132. package/skills/instruction-guidelines/reference/sync.md +41 -0
  133. package/skills/kubernetes-guidelines/SKILL.md +28 -0
  134. package/skills/kubernetes-guidelines/reference/configmaps-secrets.md +34 -0
  135. package/skills/kubernetes-guidelines/reference/deployments.md +55 -0
  136. package/skills/kubernetes-guidelines/reference/kustomize.md +41 -0
  137. package/skills/kubernetes-guidelines/reference/network-policies.md +53 -0
  138. package/skills/kubernetes-guidelines/reference/services.md +36 -0
  139. package/skills/kubernetes-guidelines/reference/validation.md +32 -0
  140. package/skills/lua-guidelines/SKILL.md +29 -0
  141. package/skills/lua-guidelines/reference/coroutines.md +66 -0
  142. package/skills/lua-guidelines/reference/error-handling.md +41 -0
  143. package/skills/lua-guidelines/reference/idiomatic-patterns.md +40 -0
  144. package/skills/lua-guidelines/reference/input-validation.md +42 -0
  145. package/skills/lua-guidelines/reference/local-variables.md +33 -0
  146. package/skills/lua-guidelines/reference/metatables.md +52 -0
  147. package/skills/lua-guidelines/reference/module-pattern.md +37 -0
  148. package/skills/lua-guidelines/reference/string-concatenation.md +31 -0
  149. package/skills/lua-opinionated-guidelines/SKILL.md +32 -0
  150. package/skills/lua-opinionated-guidelines/reference/cache-lookups.md +43 -0
  151. package/skills/lua-opinionated-guidelines/reference/coroutines.md +66 -0
  152. package/skills/lua-opinionated-guidelines/reference/error-handling.md +41 -0
  153. package/skills/lua-opinionated-guidelines/reference/idiomatic-patterns.md +40 -0
  154. package/skills/lua-opinionated-guidelines/reference/input-validation.md +42 -0
  155. package/skills/lua-opinionated-guidelines/reference/jit-friendly-tables.md +57 -0
  156. package/skills/lua-opinionated-guidelines/reference/local-variables.md +33 -0
  157. package/skills/lua-opinionated-guidelines/reference/metatables.md +52 -0
  158. package/skills/lua-opinionated-guidelines/reference/module-pattern.md +37 -0
  159. package/skills/lua-opinionated-guidelines/reference/string-concatenation.md +31 -0
  160. package/skills/moon-guidelines/SKILL.md +30 -0
  161. package/skills/moon-guidelines/reference/docker-multistage.md +42 -0
  162. package/skills/moon-guidelines/reference/project-constraints.md +25 -0
  163. package/skills/moon-guidelines/reference/query-language.md +27 -0
  164. package/skills/moon-guidelines/reference/tag-based-filtering.md +28 -0
  165. package/skills/moon-guidelines/reference/task-configuration.md +38 -0
  166. package/skills/moon-guidelines/reference/task-inheritance.md +30 -0
  167. package/skills/motion-react-guidelines/SKILL.md +66 -0
  168. package/skills/motion-react-guidelines/reference/3d-effects.md +35 -0
  169. package/skills/motion-react-guidelines/reference/entrance.md +36 -0
  170. package/skills/motion-react-guidelines/reference/exit.md +35 -0
  171. package/skills/motion-react-guidelines/reference/gestures.md +23 -0
  172. package/skills/motion-react-guidelines/reference/layout.md +39 -0
  173. package/skills/motion-react-guidelines/reference/motion-values.md +33 -0
  174. package/skills/motion-react-guidelines/reference/performance.md +32 -0
  175. package/skills/motion-react-guidelines/reference/scroll.md +38 -0
  176. package/skills/motion-react-guidelines/reference/spring-physics.md +40 -0
  177. package/skills/motion-react-guidelines/reference/stagger.md +34 -0
  178. package/skills/motion-react-guidelines/reference/svg-path.md +33 -0
  179. package/skills/motion-react-guidelines/reference/text-effects.md +39 -0
  180. package/skills/plan-guidelines/SKILL.md +56 -0
  181. package/skills/plan-guidelines/reference/code-align.md +23 -0
  182. package/skills/plan-guidelines/reference/code-barrels-remove.md +24 -0
  183. package/skills/plan-guidelines/reference/code-comments-remove.md +28 -0
  184. package/skills/plan-guidelines/reference/code-harden.md +30 -0
  185. package/skills/plan-guidelines/reference/code-shared-extract.md +25 -0
  186. package/skills/plan-guidelines/reference/code-simplify.md +33 -0
  187. package/skills/plan-guidelines/reference/code-template-extract.md +34 -0
  188. package/skills/plan-guidelines/reference/code-template-scaffold.md +36 -0
  189. package/skills/plan-guidelines/reference/general-research.md +35 -0
  190. package/skills/plan-guidelines/reference/plan-create.md +37 -0
  191. package/skills/plan-guidelines/reference/plan-tdd-create.md +44 -0
  192. package/skills/plan-guidelines/reference/todos.md +39 -0
  193. package/skills/presentation-guidelines/SKILL.md +25 -0
  194. package/skills/presentation-guidelines/reference/presentation-create.md +41 -0
  195. package/skills/presentation-guidelines/reference/presentation-motion-scaffold.md +38 -0
  196. package/skills/python-guidelines/SKILL.md +32 -0
  197. package/skills/python-guidelines/reference/async-await-patterns.md +62 -0
  198. package/skills/python-guidelines/reference/caching-functions.md +47 -0
  199. package/skills/python-guidelines/reference/dataclasses-type-hints.md +63 -0
  200. package/skills/python-guidelines/reference/exception-handling.md +72 -0
  201. package/skills/python-guidelines/reference/generators-comprehensions.md +54 -0
  202. package/skills/python-guidelines/reference/pathlib-file-ops.md +60 -0
  203. package/skills/python-guidelines/reference/resource-management.md +58 -0
  204. package/skills/python-guidelines/reference/string-formatting.md +41 -0
  205. package/skills/python-guidelines/reference/type-checking.md +47 -0
  206. package/skills/react-guidelines/SKILL.md +105 -0
  207. package/skills/react-guidelines/reference/accessibility.md +31 -0
  208. package/skills/react-guidelines/reference/activity-effect-event.md +42 -0
  209. package/skills/react-guidelines/reference/component-design.md +57 -0
  210. package/skills/react-guidelines/reference/hooks.md +39 -0
  211. package/skills/react-guidelines/reference/migration-anti-patterns.md +33 -0
  212. package/skills/react-guidelines/reference/migration-deprecations.md +109 -0
  213. package/skills/react-guidelines/reference/migration-paradigm-shifts.md +33 -0
  214. package/skills/react-guidelines/reference/migration-typescript.md +95 -0
  215. package/skills/react-guidelines/reference/new-hooks.md +94 -0
  216. package/skills/react-guidelines/reference/performance-optimization.md +41 -0
  217. package/skills/react-guidelines/reference/react-compiler.md +34 -0
  218. package/skills/react-guidelines/reference/server-components.md +99 -0
  219. package/skills/react-guidelines/reference/state-management.md +72 -0
  220. package/skills/react-guidelines/reference/suspense-streaming.md +36 -0
  221. package/skills/remotion-guidelines/SKILL.md +67 -0
  222. package/skills/remotion-guidelines/reference/animations.md +121 -0
  223. package/skills/remotion-guidelines/reference/assets.md +21 -0
  224. package/skills/remotion-guidelines/reference/captions.md +33 -0
  225. package/skills/remotion-guidelines/reference/charts.md +35 -0
  226. package/skills/remotion-guidelines/reference/compositions.md +40 -0
  227. package/skills/remotion-guidelines/reference/dom-measurement.md +82 -0
  228. package/skills/remotion-guidelines/reference/gifs.md +33 -0
  229. package/skills/remotion-guidelines/reference/lottie.md +41 -0
  230. package/skills/remotion-guidelines/reference/maps.md +26 -0
  231. package/skills/remotion-guidelines/reference/media.md +39 -0
  232. package/skills/remotion-guidelines/reference/mediabunny.md +28 -0
  233. package/skills/remotion-guidelines/reference/sequencing.md +44 -0
  234. package/skills/remotion-guidelines/reference/text.md +24 -0
  235. package/skills/remotion-guidelines/reference/three-d.md +33 -0
  236. package/skills/remotion-guidelines/reference/timing.md +22 -0
  237. package/skills/remotion-guidelines/reference/transitions.md +52 -0
  238. package/skills/shell-scripting-guidelines/SKILL.md +31 -0
  239. package/skills/shell-scripting-guidelines/reference/argument-parsing.md +67 -0
  240. package/skills/shell-scripting-guidelines/reference/common-patterns.md +46 -0
  241. package/skills/shell-scripting-guidelines/reference/error-handling.md +62 -0
  242. package/skills/shell-scripting-guidelines/reference/functions.md +66 -0
  243. package/skills/shell-scripting-guidelines/reference/idempotency.md +57 -0
  244. package/skills/shell-scripting-guidelines/reference/parameter-expansion.md +38 -0
  245. package/skills/shell-scripting-guidelines/reference/posix-compatibility.md +53 -0
  246. package/skills/shell-scripting-guidelines/reference/quoting.md +42 -0
  247. package/skills/shell-scripting-guidelines/reference/script-template.md +70 -0
  248. package/skills/shell-scripting-guidelines/reference/strict-mode.md +41 -0
  249. package/skills/shell-scripting-guidelines/reference/validation.md +30 -0
  250. package/skills/skill-guidelines/SKILL.md +33 -0
  251. package/skills/skill-guidelines/reference/assimilate.md +51 -0
  252. package/skills/skill-guidelines/reference/create.md +48 -0
  253. package/skills/skill-guidelines/reference/extract.md +48 -0
  254. package/skills/skill-guidelines/reference/simplify.md +56 -0
  255. package/skills/sql-postgresql-guidelines/SKILL.md +31 -0
  256. package/skills/sql-postgresql-guidelines/reference/constraints.md +47 -0
  257. package/skills/sql-postgresql-guidelines/reference/cte-patterns.md +42 -0
  258. package/skills/sql-postgresql-guidelines/reference/data-types.md +46 -0
  259. package/skills/sql-postgresql-guidelines/reference/indexing.md +45 -0
  260. package/skills/sql-postgresql-guidelines/reference/jsonb.md +54 -0
  261. package/skills/sql-postgresql-guidelines/reference/performance.md +46 -0
  262. package/skills/sql-postgresql-guidelines/reference/role-based-access.md +47 -0
  263. package/skills/sql-postgresql-guidelines/reference/row-level-security.md +66 -0
  264. package/skills/strudel-guidelines/SKILL.md +52 -0
  265. package/skills/strudel-guidelines/reference/arrangement.md +24 -0
  266. package/skills/strudel-guidelines/reference/conditionals.md +22 -0
  267. package/skills/strudel-guidelines/reference/effects.md +22 -0
  268. package/skills/strudel-guidelines/reference/genre-ambient.md +26 -0
  269. package/skills/strudel-guidelines/reference/genre-harsh.md +21 -0
  270. package/skills/strudel-guidelines/reference/genre-trance.md +23 -0
  271. package/skills/strudel-guidelines/reference/layering.md +22 -0
  272. package/skills/strudel-guidelines/reference/mini-notation.md +74 -0
  273. package/skills/strudel-guidelines/reference/modulation.md +22 -0
  274. package/skills/strudel-guidelines/reference/scales-harmony.md +20 -0
  275. package/skills/strudel-guidelines/reference/sounds.md +89 -0
  276. package/skills/strudel-guidelines/reference/tempo-timing.md +23 -0
  277. package/skills/terraform-guidelines/SKILL.md +28 -0
  278. package/skills/terraform-guidelines/reference/advanced-patterns.md +88 -0
  279. package/skills/terraform-guidelines/reference/locals.md +53 -0
  280. package/skills/terraform-guidelines/reference/module-definition.md +81 -0
  281. package/skills/terraform-guidelines/reference/module-structure.md +51 -0
  282. package/skills/terraform-guidelines/reference/remote-state.md +38 -0
  283. package/skills/terraform-guidelines/reference/root-module.md +71 -0
  284. package/skills/terraform-guidelines/reference/typed-variables.md +90 -0
  285. package/skills/threejs-guidelines/SKILL.md +38 -0
  286. package/skills/threejs-guidelines/reference/animation.md +26 -0
  287. package/skills/threejs-guidelines/reference/cameras-controls.md +26 -0
  288. package/skills/threejs-guidelines/reference/geometry.md +22 -0
  289. package/skills/threejs-guidelines/reference/interaction.md +25 -0
  290. package/skills/threejs-guidelines/reference/lighting-shadows.md +31 -0
  291. package/skills/threejs-guidelines/reference/loaders.md +29 -0
  292. package/skills/threejs-guidelines/reference/materials.md +25 -0
  293. package/skills/threejs-guidelines/reference/math.md +27 -0
  294. package/skills/threejs-guidelines/reference/node-materials.md +32 -0
  295. package/skills/threejs-guidelines/reference/patterns.md +29 -0
  296. package/skills/threejs-guidelines/reference/performance.md +24 -0
  297. package/skills/threejs-guidelines/reference/physics-vr.md +36 -0
  298. package/skills/threejs-guidelines/reference/postprocessing.md +26 -0
  299. package/skills/threejs-guidelines/reference/scene-fundamentals.md +26 -0
  300. package/skills/threejs-guidelines/reference/shaders.md +28 -0
  301. package/skills/threejs-guidelines/reference/textures.md +21 -0
  302. package/skills/threejs-guidelines/reference/webgpu.md +34 -0
  303. package/skills/typescript-guidelines/SKILL.md +37 -0
  304. package/skills/typescript-guidelines/reference/async-without-await.md +32 -0
  305. package/skills/typescript-guidelines/reference/avoid-barrel-exports.md +25 -0
  306. package/skills/typescript-guidelines/reference/avoid-eslint-disable.md +28 -0
  307. package/skills/typescript-guidelines/reference/avoid-reexports.md +26 -0
  308. package/skills/typescript-guidelines/reference/env-access-bracket-notation.md +29 -0
  309. package/skills/typescript-guidelines/reference/numeric-separator-enforcement.md +30 -0
  310. package/skills/typescript-guidelines/reference/template-literals-require-string-conversion.md +26 -0
  311. package/skills/typescript-guidelines/reference/unbound-method-references.md +32 -0
  312. package/skills/typescript-guidelines/reference/unnecessary-async-keywords.md +37 -0
  313. package/skills/typescript-to-lua-guidelines/SKILL.md +33 -0
  314. package/skills/typescript-to-lua-guidelines/reference/avoiding-heavy-features.md +41 -0
  315. package/skills/typescript-to-lua-guidelines/reference/coroutine-patterns.md +49 -0
  316. package/skills/typescript-to-lua-guidelines/reference/function-patterns.md +59 -0
  317. package/skills/typescript-to-lua-guidelines/reference/lua-interop.md +49 -0
  318. package/skills/typescript-to-lua-guidelines/reference/module-organization.md +42 -0
  319. package/skills/typescript-to-lua-guidelines/reference/multi-return-functions.md +47 -0
  320. package/skills/typescript-to-lua-guidelines/reference/namespaces-vs-classes.md +52 -0
  321. package/skills/typescript-to-lua-guidelines/reference/performance-tips.md +68 -0
  322. package/skills/typescript-to-lua-guidelines/reference/stable-tables.md +60 -0
  323. package/skills/typescript-to-lua-guidelines/reference/tsconfig.md +46 -0
  324. package/skills/typescript-to-lua-guidelines/reference/tstl-decorators.md +61 -0
  325. package/skills/typescript-to-lua-guidelines/reference/type-safety.md +79 -0
  326. package/skills/vitest-guidelines/SKILL.md +32 -0
  327. package/skills/vitest-guidelines/reference/cors-preflight-status-code.md +34 -0
  328. package/skills/vitest-guidelines/reference/http-testing.md +57 -0
  329. package/skills/vitest-guidelines/reference/json-response-type-safety.md +40 -0
  330. package/skills/vitest-guidelines/reference/mock-patterns.md +53 -0
  331. package/skills/vitest-guidelines/reference/project-references-path-resolution.md +36 -0
  332. package/skills/vitest-guidelines/reference/test-organization.md +25 -0
  333. package/skills/vitest-guidelines/reference/timestamp-testing.md +55 -0
  334. package/skills/vitest-guidelines/reference/type-safety.md +55 -0
  335. package/skills/vitest-guidelines/reference/typescript-config.md +43 -0
  336. package/skills/zod-guidelines/SKILL.md +33 -0
  337. package/skills/zod-guidelines/reference/default-values-output-type.md +63 -0
  338. package/skills/zod-guidelines/reference/migration-string-validators.md +38 -0
  339. package/skills/zod-guidelines/reference/migration-v4.md +46 -0
  340. package/skills/zod-guidelines/reference/schema-organization.md +73 -0
  341. package/skills/zod-guidelines/reference/validation-patterns.md +37 -0
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: motion-guidelines
3
+ description: >-
4
+ Trigger on Motion animations, `whileHover`, `whileInView`, scroll effects, spring physics, gesture animations. Use when creating React animations with Motion. Apply for entrance animations, hover effects, scroll reveals, layout transitions, drag interactions. Keywords: Motion, motion/react, animation, React, spring physics, whileHover, whileTap, useScroll, layoutId, AnimatePresence.
5
+ ---
6
+
7
+ # Motion Animation Guidelines
8
+
9
+ ## Requirements
10
+
11
+ - Install: `npm install motion`
12
+ - Import: `import { motion } from "motion/react"`
13
+
14
+ ## Essentials
15
+
16
+ - **Entrance animations** - Use `initial`/`animate` with opacity+transform; 0.6-0.8s duration, ease `[0.22, 1, 0.36, 1]`, see [reference/entrance.md](reference/entrance.md)
17
+ - **Gesture interactions** - Use `whileHover`/`whileTap` with spring physics (stiffness: 300, damping: 20), see [reference/gestures.md](reference/gestures.md)
18
+ - **Scroll effects** - Use `whileInView` with `viewport={{once: true, amount: 0.3}}`; use `useScroll`/`useTransform` for parallax, see [reference/scroll.md](reference/scroll.md)
19
+ - **Layout animations** - Use `layout` prop for automatic FLIP; use `layoutId` for shared element morphing, see [reference/layout.md](reference/layout.md)
20
+ - **Stagger sequences** - Use variants with `staggerChildren: 0.1` and `delayChildren`, see [reference/stagger.md](reference/stagger.md)
21
+ - **Exit animations** - Wrap in `<AnimatePresence>` with `exit` prop, see [reference/exit.md](reference/exit.md)
22
+ - **Performance** - Only animate transform/opacity; use `useReducedMotion()` for accessibility, see [reference/performance.md](reference/performance.md)
23
+
24
+ ## Example
25
+
26
+ ```tsx
27
+ import {motion} from "motion/react";
28
+
29
+ export function FadeUp({children}: {children: React.ReactNode}) {
30
+ return (
31
+ <motion.div
32
+ initial={{opacity: 0, y: 20}}
33
+ animate={{opacity: 1, y: 0}}
34
+ transition={{duration: 0.6, ease: [0.22, 1, 0.36, 1]}}
35
+ >
36
+ {children}
37
+ </motion.div>
38
+ );
39
+ }
40
+
41
+ export function HoverCard({children}: {children: React.ReactNode}) {
42
+ return (
43
+ <motion.div
44
+ whileHover={{y: -8, boxShadow: "0 20px 40px rgba(0,0,0,0.12)"}}
45
+ transition={{type: "spring", stiffness: 300, damping: 20}}
46
+ >
47
+ {children}
48
+ </motion.div>
49
+ );
50
+ }
51
+ ```
52
+
53
+ ## Progressive Disclosure
54
+
55
+ - Read [reference/entrance.md](reference/entrance.md) - When creating fade-in, slide-up, or hero animations
56
+ - Read [reference/gestures.md](reference/gestures.md) - When adding hover, tap, or focus interactions
57
+ - Read [reference/scroll.md](reference/scroll.md) - When building scroll reveals or parallax effects
58
+ - Read [reference/layout.md](reference/layout.md) - When animating layout changes or shared elements
59
+ - Read [reference/stagger.md](reference/stagger.md) - When orchestrating sequential child animations
60
+ - Read [reference/exit.md](reference/exit.md) - When animating component unmounting
61
+ - Read [reference/spring-physics.md](reference/spring-physics.md) - When tuning spring stiffness, damping, mass
62
+ - Read [reference/motion-values.md](reference/motion-values.md) - When using useMotionValue, useSpring, useTransform, useAnimate, or MotionConfig
63
+ - Read [reference/performance.md](reference/performance.md) - When optimizing animations or supporting reduced motion
64
+ - Read [reference/svg-path.md](reference/svg-path.md) - When animating SVG paths or strokes
65
+ - Read [reference/3d-effects.md](reference/3d-effects.md) - When creating 3D cards, perspective, or rotations
66
+ - Read [reference/text-effects.md](reference/text-effects.md) - When animating text reveals, scramble, or typewriter effects
@@ -0,0 +1,35 @@
1
+ # filename: 3d-effects
2
+
3
+ **Guideline:** Set `perspective` on parent; use `transformStyle: "preserve-3d"` on children; drive 3D via `useMotionValue` + `useSpring`.
4
+
5
+ **Rationale:** Perspective creates 3D depth; preserve-3d enables layering; motion values drive smooth tilt/flip without re-renders.
6
+
7
+ **Example:**
8
+ ```tsx
9
+ function Card3D({children}: {children: React.ReactNode}) {
10
+ const x = useMotionValue(0);
11
+ const y = useMotionValue(0);
12
+ const rotateX = useSpring(useTransform(y, [-0.5, 0.5], [15, -15]));
13
+ const rotateY = useSpring(useTransform(x, [-0.5, 0.5], [-15, 15]));
14
+
15
+ return (
16
+ <motion.div
17
+ style={{rotateX, rotateY, transformStyle: "preserve-3d"}}
18
+ onMouseMove={(e) => {
19
+ const rect = e.currentTarget.getBoundingClientRect();
20
+ x.set((e.clientX - rect.left) / rect.width - 0.5);
21
+ }}
22
+ >
23
+ {children}
24
+ </motion.div>
25
+ );
26
+ }
27
+ ```
28
+
29
+ **Techniques:**
30
+ - Parent perspective: `style={{perspective: 1000}}`; higher = less depth distortion
31
+ - Flip cards: `animate={{rotateY: isFlipped ? 180 : 0}}`; use `backfaceVisibility: "hidden"`
32
+ - 3D carousel: Position items with `rotateY(angle)` and `translateZ()` in transforms
33
+ - Layered stacks: `translateZ(i * 20px)` for depth; `whileHover={{rotateX, rotateY}}` on container
34
+ - Shine effect: Use `useTransform()` to derive shine position from mouse coordinates; gradient follows
35
+ - Transform properties: `rotateX/Y/Z`, `x/y/z`, `scale/scaleX/Y/Z`, `transformOrigin`
@@ -0,0 +1,36 @@
1
+ # filename: entrance
2
+
3
+ **Guideline:** Use `initial`/`animate` with opacity and transforms (y, x, scale); apply Apple easing `[0.22, 1, 0.36, 1]` for smooth deceleration.
4
+
5
+ **Rationale:** Opacity + transforms are GPU-optimized; transforms avoid layout thrashing; easing creates polished, professional feel.
6
+
7
+ **Example:**
8
+ ```tsx
9
+ function FadeUp({children}) {
10
+ return (
11
+ <motion.div
12
+ initial={{opacity: 0, y: 20}}
13
+ animate={{opacity: 1, y: 0}}
14
+ transition={{duration: 0.6, ease: [0.22, 1, 0.36, 1]}}
15
+ >
16
+ {children}
17
+ </motion.div>
18
+ );
19
+ }
20
+
21
+ // Staggered hero
22
+ <motion.section initial="hidden" animate="visible"
23
+ variants={{visible: {transition: {staggerChildren: 0.15}}}}>
24
+ <motion.h1 variants={{hidden: {opacity: 0, y: 30}, visible: {opacity: 1, y: 0}}} />
25
+ </motion.section>
26
+ ```
27
+
28
+ **Techniques:**
29
+ - Fade up: `initial={{opacity: 0, y: 20}}` → `animate={{opacity: 1, y: 0}}`
30
+ - Fade in scale: `initial={{opacity: 0, scale: 0.95}}` for zoom-in effect
31
+ - Slide directions: `x: -50` (left), `x: 50` (right), `y: 50` (bottom)
32
+ - Spring entrance: `type: "spring", stiffness: 300, damping: 20` for bouncy
33
+ - Duration hierarchy: Headlines 0.8s, subheadings 0.6s, body 0.5s, small 0.3-0.4s
34
+ - Stagger children: Parent variant with `staggerChildren: 0.1-0.15` for cascading
35
+ - Apple easing: `ease: [0.22, 1, 0.36, 1]` for professional smooth deceleration
36
+ - Always combine opacity with transform for optimal performance; never use margin for animation
@@ -0,0 +1,35 @@
1
+ # filename: exit
2
+
3
+ **Guideline:** Wrap conditionally rendered elements in `<AnimatePresence>` to enable exit animations; React removes elements instantly without it.
4
+
5
+ **Rationale:** AnimatePresence delays DOM removal until exit animation completes; enables smooth transitions and proper cleanup.
6
+
7
+ **Example:**
8
+ ```tsx
9
+ function Modal({isOpen, onClose}) {
10
+ return (
11
+ <AnimatePresence>
12
+ {isOpen && (
13
+ <motion.div
14
+ initial={{opacity: 0, scale: 0.95}}
15
+ animate={{opacity: 1, scale: 1}}
16
+ exit={{opacity: 0, scale: 0.95}}
17
+ transition={{type: "spring", stiffness: 300}}
18
+ >
19
+ Modal content
20
+ </motion.div>
21
+ )}
22
+ </AnimatePresence>
23
+ );
24
+ }
25
+ ```
26
+
27
+ **Techniques:**
28
+ - Always wrap conditionals: `<AnimatePresence>{condition && <motion.div exit={{...}} />}</AnimatePresence>`
29
+ - Unique keys: Required for list animations; prevents animation identity loss on reorder
30
+ - Exit modes: `"sync"` (enter/exit simultaneous), `"wait"` (exit first, then enter), `"popLayout"` (exit removed from flow)
31
+ - Exit callbacks: `onExitComplete={() => {...}}` fires when all exit animations finish
32
+ - Page transitions: Use `key={location.pathname}` with router to trigger exit/enter on route change
33
+ - List animations: `height: 0` on exit shrinks before removal; `opacity: 0` fades
34
+ - Staggered exit: Use parent variant with `staggerDirection: -1` to reverse animation order
35
+ - Modal backdrop: Animate both backdrop (fade) and content (scale) simultaneously for depth
@@ -0,0 +1,23 @@
1
+ # gestures: Gesture Interactions
2
+
3
+ **Guideline:** Use whileHover/whileTap/whileFocus with spring physics; never use duration for gestures (springs feel responsive).
4
+
5
+ **Rationale:** Spring transitions feel instantaneous and natural; duration-based easing delays feedback.
6
+
7
+ **Example:**
8
+ ```tsx
9
+ <motion.button
10
+ whileHover={{scale: 1.05}}
11
+ whileTap={{scale: 0.95}}
12
+ whileFocus={{boxShadow: "0 0 0 3px rgba(66, 153, 225, 0.6)"}}
13
+ transition={{type: "spring", stiffness: 400, damping: 25}}
14
+ />
15
+ ```
16
+
17
+ **Techniques:**
18
+ - whileHover/whileTap/whileFocus: Gesture states; always use spring transitions
19
+ - Spring presets: Snappy (buttons) 400/25, smooth (cards) 300/20, bouncy 200/10
20
+ - Hover effects: y: -8, boxShadow, scale 1.02-1.05
21
+ - Magnetic button: useMotionValue + useSpring for cursor tracking
22
+ - Dock scaling: Distance-based proximity effect via Math.abs(index - hovered)
23
+ - Accessibility: Include whileFocus for keyboard users; test with Tab key
@@ -0,0 +1,39 @@
1
+ # filename: layout
2
+
3
+ **Guideline:** Use `layout` prop for automatic FLIP animations on size/position changes; use `layoutId` for shared element transitions between DOM nodes.
4
+
5
+ **Rationale:** `layout` auto-animates position/size without manually specifying targets; `layoutId` enables seamless transitions across screens (gallery → modal).
6
+
7
+ **Example:**
8
+ ```tsx
9
+ function ExpandingCard({expanded}) {
10
+ return (
11
+ <motion.div
12
+ layout
13
+ style={{width: expanded ? 400 : 200}}
14
+ transition={{type: "spring", stiffness: 300}}
15
+ />
16
+ );
17
+ }
18
+
19
+ // Shared element transition
20
+ <motion.div layoutId={`card-${id}`} onClick={() => setSelected(item)}>
21
+ <motion.img layoutId={`image-${id}`} src={item.image} />
22
+ </motion.div>
23
+
24
+ {selected && (
25
+ <motion.div layoutId={`card-${selected.id}`} style={{position: "fixed"}}>
26
+ <motion.img layoutId={`image-${selected.id}`} src={selected.image} />
27
+ </motion.div>
28
+ )}
29
+ ```
30
+
31
+ **Techniques:**
32
+ - `layout`: Animate position and size changes automatically (FLIP algorithm)
33
+ - `layout="position"`: Only position (for text); `layout="size"`: Only size
34
+ - `layoutId`: Same ID on elements across different DOM states for smooth morphing
35
+ - `<Reorder.Group values={items} onReorder={setItems}>`: Drag-to-reorder with auto-layout
36
+ - `<Reorder.Item value={item}>`: Draggable list item
37
+ - Accordion: Combine `layout` with `AnimatePresence` for smooth expand/collapse
38
+ - Tabs indicator: `layoutId="tab-indicator"` + conditional render for smooth underline transition
39
+ - Always wrap conditional elements in `<AnimatePresence>` for exit animations
@@ -0,0 +1,33 @@
1
+ # filename: motion-values
2
+
3
+ **Guideline:** Use `useMotionValue` for high-frequency updates (mouse, scroll) without re-renders; derive with `useTransform`; smooth with `useSpring`.
4
+
5
+ **Rationale:** Motion values bypass React rendering; enables 60fps tracking; perfect for animations that don't need state.
6
+
7
+ **Example:**
8
+ ```tsx
9
+ function MouseTracker() {
10
+ const x = useMotionValue(0);
11
+ const springX = useSpring(x, {stiffness: 150, damping: 15});
12
+
13
+ return (
14
+ <div onMouseMove={(e) => x.set(e.clientX)}>
15
+ <motion.div style={{x: springX}} />
16
+ </div>
17
+ );
18
+ }
19
+
20
+ // Derive multiple values from one source
21
+ const background = useTransform(x, [-100, 0, 100], ["red", "white", "green"]);
22
+ const scale = useTransform(x, [-100, 100], [0.5, 1.5]);
23
+ ```
24
+
25
+ **Techniques:**
26
+ - `useMotionValue(initial)`: Create raw value; `.set()` updates without renders
27
+ - `useTransform(value, [input], [output])`: Map range; supports colors, strings, numbers
28
+ - `useSpring(value, config)`: Add spring physics (stiffness, damping, mass)
29
+ - `useMotionTemplate`: Dynamic CSS strings with backticks: `` `radial-gradient(... ${x}px ...)` ``
30
+ - `useScroll()`: Returns `scrollX`/`scrollY`/`scrollXProgress`/`scrollYProgress` (0-1)
31
+ - Subscription: `value.on("change", latest => {...})`; unsubscribe in cleanup
32
+ - `useAnimate()`: Imperative control - `const [scope, animate] = useAnimate()`, then `await animate(scope.current, {...})`
33
+ - Performance: Never use state for real-time values; motion values skip renders for 60fps tracking
@@ -0,0 +1,32 @@
1
+ # performance: Performance and Accessibility
2
+
3
+ **Guideline:** Animate only GPU-accelerated transforms (x/y/scale/rotate) and opacity; use scaleX/Y or layout for size changes; support prefers-reduced-motion.
4
+
5
+ **Rationale:** Transform/opacity don't trigger layout recalculation; width/height cause jank. Respecting prefers-reduced-motion is legal requirement (WCAG 2.1).
6
+
7
+ **Example:**
8
+ ```tsx
9
+ import {motion, useReducedMotion} from "motion/react";
10
+
11
+ function AccessibleDiv({children}) {
12
+ const shouldReduceMotion = useReducedMotion();
13
+ return (
14
+ <motion.div
15
+ initial={shouldReduceMotion ? false : {opacity: 0, y: 20}}
16
+ animate={{opacity: 1, y: 0}}
17
+ transition={shouldReduceMotion ? {duration: 0} : {duration: 0.6}}
18
+ >
19
+ {children}
20
+ </motion.div>
21
+ );
22
+ }
23
+ ```
24
+
25
+ **Techniques:**
26
+ - GPU-accelerated: x, y, z, scale, rotate, opacity, skew (no layout recalc)
27
+ - Never animate: width, height, margin, padding, left/top/right/bottom (triggers jank)
28
+ - useReducedMotion(): Check for prefers-reduced-motion; skip animations if true
29
+ - Layout prop: Use `layout` for size/position changes instead of animating dimensions
30
+ - LazyMotion: Wrap app with LazyMotion + domAnimation to reduce bundle (use `m` instead of `motion`)
31
+ - willChange: Add for high-frequency animations
32
+ - Accessible wrapper: Create MotionSafe component that skips animations for reduced-motion users
@@ -0,0 +1,38 @@
1
+ # filename: scroll
2
+
3
+ **Guideline:** Use `whileInView` for scroll-triggered reveals; use `useScroll()` + `useTransform()` for precise parallax and scroll-linked effects.
4
+
5
+ **Rationale:** `whileInView` leverages Intersection Observer; `useScroll()` enables smooth parallax without scroll listeners; `useTransform` maps scroll range to outputs.
6
+
7
+ **Example:**
8
+ ```tsx
9
+ function ScrollReveal({children}) {
10
+ return (
11
+ <motion.div
12
+ initial={{opacity: 0, y: 50}}
13
+ whileInView={{opacity: 1, y: 0}}
14
+ viewport={{once: true, amount: 0.3}}
15
+ transition={{duration: 0.6}}
16
+ >
17
+ {children}
18
+ </motion.div>
19
+ );
20
+ }
21
+
22
+ // Parallax
23
+ function Parallax() {
24
+ const ref = useRef(null);
25
+ const {scrollYProgress} = useScroll({target: ref, offset: ["start end", "end start"]});
26
+ const backgroundY = useTransform(scrollYProgress, [0, 1], [0, -150]);
27
+ return <motion.div ref={ref} style={{y: backgroundY}} />;
28
+ }
29
+ ```
30
+
31
+ **Techniques:**
32
+ - `whileInView`: Animates when element enters viewport; `viewport={{once: true, amount: 0.3}}` triggers at 30% visible
33
+ - `useScroll()`: Returns `scrollX/Y` and `scrollXProgress/scrollYProgress` (0-1 normalized)
34
+ - `useTransform(scrollProgress, [0, 1], [outputStart, outputEnd])`: Map scroll to colors, positions, scale
35
+ - `useInView(ref, {once: true})`: Imperative boolean hook for manual control
36
+ - Staggered scroll reveal: `variants` with `staggerChildren` inside `whileInView`
37
+ - Scroll progress bar: `scaleX: scrollYProgress` with `transformOrigin: "left"`
38
+ - Viewport options: `amount` (0-1), `margin` (CSS pixels), `once: true` (single animation)
@@ -0,0 +1,40 @@
1
+ # filename: spring-physics
2
+
3
+ **Guideline:** Use `type: "spring"` for interactive gestures; adjust `stiffness` (speed), `damping` (bounce), `mass` (weight) for feel.
4
+
5
+ **Rationale:** Spring animations are interruptible and natural; duration animations are rigid but synchronized; match animation type to use case.
6
+
7
+ **Example:**
8
+ ```tsx
9
+ // Snappy (buttons, quick interactions)
10
+ <motion.div
11
+ whileHover={{scale: 1.05}}
12
+ transition={{type: "spring", stiffness: 400, damping: 25}}
13
+ />
14
+
15
+ // Bouncy (playful entrance)
16
+ <motion.div
17
+ initial={{scale: 0.9}}
18
+ animate={{scale: 1}}
19
+ transition={{type: "spring", stiffness: 200, damping: 8}}
20
+ />
21
+
22
+ // Smooth (cards, panels)
23
+ <motion.div
24
+ whileHover={{y: -8}}
25
+ transition={{type: "spring", stiffness: 300, damping: 20}}
26
+ />
27
+ ```
28
+
29
+ **Techniques:**
30
+ - `stiffness: 100-500`: Response speed; higher = faster snap to target
31
+ - `damping: 10-50`: Bounce control; higher = less bouncy/overshoot
32
+ - `mass: 0.5-3`: Perceived weight; higher = heavier, slower response
33
+ - Snappy preset: `stiffness: 400, damping: 25` for buttons, quick feedback
34
+ - Smooth preset: `stiffness: 300, damping: 20` for regular elements
35
+ - Bouncy preset: `stiffness: 200, damping: 8` for attention-grabbing/playful
36
+ - Heavy preset: `stiffness: 100, damping: 15, mass: 2` for modals, large elements
37
+ - Gentle preset: `stiffness: 150, damping: 15` for subtle, understated movements
38
+ - Use `useSpring()` hook for smoothing raw motion values (mouse tracking, scroll)
39
+ - Spring for: Gestures, hover, tap, drag interactions, interactive feedback, layout changes
40
+ - Duration for: Entrance sequences, scroll reveals, page transitions, synchronized multi-element animations
@@ -0,0 +1,34 @@
1
+ # filename: stagger
2
+
3
+ **Guideline:** Use `staggerChildren` in parent variant transitions to orchestrate sequential child animations; never use manual delays.
4
+
5
+ **Rationale:** Variants + stagger maintains maintainability; auto-sequencing prevents timing bugs; reversible with `staggerDirection: -1`.
6
+
7
+ **Example:**
8
+ ```tsx
9
+ const container = {
10
+ hidden: {},
11
+ visible: {
12
+ transition: {staggerChildren: 0.1, delayChildren: 0.2}
13
+ }
14
+ };
15
+ const item = {
16
+ hidden: {opacity: 0, y: 20},
17
+ visible: {opacity: 1, y: 0, transition: {duration: 0.5}}
18
+ };
19
+
20
+ <motion.ul variants={container} initial="hidden" animate="visible">
21
+ {items.map((i, idx) => (
22
+ <motion.li key={idx} variants={item}>{i}</motion.li>
23
+ ))}
24
+ </motion.ul>
25
+ ```
26
+
27
+ **Techniques:**
28
+ - Parent variant: `staggerChildren` (per-child delay), `delayChildren` (initial delay before first)
29
+ - Child variant: individual `initial`/`visible`/`exit` states
30
+ - Grid stagger: 0.02-0.05 for dense layouts; 0.08-0.12 for lists; 0.15-0.2 for hero sections
31
+ - Reverse exit: `exit: {transition: {staggerDirection: -1}}` for backwards animation
32
+ - Scroll trigger: `whileInView="visible"` + `viewport={{once: true}}` for scroll-triggered stagger
33
+ - Always use unique `key` on list items for proper animation tracking
34
+ - Never use `delay: i * 0.1`; always use variants + staggerChildren for maintainability
@@ -0,0 +1,33 @@
1
+ # filename: svg-path
2
+
3
+ **Guideline:** Animate SVG paths with `pathLength` from 0 to 1 for drawing effects; pair with `opacity` for simultaneous fade-in.
4
+
5
+ **Rationale:** Motion's `pathLength` auto-calculates stroke-dash math; simpler than manual `strokeDasharray`/`strokeDashoffset`.
6
+
7
+ **Example:**
8
+ ```tsx
9
+ function DrawingIcon() {
10
+ return (
11
+ <svg width="100" height="100" viewBox="0 0 100 100">
12
+ <motion.path
13
+ d="M 10 50 Q 50 10 90 50 Q 50 90 10 50"
14
+ fill="none"
15
+ stroke="#667eea"
16
+ strokeWidth={2}
17
+ initial={{pathLength: 0, opacity: 0}}
18
+ animate={{pathLength: 1, opacity: 1}}
19
+ transition={{duration: 1.5}}
20
+ />
21
+ </svg>
22
+ );
23
+ }
24
+ ```
25
+
26
+ **Techniques:**
27
+ - Path animation: `initial={{pathLength: 0}}` → `animate={{pathLength: 1}}`; 0-1 range
28
+ - Staggered paths: Use `variants` + `custom` prop for per-path delays
29
+ - Progress circles: `animate={{pathLength: progress}}` (0 to dynamic value)
30
+ - Checkmarks: Combine `pathLength` animation with `opacity` transition on different durations
31
+ - Flowing lines: Use `strokeDasharray="10 5"` + `strokeDashoffset: [0, -30]` with `repeat: Infinity`
32
+ - Connection lines: Bezier curves `C` command for smooth connections; `rotateY` adjustment for vertical lines
33
+ - Stroke caps: `strokeLinecap="round"` + `strokeLinejoin="round"` for smoother endpoints
@@ -0,0 +1,39 @@
1
+ # filename: text-effects
2
+
3
+ **Guideline:** Split text into words/characters in spans; use `overflow: hidden` with `y: ["100%", 0]` for elegant reveal animations.
4
+
5
+ **Rationale:** Splitting enables per-element stagger; `overflow: hidden` masks overflow for clean Y-translate reveals; avoid animating entire text blocks.
6
+
7
+ **Example:**
8
+ ```tsx
9
+ function TextReveal({text}) {
10
+ return (
11
+ <motion.div initial="hidden" animate="visible" variants={{
12
+ hidden: {},
13
+ visible: {transition: {staggerChildren: 0.1}}
14
+ }}>
15
+ {text.split(" ").map((word, i) => (
16
+ <span key={i} style={{display: "inline-block", overflow: "hidden"}}>
17
+ <motion.span variants={{
18
+ hidden: {y: "100%", opacity: 0},
19
+ visible: {y: 0, opacity: 1}
20
+ }} style={{display: "inline-block"}}>
21
+ {word}
22
+ </motion.span>
23
+ <span>&nbsp;</span>
24
+ </span>
25
+ ))}
26
+ </motion.div>
27
+ );
28
+ }
29
+ ```
30
+
31
+ **Techniques:**
32
+ - Word reveal: Split by space, `y: ["100%", 0]`, stagger 0.05-0.15
33
+ - Character reveal: Split by `""`, stagger 0.02-0.05, add `y: 20` for bounce effect
34
+ - Typewriter: Use `useState` + `setInterval`, slice() text incrementally, add blinking cursor
35
+ - Wavy text: Per-character `y: [0, -10, 0]` with delay based on index
36
+ - Gradient animation: `backgroundPosition` with `backgroundSize: "300% 100%"`
37
+ - Word highlight: Overlay `scaleX: 0` → `scaleX: 1` highlight box behind word
38
+ - Overflow masking: Always wrap in `<span style={{overflow: "hidden"}}>` for clean reveals
39
+ - Keep stagger delays small: 0.02-0.1 for natural flow
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: plan-guidelines
3
+ description: >-
4
+ Trigger on planning sessions, research tasks, architecture decisions. Use when planning research and analysis tasks. Apply for code alignment, simplification, hardening, template extraction. Keywords: research, planning, task breakdown, code analysis, refactoring, template extraction, shared libraries, TODO scanning.
5
+ ---
6
+
7
+ # Planning Research Guidelines
8
+
9
+ ## Core Principles
10
+
11
+ - **Research First** - Analyze before creating implementation plans, see [reference/general-research.md](reference/general-research.md)
12
+ - **Use Task Agents** - Leverage Explore subagent with model=haiku, see [reference/general-research.md](reference/general-research.md)
13
+ - **Validation Required** - All analysis validates with typecheck/lint/build
14
+ - **Reports, Not Code** - Research generates reports without modifications
15
+
16
+ ## Research Workflow
17
+
18
+ - **Launch Exploration** - Use Task tool with subagent_type=Explore and model=haiku
19
+ - **Analyze and Report** - Process results, identify patterns, document findings
20
+
21
+ ## Planning Workflow
22
+
23
+ - **Create Implementation Plan** - Document architecture, technology choices, create tasks, see [reference/plan-create.md](reference/plan-create.md)
24
+ - **Break Down Work** - Use TaskCreate for each step with subject/description/activeForm
25
+ - **Define Dependencies** - Use TaskUpdate to set blockedBy/blocks relationships
26
+ - **Track Progress** - Use TaskList, TaskGet, TaskUpdate to manage execution
27
+
28
+ ## Skills to Consult
29
+
30
+ - **Include in all plans** - Add "Skills to consult:" section with comma-separated list, see [reference/plan-create.md](reference/plan-create.md)
31
+
32
+ ## Progressive Disclosure
33
+
34
+ ### Research Analysis
35
+ - Read [reference/general-research.md](reference/general-research.md) - Research codebase and web for requirements
36
+ - Read [reference/code-align.md](reference/code-align.md) - Compare two similar implementations
37
+ - Read [reference/code-barrels-remove.md](reference/code-barrels-remove.md) - Analyze barrel exports for removal
38
+ - Read [reference/code-comments-remove.md](reference/code-comments-remove.md) - Identify non-essential comments
39
+ - Read [reference/code-harden.md](reference/code-harden.md) - Improve type safety and error handling
40
+ - Read [reference/code-shared-extract.md](reference/code-shared-extract.md) - Find duplicated patterns to extract
41
+ - Read [reference/code-simplify.md](reference/code-simplify.md) - Reduce code complexity
42
+ - Read [reference/code-template-extract.md](reference/code-template-extract.md) - Create reusable templates
43
+ - Read [reference/code-template-scaffold.md](reference/code-template-scaffold.md) - Generate from templates
44
+ - Read [reference/todos.md](reference/todos.md) - Scan and group TODO comments
45
+
46
+ ### Plan Creation
47
+ - Read [reference/plan-create.md](reference/plan-create.md) - Create plan with task breakdown and dependencies
48
+ - Read [reference/plan-tdd-create.md](reference/plan-tdd-create.md) - Create TDD plan with sequential RED-GREEN-COMMIT tasks
49
+
50
+ ## Task Management
51
+
52
+ - **TaskCreate** - Create with subject, description, activeForm
53
+ - **TaskUpdate** - Set dependencies (addBlockedBy/addBlocks), update status
54
+ - **TaskList** - View all tasks with status and dependencies
55
+ - **TaskGet** - Retrieve full details before starting work
56
+ - **Dependencies** - Independent (no blockedBy), Sequential (set blockedBy), TDD (strict order)
@@ -0,0 +1,23 @@
1
+ # code-align: Analyze Code Alignment Between Similar Implementations
2
+
3
+ **Guideline:** Compare implementations to identify structural differences, inconsistencies, and alignment opportunities.
4
+
5
+ **Rationale:** Similar code should follow consistent patterns. Identifies bugs from missing error handling, outdated APIs, or logic differences.
6
+
7
+ **Example:**
8
+ ```
9
+ // Compare two API implementations
10
+ File A: imports v3.5, uses async/await, has try-catch
11
+ File B: imports v2.1, uses callbacks, missing error handling
12
+
13
+ Report: Version mismatch (v3.5 vs v2.1), pattern divergence (async vs callback)
14
+ ```
15
+
16
+ **Techniques:**
17
+ - Load both files and detect code type (TypeScript, Python, Go, etc.)
18
+ - Compare imports, dependencies, and version constraints across implementations
19
+ - Analyze interfaces, types, and function signatures for structural differences
20
+ - Examine error handling patterns, validation logic, and edge cases
21
+ - Review code organization, constants, and configuration defaults
22
+ - Generate alignment report with percentage match and critical differences
23
+ - Document recommendations for standardizing diverged implementations
@@ -0,0 +1,24 @@
1
+ # code-barrels-remove: Analyze Sub-Directory Barrel Exports for Removal
2
+
3
+ **Guideline:** Identify sub-directory barrel files for removal and convert imports to direct file paths.
4
+
5
+ **Rationale:** Sub-barrels add indirection without clear benefits. Removing them simplifies navigation, makes imports explicit, and reduces circular dependency risks.
6
+
7
+ **Example:**
8
+ ```typescript
9
+ // Before: Barrel indirection
10
+ import { User, Role } from './auth' // From src/auth/index.ts
11
+
12
+ // After: Direct imports
13
+ import { User } from './auth/user'
14
+ import { Role } from './auth/role'
15
+ ```
16
+
17
+ **Techniques:**
18
+ - Find all `index.ts`/`index.js` files in subdirectories (exclude root `src/index.ts`)
19
+ - Confirm each is a barrel by verifying it contains only re-exports
20
+ - Search for all imports from sub-barrel paths (pattern: `from "./subdir"`)
21
+ - Map each import to its actual source files to understand impact
22
+ - Update root barrel to convert relative paths to direct source context
23
+ - Track all usages across codebase and plan import migrations
24
+ - Generate report with line savings, import count, and deletion plan
@@ -0,0 +1,28 @@
1
+ # code-comments-remove: Identify Non-Essential Comments for Removal
2
+
3
+ **Guideline:** Analyze and remove non-essential comments while preserving functional directives.
4
+
5
+ **Rationale:** Self-documenting code preferred over comments. Remove explanatory, obvious, and commented-out code while preserving functional directives (eslint-disable, @ts-expect-error, TODO).
6
+
7
+ **Example:**
8
+ ```typescript
9
+ // REMOVE: Redundant comment
10
+ // Get the user ID
11
+ const userId = user.id
12
+
13
+ // KEEP: Functional directive
14
+ // eslint-disable-next-line no-unsafe-optional-chaining
15
+ const role = user?.profile?.role?.name
16
+
17
+ // REMOVE: Commented-out code
18
+ // const oldUserId = user.legacy_id
19
+ ```
20
+
21
+ **Techniques:**
22
+ - Detect comment syntax by language (C-style: `//`, `/* */`; hash-style: `#`)
23
+ - Distinguish functional directives (eslint, prettier, type hints) from explanatory comments
24
+ - Identify and categorize comments: explanatory, obvious, or commented-out code blocks
25
+ - Preserve critical directives: TODO, FIXME, @ts-expect-error, eslint-disable, go:generate, etc.
26
+ - Flag explanatory comments that duplicate clear code logic
27
+ - Find commented-out code blocks for removal (often outdated)
28
+ - Generate removal report with counts by category and impact summary