@kensaurus/skills 0.0.0-stage → 2.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 (425) hide show
  1. package/.claude-plugin/marketplace.json +53 -0
  2. package/.claude-plugin/plugin.json +40 -0
  3. package/.cursor-plugin/plugin.json +38 -0
  4. package/.mcp.json +28 -0
  5. package/CHANGELOG.md +1790 -0
  6. package/LICENSE +21 -0
  7. package/LICENSE-APACHE +62 -0
  8. package/NOTICE +13 -0
  9. package/README.md +821 -2
  10. package/SECURITY.md +55 -0
  11. package/agents/code-reviewer.md +60 -0
  12. package/agents/completion-judge.md +89 -0
  13. package/agents/db-migrator.md +125 -0
  14. package/agents/debugger.md +47 -0
  15. package/agents/deploy-checker.md +100 -0
  16. package/agents/perf-monitor.md +74 -0
  17. package/assets/favicon.png +0 -0
  18. package/assets/logo-light.png +0 -0
  19. package/assets/logo.png +0 -0
  20. package/assets/logo.svg +6 -0
  21. package/assets/og.png +0 -0
  22. package/bin/install.mjs +1127 -0
  23. package/bin/kenji.js +2 -0
  24. package/commands/adr.md +17 -0
  25. package/commands/aeo-plan.md +18 -0
  26. package/commands/arch-boundaries.md +17 -0
  27. package/commands/aso-plan.md +18 -0
  28. package/commands/auth-flows.md +19 -0
  29. package/commands/backup-plan.md +17 -0
  30. package/commands/burndown-full.md +25 -0
  31. package/commands/capacitor-plan.md +18 -0
  32. package/commands/codemod-safety.md +22 -0
  33. package/commands/commit.md +18 -0
  34. package/commands/complete-everything.md +40 -0
  35. package/commands/cost-plan.md +19 -0
  36. package/commands/deadcode-plan.md +26 -0
  37. package/commands/deadcode.md +32 -0
  38. package/commands/debug-issue.md +17 -0
  39. package/commands/deps-plan.md +18 -0
  40. package/commands/docs-plan.md +17 -0
  41. package/commands/doctrine.md +19 -0
  42. package/commands/error-plan.md +19 -0
  43. package/commands/feedback-to-closure.md +36 -0
  44. package/commands/fix-issue.md +76 -0
  45. package/commands/gate-logic.md +26 -0
  46. package/commands/green-repo.md +36 -0
  47. package/commands/grill-me.md +19 -0
  48. package/commands/gtm-plan.md +21 -0
  49. package/commands/gtm-weekly.md +17 -0
  50. package/commands/gtm.md +22 -0
  51. package/commands/handoff.md +15 -0
  52. package/commands/housekeep-backlog.md +18 -0
  53. package/commands/housekeep-files.md +22 -0
  54. package/commands/housekeep-gates.md +18 -0
  55. package/commands/instant-nav.md +11 -0
  56. package/commands/integrity-plan.md +19 -0
  57. package/commands/launch-kit.md +16 -0
  58. package/commands/mcp-guide.md +40 -0
  59. package/commands/mobile-plan.md +19 -0
  60. package/commands/native-rn-monorepo/README.md +78 -0
  61. package/commands/native-rn-monorepo/android-build.md +26 -0
  62. package/commands/native-rn-monorepo/android-install.md +32 -0
  63. package/commands/native-rn-monorepo/android-logcat.md +37 -0
  64. package/commands/native-rn-monorepo/ios-ci-logs.md +56 -0
  65. package/commands/native-rn-monorepo/ios-ci-status.md +52 -0
  66. package/commands/native-rn-monorepo/ios-ci-trigger.md +59 -0
  67. package/commands/native-rn-monorepo/rn-reset.md +50 -0
  68. package/commands/native-rn-monorepo/rn-ship-ios.md +67 -0
  69. package/commands/native-rn-monorepo/rn-verify.md +53 -0
  70. package/commands/perf-plan.md +18 -0
  71. package/commands/plan-mode.md +74 -0
  72. package/commands/pr.md +16 -0
  73. package/commands/pricing-plan.md +20 -0
  74. package/commands/privacy-plan.md +18 -0
  75. package/commands/readability.md +12 -0
  76. package/commands/readme.md +15 -0
  77. package/commands/refactor.md +15 -0
  78. package/commands/release-prep.md +17 -0
  79. package/commands/research.md +25 -0
  80. package/commands/responsive-audit.md +21 -0
  81. package/commands/review-code.md +18 -0
  82. package/commands/rls-plan.md +18 -0
  83. package/commands/secrets-plan.md +18 -0
  84. package/commands/security-plan.md +19 -0
  85. package/commands/ship-and-observe.md +36 -0
  86. package/commands/skill-conflicts.md +19 -0
  87. package/commands/slop-plan.md +18 -0
  88. package/commands/stub-plan.md +18 -0
  89. package/commands/test-mutation.md +16 -0
  90. package/commands/test-plan.md +17 -0
  91. package/commands/test.md +29 -0
  92. package/commands/thirdparty-web-interface-guidelines.md +185 -0
  93. package/commands/uiux-plan.md +18 -0
  94. package/commands/uiux.md +45 -0
  95. package/commands/update-deps.md +21 -0
  96. package/commands/validation-plan.md +19 -0
  97. package/commands-portable/fix-issue.md +72 -0
  98. package/commands-portable/plan-mode.md +92 -0
  99. package/commands-portable/research.md +91 -0
  100. package/docs/screenshots/README.md +5 -0
  101. package/docs/screenshots/audit-dark.png +0 -0
  102. package/docs/screenshots/build-dark.png +0 -0
  103. package/docs/screenshots/grill-dark.png +0 -0
  104. package/docs/screenshots/hero-dark.png +0 -0
  105. package/docs/screenshots/hero-light.png +0 -0
  106. package/docs/screenshots/ship-dark.png +0 -0
  107. package/docs/screenshots/src/showcase.html +320 -0
  108. package/hooks/completion-gate.mjs +258 -0
  109. package/hooks/cursor-hooks.json +13 -0
  110. package/hooks/hooks.json +15 -0
  111. package/install.sh +21 -0
  112. package/llms.txt +40 -0
  113. package/mcp/README.md +266 -0
  114. package/mcp/VERSIONS.md +41 -0
  115. package/mcp/mcp-full.json.template +124 -0
  116. package/mcp/mcp.json.template +29 -0
  117. package/mcp/pinned-versions.json +27 -0
  118. package/package.json +94 -4
  119. package/rules/approved-plan-execution.mdc +65 -0
  120. package/rules/full-stack-ship-discipline.mdc +37 -0
  121. package/rules/native-rn-monorepo/README.md +63 -0
  122. package/rules/native-rn-monorepo/_project.mdc +69 -0
  123. package/rules/native-rn-monorepo/native-android.mdc +72 -0
  124. package/rules/native-rn-monorepo/native-ios.mdc +61 -0
  125. package/rules/native-rn-monorepo/react-native-js.mdc +78 -0
  126. package/rules/native-rn-monorepo/web.mdc +60 -0
  127. package/rules/project-starter/components.mdc +54 -0
  128. package/rules/project-starter/data-fetching.mdc +77 -0
  129. package/rules/project-starter/git.mdc +41 -0
  130. package/rules/project-starter/supabase.mdc +37 -0
  131. package/rules/project-starter/tailwind.mdc +48 -0
  132. package/rules/project-starter/typescript.mdc +36 -0
  133. package/rules/project-starter/web-performance.mdc +42 -0
  134. package/rules/senior-engineer.mdc +30 -0
  135. package/rules/shell-first-search.mdc +19 -0
  136. package/rules/skill-workflows.mdc +35 -0
  137. package/rules/verification-before-completion.mdc +57 -0
  138. package/skills/audit-accessibility/SKILL.md +441 -0
  139. package/skills/audit-agent-speed/SKILL.md +181 -0
  140. package/skills/audit-agent-speed/scripts/stop-typecheck.mjs +151 -0
  141. package/skills/audit-analytics/SKILL.md +138 -0
  142. package/skills/audit-auth-flows/SKILL.md +267 -0
  143. package/skills/audit-backend-architecture/SKILL.md +266 -0
  144. package/skills/audit-backend-architecture/references/patterns.md +386 -0
  145. package/skills/audit-bundle-size/SKILL.md +295 -0
  146. package/skills/audit-cicd/SKILL.md +218 -0
  147. package/skills/audit-code-quality/SKILL.md +314 -0
  148. package/skills/audit-code-review/SKILL.md +289 -0
  149. package/skills/audit-codemod-safety/SKILL.md +159 -0
  150. package/skills/audit-db-schema/SKILL.md +465 -0
  151. package/skills/audit-db-schema/references/details.md +110 -0
  152. package/skills/audit-doctrine/SKILL.md +189 -0
  153. package/skills/audit-env-parity/SKILL.md +133 -0
  154. package/skills/audit-fe-api/SKILL.md +458 -0
  155. package/skills/audit-gate-logic/SKILL.md +219 -0
  156. package/skills/audit-i18n/SKILL.md +339 -0
  157. package/skills/audit-infra-cost/SKILL.md +142 -0
  158. package/skills/audit-langfuse-llm/SKILL.md +468 -0
  159. package/skills/audit-langfuse-llm/references/details.md +226 -0
  160. package/skills/audit-llm-security/SKILL.md +147 -0
  161. package/skills/audit-monetization-iap/SKILL.md +137 -0
  162. package/skills/audit-payment-system/SKILL.md +268 -0
  163. package/skills/audit-payment-system/references/checklist.md +283 -0
  164. package/skills/audit-performance/SKILL.md +383 -0
  165. package/skills/audit-performance/references/loading-priority-2026.md +81 -0
  166. package/skills/audit-realworld/SKILL.md +287 -0
  167. package/skills/audit-registry-listing/SKILL.md +122 -0
  168. package/skills/audit-resilience/SKILL.md +153 -0
  169. package/skills/audit-responsive/SKILL.md +221 -0
  170. package/skills/audit-responsive/references/checklist.md +166 -0
  171. package/skills/audit-security/SKILL.md +289 -0
  172. package/skills/audit-skill-conflicts/SKILL.md +178 -0
  173. package/skills/audit-ui-states/SKILL.md +146 -0
  174. package/skills/audit-uiux-design-system/SKILL.md +475 -0
  175. package/skills/audit-uiux-design-system/references/details.md +71 -0
  176. package/skills/audit-ux/SKILL.md +381 -0
  177. package/skills/audit-ux/references/details.md +245 -0
  178. package/skills/audit-ux-journeys/SKILL.md +215 -0
  179. package/skills/audit-ux-journeys/references/checklist.md +179 -0
  180. package/skills/backend-db-performance/SKILL.md +441 -0
  181. package/skills/backend-error-handling/SKILL.md +489 -0
  182. package/skills/backend-error-handling/references/details.md +58 -0
  183. package/skills/backend-observability/SKILL.md +88 -0
  184. package/skills/backend-patterns/SKILL.md +499 -0
  185. package/skills/backend-patterns/references/architecture-patterns.md +298 -0
  186. package/skills/backend-realtime/SKILL.md +403 -0
  187. package/skills/backend-realtime/references/patterns.md +74 -0
  188. package/skills/burndown-full/SKILL.md +174 -0
  189. package/skills/complete-everything/SKILL.md +295 -0
  190. package/skills/data-pipeline/SKILL.md +109 -0
  191. package/skills/data-visualization/SKILL.md +488 -0
  192. package/skills/debug-error/SKILL.md +322 -0
  193. package/skills/debug-fe-be-integration/SKILL.md +459 -0
  194. package/skills/debug-sentry-monitor/SKILL.md +497 -0
  195. package/skills/debug-sentry-monitor/references/details.md +165 -0
  196. package/skills/deploy-npm/SKILL.md +394 -0
  197. package/skills/deploy-npm/references/example-mushi-mushi.md +52 -0
  198. package/skills/deploy-verify/SKILL.md +489 -0
  199. package/skills/design-api/SKILL.md +379 -0
  200. package/skills/design-canvas/SKILL.md +155 -0
  201. package/skills/design-email/SKILL.md +370 -0
  202. package/skills/design-frontend/SKILL.md +143 -0
  203. package/skills/design-generative-art/SKILL.md +474 -0
  204. package/skills/design-mobile-first/SKILL.md +506 -0
  205. package/skills/design-motion/SKILL.md +333 -0
  206. package/skills/design-motion/references/delight-interactions.md +191 -0
  207. package/skills/design-prd/SKILL.md +443 -0
  208. package/skills/design-system/SKILL.md +457 -0
  209. package/skills/design-theme/SKILL.md +226 -0
  210. package/skills/design-theme/themes/tsumagoi-ranch.md +150 -0
  211. package/skills/docs-adr/SKILL.md +168 -0
  212. package/skills/docs-coauthor/SKILL.md +368 -0
  213. package/skills/docs-comparison-pages/SKILL.md +117 -0
  214. package/skills/docs-domain-modeling/SKILL.md +97 -0
  215. package/skills/docs-launch-kit/SKILL.md +139 -0
  216. package/skills/docs-writer/SKILL.md +469 -0
  217. package/skills/enhance-agent-guardrails/SKILL.md +164 -0
  218. package/skills/enhance-arch-boundaries/SKILL.md +154 -0
  219. package/skills/enhance-capacitor-ui/SKILL.md +463 -0
  220. package/skills/enhance-capacitor-ui/references/details.md +750 -0
  221. package/skills/enhance-email-deliverability/SKILL.md +143 -0
  222. package/skills/enhance-growth-loops/SKILL.md +122 -0
  223. package/skills/enhance-lifecycle-email/SKILL.md +130 -0
  224. package/skills/enhance-motion/SKILL.md +193 -0
  225. package/skills/enhance-onboarding/SKILL.md +148 -0
  226. package/skills/enhance-pwa/SKILL.md +303 -0
  227. package/skills/enhance-readability/SKILL.md +146 -0
  228. package/skills/enhance-readme/SKILL.md +496 -0
  229. package/skills/enhance-readme/package-lock.json +187 -0
  230. package/skills/enhance-readme/package.json +17 -0
  231. package/skills/enhance-readme/scripts/generate-readme-blocks.mjs +199 -0
  232. package/skills/enhance-readme/scripts/record-readme-tour.mjs +442 -0
  233. package/skills/enhance-skill-prompts/SKILL.md +167 -0
  234. package/skills/enhance-skill-prompts/references/exemplar-audit-auth-flows.md +311 -0
  235. package/skills/enhance-ux-laws/SKILL.md +409 -0
  236. package/skills/enhance-web-conversion/SKILL.md +155 -0
  237. package/skills/enhance-web-forms/SKILL.md +154 -0
  238. package/skills/enhance-web-instant-nav/SKILL.md +138 -0
  239. package/skills/enhance-web-instant-nav/references/bfcache-blockers.md +23 -0
  240. package/skills/enhance-web-instant-nav/references/early-hints.md +33 -0
  241. package/skills/enhance-web-instant-nav/references/speculation-rules.md +44 -0
  242. package/skills/enhance-web-landing/SKILL.md +459 -0
  243. package/skills/enhance-web-landing/references/details.md +773 -0
  244. package/skills/enhance-web-redesign/SKILL.md +228 -0
  245. package/skills/enhance-web-seo/SKILL.md +276 -0
  246. package/skills/enhance-web-ui/SKILL.md +473 -0
  247. package/skills/enhance-web-ui/references/details.md +674 -0
  248. package/skills/enhance-web-ux/HEURISTICS.md +248 -0
  249. package/skills/enhance-web-ux/PATTERNS.md +375 -0
  250. package/skills/enhance-web-ux/SKILL.md +464 -0
  251. package/skills/enhance-web-ux/examples.md +222 -0
  252. package/skills/enhance-web-ux/references/details.md +406 -0
  253. package/skills/enhance-web-web3d/SKILL.md +397 -0
  254. package/skills/enhance-web-web3d/references/css-canvas-effects.md +180 -0
  255. package/skills/handoff/SKILL.md +66 -0
  256. package/skills/housekeep-backlog/SKILL.md +149 -0
  257. package/skills/housekeep-dead-code/SKILL.md +387 -0
  258. package/skills/housekeep-dead-code/references/ratchet-ci.md +205 -0
  259. package/skills/housekeep-dead-code/references/supabase-hygiene.md +152 -0
  260. package/skills/housekeep-design/SKILL.md +207 -0
  261. package/skills/housekeep-files/SKILL.md +220 -0
  262. package/skills/housekeep-files/references/naming-and-catalog.md +86 -0
  263. package/skills/housekeep-files/scripts/housekeep-files.ps1 +360 -0
  264. package/skills/housekeep-files/scripts/housekeep-files.sh +238 -0
  265. package/skills/housekeep-gates/SKILL.md +174 -0
  266. package/skills/iterate-agent-harness/SKILL.md +137 -0
  267. package/skills/iterate-gtm-weekly/SKILL.md +103 -0
  268. package/skills/iterate-post-launch/SKILL.md +292 -0
  269. package/skills/meta-mcp-builder/SKILL.md +313 -0
  270. package/skills/meta-skill-creator/SKILL.md +304 -0
  271. package/skills/mobile-capacitor-platform/SKILL.md +103 -0
  272. package/skills/mobile-emulator-start/SKILL.md +296 -0
  273. package/skills/mobile-emulator-test/SKILL.md +491 -0
  274. package/skills/mobile-emulator-test/references/details.md +478 -0
  275. package/skills/mobile-rn-performance/SKILL.md +107 -0
  276. package/skills/mobile-rn-screen/SKILL.md +476 -0
  277. package/skills/mobile-rn-screen/references/details.md +785 -0
  278. package/skills/mushi-health/SKILL.md +206 -0
  279. package/skills/mushi-integration/SKILL.md +257 -0
  280. package/skills/plan-aeo-readiness/SKILL.md +166 -0
  281. package/skills/plan-antislop/SKILL.md +281 -0
  282. package/skills/plan-aso/SKILL.md +149 -0
  283. package/skills/plan-backup-dr/SKILL.md +131 -0
  284. package/skills/plan-capacitor-hardening/SKILL.md +217 -0
  285. package/skills/plan-data-integrity/SKILL.md +187 -0
  286. package/skills/plan-dead-code/SKILL.md +386 -0
  287. package/skills/plan-dead-code/references/knip-config.md +214 -0
  288. package/skills/plan-dead-code/references/output-templates.md +133 -0
  289. package/skills/plan-dead-code/references/preservation-contract.md +50 -0
  290. package/skills/plan-dead-code/references/residue-greps.md +84 -0
  291. package/skills/plan-dependency-provenance/SKILL.md +200 -0
  292. package/skills/plan-docs-sync/SKILL.md +143 -0
  293. package/skills/plan-docs-sync/references/drift-taxonomy.md +43 -0
  294. package/skills/plan-docs-sync/references/output-templates.md +33 -0
  295. package/skills/plan-docs-sync/references/preservation-contract.md +17 -0
  296. package/skills/plan-error-handling/SKILL.md +205 -0
  297. package/skills/plan-gtm/SKILL.md +276 -0
  298. package/skills/plan-gtm/references/benchmarks-2026.md +183 -0
  299. package/skills/plan-input-validation/SKILL.md +179 -0
  300. package/skills/plan-llm-cost-guardrails/SKILL.md +176 -0
  301. package/skills/plan-mobile-readiness/SKILL.md +171 -0
  302. package/skills/plan-perf-audit/SKILL.md +145 -0
  303. package/skills/plan-perf-audit/references/audit-scope.md +51 -0
  304. package/skills/plan-perf-audit/references/output-templates.md +33 -0
  305. package/skills/plan-perf-audit/references/preservation-contract.md +13 -0
  306. package/skills/plan-pricing/SKILL.md +173 -0
  307. package/skills/plan-privacy-compliance/SKILL.md +148 -0
  308. package/skills/plan-rls-audit/SKILL.md +231 -0
  309. package/skills/plan-secrets-audit/SKILL.md +181 -0
  310. package/skills/plan-security-audit/SKILL.md +168 -0
  311. package/skills/plan-security-audit/references/output-templates.md +36 -0
  312. package/skills/plan-security-audit/references/owasp-supabase-scope.md +55 -0
  313. package/skills/plan-security-audit/references/preservation-contract.md +18 -0
  314. package/skills/plan-stub-checker/SKILL.md +216 -0
  315. package/skills/plan-stub-checker/references/detection-methodology.md +75 -0
  316. package/skills/plan-stub-checker/references/detection-taxonomy.md +34 -0
  317. package/skills/plan-stub-checker/references/output-templates.md +63 -0
  318. package/skills/plan-stub-checker/references/preservation-contract.md +24 -0
  319. package/skills/plan-test-coverage/SKILL.md +170 -0
  320. package/skills/plan-test-coverage/references/methodology.md +54 -0
  321. package/skills/plan-test-coverage/references/output-templates.md +34 -0
  322. package/skills/plan-test-coverage/references/preservation-contract.md +15 -0
  323. package/skills/plan-uiux-unification/SKILL.md +230 -0
  324. package/skills/plan-uiux-unification/references/output-templates.md +67 -0
  325. package/skills/plan-uiux-unification/references/phase-workbook.md +85 -0
  326. package/skills/plan-uiux-unification/references/preservation-contract.md +24 -0
  327. package/skills/protocol-browser-anti-stall/SKILL.md +211 -0
  328. package/skills/protocol-browser-anti-stall/references/mcp-to-cli-map.md +113 -0
  329. package/skills/protocol-browser-anti-stall/references/playwright-session-coordination.md +170 -0
  330. package/skills/research/SKILL.md +422 -0
  331. package/skills/test-exploratory/SKILL.md +165 -0
  332. package/skills/test-exploratory/references/charter-template.md +29 -0
  333. package/skills/test-load/SKILL.md +126 -0
  334. package/skills/test-mutation/SKILL.md +160 -0
  335. package/skills/test-playwright/SKILL.md +354 -0
  336. package/skills/test-qa/SKILL.md +364 -0
  337. package/skills/test-qa/references/details.md +268 -0
  338. package/skills/test-red-team/SKILL.md +386 -0
  339. package/skills/test-red-team/references/owasp-attack-checklist.md +193 -0
  340. package/skills/test-unit/SKILL.md +259 -0
  341. package/skills/test-unit/references/details.md +267 -0
  342. package/skills/test-visual-regression/SKILL.md +132 -0
  343. package/skills/thirdparty-emil-design-eng/ATTRIBUTION.md +20 -0
  344. package/skills/thirdparty-emil-design-eng/SKILL.md +21 -0
  345. package/skills/thirdparty-emil-design-eng/references/emil-design-eng.md +676 -0
  346. package/skills/thirdparty-ui-ux-pro-max/ATTRIBUTION.md +22 -0
  347. package/skills/thirdparty-ui-ux-pro-max/SKILL.md +304 -0
  348. package/skills/thirdparty-ui-ux-pro-max/data/charts.csv +26 -0
  349. package/skills/thirdparty-ui-ux-pro-max/data/colors.csv +97 -0
  350. package/skills/thirdparty-ui-ux-pro-max/data/icons.csv +101 -0
  351. package/skills/thirdparty-ui-ux-pro-max/data/landing.csv +31 -0
  352. package/skills/thirdparty-ui-ux-pro-max/data/products.csv +97 -0
  353. package/skills/thirdparty-ui-ux-pro-max/data/react-performance.csv +45 -0
  354. package/skills/thirdparty-ui-ux-pro-max/data/stacks/astro.csv +54 -0
  355. package/skills/thirdparty-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  356. package/skills/thirdparty-ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  357. package/skills/thirdparty-ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  358. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  359. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  360. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  361. package/skills/thirdparty-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  362. package/skills/thirdparty-ui-ux-pro-max/data/stacks/react.csv +54 -0
  363. package/skills/thirdparty-ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  364. package/skills/thirdparty-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  365. package/skills/thirdparty-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  366. package/skills/thirdparty-ui-ux-pro-max/data/stacks/vue.csv +50 -0
  367. package/skills/thirdparty-ui-ux-pro-max/data/styles.csv +68 -0
  368. package/skills/thirdparty-ui-ux-pro-max/data/typography.csv +58 -0
  369. package/skills/thirdparty-ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  370. package/skills/thirdparty-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  371. package/skills/thirdparty-ui-ux-pro-max/data/web-interface.csv +31 -0
  372. package/skills/thirdparty-ui-ux-pro-max/scripts/core.py +253 -0
  373. package/skills/thirdparty-ui-ux-pro-max/scripts/design_system.py +1067 -0
  374. package/skills/thirdparty-ui-ux-pro-max/scripts/search.py +114 -0
  375. package/skills/thirdparty-web-interface-guidelines/ATTRIBUTION.md +23 -0
  376. package/skills/thirdparty-web-interface-guidelines/SKILL.md +190 -0
  377. package/skills/workflow-build-feature/SKILL.md +118 -0
  378. package/skills/workflow-coding-discipline/SKILL.md +140 -0
  379. package/skills/workflow-environment-ready/SKILL.md +128 -0
  380. package/skills/workflow-feature-flag/SKILL.md +262 -0
  381. package/skills/workflow-feedback-to-closure/SKILL.md +165 -0
  382. package/skills/workflow-fix-and-ship/SKILL.md +136 -0
  383. package/skills/workflow-git-commit/SKILL.md +200 -0
  384. package/skills/workflow-green-repo/SKILL.md +166 -0
  385. package/skills/workflow-grilling/SKILL.md +73 -0
  386. package/skills/workflow-gtm/SKILL.md +153 -0
  387. package/skills/workflow-housekeep/SKILL.md +453 -0
  388. package/skills/workflow-housekeep/references/templates.md +109 -0
  389. package/skills/workflow-launch-ready/SKILL.md +145 -0
  390. package/skills/workflow-merge-conflicts/SKILL.md +62 -0
  391. package/skills/workflow-onboard/SKILL.md +99 -0
  392. package/skills/workflow-parallel-agents/SKILL.md +164 -0
  393. package/skills/workflow-pr/SKILL.md +197 -0
  394. package/skills/workflow-quality-gate/SKILL.md +147 -0
  395. package/skills/workflow-refactor/SKILL.md +274 -0
  396. package/skills/workflow-release-prep/SKILL.md +207 -0
  397. package/skills/workflow-ship-and-observe/SKILL.md +164 -0
  398. package/skills/workflow-spec-tdd/SKILL.md +141 -0
  399. package/skills/workflow-spec-tdd/references/spec-template.md +126 -0
  400. package/skills/workflow-spec-tdd/references/tdd-patterns.md +167 -0
  401. package/skills-cursor/babysit/SKILL.md +17 -0
  402. package/skills-cursor/canvas/SKILL.md +142 -0
  403. package/skills-cursor/canvas/sdk/canvas-tokens.d.ts +235 -0
  404. package/skills-cursor/canvas/sdk/chart-primitives.d.ts +200 -0
  405. package/skills-cursor/canvas/sdk/dag-layout.d.ts +102 -0
  406. package/skills-cursor/canvas/sdk/diff-view.d.ts +130 -0
  407. package/skills-cursor/canvas/sdk/form-primitives.d.ts +194 -0
  408. package/skills-cursor/canvas/sdk/hooks.d.ts +117 -0
  409. package/skills-cursor/canvas/sdk/index.d.ts +47 -0
  410. package/skills-cursor/canvas/sdk/theme.d.ts +61 -0
  411. package/skills-cursor/canvas/sdk/todo-list.d.ts +49 -0
  412. package/skills-cursor/canvas/sdk/ui-primitives.d.ts +549 -0
  413. package/skills-cursor/canvas/sdk/ui-primitives.test.d.ts +2 -0
  414. package/skills-cursor/create-hook/SKILL.md +238 -0
  415. package/skills-cursor/create-rule/SKILL.md +185 -0
  416. package/skills-cursor/create-skill/SKILL.md +269 -0
  417. package/skills-cursor/create-skill/references/authoring-guide.md +182 -0
  418. package/skills-cursor/create-subagent/SKILL.md +228 -0
  419. package/skills-cursor/migrate-to-skills/SKILL.md +121 -0
  420. package/skills-cursor/shell/SKILL.md +22 -0
  421. package/skills-cursor/split-to-prs/SKILL.md +47 -0
  422. package/skills-cursor/statusline/SKILL.md +193 -0
  423. package/skills-cursor/update-cli-config/SKILL.md +85 -0
  424. package/skills-cursor/update-cursor-settings/SKILL.md +137 -0
  425. package/skills.sh.json +297 -0
@@ -0,0 +1,370 @@
1
+ ---
2
+ name: design-email
3
+ description: >
4
+ Design and build transactional and marketing email templates. Use when
5
+ "build an email template", "welcome email", "password reset email", "React
6
+ Email", "MJML", "dark mode email", or "email copy review". Spam/SPF →
7
+ enhance-email-deliverability.
8
+ license: MIT
9
+ ---
10
+
11
+ # design-email — Email Templates That Actually Get Read
12
+
13
+ **Degree of freedom: MIXED.** Copy and layout judgment `[HIGH freedom]`;
14
+ stack detect, markup, send, and preview `[LOW freedom — run exactly]`.
15
+
16
+ **Email is the one channel users check before they check your app.** A
17
+ well-crafted transactional email — clear, warm, fast-loading, and readable on
18
+ any device — builds trust. A corporate, jargon-heavy, broken email erodes it.
19
+ This skill handles design and copy. Inbox placement / SPF DKIM DMARC is `enhance-email-deliverability`.
20
+
21
+ ## How to reason
22
+
23
+ 1. **Detect** — React Email vs MJML vs none
24
+ 2. **Audit** — copy voice, subject, one action; client-safe layout
25
+ 3. **Write** — specific subject, human "you", plain-text twin
26
+ 4. **Preview** — 375px + dark mode; hand DNS off
27
+
28
+ ## Worked example
29
+
30
+ > **Detect:** `@react-email/components` already in `package.json`; `emails/` has a receipt only.
31
+ > **Audit:** password-reset subject is "Account notification"; two CTAs; no preview text.
32
+ > **Write:** subject "Reset your App password"; one "Reset my password" button; expiry in the first sentence.
33
+ > **Preview:** `npx email dev` at 375px; tap target ≥44px; DNS/spam → `enhance-email-deliverability`.
34
+
35
+ ## Self-critique before reporting
36
+
37
+ - **One action** — exactly one primary CTA; subject is specific and honest
38
+ - **Client-safe** — 600px single column, inline styles, alt text, dark fallback
39
+ - **Human copy** — "you"/"we"; no jargon or ALL-CAPS subject
40
+ - **Right owner** — SPF / DKIM / DMARC / bounces / List-Unsubscribe → `enhance-email-deliverability`
41
+
42
+ ---
43
+
44
+ ## Phase 0: Detect the stack [LOW freedom — run exactly]
45
+
46
+ ```
47
+ package.json → @react-email/*, mjml, nodemailer, @sendgrid/mail,
48
+ resend, @aws-sdk/client-ses, postmark
49
+ emails/ → existing React Email templates
50
+ src/emails/ → email template directory
51
+ .env.* → RESEND_API_KEY, SENDGRID_API_KEY, etc. (reference by name only)
52
+ ```
53
+
54
+ | Detected framework | Approach |
55
+ |--------------------|----------|
56
+ | React Email (`@react-email/components`) | JSX components, preview server, multi-client export |
57
+ | MJML | XML-like syntax, battle-tested cross-client output |
58
+ | None | Implement React Email (current best practice) |
59
+
60
+ ---
61
+
62
+ ## Phase 1: Audit existing templates [HIGH freedom]
63
+
64
+ If templates already exist, walk through each one and check:
65
+
66
+ **Copy quality**:
67
+ - Does it sound like a person sent it, or a system?
68
+ - Is the subject line specific? ("Your order is on its way" not "Order notification")
69
+ - Is the first sentence the most important one (preview text matters)?
70
+ - Does it tell the reader exactly what to do and what happens next?
71
+ - Is it free of business jargon, technical terms, and passive voice?
72
+
73
+ **Design**:
74
+ - Single-column layout? (Most reliable across clients)
75
+ - Max-width 600px? (Standard email width)
76
+ - All styles inline? (Gmail strips `<style>` tags)
77
+ - Images have `alt` text? (Many clients block images by default)
78
+ - Dark mode support? (`@media (prefers-color-scheme: dark)` + inline fallbacks)
79
+ - Mobile: tap targets ≥ 44px, font size ≥ 14px
80
+
81
+ **Sender identity (template-side):**
82
+ - "From" address uses the app domain, not a personal Gmail?
83
+ - SPF / DKIM / DMARC / bounces → `enhance-email-deliverability`
84
+
85
+ ---
86
+
87
+ ## Phase 2: Research best practices [HIGH freedom]
88
+
89
+ ```json
90
+ firecrawl:firecrawl_search
91
+ {
92
+ "query": "transactional email design best practices [current year] React Email",
93
+ "limit": 3,
94
+ "sources": [{ "type": "web" }]
95
+ }
96
+ ```
97
+
98
+ Fetch React Email docs if using it:
99
+ ```json
100
+ context7:resolve-library-id
101
+ {
102
+ "libraryName": "react-email"
103
+ }
104
+ ```
105
+
106
+ ---
107
+
108
+ ## Phase 3: Copy principles [HIGH freedom]
109
+
110
+ Apply these to every email before looking at design:
111
+
112
+ | Principle | How |
113
+ |-----------|-----|
114
+ | Lead with the most important thing | First line = the key action or news. Not "Hi, we wanted to let you know that…" |
115
+ | Subject line = specific, honest | "Your password reset link" not "Important account information" |
116
+ | One email, one action | Every email should have exactly one thing it wants the reader to do |
117
+ | Write to a person, not an account | "You" not "the user". "We" not "the system". |
118
+ | Tell them what happens next | "Click the button below to confirm. The link expires in 24 hours." |
119
+ | No jargon | "Your account" not "your profile entity". "Sign in" not "authenticate". |
120
+ | Active voice | "We've sent you a link" not "A link has been sent to you" |
121
+ | Short paragraphs | 1–2 sentences max. White space is your friend in email. |
122
+ | Plain text fallback | Every HTML email should have a plain text version |
123
+
124
+ ### Common email types — copy templates
125
+
126
+ **Welcome email:**
127
+ ```
128
+ Subject: Welcome to [App Name], [First Name] 👋
129
+ Preview: Here's how to get started in 2 minutes.
130
+
131
+ Hi [First Name],
132
+
133
+ You're in. [App Name] helps you [core value in 1 sentence].
134
+
135
+ Here's the first thing to do: [single CTA — most valuable first action].
136
+
137
+ [Primary Button: Get started]
138
+
139
+ If you have any questions, just reply to this email.
140
+
141
+ — [Name], [App Name]
142
+ ```
143
+
144
+ **Password reset:**
145
+ ```
146
+ Subject: Reset your [App Name] password
147
+ Preview: Your link expires in 1 hour.
148
+
149
+ Hi [First Name],
150
+
151
+ Someone requested a password reset for your [App Name] account.
152
+ If that was you, click the button below. If not, you can ignore this email.
153
+
154
+ [Primary Button: Reset my password]
155
+
156
+ This link expires in 1 hour. After that, you'll need to request a new one.
157
+ ```
158
+
159
+ **Billing confirmation:**
160
+ ```
161
+ Subject: Your payment of [amount] was successful
162
+ Preview: Next billing date: [date].
163
+
164
+ Hi [First Name],
165
+
166
+ Your payment of [amount] for [Plan Name] went through.
167
+
168
+ Amount: [amount]
169
+ Date: [date]
170
+ Next billing date: [date]
171
+
172
+ [Button: View your invoice]
173
+
174
+ Questions about your bill? Reply here and we'll sort it out.
175
+ ```
176
+
177
+ ---
178
+
179
+ ## Phase 4: Build the template (React Email) [LOW freedom — run exactly]
180
+
181
+ Install if not present:
182
+ ```bash
183
+ npm install react-email @react-email/components
184
+ ```
185
+
186
+ Base template structure (illustrative — swap the indigo button and off-white ground for the brand):
187
+ ```tsx
188
+ // emails/welcome.tsx
189
+ import {
190
+ Body, Button, Container, Head, Heading, Hr, Html,
191
+ Link, Preview, Section, Text, Img,
192
+ } from '@react-email/components';
193
+
194
+ interface WelcomeEmailProps {
195
+ firstName: string;
196
+ ctaUrl: string;
197
+ }
198
+
199
+ export function WelcomeEmail({ firstName, ctaUrl }: WelcomeEmailProps) {
200
+ return (
201
+ <Html lang="en">
202
+ <Head />
203
+ <Preview>Welcome to AppName — here's how to get started.</Preview>
204
+ <Body style={body}>
205
+ <Container style={container}>
206
+ <Img src="https://yourdomain.com/logo.png" width="48" height="48" alt="AppName" />
207
+ <Heading style={h1}>Welcome, {firstName}</Heading>
208
+ <Text style={text}>
209
+ You're in. AppName helps you [core value in one sentence].
210
+ </Text>
211
+ <Text style={text}>
212
+ Here's the first thing to do:
213
+ </Text>
214
+ <Section style={btnContainer}>
215
+ <Button style={button} href={ctaUrl}>
216
+ Get started
217
+ </Button>
218
+ </Section>
219
+ <Text style={text}>
220
+ If you have any questions, just reply to this email.
221
+ </Text>
222
+ <Hr style={hr} />
223
+ <Text style={footer}>
224
+ AppName · 123 Street · City · {' '}
225
+ <Link href="{{{UNSUBSCRIBE_URL}}}">Unsubscribe</Link>
226
+ </Text>
227
+ </Container>
228
+ </Body>
229
+ </Html>
230
+ );
231
+ }
232
+
233
+ const body = { backgroundColor: '#f6f9fc', fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif' };
234
+ const container = { backgroundColor: '#ffffff', margin: '40px auto', padding: '40px', maxWidth: '600px', borderRadius: '8px' };
235
+ const h1 = { fontSize: '24px', fontWeight: '700', color: '#1a1a1a', marginBottom: '16px' };
236
+ const text = { fontSize: '16px', lineHeight: '1.6', color: '#444', marginBottom: '16px' };
237
+ const btnContainer = { textAlign: 'center' as const, marginBottom: '24px' };
238
+ const button = { backgroundColor: '#6366f1', borderRadius: '6px', color: '#fff', fontSize: '16px', fontWeight: '600', padding: '12px 28px', textDecoration: 'none', display: 'inline-block' };
239
+ const hr = { borderColor: '#e5e7eb', marginTop: '32px', marginBottom: '32px' };
240
+ const footer = { fontSize: '12px', color: '#9ca3af', textAlign: 'center' as const };
241
+ ```
242
+
243
+ ### Dark mode support
244
+
245
+ ```tsx
246
+ // In <Head>:
247
+ <style>{`
248
+ @media (prefers-color-scheme: dark) {
249
+ .email-body { background-color: #1a1a1a !important; }
250
+ .email-container { background-color: #2d2d2d !important; }
251
+ .email-text { color: #e5e7eb !important; }
252
+ .email-heading { color: #f9fafb !important; }
253
+ }
254
+ `}</style>
255
+ // Add className to Body, Container, Text, Heading components to match
256
+ ```
257
+
258
+ ---
259
+
260
+ ## Phase 5: Send via provider [LOW freedom — run exactly]
261
+
262
+ ### Resend (recommended for new projects)
263
+
264
+ ```typescript
265
+ import { Resend } from 'resend';
266
+ import { WelcomeEmail } from '../emails/welcome';
267
+ import { render } from '@react-email/render';
268
+
269
+ const resend = new Resend(process.env.RESEND_API_KEY);
270
+
271
+ await resend.emails.send({
272
+ from: 'AppName <hello@yourdomain.com>',
273
+ to: user.email,
274
+ subject: `Welcome to AppName, ${user.firstName}`,
275
+ react: <WelcomeEmail firstName={user.firstName} ctaUrl={ctaUrl} />,
276
+ });
277
+ ```
278
+
279
+ ### Add a Supabase Edge Function trigger (if using Supabase)
280
+
281
+ ```typescript
282
+ // supabase/functions/send-welcome-email/index.ts
283
+ import { serve } from 'https://deno.land/std/http/server.ts';
284
+ import { Resend } from 'npm:resend';
285
+
286
+ serve(async (req) => {
287
+ const { record } = await req.json(); // from a database webhook
288
+ const resend = new Resend(Deno.env.get('RESEND_API_KEY'));
289
+ await resend.emails.send({
290
+ from: 'AppName <hello@yourdomain.com>',
291
+ to: record.email,
292
+ subject: `Welcome to AppName!`,
293
+ html: '...', // rendered HTML
294
+ });
295
+ return new Response('OK');
296
+ });
297
+ ```
298
+
299
+ Deploy:
300
+ ```bash
301
+ supabase functions deploy send-welcome-email --no-verify-jwt
302
+ ```
303
+
304
+ ---
305
+
306
+ ## Phase 6: Content flags that hurt placement [LOW freedom — do not skip]
307
+
308
+ DNS auth, bounces, and List-Unsubscribe headers are `enhance-email-deliverability`.
309
+ This phase only owns copy/markup that templates can fix:
310
+
311
+ - [ ] From address uses your domain (not `noreply@gmail.com`)
312
+ - [ ] Reply-To set if replies should go somewhere useful
313
+ - [ ] No ALL-CAPS words in subject line
314
+ - [ ] No spam trigger words: "FREE", "URGENT", "ACT NOW", "GUARANTEED"
315
+ - [ ] Plain text version matches the HTML version
316
+ - [ ] Hand remaining inbox-placement work to `enhance-email-deliverability`
317
+
318
+ ---
319
+
320
+ ## Phase 7: Preview and test [LOW freedom — run exactly]
321
+
322
+ Start the React Email preview server:
323
+ ```bash
324
+ npx email dev --dir emails --port 3001
325
+ ```
326
+
327
+ Then check with Playwright:
328
+ ```bash
329
+ PW="npx --yes @playwright/cli@latest"
330
+ $PW -s=email-preview open --headed http://localhost:3001
331
+ $PW -s=email-preview snapshot # verify each template renders
332
+ $PW -s=email-preview resize 375 812 # mobile — font size, tap targets
333
+ $PW -s=email-preview screenshot --filename ".playwright-mcp/email-mobile.png"
334
+ ```
335
+
336
+ For cross-client testing, use Litmus or Email on Acid. Key clients to test:
337
+ - Gmail (web + Android + iOS)
338
+ - Apple Mail (macOS + iOS)
339
+ - Outlook (Windows — most restrictive CSS support)
340
+ - Samsung Mail
341
+
342
+ ---
343
+
344
+ ## Email templates checklist
345
+
346
+ ```
347
+ Design:
348
+ - [ ] Max-width 600px
349
+ - [ ] Single column
350
+ - [ ] All styles inline (no <style> blocks except dark mode)
351
+ - [ ] Images have alt text
352
+ - [ ] Buttons ≥ 44px tall, large enough to tap
353
+ - [ ] Font size ≥ 14px on body text
354
+ - [ ] Dark mode tested
355
+
356
+ Copy:
357
+ - [ ] Subject line is specific and honest
358
+ - [ ] Preview text set and meaningful
359
+ - [ ] First sentence is the most important thing
360
+ - [ ] Exactly one primary action
361
+ - [ ] Copy sounds like a person wrote it
362
+ - [ ] No jargon or passive voice
363
+ - [ ] Plain text version exists
364
+
365
+ Deliverability (handoff — do not own here):
366
+ - [ ] From address on app domain
367
+ - [ ] Plain-text alternative present
368
+ - [ ] SPF / DKIM / DMARC / bounces / unsubscribe headers → `enhance-email-deliverability`
369
+ ```
370
+
@@ -0,0 +1,143 @@
1
+ ---
2
+ name: design-frontend
3
+ description: >
4
+ Create a new production-grade UI from scratch, not a polish pass. Use when
5
+ "build this UI", "design this page", or "new dashboard layout". Polish →
6
+ enhance-web-ui. Landing → enhance-web-landing. Redesign →
7
+ enhance-web-redesign.
8
+ license: MIT
9
+ ---
10
+
11
+ # Frontend Design Skill
12
+
13
+ **Degree of freedom: MIXED.** Visual composition `[HIGH freedom]`; design-system
14
+ discovery `[LOW freedom — run exactly]`.
15
+
16
+ > Discover design systems, respect existing patterns, create beautiful interfaces.
17
+
18
+ ## How to reason
19
+
20
+ 1. **Discover** — tokens, `components/ui`, forbidden patterns
21
+ 2. **Reuse** — extend existing components; do not fork a second Button
22
+ 3. **Compose** — new surface on those tokens
23
+ 4. **Check** — type mins, 44px targets, reduced-motion, none of the named defaults in the Anti-Generic list
24
+
25
+ ## Worked example
26
+
27
+ > **Discover:** `components/ui/button.tsx` + `globals.css` tokens; `text-xs` min; `rounded-sm`.
28
+ > **Reuse:** settings rows use existing `Button` / `Input`; no new primitive.
29
+ > **Compose:** new `/settings` page — token spacing, `text-sm` body, 44px save.
30
+ > **Check:** Anti-Generic list clear (no Inter, purple-on-white, or pill buttons); `prefers-reduced-motion` on any spinner.
31
+
32
+ ## Self-critique before reporting
33
+
34
+ - **Discovery stated** — token file, radius, and forbidden list were spoken before JSX
35
+ - **Reuse first** — no duplicate primitive next to `components/ui`
36
+ - **Mins held** — readable type ≥ `text-xs`; tap targets ≥44px
37
+ - **Right owner** — polish existing → `enhance-web-ui`; landing → `enhance-web-landing`; redesign existing → `enhance-web-redesign`
38
+
39
+ ---
40
+
41
+ ## Phase 1: Design System Discovery [LOW freedom — run exactly]
42
+
43
+ **Before writing ANY frontend code:**
44
+
45
+ ### 1.1 Find Design System Files
46
+ ```
47
+ Glob: **/*design-system*.{md,ts,css}
48
+ Glob: **/tokens*.{ts,json}
49
+ Glob: **/components/ui/**
50
+ Glob: **/_*README*
51
+ ```
52
+
53
+ ### 1.2 Extract & Document Tokens
54
+ | Category | Find | Examples |
55
+ |----------|------|----------|
56
+ | Typography | Sizes, weights | `text-xs`, `font-medium` |
57
+ | Spacing | Padding, gaps | `p-4`, `gap-2` |
58
+ | Colors | Palette, semantic | `bg-emerald-50` |
59
+ | Borders | Radius, styles | `rounded-sm` |
60
+ | Animations | Durations | `duration-200` |
61
+
62
+ ### 1.3 Find Forbidden Patterns
63
+ ```bash
64
+ grep -r "NEVER\|FORBIDDEN\|❌" docs/ README*
65
+ ```
66
+
67
+ ### 1.4 Verification Statement (REQUIRED)
68
+ ```
69
+ "Design System Discovery:
70
+ ├─ Found: [design system path]
71
+ ├─ Typography min: [e.g., text-xs]
72
+ ├─ Radius standard: [e.g., rounded-sm]
73
+ ├─ Forbidden: [list patterns]
74
+ └─ Reusing: [existing components]"
75
+ ```
76
+
77
+ ---
78
+
79
+ ## Phase 2: Implementation Standards [HIGH freedom]
80
+
81
+ ### Typography Minimums
82
+ | Context | Minimum | Usage |
83
+ |---------|---------|-------|
84
+ | Body | `text-sm` (14px) | Primary content |
85
+ | Captions | `text-xs` (12px) | Labels, hints |
86
+ | Compact | `text-[10px]` | Dense dashboards only |
87
+
88
+ **Never use** `text-[8px]` or `text-[9px]` for readable content.
89
+
90
+ ### Accessibility Requirements
91
+ | Check | Requirement |
92
+ |-------|-------------|
93
+ | Touch targets | ≥44×44px |
94
+ | Contrast | 4.5:1 text, 3:1 UI |
95
+ | Keyboard | `tabIndex`, focus styles |
96
+ | Motion | `prefers-reduced-motion` |
97
+
98
+ ### Quick Reference
99
+ ```
100
+ Typography: text-xs=12px, text-sm=14px, text-base=16px
101
+ Spacing: 1=4px, 2=8px, 3=12px, 4=16px, 6=24px, 8=32px
102
+ ```
103
+
104
+ ---
105
+
106
+ ## Phase 3: Quality Checklist [LOW freedom — do not skip]
107
+
108
+ ```
109
+ [ ] Uses design system tokens (no hardcoded values)
110
+ [ ] Extends existing components (no duplicates)
111
+ [ ] Typography ≥ text-xs for readable content
112
+ [ ] Touch targets ≥ 44px
113
+ [ ] Focus states visible
114
+ [ ] prefers-reduced-motion respected
115
+ ```
116
+
117
+ ### Common Fixes
118
+ | Issue | Fix |
119
+ |-------|-----|
120
+ | Tiny text | `text-[9px]` → `text-xs` |
121
+ | Bold weights | `font-bold` → `font-medium` |
122
+ | Large radius | `rounded-lg` → `rounded-sm` |
123
+ | Spin animation | `animate-spin` → `animate-pulse` |
124
+
125
+ ---
126
+
127
+ ## Anti-Generic Checklist
128
+
129
+ Undirected drafts land on the same few defaults; the check is concrete only when they are named:
130
+ - [ ] Inter / Roboto / Arial as the display or body face
131
+ - [ ] Purple (violet/indigo) gradient on white
132
+ - [ ] Cream / off-white page background
133
+ - [ ] Italic accent words inside headlines
134
+ - [ ] "01 / 02 / 03" numbered section labels
135
+ - [ ] Monospace eyebrow labels on a non-code product
136
+ - [ ] Pill-shaped (fully rounded) buttons as the house button
137
+ - [ ] Three equal cards in a row as the default section layout
138
+
139
+ Extend this list with whatever the first draft used instead.
140
+
141
+ ---
142
+
143
+ > **Remember:** The codebase's design system is the source of truth. Search before creating. Reuse before reinventing.