@kensaurus/skills 0.0.0-stage → 2.0.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 (423) 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 +1761 -0
  6. package/LICENSE +21 -0
  7. package/NOTICE +13 -0
  8. package/README.md +820 -2
  9. package/SECURITY.md +55 -0
  10. package/agents/code-reviewer.md +60 -0
  11. package/agents/completion-judge.md +89 -0
  12. package/agents/db-migrator.md +125 -0
  13. package/agents/debugger.md +47 -0
  14. package/agents/deploy-checker.md +100 -0
  15. package/agents/perf-monitor.md +74 -0
  16. package/assets/favicon.png +0 -0
  17. package/assets/logo-light.png +0 -0
  18. package/assets/logo.png +0 -0
  19. package/assets/logo.svg +6 -0
  20. package/assets/og.png +0 -0
  21. package/bin/install.mjs +1127 -0
  22. package/bin/kenji.js +2 -0
  23. package/commands/adr.md +17 -0
  24. package/commands/aeo-plan.md +18 -0
  25. package/commands/arch-boundaries.md +17 -0
  26. package/commands/aso-plan.md +18 -0
  27. package/commands/auth-flows.md +19 -0
  28. package/commands/backup-plan.md +17 -0
  29. package/commands/burndown-full.md +25 -0
  30. package/commands/capacitor-plan.md +18 -0
  31. package/commands/codemod-safety.md +22 -0
  32. package/commands/commit.md +18 -0
  33. package/commands/complete-everything.md +40 -0
  34. package/commands/cost-plan.md +19 -0
  35. package/commands/deadcode-plan.md +26 -0
  36. package/commands/deadcode.md +32 -0
  37. package/commands/debug-issue.md +17 -0
  38. package/commands/deps-plan.md +18 -0
  39. package/commands/docs-plan.md +17 -0
  40. package/commands/doctrine.md +19 -0
  41. package/commands/error-plan.md +19 -0
  42. package/commands/feedback-to-closure.md +36 -0
  43. package/commands/fix-issue.md +76 -0
  44. package/commands/gate-logic.md +26 -0
  45. package/commands/green-repo.md +36 -0
  46. package/commands/grill-me.md +19 -0
  47. package/commands/gtm-plan.md +21 -0
  48. package/commands/gtm-weekly.md +17 -0
  49. package/commands/gtm.md +22 -0
  50. package/commands/handoff.md +15 -0
  51. package/commands/housekeep-backlog.md +18 -0
  52. package/commands/housekeep-files.md +22 -0
  53. package/commands/housekeep-gates.md +18 -0
  54. package/commands/instant-nav.md +11 -0
  55. package/commands/integrity-plan.md +19 -0
  56. package/commands/launch-kit.md +16 -0
  57. package/commands/mcp-guide.md +40 -0
  58. package/commands/mobile-plan.md +19 -0
  59. package/commands/native-rn-monorepo/README.md +78 -0
  60. package/commands/native-rn-monorepo/android-build.md +26 -0
  61. package/commands/native-rn-monorepo/android-install.md +32 -0
  62. package/commands/native-rn-monorepo/android-logcat.md +37 -0
  63. package/commands/native-rn-monorepo/ios-ci-logs.md +56 -0
  64. package/commands/native-rn-monorepo/ios-ci-status.md +52 -0
  65. package/commands/native-rn-monorepo/ios-ci-trigger.md +59 -0
  66. package/commands/native-rn-monorepo/rn-reset.md +50 -0
  67. package/commands/native-rn-monorepo/rn-ship-ios.md +67 -0
  68. package/commands/native-rn-monorepo/rn-verify.md +53 -0
  69. package/commands/perf-plan.md +18 -0
  70. package/commands/plan-mode.md +74 -0
  71. package/commands/pr.md +16 -0
  72. package/commands/pricing-plan.md +20 -0
  73. package/commands/privacy-plan.md +18 -0
  74. package/commands/readability.md +12 -0
  75. package/commands/readme.md +15 -0
  76. package/commands/refactor.md +15 -0
  77. package/commands/release-prep.md +17 -0
  78. package/commands/research.md +25 -0
  79. package/commands/responsive-audit.md +21 -0
  80. package/commands/review-code.md +18 -0
  81. package/commands/rls-plan.md +18 -0
  82. package/commands/secrets-plan.md +18 -0
  83. package/commands/security-plan.md +19 -0
  84. package/commands/ship-and-observe.md +36 -0
  85. package/commands/skill-conflicts.md +19 -0
  86. package/commands/slop-plan.md +18 -0
  87. package/commands/stub-plan.md +18 -0
  88. package/commands/test-mutation.md +16 -0
  89. package/commands/test-plan.md +17 -0
  90. package/commands/test.md +29 -0
  91. package/commands/thirdparty-web-interface-guidelines.md +185 -0
  92. package/commands/uiux-plan.md +18 -0
  93. package/commands/uiux.md +45 -0
  94. package/commands/update-deps.md +21 -0
  95. package/commands/validation-plan.md +19 -0
  96. package/commands-portable/fix-issue.md +72 -0
  97. package/commands-portable/plan-mode.md +92 -0
  98. package/commands-portable/research.md +91 -0
  99. package/docs/screenshots/README.md +5 -0
  100. package/docs/screenshots/audit-dark.png +0 -0
  101. package/docs/screenshots/build-dark.png +0 -0
  102. package/docs/screenshots/grill-dark.png +0 -0
  103. package/docs/screenshots/hero-dark.png +0 -0
  104. package/docs/screenshots/hero-light.png +0 -0
  105. package/docs/screenshots/ship-dark.png +0 -0
  106. package/docs/screenshots/src/showcase.html +320 -0
  107. package/hooks/completion-gate.mjs +258 -0
  108. package/hooks/cursor-hooks.json +13 -0
  109. package/hooks/hooks.json +15 -0
  110. package/install.sh +21 -0
  111. package/llms.txt +40 -0
  112. package/mcp/README.md +266 -0
  113. package/mcp/VERSIONS.md +41 -0
  114. package/mcp/mcp-full.json.template +124 -0
  115. package/mcp/mcp.json.template +29 -0
  116. package/mcp/pinned-versions.json +27 -0
  117. package/package.json +93 -4
  118. package/rules/approved-plan-execution.mdc +65 -0
  119. package/rules/full-stack-ship-discipline.mdc +37 -0
  120. package/rules/native-rn-monorepo/README.md +63 -0
  121. package/rules/native-rn-monorepo/_project.mdc +69 -0
  122. package/rules/native-rn-monorepo/native-android.mdc +72 -0
  123. package/rules/native-rn-monorepo/native-ios.mdc +61 -0
  124. package/rules/native-rn-monorepo/react-native-js.mdc +78 -0
  125. package/rules/native-rn-monorepo/web.mdc +60 -0
  126. package/rules/project-starter/components.mdc +54 -0
  127. package/rules/project-starter/data-fetching.mdc +77 -0
  128. package/rules/project-starter/git.mdc +41 -0
  129. package/rules/project-starter/supabase.mdc +37 -0
  130. package/rules/project-starter/tailwind.mdc +48 -0
  131. package/rules/project-starter/typescript.mdc +36 -0
  132. package/rules/project-starter/web-performance.mdc +42 -0
  133. package/rules/senior-engineer.mdc +30 -0
  134. package/rules/shell-first-search.mdc +19 -0
  135. package/rules/skill-workflows.mdc +35 -0
  136. package/rules/verification-before-completion.mdc +57 -0
  137. package/skills/audit-accessibility/SKILL.md +441 -0
  138. package/skills/audit-agent-speed/SKILL.md +181 -0
  139. package/skills/audit-agent-speed/scripts/stop-typecheck.mjs +151 -0
  140. package/skills/audit-analytics/SKILL.md +138 -0
  141. package/skills/audit-auth-flows/SKILL.md +267 -0
  142. package/skills/audit-backend-architecture/SKILL.md +266 -0
  143. package/skills/audit-backend-architecture/references/patterns.md +386 -0
  144. package/skills/audit-bundle-size/SKILL.md +296 -0
  145. package/skills/audit-cicd/SKILL.md +218 -0
  146. package/skills/audit-code-quality/SKILL.md +314 -0
  147. package/skills/audit-code-review/SKILL.md +289 -0
  148. package/skills/audit-codemod-safety/SKILL.md +159 -0
  149. package/skills/audit-db-schema/SKILL.md +465 -0
  150. package/skills/audit-db-schema/references/details.md +110 -0
  151. package/skills/audit-doctrine/SKILL.md +189 -0
  152. package/skills/audit-env-parity/SKILL.md +133 -0
  153. package/skills/audit-fe-api/SKILL.md +458 -0
  154. package/skills/audit-gate-logic/SKILL.md +219 -0
  155. package/skills/audit-i18n/SKILL.md +339 -0
  156. package/skills/audit-infra-cost/SKILL.md +142 -0
  157. package/skills/audit-langfuse-llm/SKILL.md +468 -0
  158. package/skills/audit-langfuse-llm/references/details.md +226 -0
  159. package/skills/audit-llm-security/SKILL.md +147 -0
  160. package/skills/audit-monetization-iap/SKILL.md +137 -0
  161. package/skills/audit-payment-system/SKILL.md +268 -0
  162. package/skills/audit-payment-system/references/checklist.md +283 -0
  163. package/skills/audit-performance/SKILL.md +383 -0
  164. package/skills/audit-performance/references/loading-priority-2026.md +81 -0
  165. package/skills/audit-realworld/SKILL.md +287 -0
  166. package/skills/audit-registry-listing/SKILL.md +122 -0
  167. package/skills/audit-resilience/SKILL.md +154 -0
  168. package/skills/audit-responsive/SKILL.md +221 -0
  169. package/skills/audit-responsive/references/checklist.md +166 -0
  170. package/skills/audit-security/SKILL.md +289 -0
  171. package/skills/audit-skill-conflicts/SKILL.md +178 -0
  172. package/skills/audit-ui-states/SKILL.md +146 -0
  173. package/skills/audit-uiux-design-system/SKILL.md +475 -0
  174. package/skills/audit-uiux-design-system/references/details.md +71 -0
  175. package/skills/audit-ux/SKILL.md +379 -0
  176. package/skills/audit-ux/references/details.md +245 -0
  177. package/skills/audit-ux-journeys/SKILL.md +215 -0
  178. package/skills/audit-ux-journeys/references/checklist.md +179 -0
  179. package/skills/backend-db-performance/SKILL.md +441 -0
  180. package/skills/backend-error-handling/SKILL.md +489 -0
  181. package/skills/backend-error-handling/references/details.md +58 -0
  182. package/skills/backend-observability/SKILL.md +88 -0
  183. package/skills/backend-patterns/SKILL.md +499 -0
  184. package/skills/backend-patterns/references/architecture-patterns.md +298 -0
  185. package/skills/backend-realtime/SKILL.md +403 -0
  186. package/skills/backend-realtime/references/patterns.md +74 -0
  187. package/skills/burndown-full/SKILL.md +174 -0
  188. package/skills/complete-everything/SKILL.md +295 -0
  189. package/skills/data-pipeline/SKILL.md +109 -0
  190. package/skills/data-visualization/SKILL.md +488 -0
  191. package/skills/debug-error/SKILL.md +322 -0
  192. package/skills/debug-fe-be-integration/SKILL.md +459 -0
  193. package/skills/debug-sentry-monitor/SKILL.md +497 -0
  194. package/skills/debug-sentry-monitor/references/details.md +165 -0
  195. package/skills/deploy-npm/SKILL.md +394 -0
  196. package/skills/deploy-npm/references/example-mushi-mushi.md +52 -0
  197. package/skills/deploy-verify/SKILL.md +489 -0
  198. package/skills/design-api/SKILL.md +379 -0
  199. package/skills/design-canvas/SKILL.md +155 -0
  200. package/skills/design-email/SKILL.md +370 -0
  201. package/skills/design-frontend/SKILL.md +143 -0
  202. package/skills/design-generative-art/SKILL.md +474 -0
  203. package/skills/design-mobile-first/SKILL.md +506 -0
  204. package/skills/design-motion/SKILL.md +333 -0
  205. package/skills/design-motion/references/delight-interactions.md +191 -0
  206. package/skills/design-prd/SKILL.md +443 -0
  207. package/skills/design-system/SKILL.md +457 -0
  208. package/skills/design-theme/SKILL.md +226 -0
  209. package/skills/design-theme/themes/tsumagoi-ranch.md +150 -0
  210. package/skills/docs-adr/SKILL.md +168 -0
  211. package/skills/docs-coauthor/SKILL.md +368 -0
  212. package/skills/docs-comparison-pages/SKILL.md +117 -0
  213. package/skills/docs-domain-modeling/SKILL.md +97 -0
  214. package/skills/docs-launch-kit/SKILL.md +139 -0
  215. package/skills/docs-writer/SKILL.md +469 -0
  216. package/skills/enhance-agent-guardrails/SKILL.md +164 -0
  217. package/skills/enhance-arch-boundaries/SKILL.md +154 -0
  218. package/skills/enhance-capacitor-ui/SKILL.md +463 -0
  219. package/skills/enhance-capacitor-ui/references/details.md +750 -0
  220. package/skills/enhance-email-deliverability/SKILL.md +143 -0
  221. package/skills/enhance-growth-loops/SKILL.md +122 -0
  222. package/skills/enhance-lifecycle-email/SKILL.md +130 -0
  223. package/skills/enhance-motion/SKILL.md +193 -0
  224. package/skills/enhance-onboarding/SKILL.md +148 -0
  225. package/skills/enhance-pwa/SKILL.md +304 -0
  226. package/skills/enhance-readability/SKILL.md +146 -0
  227. package/skills/enhance-readme/SKILL.md +496 -0
  228. package/skills/enhance-readme/package-lock.json +187 -0
  229. package/skills/enhance-readme/package.json +17 -0
  230. package/skills/enhance-readme/scripts/generate-readme-blocks.mjs +199 -0
  231. package/skills/enhance-readme/scripts/record-readme-tour.mjs +442 -0
  232. package/skills/enhance-skill-prompts/SKILL.md +167 -0
  233. package/skills/enhance-skill-prompts/references/exemplar-audit-auth-flows.md +311 -0
  234. package/skills/enhance-web-conversion/SKILL.md +155 -0
  235. package/skills/enhance-web-forms/SKILL.md +154 -0
  236. package/skills/enhance-web-instant-nav/SKILL.md +138 -0
  237. package/skills/enhance-web-instant-nav/references/bfcache-blockers.md +23 -0
  238. package/skills/enhance-web-instant-nav/references/early-hints.md +33 -0
  239. package/skills/enhance-web-instant-nav/references/speculation-rules.md +44 -0
  240. package/skills/enhance-web-landing/SKILL.md +459 -0
  241. package/skills/enhance-web-landing/references/details.md +773 -0
  242. package/skills/enhance-web-redesign/SKILL.md +228 -0
  243. package/skills/enhance-web-seo/SKILL.md +276 -0
  244. package/skills/enhance-web-ui/SKILL.md +473 -0
  245. package/skills/enhance-web-ui/references/details.md +674 -0
  246. package/skills/enhance-web-ux/HEURISTICS.md +242 -0
  247. package/skills/enhance-web-ux/PATTERNS.md +375 -0
  248. package/skills/enhance-web-ux/SKILL.md +464 -0
  249. package/skills/enhance-web-ux/examples.md +222 -0
  250. package/skills/enhance-web-ux/references/details.md +406 -0
  251. package/skills/enhance-web-web3d/SKILL.md +397 -0
  252. package/skills/enhance-web-web3d/references/css-canvas-effects.md +180 -0
  253. package/skills/handoff/SKILL.md +66 -0
  254. package/skills/housekeep-backlog/SKILL.md +149 -0
  255. package/skills/housekeep-dead-code/SKILL.md +387 -0
  256. package/skills/housekeep-dead-code/references/ratchet-ci.md +205 -0
  257. package/skills/housekeep-dead-code/references/supabase-hygiene.md +152 -0
  258. package/skills/housekeep-design/SKILL.md +207 -0
  259. package/skills/housekeep-files/SKILL.md +220 -0
  260. package/skills/housekeep-files/references/naming-and-catalog.md +86 -0
  261. package/skills/housekeep-files/scripts/housekeep-files.ps1 +360 -0
  262. package/skills/housekeep-files/scripts/housekeep-files.sh +238 -0
  263. package/skills/housekeep-gates/SKILL.md +174 -0
  264. package/skills/iterate-agent-harness/SKILL.md +137 -0
  265. package/skills/iterate-gtm-weekly/SKILL.md +103 -0
  266. package/skills/iterate-post-launch/SKILL.md +292 -0
  267. package/skills/meta-mcp-builder/SKILL.md +313 -0
  268. package/skills/meta-skill-creator/SKILL.md +304 -0
  269. package/skills/mobile-capacitor-platform/SKILL.md +104 -0
  270. package/skills/mobile-emulator-start/SKILL.md +296 -0
  271. package/skills/mobile-emulator-test/SKILL.md +491 -0
  272. package/skills/mobile-emulator-test/references/details.md +478 -0
  273. package/skills/mobile-rn-performance/SKILL.md +107 -0
  274. package/skills/mobile-rn-screen/SKILL.md +476 -0
  275. package/skills/mobile-rn-screen/references/details.md +785 -0
  276. package/skills/mushi-health/SKILL.md +206 -0
  277. package/skills/mushi-integration/SKILL.md +257 -0
  278. package/skills/plan-aeo-readiness/SKILL.md +166 -0
  279. package/skills/plan-antislop/SKILL.md +281 -0
  280. package/skills/plan-aso/SKILL.md +149 -0
  281. package/skills/plan-backup-dr/SKILL.md +131 -0
  282. package/skills/plan-capacitor-hardening/SKILL.md +217 -0
  283. package/skills/plan-data-integrity/SKILL.md +187 -0
  284. package/skills/plan-dead-code/SKILL.md +386 -0
  285. package/skills/plan-dead-code/references/knip-config.md +214 -0
  286. package/skills/plan-dead-code/references/output-templates.md +133 -0
  287. package/skills/plan-dead-code/references/preservation-contract.md +50 -0
  288. package/skills/plan-dead-code/references/residue-greps.md +84 -0
  289. package/skills/plan-dependency-provenance/SKILL.md +200 -0
  290. package/skills/plan-docs-sync/SKILL.md +143 -0
  291. package/skills/plan-docs-sync/references/drift-taxonomy.md +43 -0
  292. package/skills/plan-docs-sync/references/output-templates.md +33 -0
  293. package/skills/plan-docs-sync/references/preservation-contract.md +17 -0
  294. package/skills/plan-error-handling/SKILL.md +205 -0
  295. package/skills/plan-gtm/SKILL.md +276 -0
  296. package/skills/plan-gtm/references/benchmarks-2026.md +183 -0
  297. package/skills/plan-input-validation/SKILL.md +179 -0
  298. package/skills/plan-llm-cost-guardrails/SKILL.md +176 -0
  299. package/skills/plan-mobile-readiness/SKILL.md +171 -0
  300. package/skills/plan-perf-audit/SKILL.md +145 -0
  301. package/skills/plan-perf-audit/references/audit-scope.md +51 -0
  302. package/skills/plan-perf-audit/references/output-templates.md +33 -0
  303. package/skills/plan-perf-audit/references/preservation-contract.md +13 -0
  304. package/skills/plan-pricing/SKILL.md +173 -0
  305. package/skills/plan-privacy-compliance/SKILL.md +148 -0
  306. package/skills/plan-rls-audit/SKILL.md +231 -0
  307. package/skills/plan-secrets-audit/SKILL.md +181 -0
  308. package/skills/plan-security-audit/SKILL.md +168 -0
  309. package/skills/plan-security-audit/references/output-templates.md +36 -0
  310. package/skills/plan-security-audit/references/owasp-supabase-scope.md +55 -0
  311. package/skills/plan-security-audit/references/preservation-contract.md +18 -0
  312. package/skills/plan-stub-checker/SKILL.md +216 -0
  313. package/skills/plan-stub-checker/references/detection-methodology.md +75 -0
  314. package/skills/plan-stub-checker/references/detection-taxonomy.md +34 -0
  315. package/skills/plan-stub-checker/references/output-templates.md +63 -0
  316. package/skills/plan-stub-checker/references/preservation-contract.md +24 -0
  317. package/skills/plan-test-coverage/SKILL.md +170 -0
  318. package/skills/plan-test-coverage/references/methodology.md +54 -0
  319. package/skills/plan-test-coverage/references/output-templates.md +34 -0
  320. package/skills/plan-test-coverage/references/preservation-contract.md +15 -0
  321. package/skills/plan-uiux-unification/SKILL.md +230 -0
  322. package/skills/plan-uiux-unification/references/output-templates.md +67 -0
  323. package/skills/plan-uiux-unification/references/phase-workbook.md +85 -0
  324. package/skills/plan-uiux-unification/references/preservation-contract.md +24 -0
  325. package/skills/protocol-browser-anti-stall/SKILL.md +211 -0
  326. package/skills/protocol-browser-anti-stall/references/mcp-to-cli-map.md +113 -0
  327. package/skills/protocol-browser-anti-stall/references/playwright-session-coordination.md +170 -0
  328. package/skills/research/SKILL.md +422 -0
  329. package/skills/test-exploratory/SKILL.md +165 -0
  330. package/skills/test-exploratory/references/charter-template.md +29 -0
  331. package/skills/test-load/SKILL.md +126 -0
  332. package/skills/test-mutation/SKILL.md +160 -0
  333. package/skills/test-playwright/SKILL.md +354 -0
  334. package/skills/test-qa/SKILL.md +364 -0
  335. package/skills/test-qa/references/details.md +268 -0
  336. package/skills/test-red-team/SKILL.md +387 -0
  337. package/skills/test-red-team/references/owasp-attack-checklist.md +193 -0
  338. package/skills/test-unit/SKILL.md +259 -0
  339. package/skills/test-unit/references/details.md +267 -0
  340. package/skills/test-visual-regression/SKILL.md +132 -0
  341. package/skills/thirdparty-emil-design-eng/ATTRIBUTION.md +20 -0
  342. package/skills/thirdparty-emil-design-eng/SKILL.md +21 -0
  343. package/skills/thirdparty-emil-design-eng/references/emil-design-eng.md +676 -0
  344. package/skills/thirdparty-ui-ux-pro-max/ATTRIBUTION.md +22 -0
  345. package/skills/thirdparty-ui-ux-pro-max/SKILL.md +304 -0
  346. package/skills/thirdparty-ui-ux-pro-max/data/charts.csv +26 -0
  347. package/skills/thirdparty-ui-ux-pro-max/data/colors.csv +97 -0
  348. package/skills/thirdparty-ui-ux-pro-max/data/icons.csv +101 -0
  349. package/skills/thirdparty-ui-ux-pro-max/data/landing.csv +31 -0
  350. package/skills/thirdparty-ui-ux-pro-max/data/products.csv +97 -0
  351. package/skills/thirdparty-ui-ux-pro-max/data/react-performance.csv +45 -0
  352. package/skills/thirdparty-ui-ux-pro-max/data/stacks/astro.csv +54 -0
  353. package/skills/thirdparty-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  354. package/skills/thirdparty-ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  355. package/skills/thirdparty-ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  356. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  357. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  358. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  359. package/skills/thirdparty-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  360. package/skills/thirdparty-ui-ux-pro-max/data/stacks/react.csv +54 -0
  361. package/skills/thirdparty-ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  362. package/skills/thirdparty-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  363. package/skills/thirdparty-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  364. package/skills/thirdparty-ui-ux-pro-max/data/stacks/vue.csv +50 -0
  365. package/skills/thirdparty-ui-ux-pro-max/data/styles.csv +68 -0
  366. package/skills/thirdparty-ui-ux-pro-max/data/typography.csv +58 -0
  367. package/skills/thirdparty-ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  368. package/skills/thirdparty-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  369. package/skills/thirdparty-ui-ux-pro-max/data/web-interface.csv +31 -0
  370. package/skills/thirdparty-ui-ux-pro-max/scripts/core.py +253 -0
  371. package/skills/thirdparty-ui-ux-pro-max/scripts/design_system.py +1067 -0
  372. package/skills/thirdparty-ui-ux-pro-max/scripts/search.py +114 -0
  373. package/skills/thirdparty-web-interface-guidelines/ATTRIBUTION.md +23 -0
  374. package/skills/thirdparty-web-interface-guidelines/SKILL.md +190 -0
  375. package/skills/workflow-build-feature/SKILL.md +118 -0
  376. package/skills/workflow-coding-discipline/SKILL.md +140 -0
  377. package/skills/workflow-environment-ready/SKILL.md +128 -0
  378. package/skills/workflow-feature-flag/SKILL.md +262 -0
  379. package/skills/workflow-feedback-to-closure/SKILL.md +165 -0
  380. package/skills/workflow-fix-and-ship/SKILL.md +136 -0
  381. package/skills/workflow-git-commit/SKILL.md +200 -0
  382. package/skills/workflow-green-repo/SKILL.md +166 -0
  383. package/skills/workflow-grilling/SKILL.md +73 -0
  384. package/skills/workflow-gtm/SKILL.md +153 -0
  385. package/skills/workflow-housekeep/SKILL.md +453 -0
  386. package/skills/workflow-housekeep/references/templates.md +109 -0
  387. package/skills/workflow-launch-ready/SKILL.md +145 -0
  388. package/skills/workflow-merge-conflicts/SKILL.md +62 -0
  389. package/skills/workflow-onboard/SKILL.md +99 -0
  390. package/skills/workflow-parallel-agents/SKILL.md +164 -0
  391. package/skills/workflow-pr/SKILL.md +197 -0
  392. package/skills/workflow-quality-gate/SKILL.md +147 -0
  393. package/skills/workflow-refactor/SKILL.md +274 -0
  394. package/skills/workflow-release-prep/SKILL.md +207 -0
  395. package/skills/workflow-ship-and-observe/SKILL.md +164 -0
  396. package/skills/workflow-spec-tdd/SKILL.md +141 -0
  397. package/skills/workflow-spec-tdd/references/spec-template.md +126 -0
  398. package/skills/workflow-spec-tdd/references/tdd-patterns.md +167 -0
  399. package/skills-cursor/babysit/SKILL.md +17 -0
  400. package/skills-cursor/canvas/SKILL.md +142 -0
  401. package/skills-cursor/canvas/sdk/canvas-tokens.d.ts +235 -0
  402. package/skills-cursor/canvas/sdk/chart-primitives.d.ts +200 -0
  403. package/skills-cursor/canvas/sdk/dag-layout.d.ts +102 -0
  404. package/skills-cursor/canvas/sdk/diff-view.d.ts +130 -0
  405. package/skills-cursor/canvas/sdk/form-primitives.d.ts +194 -0
  406. package/skills-cursor/canvas/sdk/hooks.d.ts +117 -0
  407. package/skills-cursor/canvas/sdk/index.d.ts +47 -0
  408. package/skills-cursor/canvas/sdk/theme.d.ts +61 -0
  409. package/skills-cursor/canvas/sdk/todo-list.d.ts +49 -0
  410. package/skills-cursor/canvas/sdk/ui-primitives.d.ts +549 -0
  411. package/skills-cursor/canvas/sdk/ui-primitives.test.d.ts +2 -0
  412. package/skills-cursor/create-hook/SKILL.md +238 -0
  413. package/skills-cursor/create-rule/SKILL.md +185 -0
  414. package/skills-cursor/create-skill/SKILL.md +269 -0
  415. package/skills-cursor/create-skill/references/authoring-guide.md +182 -0
  416. package/skills-cursor/create-subagent/SKILL.md +228 -0
  417. package/skills-cursor/migrate-to-skills/SKILL.md +121 -0
  418. package/skills-cursor/shell/SKILL.md +22 -0
  419. package/skills-cursor/split-to-prs/SKILL.md +47 -0
  420. package/skills-cursor/statusline/SKILL.md +193 -0
  421. package/skills-cursor/update-cli-config/SKILL.md +85 -0
  422. package/skills-cursor/update-cursor-settings/SKILL.md +137 -0
  423. package/skills.sh.json +296 -0
@@ -0,0 +1,314 @@
1
+ ---
2
+ name: audit-code-quality
3
+ description: >
4
+ Detect and fix repo-wide anti-patterns and consistency drift (naming,
5
+ organisation, repeated smells). Use when "code smell", "anti-pattern",
6
+ "technical debt", or "standardize the codebase". This PR/diff review →
7
+ audit-code-review.
8
+ license: MIT
9
+ effort: high
10
+ ---
11
+
12
+ # Code Quality Audit
13
+
14
+ **Degree of freedom: MIXED** — Parts 1–2 judgment `[HIGH freedom]`; convention
15
+ greps and Validation `[LOW freedom — run exactly]`.
16
+
17
+ > **Audit-and-fix exception.** Detect and then fix. Not present-then-stop.
18
+ >
19
+ > Fix the findings you reported, in the files you named; a repo-wide restyle
20
+ > or rename pass the report did not list is a different session. Edit
21
+ > surgically — the offending hook, key, or import — rather than rewriting
22
+ > whole files. Pre-existing bugs met on the way go in the report as
23
+ > follow-ups. Add or change tests only where the task asks or the repo
24
+ > already keeps them for that surface; one-off greps and scratch scripts stay
25
+ > out of the commit.
26
+
27
+ Repo-wide React/TypeScript anti-patterns plus naming, organisation, and
28
+ pattern consistency. A named PR/diff → `audit-code-review`.
29
+
30
+ ## How to reason
31
+
32
+ 1. **Observe** — quote the smell (`file:line`) and whether `git blame` / CONTRIBUTING marks it intentional
33
+ 2. **Interpret** — bug/perf risk, or style-only drift?
34
+ 3. **Classify** — anti-pattern / naming / organisation / pattern-split / intentional
35
+ 4. **Severity** — runtime bug or data-fetch `useEffect` = High; naming-only = Low
36
+
37
+ ## Worked example
38
+
39
+ > **Observe:** `components/PaymentForm.tsx` has `'use server'` and a
40
+ > `useEffect` that fetches invoices; four sortable lists use `key={i}`.
41
+ > **Interpret:** server action lives in UI; fetch refires on remount; reorder remounts rows.
42
+ > **Classify:** organisation + `useEffect`-for-data + index-as-key.
43
+ > **Severity:** High (actions-in-components); Medium (keys).
44
+ > **Finding:** `PaymentForm.tsx` | High | move action to `features/*/server/`;
45
+ > replace fetch effect with TanStack Query
46
+
47
+ ## Before any change [LOW freedom — run exactly]
48
+
49
+ ```bash
50
+ cat CONTRIBUTING.md .cursor/rules/*.md 2>/dev/null | head -100 # existing conventions
51
+ git log --oneline -20 | grep -i "convention\|pattern\|style" # recent decisions
52
+ ```
53
+
54
+ Verify the "inconsistency" isn't intentional. Check `git blame` before touching working code.
55
+
56
+ ---
57
+
58
+ ## Part 1 — Anti-patterns [HIGH freedom]
59
+
60
+ ### React
61
+
62
+ #### Props drilling → Context or composition
63
+ ```tsx
64
+ // Bad: prop drilled through 5+ levels
65
+ <Layout user={user}><Sidebar user={user}><UserMenu user={user}><Avatar user={user} />
66
+
67
+ // Fix: context for global state
68
+ const UserContext = createContext<User | null>(null)
69
+ const useUser = () => useContext(UserContext)
70
+
71
+ // Fix: composition for UI concerns
72
+ <Layout><Layout.Sidebar><UserMenu /></Layout.Sidebar></Layout>
73
+ ```
74
+
75
+ #### Derived state in `useState` → `useMemo`
76
+ ```tsx
77
+ // Bad
78
+ const [items, setItems] = useState([])
79
+ const [filtered, setFiltered] = useState([])
80
+ useEffect(() => { setFiltered(items.filter(i => i.active)) }, [items])
81
+
82
+ // Fix
83
+ const filtered = useMemo(() => items.filter(i => i.active), [items])
84
+ ```
85
+
86
+ #### `useEffect` for data fetching → Server Components or TanStack Query
87
+ ```tsx
88
+ // Fix (Next.js 16 Server Component)
89
+ async function DataDisplay() {
90
+ const data = await db.getData()
91
+ return <div>{data.name}</div>
92
+ }
93
+
94
+ // Fix (client with TanStack Query)
95
+ const { data, isLoading } = useQuery({ queryKey: ['data'], queryFn: fetchData })
96
+ ```
97
+
98
+ #### Object/array in dependency array → memoize or destructure
99
+ ```tsx
100
+ // Bad: new object every render → infinite loop
101
+ useEffect(() => { doSomething(options) }, [options])
102
+
103
+ // Fix
104
+ const options = useMemo(() => ({ page, limit }), [page, limit])
105
+ useEffect(() => { doSomething(options) }, [options])
106
+ ```
107
+
108
+ #### Index as key in dynamic lists → stable IDs
109
+ ```tsx
110
+ // Bad
111
+ {items.map((item, i) => <Item key={i} />)}
112
+ // Fix
113
+ {items.map(item => <Item key={item.id} />)}
114
+ ```
115
+
116
+ #### Giant component → composition
117
+ ```tsx
118
+ // Split by responsibility
119
+ export function UserDashboard() {
120
+ const user = useUser()
121
+ return (
122
+ <DashboardLayout>
123
+ <UserHeader user={user} />
124
+ <UserStats userId={user.id} />
125
+ <RecentActivity userId={user.id} />
126
+ </DashboardLayout>
127
+ )
128
+ }
129
+ ```
130
+
131
+ ### TypeScript
132
+
133
+ ```tsx
134
+ // Bad: any
135
+ function processData(data: any) { return data.items.map((i: any) => i.name) }
136
+
137
+ // Fix: proper types + Zod validation
138
+ const DataSchema = z.object({ items: z.array(z.object({ id: z.string(), name: z.string() })) })
139
+ function processData(data: z.infer<typeof DataSchema>) { return data.items.map(i => i.name) }
140
+
141
+ // Bad: enums (runtime object, not tree-shakeable)
142
+ enum Status { Pending = 'pending', Active = 'active' }
143
+ // Fix: union types
144
+ type Status = 'pending' | 'active'
145
+
146
+ // Fix: exhaustive switch
147
+ function handle(s: Status): string {
148
+ switch (s) {
149
+ case 'pending': return 'Waiting'
150
+ case 'active': return 'Running'
151
+ default:
152
+ const _: never = s
153
+ throw new Error(`Unknown: ${_}`)
154
+ }
155
+ }
156
+ ```
157
+
158
+ ### State management
159
+
160
+ ```tsx
161
+ // Rule of thumb:
162
+ // URL state (nuqs) → shareable, bookmarkable
163
+ // Global state (Zustand) → cross-component, persisted
164
+ // Local state (useState) → component-specific, ephemeral
165
+
166
+ // Stale closure fix
167
+ useEffect(() => {
168
+ const id = setInterval(() => setCount(c => c + 1), 1000) // functional update
169
+ return () => clearInterval(id)
170
+ }, [])
171
+ ```
172
+
173
+ ### Architecture
174
+
175
+ ```
176
+ // Circular deps → extract shared code / dependency inversion
177
+ // Business logic in components → move to lib/feature/calculations.ts
178
+ // God files → feature-based organisation:
179
+ lib/
180
+ date/format.ts
181
+ currency/format.ts
182
+ validation/schemas.ts
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Part 2 — Consistency audit [HIGH freedom; greps LOW]
188
+
189
+ ### Naming conventions
190
+
191
+ | Element | Expected | Check |
192
+ |---------|----------|-------|
193
+ | Components | PascalCase | `userCard` vs `UserCard` |
194
+ | Hooks | `use` prefix | `fetchData` vs `useFetchData` |
195
+ | Utils | camelCase | `format_date` vs `formatDate` |
196
+ | Constants | SCREAMING_SNAKE | `apiUrl` vs `API_URL` |
197
+ | Files | kebab-case | `UserCard.tsx` vs `user-card.tsx` |
198
+ | Boolean props | `is/has/should` | `loading` vs `isLoading` |
199
+
200
+ ```bash
201
+ rg "export (function|const|class) [a-z]" --type tsx # lowercase component exports
202
+ rg "use[A-Z]" --type ts # hook patterns
203
+ rg "export default" --type tsx -l | head -20 # mixed default/named exports
204
+ ```
205
+
206
+ ### File organisation (feature-sliced)
207
+
208
+ ```
209
+ src/
210
+ features/{name}/
211
+ components/ # UI only
212
+ hooks/ # custom hooks
213
+ server/ # server actions
214
+ types.ts
215
+ schemas.ts
216
+ components/ui/ # shared primitives
217
+ lib/ # global utilities
218
+ ```
219
+
220
+ Red flags:
221
+ - Components in `/lib` or `/utils`
222
+ - Server actions in component files
223
+ - Types scattered across component files
224
+ - Zod schemas inline in components
225
+
226
+ ```bash
227
+ rg "z\.object" --glob "*/components/*" # inline schemas
228
+ rg "'use server'" --glob "*/components/*" # actions in wrong place
229
+ rg "from '\.\." --type tsx | head -20 # relative imports instead of @/
230
+ ```
231
+
232
+ ### Pattern consistency
233
+
234
+ | Concern | Check |
235
+ |---------|-------|
236
+ | Server state | All TanStack Query, or mixed with useEffect? |
237
+ | Forms | All React Hook Form, or controlled inputs too? |
238
+ | Error handling | Consistent ActionResult shape? |
239
+ | Styling | cn() used everywhere? Dark mode via CSS vars? |
240
+ | Tests | `*.test.ts` vs `__tests__/`? Consistent mocking? |
241
+
242
+ ---
243
+
244
+ ## Coherency report template
245
+
246
+ ```markdown
247
+ # Code Quality Audit
248
+
249
+ ## Summary
250
+ - Verdict: [one line — what blocks, what is drift]
251
+ - Critical findings: X
252
+
253
+ ## Anti-patterns found
254
+ | Pattern | Files | Severity |
255
+ |---------|-------|----------|
256
+ | useEffect for data | 3 files | High |
257
+ | Index as key | 2 files | Medium |
258
+
259
+ ## Naming convention findings
260
+ | Element | Expected | Actual | Files |
261
+ |---------|----------|--------|-------|
262
+ | Components | PascalCase | Mixed | 4 |
263
+
264
+ ## Organisation findings
265
+ - Server actions found in: components/PaymentForm.tsx
266
+ - Types scattered in: 6 component files
267
+
268
+ ## Priority fixes
269
+ 1. Move server actions to features/*/server/
270
+ 2. Replace useEffect data fetching with TanStack Query
271
+ 3. Standardise component naming to PascalCase
272
+
273
+ ## Conventions to document
274
+ 1. Decision on default vs named exports
275
+ 2. Where Zod schemas live
276
+ ```
277
+
278
+ ---
279
+
280
+ ## Anti-pattern detection checklist
281
+
282
+ ### React checks
283
+ - [ ] No `useEffect` for derived state
284
+ - [ ] No index keys in dynamic lists
285
+ - [ ] No objects/arrays in dependency arrays
286
+ - [ ] Components under 300 lines
287
+ - [ ] No prop drilling beyond 2 levels
288
+
289
+ ### TypeScript checks
290
+ - [ ] No `any` (use `unknown` + validation)
291
+ - [ ] No unsafe type assertions
292
+ - [ ] Exhaustive switch statements
293
+ - [ ] Zod schemas for all external data
294
+
295
+ ### Architecture checks
296
+ - [ ] No circular dependencies
297
+ - [ ] Business logic separated from UI
298
+ - [ ] Files under 400 lines
299
+ - [ ] Clear module boundaries
300
+
301
+ ## Self-critique before applying fixes [LOW freedom — do not skip]
302
+
303
+ 1. **Evidenced** — `file:line` or rg hit, not "the codebase feels messy"
304
+ 2. **Reproducible** — the convention grep still finds it
305
+ 3. **Severity justified** — High = bug/perf, not naming taste
306
+ 4. **Right owner** — this PR/diff → `audit-code-review`
307
+ 5. **No-false-safety** — `git blame` checked; working intentional code left alone
308
+
309
+ ## Validation [LOW freedom — run exactly]
310
+
311
+ 1. Typecheck with the repo's own script (`package.json` → `typecheck`, else `tsc --noEmit`)
312
+ 2. Lint with the repo's own script — not a generic `eslint src/`
313
+ 3. Run the repo's test script and confirm no new failures
314
+ 4. Document any enforced standard in `CONTRIBUTING.md` or `.cursor/rules/`
@@ -0,0 +1,289 @@
1
+ ---
2
+ name: audit-code-review
3
+ description: >
4
+ Review a PR or diff for correctness, security, and maintainability. Use for
5
+ a pull request, a named change set, or "review my changes". Repo-wide
6
+ anti-patterns → audit-code-quality. Bulk transforms → audit-codemod-safety.
7
+ license: MIT
8
+ effort: high
9
+ ---
10
+
11
+ # Code Review Skill
12
+
13
+ **Degree of freedom: MIXED** — Phases 1–2 judgment `[HIGH freedom]`;
14
+ mandatory pre-review git/docs `[LOW freedom — run exactly]`.
15
+
16
+ Review this PR or named diff. Repo-wide anti-patterns → `audit-code-quality`.
17
+ Bulk transform semantics → `audit-codemod-safety`.
18
+
19
+ ## How to reason
20
+
21
+ 1. **Observe** — quote the hunk and the surrounding file (not the line alone)
22
+ 2. **Interpret** — what breaks, leaks, or duplicates if this merges?
23
+ 3. **Classify** — blocking / suggestion / nit / praise
24
+ 4. **Severity** — security, data-loss, or break-existing = blocking
25
+
26
+ ## Worked example
27
+
28
+ > **Observe:** new `GET /api/invoices/:id` returns `Invoice.findById(id)`
29
+ > with no `userId` predicate (`app/api/invoices/[id]/route.ts` in this diff).
30
+ > **Interpret:** any authenticated caller reads another user's invoice.
31
+ > **Classify:** blocking (IDOR).
32
+ > **Severity:** Critical — must fix before merge.
33
+ > **Finding:** `[id]/route.ts` | add ownership check | blocking
34
+
35
+ ## Pre-review checks [LOW freedom — run exactly]
36
+
37
+ **Before reviewing code:**
38
+
39
+ ### 1. Read Relevant Documentation
40
+ ```
41
+ README.md (project conventions)
42
+ src/[domain]/@_[domain]-README.md (domain-specific patterns)
43
+ CONTRIBUTING.md (code standards)
44
+ ```
45
+
46
+ ### 2. Understand the Full Change
47
+
48
+ If reviewing a PR or commit:
49
+ ```bash
50
+ git log --oneline -10 # recent context
51
+ git diff <base>..HEAD --stat # files changed
52
+ git diff <base>..HEAD # full diff
53
+ ```
54
+
55
+ If reviewing a specific file, read the FULL file for context — not just the changed lines.
56
+
57
+ ### 3. Check for Duplicate Implementations
58
+
59
+ Use `Grep` and `SemanticSearch` to verify:
60
+ - Does this code duplicate existing functionality?
61
+ - Is there an existing component/service that should have been extended?
62
+ - Does this follow established patterns in the codebase?
63
+
64
+ ### 4. Check Production Impact (Sentry)
65
+
66
+ If the change touches error-prone code, check if related Sentry issues exist:
67
+
68
+ ```json
69
+ sentry:search_issues
70
+ {
71
+ "organizationSlug": "<ORG_SLUG>",
72
+ "query": "issues related to <component or function being changed>",
73
+ "projectSlugOrId": "<PROJECT_SLUG>",
74
+ "regionUrl": "<REGION_URL>",
75
+ "limit": 10
76
+ }
77
+ ```
78
+
79
+ This reveals: does the code being changed have known production issues? Does this change fix or risk introducing them?
80
+
81
+ ### 5. Research Current Best Practices (for non-trivial patterns)
82
+
83
+ If the code uses a pattern you want to verify:
84
+
85
+ ```json
86
+ firecrawl:firecrawl_search
87
+ {
88
+ "query": "<framework> <pattern> best practice <current year>",
89
+ "limit": 5,
90
+ "sources": [{ "type": "web" }]
91
+ }
92
+ ```
93
+
94
+ ---
95
+
96
+ ## Review Process [HIGH freedom]
97
+
98
+ ### Phase 1: High-Level Assessment
99
+
100
+ Before line-by-line review:
101
+ - What is the purpose of this change?
102
+ - Does the approach make sense architecturally?
103
+ - Are there simpler alternatives?
104
+ - Does this introduce new dependencies? Are they justified?
105
+
106
+ ### Phase 2: Detailed Review Checklist
107
+
108
+ #### Correctness
109
+ - [ ] Logic is correct for all expected inputs
110
+ - [ ] The change does what the PR / task says — a missing requirement, half-implemented path, or silently narrowed scope is a blocking finding
111
+ - [ ] Edge cases handled (null, empty, overflow, concurrent access)
112
+ - [ ] No obvious bugs (off-by-one, wrong operator, missing await)
113
+ - [ ] Error handling is full and appropriate
114
+ - [ ] Async code handles race conditions and cleanup (AbortController, etc.)
115
+
116
+ #### Security
117
+ - [ ] No SQL injection vectors (raw queries with user input)
118
+ - [ ] No XSS vulnerabilities (dangerouslySetInnerHTML, innerHTML)
119
+ - [ ] No hardcoded secrets or credentials
120
+ - [ ] Input validation present on all user-facing endpoints
121
+ - [ ] Auth/authz properly checked (not just at UI level)
122
+ - [ ] No sensitive data in logs or error messages
123
+
124
+ #### Performance
125
+ - [ ] No N+1 queries (batching, eager loading)
126
+ - [ ] No unnecessary loops or repeated computations
127
+ - [ ] Appropriate data structures (Map vs Object, Set vs Array)
128
+ - [ ] No memory leaks (event listeners cleaned up, subscriptions unsubscribed)
129
+ - [ ] React: no unnecessary re-renders (memo, useMemo, useCallback where appropriate)
130
+ - [ ] Database: queries use indexes, avoid full table scans
131
+
132
+ #### Readability
133
+ - [ ] Clear, descriptive names (functions, variables, types)
134
+ - [ ] Functions appropriately sized (single responsibility)
135
+ - [ ] Comments explain "why" not "what" (non-obvious constraints only)
136
+ - [ ] Consistent with project's existing style
137
+
138
+ #### Maintainability
139
+ - [ ] DRY — no duplicated logic that should be shared
140
+ - [ ] Single responsibility — each function/component does one thing
141
+ - [ ] No magic numbers or strings (use constants or union types)
142
+ - [ ] Types are specific (no `any`, no overly broad unions)
143
+ - [ ] Dependencies are appropriate and minimal
144
+
145
+ #### Testing
146
+ - [ ] Tests cover the change (happy path + edge cases)
147
+ - [ ] Tests are independent and deterministic
148
+ - [ ] No flaky tests introduced (timeouts, race conditions)
149
+ - [ ] Test names describe the expected behavior
150
+
151
+ #### Duplicate Prevention
152
+ - [ ] No duplicate components (checked `src/components/`)
153
+ - [ ] No duplicate services or hooks
154
+ - [ ] Extends rather than duplicates existing patterns
155
+ - [ ] Shared logic extracted to utility/hook when used 2+ times
156
+
157
+ ---
158
+
159
+ ## Feedback Format
160
+
161
+ Use severity levels:
162
+
163
+ ```markdown
164
+ ### Critical (must fix before merge)
165
+ **[File:Line]** — [Description]
166
+ Why: [Impact if not fixed]
167
+ Fix: [Specific suggestion]
168
+
169
+ ### Suggestion (recommended improvement)
170
+ **[File:Line]** — [Description]
171
+ Why: [Benefit of the change]
172
+ Alternative: [How to improve]
173
+
174
+ ### Nitpick (optional, non-blocking)
175
+ **[File:Line]** — [Description]
176
+
177
+ ### Praise (good patterns to reinforce)
178
+ **[File:Line]** — [What's done well and why]
179
+ ```
180
+
181
+ ---
182
+
183
+ ## Blocking vs Non-Blocking
184
+
185
+ ### Blocking (must fix)
186
+ - Security vulnerabilities
187
+ - Data corruption risks
188
+ - Breaking existing functionality
189
+ - Missing critical error handling
190
+ - Performance regressions (measurable)
191
+ - Type safety violations (`any`, unchecked casts)
192
+
193
+ ### Non-Blocking (suggestions)
194
+ - Better naming or organization
195
+ - Missing tests for edge cases
196
+ - Documentation gaps
197
+ - Minor performance improvements
198
+ - Style preferences not covered by linter
199
+
200
+ ---
201
+
202
+ ## Common Patterns to Flag
203
+
204
+ ### TypeScript/JavaScript
205
+ ```typescript
206
+ // BLOCK: any types
207
+ const data: any = response;
208
+
209
+ // BLOCK: unhandled promises
210
+ fetchData(); // missing await or .catch()
211
+
212
+ // BLOCK: implicit type coercion in conditions
213
+ if (value) // when value could be 0 or ""
214
+
215
+ // SUGGEST: magic strings
216
+ if (status === 'active') // use a constant or union type
217
+ ```
218
+
219
+ ### React
220
+ ```tsx
221
+ // BLOCK: missing key in lists
222
+ {items.map(item => <Item {...item} />)}
223
+
224
+ // BLOCK: stale closure in useEffect
225
+ useEffect(() => {
226
+ setInterval(() => console.log(count), 1000); // captures stale count
227
+ }, []);
228
+
229
+ // SUGGEST: inline object creation in props
230
+ <Component style={{ margin: 10 }} /> // new object each render
231
+ ```
232
+
233
+ ### Database
234
+ ```sql
235
+ -- BLOCK: SQL injection vector
236
+ WHERE name = '${userInput}'
237
+
238
+ -- SUGGEST: missing index
239
+ SELECT * FROM orders WHERE user_id = ? -- is user_id indexed?
240
+
241
+ -- SUGGEST: SELECT *
242
+ SELECT * FROM users -- select only needed columns
243
+ ```
244
+
245
+ ---
246
+
247
+ ## Self-critique before reporting [LOW freedom — do not skip]
248
+
249
+ 1. **Evidenced** — `File:Line` from the diff, not "this could be better"
250
+ 2. **Reproducible** — read the full file, not only the hunk
251
+ 3. **Severity justified** — blocking = security / data-loss / break / missing critical handling
252
+ 4. **Right owner** — repo-wide smells → `audit-code-quality`; bulk transform → `audit-codemod-safety`
253
+ 5. **No-false-safety** — linter-covered style is not blocking
254
+
255
+ ## Review Response Template
256
+
257
+ ```markdown
258
+ ## Code Review: [PR Title / File]
259
+
260
+ ### Summary
261
+ [1-2 sentence overall assessment — is this ready to merge?]
262
+
263
+ ### Critical (blocking)
264
+ [List any must-fix findings]
265
+
266
+ ### Suggestions (recommended)
267
+ [List recommended improvements]
268
+
269
+ ### Praise
270
+ [Highlight good practices — reinforces positive patterns]
271
+
272
+ ### Questions
273
+ [Clarifying questions about intent or design decisions]
274
+
275
+ ### Research Notes
276
+ [If patterns were verified via Firecrawl/Context7, note what was confirmed]
277
+ ```
278
+
279
+ ---
280
+
281
+ ## What counts as a finding
282
+
283
+ Blocking findings are correctness bugs, security holes, data-loss paths, and
284
+ gaps between what the change claims and what it does; suggestions and nits
285
+ follow the Feedback Format above. Each finding names the line, the
286
+ consequence, and a fix. Style that the linter or the codebase's own
287
+ conventions already cover is not a finding at any tier. Read the surrounding
288
+ code before judging a hunk, and where intent is unclear, ask in the Questions
289
+ section rather than assume.