@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
package/CHANGELOG.md ADDED
@@ -0,0 +1,1790 @@
1
+ # Changelog
2
+
3
+ All notable additions and changes to kenji (`kensaurus/skills`, named `cursor-kenji` before 2.0.0) are listed here.
4
+
5
+ ---
6
+
7
+ ## [Unreleased]
8
+
9
+ ## [2.1.0] — 2026-10-01
10
+
11
+ UX laws as a measured fix pass, and the Miller misreading removed from the
12
+ pack.
13
+
14
+ ### Added
15
+
16
+ - **`enhance-ux-laws`.** Measure-then-fix pass on one screen or flow against
17
+ seven Laws of UX: Fitts, Hick, Miller, Jakob, Zeigarnik, Goal-Gradient and
18
+ Von Restorff. A browser probe measures tap targets, competing accents,
19
+ choice sets, unlabeled fields and progress cues at phone and desktop widths;
20
+ an eight-check flow walk covers what the DOM cannot show (resume after
21
+ reload, dead controls, pasted codes). Each law states its precondition and
22
+ what it does not say. Progress and resume cues must read real state, and
23
+ drafts never store card numbers or one-time codes.
24
+
25
+ ### Changed
26
+
27
+ - **Miller and Hick read correctly.** `audit-ux` and `enhance-web-ux` no
28
+ longer cap menus or navigation at seven items: Miller is about what the user
29
+ must hold in mind, and Hick applies only when options must be weighed, not to
30
+ known-item lookups. `audit-ux` gains Von Restorff and
31
+ Goal-Gradient/Zeigarnik rows.
32
+ - **Releases are staged.** `npm-publish.yml` runs `npm stage publish
33
+ --provenance`; a version goes live only when the maintainer approves it with
34
+ 2FA. CI actions moved to v5 (Node 24).
35
+ - Six skill descriptions dropped duplicate trigger phrases so the listing stays
36
+ under its 39,000-character ratchet with the new skill (ADR-0010).
37
+
38
+ ## [2.0.0] — 2026-10-01
39
+
40
+ **cursor-kenji is now kenji: `kensaurus/skills` on GitHub, `@kensaurus/skills`
41
+ on npm, plugin `kenji@kenji`.** Same pack, tool-neutral name. Breaking because
42
+ the plugin ID and the `/cursor-kenji:` slash namespace change (ADR-0013).
43
+ Upgrade steps: README → "Upgrading from cursor-kenji".
44
+
45
+ ### Changed
46
+
47
+ - **Renamed.** Repo `kensaurus/cursor-kenji` → `kensaurus/skills` (old URLs
48
+ redirect), npm `@kensaurus/cursor-kenji` → `@kensaurus/skills`, CLI
49
+ `cursor-kenji` → `kenji`, plugin and marketplace `cursor-kenji` → `kenji`,
50
+ Windows shim `cursor-kenji.cmd` → `kenji.cmd`.
51
+ - **Existing installs migrate.** The installer replaces a pre-2.0.0
52
+ completion-gate entry (`cursor-kenji-hooks/`) with `kenji-hooks/`, keeps every
53
+ other hook and setting, and removes the orphaned folder. `--restore` also
54
+ reads the legacy `.cursor-kenji-backups/`. Claude plugin installs follow the
55
+ marketplace `renames` map. `CURSOR_KENJI_GATE_STATE_DIR` and
56
+ `CURSOR_KENJI_DIR` still work beside `KENJI_GATE_STATE_DIR` and
57
+ `KENJI_SKILLS_DIR`.
58
+ - **Tool-neutral listing.** Descriptions and keywords name Claude Code, Cursor,
59
+ Codex CLI, and Gemini CLI; the homepage is the GitHub README until the new
60
+ skills.sh page is indexed.
61
+ - Ten skill descriptions dropped duplicate trigger phrases to keep the skill
62
+ listing under its 39,000-character ratchet (ADR-0010). Every routing pointer
63
+ stays.
64
+
65
+ ### Added
66
+
67
+ - **`audit-agent-speed`.** Measures, then fixes a slow coding-agent host:
68
+ transcript-parsing status lines, per-call and blocking Stop hooks, AGENTS.md
69
+ skipped under a parent CLAUDE.md, un-ignored worktree folders doubling
70
+ search, global effort and Explore model, worktree pile-up, antivirus,
71
+ indexer and vendor WMI pollers. Ships
72
+ `scripts/stop-typecheck.mjs`, an `asyncRewake` Stop hook that typechecks in
73
+ the background, skips when nothing changed, wakes the agent only on a new
74
+ error set, and summarizes codegen cascades.
75
+ - Routing rule: agent or machine slow → `audit-agent-speed`; product slow →
76
+ `audit-performance`.
77
+
78
+ ### Fixed
79
+
80
+ - `docs/AGENTS.template.md` now says Claude Code skips `AGENTS.md` when a
81
+ `CLAUDE.md` exists in the repo or any parent folder, and how to load both.
82
+
83
+ ## [1.40.1] — 2026-09-29
84
+
85
+ The completion gate stops looping. In Cursor it ran twice on every stop, and
86
+ the copy loaded from the Claude Code config had no cap, so an open checklist
87
+ sent the same follow-up for hours, including to sessions that did not own it.
88
+
89
+ ### Fixed
90
+
91
+ - **The completion gate looped for hours in Cursor.** Cursor also runs Claude
92
+ Code hooks from `~/.claude/settings.json`, with no `loop_limit`, so every
93
+ stop was gated twice and the Claude-config copy never stood aside. Each
94
+ registration now carries `--host=cursor` or `--host=claude`, and inside
95
+ Cursor the Claude-config copy stands aside when the native entry exists
96
+ (ADR-0012).
97
+ - **Two agents in one repo restarted each other's loop.** The follow-up budget
98
+ was one workspace counter. It is now per conversation, kept in
99
+ `~/.cache/cursor-kenji/completion-gate/`: three follow-ups while none of the
100
+ items that conversation saw closes. The old
101
+ `.cursor/completion-gate.count.json` is deleted on the next run.
102
+ - **The gate pushed work that waits on a person.** Items marked
103
+ `blocked by:`, `blocked on:`, or `waiting on:` no longer gate, and neither
104
+ does a state file untouched for 24 hours. The follow-up now says how to
105
+ stand down: mark an item that waits on a person as blocked, leave a
106
+ checklist another agent owns unchanged, say so in one line, and stop.
107
+
108
+ ## [1.40.0] — 2026-09-29
109
+
110
+ Ships the `housekeep-files` document organizer, with the Windows script fixed
111
+ so it actually runs on the PowerShell it claims to support. The fix came from
112
+ running the skill on a real Downloads tree: the bundled script would not parse
113
+ under Windows PowerShell 5.1, and an earlier run under a Japanese code page
114
+ had copied an access-key bundle that its secret rule should have refused.
115
+
116
+ ### Added
117
+
118
+ - **`housekeep-files`** skill + `/housekeep-files` command: organize a
119
+ drifted document tree (Downloads, a synced drive) into per-owner homes
120
+ by copy, not move. Bundled `scripts/housekeep-files.ps1` (Windows
121
+ PowerShell 5.1+) and `scripts/housekeep-files.sh` (macOS/Linux bash)
122
+ read the same `plan.tsv` and run inventory (SHA-256 of every source) →
123
+ dry run → apply → verify. Keys, credentials, media over the size cap,
124
+ and installers are cataloged in place, never copied. Vague filenames get
125
+ `{entity}_{area}_{date}_{doc-type}__{original}`; each owner root gets a
126
+ visible `_ai-catalog.jsonl` and `_SEARCH.md`. `verify` re-checks every
127
+ source path and size, re-hashes every copy, recounts untouched media
128
+ folders, and exits non-zero on the first miss. Layout options (root per
129
+ owner, one root with owners inside, PARA-lite) are offered before the
130
+ plan is written. Sources in `references/naming-and-catalog.md`.
131
+
132
+ ### Fixed
133
+
134
+ - **`housekeep-files.ps1` failed or misbehaved on Windows PowerShell 5.1.**
135
+ The file was UTF-8 without a BOM and held three non-ASCII characters (the
136
+ `アクセスキー` secret pattern and two em dashes). PowerShell 5.1 decodes a
137
+ BOM-less script with the ANSI code page. Under cp1252 an em dash becomes a
138
+ curly quote that ends the string, so the script does not parse. Under cp932
139
+ it parses, but the CJK pattern turns into mojibake, so a file named for an
140
+ access key is copied instead of cataloged in place. The script is now pure
141
+ ASCII, and the pattern is written as a `\uXXXX` regex escape. Verified by
142
+ running the old and new script natively under 5.1 on a folder holding an
143
+ `…アクセスキー…zip`: the old one throws a parse error; the new one marks the
144
+ zip `indexed-in-place:secret`.
145
+ - **Guard:** `validate-skills` fails on any shipped `.ps1`, `.psm1`, or
146
+ `.psd1` that contains a non-ASCII byte without a UTF-8 BOM, and reports
147
+ the file and line. Probe: a BOM-less em dash in a scratch `.ps1` fails;
148
+ the same text with a BOM passes.
149
+
150
+ If you ran `housekeep-files` on Windows before this release, check each
151
+ `_ai-catalog.jsonl` for `copied-source-kept` rows whose path contains
152
+ `アクセスキー`, and rotate those keys.
153
+
154
+ ## [1.39.0] — 2026-09-23
155
+
156
+ Closes the last three open items from the Opus 5.5 pass: the always-on
157
+ routing rule, facts that went stale, and broken markdown. Each fix was
158
+ researched from primary sources (package source, vendor docs, npm) and
159
+ checked by an independent verifier before it was applied.
160
+
161
+ ### Changed
162
+
163
+ - **`skill-workflows.mdc` halved** (3,246 → 1,614 bytes), ADR-0011. Claude
164
+ Code loads it in every session. It now lists only the mappings a skill
165
+ name gets wrong, for example `workflow-release-prep` never merges and
166
+ `workflow-onboard` is not product onboarding. It also keeps the
167
+ multi-phase → workflow principle and the six audit-and-fix exceptions.
168
+ Everything else was already in skill descriptions or the verification
169
+ rule.
170
+ - **Supabase MCP calls match current servers.** Current servers (the pinned
171
+ 0.12.0 and the hosted one) hide `get_logs` and list `query_logs`, which
172
+ takes ClickHouse SQL filtered by `source`. The skills now use it, with SQL
173
+ taken from the server's own per-service queries. The pack's config is
174
+ project-scoped (`--project-ref`), so calls no longer pass `project_id`,
175
+ and `list_projects` is described as available only on an unscoped server.
176
+ Affected: `deploy-verify`, `iterate-post-launch`, `workflow-fix-and-ship`,
177
+ `workflow-feature-flag`, `workflow-feedback-to-closure`, `mushi-*`,
178
+ `test-*`, `mobile-emulator-test`, `audit-db-schema`, `audit-fe-api`,
179
+ `audit-langfuse-llm`, `debug-fe-be-integration`, `design-prd`, and the
180
+ `full-stack-ship-discipline` rule.
181
+ - **Sentry MCP calls match the current server.**
182
+ - `get_issue_breadcrumbs`, `get_issue_tag_values`, and `find_releases` are
183
+ catalog tools, reached through `execute_sentry_tool`; `search_sentry_tools`
184
+ is the fallback.
185
+ - `update_issue` needs the Triage skill on the connection.
186
+ - Relative issue-search dates take a sign (`firstSeen:-1h`).
187
+ - **`enhance-pwa`** uses current facts:
188
+ - Next.js caching goes through Serwist; `@ducanh2912/next-pwa` is
189
+ webpack-only.
190
+ - Lighthouse 12 removed its PWA category, so installability is checked in
191
+ DevTools. `workflow-launch-ready` and the catalog no longer ask for a PWA
192
+ score.
193
+ - `navigateFallback` is the SPA shell, not an offline page.
194
+ - `beforeinstallprompt` fires only in Chromium.
195
+ - **`enhance-web-instant-nav`** gives the current Speculation Rules eagerness
196
+ defaults and Next.js 16.3 Instant Navigations.
197
+ - **`plan-capacitor-hardening`** names the current Capsec package
198
+ (`@capgo/capgo-sec`) and its rule families, and says Ionic Identity Vault
199
+ stopped new sales in 2025-02.
200
+ - **No calendar-stamped advice.**
201
+ - Search queries use `[current year]`.
202
+ - "(2026)" labels on current guidance are gone.
203
+ - A cost tier is named as a tier, not a model.
204
+ - Token-cap and streaming-usage fields are named per provider.
205
+ - The OWASP red-team checklist says it maps the 2021 edition.
206
+
207
+ ### Added
208
+
209
+ - **`scripts/check-md-structure.mjs`**, in `npm test` and CI, fails on a
210
+ nested or unclosed code fence.
211
+ - **`check-skill-refs` flags `supabase:get_logs`.**
212
+
213
+ ### Fixed
214
+
215
+ - **13 code-fence errors in 9 files.** A nested or unclosed fence rendered
216
+ the rest of an output template as live markdown. Affected: `design-prd`,
217
+ `plan-dead-code`, `audit-db-schema`, `audit-langfuse-llm`,
218
+ `audit-uiux-design-system`, `backend-error-handling`, and
219
+ `docs/CONTRIBUTING.md`.
220
+ - **Duplicate headings.** The ones in `audit-code-quality` and
221
+ `docs-coauthor` now have distinct names. The catalog's duplicate
222
+ `audit-skill-conflicts` entry is now a pointer to its Audit entry.
223
+ - **The README said `audit-*` skills may fix things.** It now says they
224
+ report and stop by default, names the six audit-and-fix skills, and notes
225
+ the few others that end with an explicit apply step.
226
+ - **`CITATION.cff`** still said version 1.31.0.
227
+
228
+ ## [1.38.0] — 2026-09-23
229
+
230
+ Follow-through on 1.37. A section-by-section check of the Opus 5.5 plan
231
+ against the repo, run in fresh contexts, found edits that were only half
232
+ applied. Reading the Claude Code client showed its skill-listing budget
233
+ works differently from what ADR-0008 assumed.
234
+
235
+ ### Changed
236
+
237
+ - **Skill descriptions trimmed.** 137 descriptions were rewritten to about
238
+ 230 chars. The rewrite kept the distinct trigger phrases and the handoffs
239
+ that separate overlapping triggers, and dropped filler, synonyms, and lists
240
+ of chained skills. The pack's Claude Code listing drops about 15%, from
241
+ 45,573 to 38,979 chars; every request carries that listing on both hosts.
242
+ - **`validate-skills` measures the listing the way the client does**: one
243
+ `- name: description` line per model-invocable skill and command, with
244
+ agents reported separately. It fails above `LISTING_MAX_CHARS` (39,000).
245
+ ADR-0010 supersedes ADR-0008's measure and corrects its facts:
246
+ - the budget is 1% of the context window at 3 chars/token for current
247
+ models, 30,000 chars on a 1M Opus 5.5 session;
248
+ - built-in skills share that budget;
249
+ - over budget, the least-used skills show by name only, and nothing is
250
+ dropped.
251
+ - **Keep every description visible on Claude Code** with
252
+ `"skillListingBudgetFraction": 0.02` in `~/.claude/settings.json`. The
253
+ installer prints the installed listing size and this setting; it does not
254
+ change your settings.
255
+ - **Authoring surfaces say T1–T8**: `enhance-skill-prompts`,
256
+ `meta-skill-creator`, `audit-skill-conflicts`, CATALOG, and the playbook
257
+ describe T2 as a classification contract and T4 as an evidence rubric.
258
+ - **`docs/DISTRIBUTION.md`**: the completion-hook column lists Claude Code and
259
+ the plugin's Stop hook, and warns against running the plugin hook and the
260
+ `--claude` hook together.
261
+
262
+ ### Fixed
263
+
264
+ - **Leftovers from 1.37.0's mechanical edits.** In about 30 files a passage
265
+ was replaced but its old lines stayed under the new ones:
266
+ - `audit-ux` had a second set of sections 0b–0e;
267
+ - `audit-security` kept its old vulnerability examples;
268
+ - `audit-code-review` kept its DO/DON'T lists after the new review rule;
269
+ - `enhance-web-seo` had broken JSON in its research step;
270
+ - `debug-error` and `debug-sentry-monitor` repeated checklists;
271
+ - `tdd-patterns` had an orphan comment;
272
+ - several paragraphs had fallen into the list or blockquote above them.
273
+ - **`backend-realtime` printed secrets.** It told the agent to `cat .env*`,
274
+ which prints secret values; it now lists variable names only.
275
+ - **`rules/approved-plan-execution.mdc` had invalid YAML frontmatter**: an
276
+ unquoted `: ` in the description. A strict parser rejects it, which can
277
+ drop the rule's `paths:` scope.
278
+ - **Merge installs now prune leftovers from older releases** on both hosts:
279
+ - the renamed `/plan` command, pruned only while it still carries the
280
+ pack's description;
281
+ - the `native-rn-monorepo` command bundle, which older installers copied
282
+ into the global commands folder, registering ten `native-rn-monorepo:*`
283
+ commands in every project.
284
+ - **`migrate-to-skills`** skipped creating the skills folders when no
285
+ subagent tool was available.
286
+ - **`create-skill` and `meta-skill-creator`** told every skill to repeat the
287
+ always-on update rule. They now say never to suppress it, and to add a
288
+ turn-end line only for unattended skills.
289
+ - **`audit-auth-flows` and its annotated exemplar** match again: same effort
290
+ key, same finding-shape wording.
291
+ - **Closure runs could not record a verification rung that does not apply.**
292
+ In a headless `/complete-everything` probe on a repo with no typecheck or
293
+ lint, the unchecked rungs made the Stop hook block, and the model invented a
294
+ `[-]` marker that the hook then skipped with no reason required. The skill
295
+ now defines `- [-] <rung> — n/a: <evidence>`. The completion gate counts a
296
+ `[-]` line without an `n/a:` reason as open, and `completion-judge` checks
297
+ the reason. The skill also notes that Claude Code shows "Stop hook error
298
+ occurred" for every Stop-hook block; that is the gate working, not a
299
+ failure.
300
+
301
+ ## [1.37.1] — 2026-09-23
302
+
303
+ ### Fixed
304
+
305
+ - **`--verify` reported line endings as corruption.** A Windows checkout with
306
+ `core.autocrlf=true` carries CRLF in the working copy while the npm tarball
307
+ (built on Linux) is LF, so an install from a clone followed by
308
+ `npx @kensaurus/cursor-kenji --verify --all` failed on 17 files with
309
+ "content hash mismatch". `bin/install.mjs` now hashes text files with line
310
+ endings normalized; the install smoke test plants a CRLF copy and expects
311
+ `--verify` to pass.
312
+
313
+ ## [1.37.0] — 2026-09-23
314
+
315
+ An Opus 5.5 pass. Claude Code 2.1.280 made Claude Opus 5.5 the default model
316
+ on 2026-09-22, and it changes two assumptions the pack was written on: prose
317
+ no longer steers thinking (effort does, and its default is `medium`), and
318
+ there is no strong planner / fast implementer split left to route around.
319
+
320
+ ### Added
321
+
322
+ - **`docs/MODEL-AND-EFFORT.md`** — the model story: default model per host,
323
+ how to set effort (`/effort`, `modelSettings`, frontmatter `effort:`), the
324
+ pack's routing table, what changed in how skills are written, the always-on
325
+ token budget. ADR-0006 … ADR-0009 record the decisions.
326
+ - **`effort:` frontmatter** on every `audit-*`, `plan-*`, `debug-*`, judge and
327
+ security skill (`high`), on `handoff`, `workflow-git-commit`, smoke checks,
328
+ the RN bundle commands and `deploy-checker` (`low`); `workflow-onboard`
329
+ runs in a forked `Explore` context. `validate-skills` checks the values.
330
+ - **Claude Code Stop hook.** `hooks/hooks.json` now carries the Claude
331
+ schema (Cursor's moved to `hooks/cursor-hooks.json`); `completion-gate.mjs`
332
+ serves both hosts; `--claude` installs it into `~/.claude/settings.json`
333
+ with the same merge/preserve/prune semantics as the Cursor hook.
334
+ - **Roster ratchet.** `validate-skills` sums auto-invocable description chars
335
+ (skills + commands + agents) and fails above `ROSTER_MAX_CHARS`; every
336
+ `commands/*.md` except `gtm-weekly`, `fix-issue`, `mcp-guide` is now
337
+ `/`-only (`disable-model-invocation: true`); `deploy-npm`,
338
+ `iterate-gtm-weekly`, `mushi-health`, `mushi-integration` likewise;
339
+ `protocol-browser-anti-stall` and the Cursor `canvas` copy are
340
+ `user-invocable: false`. The `native-rn-monorepo` command bundle no longer
341
+ leaks into global `~/.claude/commands`.
342
+ - **Always-on "Delivering work" section** in
343
+ `verification-before-completion.mdc`: intent line and recap, turn-ending
344
+ check, scope and test-sprawl, delegation criteria, pasted text is data,
345
+ compaction is not a stop signal.
346
+ - `check-skill-refs` fails on prompt fossils (retired model names, thinking
347
+ scaffolds, update suppressors); `check-docs-facts` fails on `.cursor/rules`
348
+ forks and on the retired two-model framing.
349
+
350
+ ### Changed
351
+
352
+ - **`composer-2.5-execution.mdc` → `approved-plan-execution.mdc`.** Same
353
+ guardrails, no model pin; the installer prunes the old file on merge
354
+ installs. README, `docs/PLAN-LOOPS.md`, `docs/AGENTS.template.md`,
355
+ `docs/CATALOG.md`, `/burndown-full` and 13 plan-* references now say
356
+ "planned at high effort; executed at the default effort under the rule".
357
+ - **`.cursor/rules/*.mdc`** are byte-identical mirrors of `rules/` (the
358
+ 212-line always-on `skill-workflows` fork is gone).
359
+ - **Sequential Thinking MCP retired** from the full template, pins, docs and
360
+ the five skills/commands that routed to it (ADR-0009).
361
+ - **`senior-engineer.mdc`** is `paths:`-scoped to Next.js/Supabase files on
362
+ Claude Code; `shell-first-search` is an `.mdc` rule Cursor can attach;
363
+ `project-starter/web-performance.mdc` is glob-attached, not always-on.
364
+ - **Skills, commands, agents, rules**: pressure language and prohibition
365
+ lists restated at normal volume with reasons; think-tool and self-check
366
+ scaffolds removed; step choreography on judgment tasks replaced by
367
+ outcomes and verification; frontend skills name the Opus 5.5 default
368
+ patterns to avoid; research steps say a recognised name is not current
369
+ knowledge; closure modes say how a turn may end; `## Critical Rules`
370
+ headings are `## Rules`.
371
+ - **`docs/PROMPT-ENHANCEMENT-PLAYBOOK.md`** — T2 is a classification
372
+ contract, not a thinking instruction; T4 is an evidence rubric, not a
373
+ self-check; T7 declares `effort:`; T8 sets volume, shape and
374
+ communication. `enhance-skill-prompts`, `meta-skill-creator`,
375
+ `create-skill`, `create-subagent`, `docs/CONTRIBUTING.md` teach the same.
376
+ - **`llms.txt`, `.claude-plugin/*.json`, README, GETTING-STARTED, CATALOG,
377
+ PROMOTION** — name the model and the effort routing.
378
+
379
+ ### Fixed
380
+
381
+ - **`scripts/test-install.mjs`** — the Windows shim test ran `cursor-kenji.cmd`
382
+ from the cwd, which hardened shells block with
383
+ `NoDefaultCurrentDirectoryInExePath=1`. The test now clears that variable for
384
+ the child and also exercises the explicit `.\cursor-kenji.cmd` form.
385
+
386
+ ## [1.36.3] — 2026-09-22
387
+
388
+ A command-surface pass. `/plan` became a host built-in in three of the four
389
+ supported tools while we still shipped a file of that name, and four commands
390
+ still promised tools the pack stopped shipping. The collision guard now covers
391
+ every install target instead of Claude Code only.
392
+
393
+ ### Changed
394
+
395
+ - **`/plan` → `/plan-mode`, in both command sets.** Claude Code, the Cursor CLI,
396
+ and Gemini CLI each ship a built-in `/plan` that enters Plan mode, so
397
+ `commands/plan.md` duplicated it and `commands-portable/plan.md` shadowed it
398
+ as `~/.gemini/commands/plan.toml`. Both are renamed; the file is the
399
+ procedure, the built-in is the mode switch. Natural-language triggers are
400
+ unchanged. **Restart the host after updating** — Claude Code and Cursor
401
+ register `commands/` at session start.
402
+ - **`commands/mcp-guide`** — describes the actual default template (Firecrawl,
403
+ Context7, Supabase) and headed `playwright-cli`. Sequential Thinking and the
404
+ Playwright MCP are full-template only, so nothing routes to them by default.
405
+ - **`commands/fix-issue`** — dropped a `SemanticSearch` call and the hardcoded
406
+ `npm run test:unit`. Diagnosis routes to `debug-error`, the ship loop to
407
+ `workflow-fix-and-ship`, and verification runs the repo's own checks.
408
+ - **`commands/debug-issue`** — no longer claims Sequential Thinking is part of
409
+ `debug-error`; notes that `/debug` is a built-in in both hosts.
410
+ - **`commands/test`** — tagline matches the body: route to the matching test
411
+ skill rather than run one generic suite.
412
+ - **`commands-portable/research`** — resynced with `skills/research`: repo
413
+ first, docs for the pinned version, no implementation until asked.
414
+ - **`docs/CATALOG.md` `audit-ux`** and **`skills/plan-uiux-unification`** —
415
+ stopped listing Sequential Thinking as available; the skills never called it.
416
+ - **`.claude-plugin/marketplace.json`** — listing said 145 skills and 57
417
+ commands; the real counts are 156 and 62.
418
+
419
+ ### Fixed
420
+
421
+ - **The reserved-command guard only covered one of four hosts.** It scanned
422
+ `commands/` against a Claude Code list, so a `commands-portable/` name could
423
+ collide with a Gemini CLI built-in unnoticed — which is exactly how `/plan`
424
+ survived there. `scripts/validate-skills.mjs` now scans both directories
425
+ against the documented built-ins and aliases of Claude Code, the Cursor CLI,
426
+ and Gemini CLI. Probe: a `commands-portable/tools.md` fails the gate.
427
+ - **The count ratchet skipped both Claude Code manifests.** `.claude-plugin/`
428
+ was never checked, which is how its listing drifted 11 skills and 5 commands
429
+ behind. `scripts/check-skill-count.mjs` now covers `plugin.json` and
430
+ `marketplace.json`.
431
+
432
+ ### Known issue
433
+
434
+ - Codex CLI deprecated custom prompts and stopped loading `~/.codex/prompts`
435
+ (0.117.0), which is where `--codex` writes the portable playbooks. Its merged
436
+ `~/.codex/AGENTS.md` rules are unaffected. Choosing a replacement surface
437
+ touches [ADR 0001](docs/adr/0001-custom-npm-installer-ships-four-tools.md) and
438
+ is deliberately not bundled into this release.
439
+
440
+ ## [1.36.2] — 2026-09-17
441
+
442
+ A `plan-dead-code` → `housekeep-dead-code` pass on the pack's own
443
+ repository, run with the pack's own skills. The JS surface was already
444
+ clean; the deliverable is the gate that keeps it that way.
445
+
446
+ ### Removed
447
+
448
+ - `scripts/migrate-browser-mcp-to-cli.mjs` — the one-off Playwright MCP →
449
+ playwright-cli migration script from 1.2x. Nothing ran it (no npm
450
+ script, workflow, or doc); Knip in default and `--production` mode and a
451
+ repo-wide reference grep agreed. The CHANGELOG line that introduced it
452
+ stays as history; git keeps the file.
453
+
454
+ ### Added
455
+
456
+ - `knip.jsonc` and `npm run check:dead-code` / `check:dead-code:prod`
457
+ (`npx -y knip@6.36.0 --max-issues 0`, config hints as errors on the
458
+ default run). Entries come from `package.json` bin/scripts and the
459
+ workflow `run:` lines via Knip's plugins, plus the shipped helper scripts
460
+ and the three maintainer-run brand/description tools nothing invokes by
461
+ reference. The two consumer-side imports of
462
+ `skills/enhance-readme/scripts/record-readme-tour.mjs` (`playwright`,
463
+ `@ffmpeg-installer/ffmpeg`) are the single written-back false positive.
464
+ Appended to `npm test` and to the existing job in `validate.yml` and
465
+ `npm-publish.yml` — no new parallel check. Baseline 0 / 0; the number
466
+ only ever goes down. Probes: an unreferenced `scripts/zz-probe.mjs` fails
467
+ the gate; a fresh clone passes `npm test`.
468
+ - `docs/examples/plan-audits/cursor-kenji/plan-dead-code.md` — the audit
469
+ (stack, baseline, surfaces Knip cannot see, keep/kill list with evidence,
470
+ ratchet) that approved the deletion and the config.
471
+
472
+ ### Changed
473
+
474
+ - `docs/PUBLISHING.md` — the `npm test` gate list names the dead-code
475
+ ratchet.
476
+
477
+ ## [1.36.1] — 2026-09-17
478
+
479
+ ### Fixed
480
+
481
+ - `plan-gtm/references/benchmarks-2026.md` — added the "warm invites
482
+ 10–25%" row (nativeviralloop) that `enhance-growth-loops` already quoted.
483
+ The completion judge caught the number as untraceable against the
484
+ reference file's own rule ("quote a number only with its row here"); the
485
+ source was in the research all along, the row was not.
486
+
487
+ ## [1.36.0] — 2026-09-17
488
+
489
+ The six follow-ups named in the 1.35.0 report, built in one closure pass:
490
+ pricing, growth loops, comparison pages, registry listing, the weekly loop,
491
+ and lifecycle email. `plan-gtm` and `workflow-gtm` now hand off to them by
492
+ name, so the go-to-market sequence has an owner for every step from "what
493
+ to charge" to "what did last week's post do".
494
+
495
+ ### Added
496
+
497
+ - `plan-pricing` — plan-only pricing and packaging audit: inventory of
498
+ plans/gates/metering/price points/trial logic/cost, value-metric scoring
499
+ (value connection, fairness, predictability, scalability, billability)
500
+ simulated on historical accounts, ≤3 good-better-best tiers with a
501
+ right-hand anchor and an enterprise "from" price, free boundary just before
502
+ the activation event's repeat, price corridor via Van Westendorp →
503
+ Gabor-Granger → MaxDiff → conjoint. Emits `plan-pricing.md` with a
504
+ grandfathering row; changes no price, plan enum, Stripe object, or copy.
505
+ Command `/pricing-plan`.
506
+ - `enhance-growth-loops` — apply-now badge / shareable artifact / template /
507
+ invite / referral loops, one K-factor per loop; rewards granted
508
+ idempotently on the referred user's *activation*; invites user-initiated
509
+ and single-send with recipient opt-out; badge removable on paid.
510
+ - `docs-comparison-pages` — ≤5 honest "X vs Y" / "alternatives to" /
511
+ "migrate from" pages per pass from facts fetched and dated this session;
512
+ fixed shape including "where the alternative wins"; `lastVerified` +
513
+ `reviewEvery` freshness contract; refuses bulk generation.
514
+ - `audit-registry-listing` — read-only audit of README first ten lines,
515
+ npm/PyPI metadata and `npm pack --dry-run` contents, GitHub description /
516
+ topics / social preview, plugin and skills.sh manifests, and a timed
517
+ clean-profile install. Findings with an owner skill per row.
518
+ - `iterate-gtm-weekly` — thirty-minute weekly loop: funnel by source this
519
+ week vs last, launch Results tables filled, largest *absolute* loss named,
520
+ last experiment attributed with a number, exactly one experiment and one
521
+ post chosen from a levers-by-step table, scorecard row appended. Command
522
+ `/gtm-weekly`.
523
+ - `enhance-lifecycle-email` — event-driven sequences (welcome, activation
524
+ nudge, setup stall, habit, trial expiry split by activated vs stalled,
525
+ limit reached, win-back, dunning) with triggers, exits, idempotent
526
+ `(user, sequence, step)` sends, per-email transactional/marketing
527
+ classification, unsubscribe and suppression, quiet hours, daily cap, and
528
+ `email_*` events. Timers only as the fallback for silence.
529
+
530
+ ### Changed
531
+
532
+ - `plan-gtm` — phased burndown names the new owners: Phase 1 adds
533
+ `audit-registry-listing` for repo-as-product; Phase 2 adds
534
+ `enhance-lifecycle-email`; Phase 3 uses `docs-comparison-pages`; Phase 4
535
+ adds `enhance-growth-loops` and hands the loop to `iterate-gtm-weekly`;
536
+ Phase 5 starts with `plan-pricing`. Neighbor table extended.
537
+ - `workflow-gtm` — sequence, step sections, scorecard, and worked example
538
+ route through the same owners; Step 7 is `iterate-gtm-weekly`
539
+ (`iterate-post-launch` keeps production defects).
540
+ - `plan-gtm/references/benchmarks-2026.md` — new sections for pricing
541
+ research / value metric and lifecycle email, each row with its URL.
542
+ - `docs/CATALOG.md`, `docs/TRIGGER-CHEATSHEET.md`, `docs/PLAN-LOOPS.md` (23
543
+ plan skills, `/pricing-plan` alias, execute-after-approval rows),
544
+ `skills.sh.json`, README ("What should I say?" and commands rows) — the
545
+ six skills and two commands listed with their neighbors.
546
+
547
+ ### Fixed
548
+
549
+ - The five 1.35.0 GTM skills and the README skill index carried
550
+ double-encoded arrows (`→` for `→`) in their descriptions — a shell
551
+ encoding slip during the description trim. Re-encoded to UTF-8; the
552
+ installed copies refresh on `--auto`.
553
+
554
+ ## [1.35.0] — 2026-09-17
555
+
556
+ Go-to-market for a repo that already works. The pack covered how to build,
557
+ prove, and ship a product but had nothing for the part after: who it is for,
558
+ how it is paid for, why signups never come back, where to be found, and how
559
+ to announce a release without a vote ring. Five skills and three commands
560
+ close that gap. Every benchmark quoted was checked against a 2025–2026
561
+ source this week (ChartMogul × Kyle Poyar × ProductLed free-to-paid report,
562
+ Userpilot activation medians, Show HN / Product Hunt author reports, public
563
+ OSS-vendor revenue mix).
564
+
565
+ ### Added
566
+
567
+ - `plan-gtm` — plan-only go-to-market audit. Greps how the product is sold
568
+ today (billing SDKs, `isPro` gates, license family, hero/meta positioning,
569
+ auth providers and steps to first value, analytics + consent,
570
+ robots/sitemap/llms.txt, registry presence, trust signals), then
571
+ interviews the founder with `workflow-grilling` rules down a fixed ladder
572
+ (90-day metric → ICP → numbers → monetization intent → budget → market →
573
+ alternatives → constraints). Diagnoses in Dunford order, judges the
574
+ monetization model against 2026 conversion rows (freemium 3–5% good /
575
+ 8–12% great; card-required trial 25–35%; median 8%; OSS cloud carries
576
+ 48–73% of vendor revenue), defines `activated` and one north-star, picks
577
+ ≤2 channels + 1 loop with caveats. Emits `plan-gtm.md`; changes nothing.
578
+ Business decisions (model, price, license, ICP) stay with the founder;
579
+ "unmeasured" is a legal cell value.
580
+ - `workflow-gtm` — execution arm. `plan-gtm` ⏸ approve → `audit-analytics`
581
+ → `enhance-web-conversion` (+ `enhance-readme` for repo-as-product) →
582
+ `enhance-onboarding` → `enhance-web-seo` / `plan-aeo-readiness` →
583
+ `docs-launch-kit` → `iterate-post-launch` weekly. Ends with a GTM
584
+ scorecard (funnel before/after, skips named, next week's one fix).
585
+ - `enhance-onboarding` — apply-now first session to first value. Defines
586
+ `activated` as an outcome (never signup or tour end), walks landing →
587
+ activation as a stranger and counts steps, cuts fields before value
588
+ (OAuth/magic link, inferred locale, try-before-signup), ships empty-state
589
+ templates / sample data and a ≤5-item checklist ending at activation,
590
+ instruments `signup_started → signup_completed → activated →
591
+ habit_reached` behind the existing consent gate. Defers, never deletes.
592
+ - `enhance-web-conversion` — apply-now message / offer / proof / prompt pass
593
+ on landing, pricing, and upgrade paths: five-second hero check with a
594
+ model-matched CTA verb, ≤3 tiers with an anchor and annual toggle,
595
+ explicit free-tier limits, proof ordered by strength, upgrade prompts only
596
+ at value moments, checkout and prompt events. Removes dark patterns; adds
597
+ none. Visual system stays on `enhance-web-landing`.
598
+ - `docs-launch-kit` — versioned `docs/launch/<version>.md`: claims table
599
+ every sentence must trace to, one problem-first angle, native copy per
600
+ channel (Show HN, Product Hunt, subreddit-specific Reddit, X/Bluesky/
601
+ LinkedIn, article outline, user-facing release notes), calendar, UTMs,
602
+ Results table filled after 7 days. No vote solicitation, no fabricated
603
+ proof, maker disclosed.
604
+ - Commands `/gtm-plan` → `plan-gtm`, `/gtm` → `workflow-gtm`,
605
+ `/launch-kit` → `docs-launch-kit`.
606
+
607
+ ### Changed
608
+
609
+ - `rules/skill-workflows.mdc` — bundle row "take a shipped product to
610
+ market → `workflow-gtm`".
611
+ - `docs/PLAN-LOOPS.md` — `plan-gtm` in the execute-after-approval table, the
612
+ plan skill map (22 plan skills), launch gates, slash aliases, and a
613
+ copy-paste prompt; related-loops row.
614
+ - `docs/CATALOG.md`, `docs/TRIGGER-CHEATSHEET.md`, `skills.sh.json`, README
615
+ ("What should I say?" row, commands table, plan → apply callout) — the
616
+ five skills and three commands are listed where their neighbors are.
617
+ - MCP pins re-verified against the registries on 2026-09-17
618
+ (`mcp/pinned-versions.json`, both templates, `.mcp.json`, `mcp/VERSIONS.md`,
619
+ `mcp/README.md`): `@upstash/context7-mcp` 3.2.2 → 4.1.1 (v2 SDK, 2026-07-28
620
+ protocol; stdio flags unchanged), `firecrawl-mcp` 3.21.3 → 3.24.0,
621
+ `@supabase/mcp-server-supabase` 0.8.2 → 0.12.0 (`--project-ref` /
622
+ `--read-only` / `--features` still accepted), `chrome-devtools-mcp` 1.3.0 →
623
+ 1.9.0, `@playwright/mcp` 0.0.76 → 0.0.81, `@notionhq/notion-mcp-server`
624
+ 2.4.1 → 2.5.1, `server-sequential-thinking` 2025.12.18 → 2026.8.31,
625
+ `server-memory` 2026.1.26 → 2026.8.31, `awslabs.lambda-tool-mcp-server`
626
+ 2.0.19 → 2.1.1, `awslabs.aws-api-mcp-server` 1.3.45 → 1.5.5,
627
+ `awslabs.cloudwatch-mcp-server` 0.0.8 → 0.2.1. `server-github`, `-postgres`,
628
+ `-redis`, `-slack` had no newer release.
629
+ - `scripts/test-install.mjs` reads the expected firecrawl pin from
630
+ `mcp/pinned-versions.json` instead of a hard-coded `3.21.3`, so a pin bump
631
+ cannot pass the pin check and fail the install smoke test for the same fact.
632
+
633
+ ## [1.34.0] — 2026-09-12
634
+
635
+ A prompt audit of the shipped surface (rules, agents, commands, skills)
636
+ against current-model behaviour: instructions written for older, less
637
+ steerable models were rewritten at normal volume, facts that had rotted were
638
+ corrected, and text the agent cannot act on (memory of previous projects,
639
+ "production test" scores) was removed. No skill changed name, trigger, scope,
640
+ or stance; no `[LOW freedom]` step lost its exactness.
641
+
642
+ ### Changed
643
+
644
+ - `skills/backend-patterns` — the Edge Function example uses `Deno.serve`;
645
+ the `deno.land/std@0.168.0/http/server` import it carried is deprecated.
646
+ - `agents/perf-monitor` — `npx bundle-phobia <pkg>`; `npx bundlephobia`
647
+ resolves to a package with no CLI and silently does nothing.
648
+ - `agents/deploy-checker` — `npm audit --omit=dev` (`--production` is the
649
+ deprecated spelling).
650
+ - `agents/db-migrator` — migration files come from `supabase migration new`
651
+ (14-digit timestamp) instead of a hand-written 8-digit date prefix that
652
+ cannot order two same-day migrations.
653
+ - `agents/debugger` — dropped "don't explain before acting" and "ship first,
654
+ explain after", which contradicted the agent's own required output format
655
+ (root cause, evidence, verification, prevention).
656
+ - `commands/update-deps` — the dated Next.js cadence paragraph ("15 LTS ends
657
+ 2026-10-21, current line 16.3.x") is now a check-at-run-time instruction;
658
+ the codemod advice and the `next lint` removal stay.
659
+ - `commands-portable/research` §7 — re-synced with `skills/research`: "plan
660
+ before writing code". The portable copy still said "think step-by-step",
661
+ which reasoning models already do and which had drifted from the skill.
662
+ - `skills/audit-langfuse-llm` — model examples are tier-based (frontier /
663
+ small) instead of pinned IDs that age; its prompt-improvement suggestions
664
+ recommend the provider's native reasoning mode and `max_tokens` rather than
665
+ "Think step by step" text and word caps in the prompt.
666
+ - `skills/enhance-web-landing` — register pass: removed eighteen
667
+ "(mandatory)" tags and the all-caps shouting, the three "most-tested AI tell
668
+ / #1 violated rule in production tests" grader lines, the cross-project
669
+ palette and serif rotation rules (the agent has no memory of previous
670
+ projects), and the one-project "Marrow" references. Every rule and its
671
+ reason is unchanged; the copy-length limits on page content stay because
672
+ they constrain the page, not the reply.
673
+ - Seventeen skills — "CRITICAL:" / "MANDATORY:" / "BEFORE X, you MUST:" step
674
+ headings read at normal volume; the `[LOW freedom — run exactly]` tag
675
+ already carries the weight.
676
+ - `skills/design-canvas` — "CRITICAL Requirements" → "Quality bar".
677
+ - `rules/composer-2.5-execution.mdc` — title and intro no longer pin
678
+ Composer 2.5 or a "200k window"; the body already said it binds any
679
+ implementation model. Filename kept for installer and doc compatibility.
680
+ - `rules/shell-first-search.md` — dropped the "Windows hang history" / "this
681
+ Windows host" incident wording from a rule that ships to every consumer.
682
+ - `docs/PLAN-LOOPS.md` — the execution rule has been on-demand since v1.15.0,
683
+ not `alwaysApply: true` as the doc claimed; the planning model is no longer
684
+ pinned to Opus 4.8.
685
+
686
+ ## [1.33.1] — 2026-09-10
687
+
688
+ ### Changed
689
+
690
+ - `housekeep-dead-code/references/supabase-hygiene.md` — dropped
691
+ `supabase inspect db table-record-counts` from the CLI-equivalents line. It
692
+ rested on a single low-confidence doc extraction from a page that
693
+ redirected, and never appeared in the observability guide's documented set;
694
+ a wrong subcommand name in a command position is worse than no name. The
695
+ line now lists only the six confirmed subcommands, says the set has changed
696
+ across releases, and points at `supabase inspect db --help` plus the
697
+ version-independent SQL above it.
698
+
699
+ ## [1.33.0] — 2026-09-10
700
+
701
+ A second independent implementation of the dead-code pair was written against
702
+ the same base commit. Comparing the two surfaced material worth keeping — and
703
+ two bugs worth not keeping. Ported the former as reference files; rejected the
704
+ latter after checking both against the knip 6.35.1 source.
705
+
706
+ ### Added
707
+
708
+ - `plan-dead-code/references/residue-greps.md` — the grep pack as a table with
709
+ a count command and a fix column per class, plus the false positives that
710
+ matter: hashed and template-string asset references, and the counting
711
+ convention (`rg -o … | wc -l` for matches vs `rg -c` for lines — mixing them
712
+ makes a ratchet compare nothing). Adds a **bundle-leak probe**
713
+ (`rg -l "service_role" dist`) that stops the pass and routes to
714
+ `plan-secrets-audit`; it is the one check here that can find a live
715
+ credential in shipped output.
716
+ - `plan-dead-code/references/output-templates.md` — a filled
717
+ `plan-dead-code.md` with the chain-head row discipline, worked severity ×
718
+ effort rubric, and a root-causes section so the report names the barrel
719
+ rather than its forty symptoms.
720
+ - `plan-dead-code/references/preservation-contract.md` — the plan-only
721
+ non-negotiables and the five verdict buckets, matching the
722
+ `plan-perf-audit` convention.
723
+ - `housekeep-dead-code/references/ratchet-ci.md` — scripts, tsconfig
724
+ (`noUnusedLocals` enabled *during* the cascade, not after),
725
+ `eslint-plugin-unused-imports` flat config, why Knip belongs in pre-push
726
+ rather than pre-commit, the aggregator's `jq` result check that makes a
727
+ skipped job fail, and a Supabase types-drift CI guard.
728
+ - `housekeep-dead-code/references/supabase-hygiene.md` — the schema arm in
729
+ full. Three traps a client-side grep cannot see: RPCs called only from an
730
+ RLS policy, trigger, or `pg_cron` job; Edge Functions targeted by external
731
+ webhooks; and `pg_stat_*` counters too young to mean anything (check
732
+ `stats_reset`). Tables drop in two steps — rename to `_deprecated_<name>`,
733
+ drop a release later — because a rename is reversible.
734
+
735
+ ### Changed
736
+
737
+ - `plan-dead-code` — chain-head reporting is now explicit (a dead file's
738
+ exports and sole-use dependencies are children of that row, not rows of
739
+ their own, or a three-item plan reads as twenty-seven); severity is paired
740
+ with S/M/L effort; adds the verified `--trace-export` / `--trace-file` /
741
+ `--max-show-issues` flags; and adds a second gate before triage — unresolved
742
+ imports and unlisted dependencies both explained, not just hints clean.
743
+ - `housekeep-dead-code` — new Phase 3 proves the ratchet bites: a fresh-clone
744
+ probe (deletions can pass on a warm `node_modules` and fail on `npm ci`) and
745
+ a deliberate-violation probe that must turn the aggregator red, not just the
746
+ job.
747
+
748
+ ### Rejected from the ported material
749
+
750
+ Both were checked against the knip 6.35.1 source rather than its docs:
751
+
752
+ - `knip:ci: "knip --production … --treat-config-hints-as-errors"` — inert.
753
+ Knip sets `isDisableConfigHints = --no-config-hints || isProduction`, so the
754
+ flag cannot fire on a production run. It belongs on the default-mode script.
755
+ - `rules: { classMembers: "warn" }` in the recommended config — silently
756
+ exempts that issue type from the gate, because `--max-issues` totals only
757
+ rules set to `error`. `ratchet-ci.md` now documents this as the quietest
758
+ ratchet bypass instead of shipping it as a default.
759
+ - `$schema: ".../knip@latest/schema.json"` — floats a major version in a file
760
+ whose own text says not to float `latest`. Pinned to `knip@6`.
761
+ - `-W` as shorthand for `--workspace`, and a "<50 scans, >5 pages" threshold
762
+ for `supabase inspect db unused-indexes` — neither is in the source or the
763
+ docs. Dropped rather than repeated.
764
+
765
+ ## [1.32.0] — 2026-09-10
766
+
767
+ Dead-code cleanup was one line inside `workflow-housekeep` (§2d, "npx knip
768
+ (if available) or npx ts-prune") — no config, no production mode, no fix
769
+ ordering, no ratchet, and `ts-prune` has been in maintenance mode with its
770
+ author pointing at Knip. Everything else a vibe-coded repo accretes
771
+ (duplication, debug residue, suppression debt, orphan assets, env drift,
772
+ dead schema) was scattered across five skills as prose with no tool behind
773
+ it. This adds the plan→apply pair that owns it.
774
+
775
+ ### Added
776
+
777
+ - **`plan-dead-code`** — configuration-first dead-code audit. Authors
778
+ `knip.json` and resolves every configuration hint *before* trusting a
779
+ finding, because on a first run most findings are misconfiguration, not
780
+ dead code. Baselines both `--production` and default runs and reads
781
+ findings files → unresolved → exports → deps (unused files cascade into
782
+ phantom export and dependency findings). Builds a keep-working list for
783
+ glob-imported routes, generated Supabase types, Deno Edge Functions, and
784
+ deliberate `@public` API, then counts the seven surfaces Knip cannot see:
785
+ unused locals, `jscpd` duplication, debug residue, suppression debt,
786
+ orphan assets, env drift, dead schema. Emits `plan-dead-code.md` and
787
+ **deletes nothing**. Slash `/deadcode-plan`.
788
+ - **`housekeep-dead-code`** — the execution arm. Deletes per the approved
789
+ keep/kill list one category per commit with typecheck, tests, and build
790
+ between each, and a bisect-the-batch rule on red: files
791
+ (`--fix-type files --allow-remove-files`, pre-reviewed list only) →
792
+ exports/types → unused-locals cascade (`remove-unused-vars`, then re-run
793
+ Knip) → dependencies → residue → assets → suppressions. Duplication is
794
+ measured and ratcheted but handed to `workflow-refactor`, since fixing it
795
+ preserves behavior rather than removing code. Then installs the ratchet:
796
+ `knip` script, CI job pinned at `--max-issues <today>` and only ever
797
+ lowered, wired into the single aggregator gate per `housekeep-gates`.
798
+ Slash `/deadcode`.
799
+ - `plan-dead-code/references/knip-config.md` — `knip.json` recipes for
800
+ Vite + React + Supabase, Next.js App Router, and monorepos, each line
801
+ annotated with the `ignore` it replaces; tag usage (`@public`,
802
+ `@internal`, `@alias`); companion-tool table; and the ratchet CI job.
803
+ - Brand mark (`assets/logo.svg` + PNG/OG/favicon). Geometric spine + first-line tick; fal.ai candidates were generated and rejected when they drifted.
804
+ - Claude Code marketplace manifests: `.claude-plugin/plugin.json` + `.claude-plugin/marketplace.json`.
805
+ - Static landing page in `site/` (canonical stay on skills.sh until an owned host is live).
806
+ - `FAL_KEY` documented in `.env.example`; secret scanner now flags fal key-id:secret pairs.
807
+
808
+ ### Changed
809
+
810
+ - **`workflow-housekeep` §2d now hands off instead of sweeping.** It keeps
811
+ dead *artifacts* (logs, `.bak`, build output, committed screenshots) —
812
+ things dead by inspection — and routes unused source files, exports,
813
+ types, and dependencies to the new pair. The `ts-prune` recommendation is
814
+ gone. Trigger phrase "remove dead code" moved off this skill.
815
+ - `plan-dependency-provenance` — boundary drawn: it owns the *manifest*
816
+ fact (does the package exist, is it licensed); the module-graph proof and
817
+ removal of unimported deps go to `plan-dead-code`. Warns against
818
+ hand-verifying with grep, since a dep reached only from a config string
819
+ looks unused and is not.
820
+ - `plan-antislop` §3 — boundary drawn against provable unreachability:
821
+ commented-out scaffolding and guards that can't trigger stay slop
822
+ findings (a taste judgment), while counts and deletion move to
823
+ `plan-dead-code`.
824
+ - `test-mutation` — "delete dead code" now routes to the pair rather than
825
+ `workflow-housekeep`.
826
+ - `workflow-refactor` — the "Dead Code → delete it" smell row was the last
827
+ open side door around the approval contract; it now routes to the pair.
828
+ Duplication findings arrive there; deletions do not leave from there.
829
+ - `package.json` homepage is the live skills.sh page.
830
+ - Cursor plugin manifest: `displayName`, `logo`, `category`, homepage.
831
+ - Distribution / promotion docs: Claude plugin install, localskills reject, Show HN draft. No fake “listed” claims.
832
+
833
+ ## [1.31.0] — 2026-08-29
834
+
835
+ ### Added
836
+
837
+ - **`enhance-web-instant-nav`** — Speculation Rules (prefetch/prerender with
838
+ a safety contract), bfcache fixes, cross-document View Transitions, 103
839
+ Early Hints. Slash `/instant-nav`. First-load CWV stays on
840
+ `audit-performance`.
841
+ - **`web-performance.mdc`** project rule — always-on budgets, LCP priority,
842
+ INP yield, no-`unload`.
843
+ - `audit-performance` §Loading Priority & Speculation, field-data Step 0,
844
+ verification protocol, and `references/loading-priority-2026.md`.
845
+
846
+ ### Changed
847
+
848
+ - `audit-performance`, `audit-bundle-size`: React Compiler first; manual
849
+ memo only with Profiler evidence.
850
+ - `plan-perf-audit` scope: Navigation layer and loading-priority lines.
851
+ - `enhance-web-seo` §1d hands CWV fixes to `audit-performance`.
852
+ - `perf-monitor` agent: LCP-lazy, slow-second-page, bfcache, INP rows.
853
+ - Stack currency: Next.js 15 → 16.x (15 LTS EOL 2026-10-21; monthly
854
+ security releases noted in `/update-deps`).
855
+ - `check-skill-count` now ratchets the README Project Rules count against
856
+ `rules/project-starter/*.mdc`.
857
+
858
+ ## [1.30.0] — 2026-08-21
859
+
860
+ ### Added
861
+
862
+ - **`enhance-readability`** — information-design pass for comprehension
863
+ (CLT + Gestalt): CPL / reading level, grouping, deadspace, icons, and
864
+ visuals that replace verbose prose. Slash `/readability`. Breakpoints
865
+ stay on `audit-responsive`; looks-good stays on `enhance-web-ui`.
866
+ CJK 40 CPL from WCAG 2.2 SC 1.4.8.
867
+
868
+ ## [1.29.1] — 2026-08-21
869
+
870
+ ### Fixed
871
+
872
+ - **T3/T4 headings** — `meta-skill-creator` and `enhance-skill-prompts`
873
+ had T1–T6 tables/phrases but no `## Worked example` / `## Self-critique`.
874
+ `test-exploratory` and `workflow-release-prep` promoted T4 to `##`.
875
+ - **Validator** — T3/T4 now require those H2 headings so a table mention
876
+ cannot pass the gate.
877
+
878
+ ## [1.29.0] — 2026-08-21
879
+
880
+ ### Added
881
+
882
+ - **Family-first naming policy** — `docs/CONTRIBUTING.md` documents
883
+ `<family>-<topic>`, slash aliases, and the four unprefixed exceptions
884
+ (`research`, `handoff`, `complete-everything`, `burndown-full`).
885
+ - **`iterate-` family** — registered in the skill index
886
+ (`FAMILY_HEADINGS`, `FAMILY_ORDER`, blurbs).
887
+ - **Installer `RENAMED_SKILLS` prune** — deletes old skill directories on
888
+ Cursor, the `~/.agents/skills` mirror, and Claude after a rename.
889
+ Honors `--dry-run`; skipped when `--skill` is scoped. Tests may inject
890
+ pairs via `KENJI_RENAMED_SKILLS`.
891
+ - **`OLD_ALIASES` gate** — `check-skill-refs` fails leftover backticks of
892
+ renamed skills except in `CHANGELOG.md`, `docs/CONTRIBUTING.md`, and
893
+ `audit-skill-conflicts`.
894
+
895
+ ### Changed
896
+
897
+ - **`housekeep-` taxonomy** — CATALOG / CONTRIBUTING / index blurb now
898
+ say "one drifted register (gates / backlog / design tokens)", not
899
+ "design system only".
900
+ - **Renames** — `domain-modeling` → `docs-domain-modeling`;
901
+ `grilling` → `workflow-grilling`. `/grill-me` still points at
902
+ `workflow-grilling`. "grill me" and glossary triggers unchanged.
903
+ - **Prompt waves (T1–T6)** — remaining first-party families after Wave 7
904
+ (`housekeep`, `docs`, `deploy`, `debug`, then the rest). Validator
905
+ require-list extended per family. `thirdparty-*` skipped.
906
+
907
+ ## [1.28.0] — 2026-08-21
908
+
909
+ ### Added
910
+
911
+ - **`audit-doctrine`** — read-only audit of custom lint/ratchet *content*:
912
+ is each rule right on the merits (named remedy, reachable token,
913
+ teaching failure, Tier-D practice), not merely enforced. Distinct from
914
+ `audit-gate-logic` (bypass/gaming). Un-remedied axes →
915
+ `housekeep-backlog`. Slash: `/doctrine`.
916
+
917
+ ## [1.27.0] — 2026-08-20
918
+
919
+ ### Added
920
+
921
+ - **`workflow-release-prep`** — take the local working tree (uncommitted +
922
+ staged + untracked + unpushed) to a merge-ready PR against main.
923
+ Orchestrates `audit-code-review`, `split-to-prs`, `workflow-git-commit`,
924
+ `workflow-pr`, and `babysit`. Does not merge. Slash: `/release-prep`.
925
+
926
+ ### Changed
927
+
928
+ - **Skill-conflict routing pass** — carved overlapping triggers across the
929
+ PR/release, UI/slop, error-handling, tests, backend, and skill-authoring
930
+ clusters. Completed truncated descriptions (`burndown-full`,
931
+ `backend-patterns`, `mobile-emulator-start`). Moved
932
+ `thirdparty-emil-design-eng` body into `references/`. Validator now fails
933
+ unmatched quotes/parentheses and trailing `i.e.` truncation scars.
934
+
935
+ ## [1.26.0] — 2026-08-20
936
+
937
+ ### Added
938
+
939
+ - **`research` skill** — the production research protocol is now a first-party
940
+ skill (`skills/research/`) so `npx skills add` and Cursor `/` share the same
941
+ playbook. `/research` is a thin command wrapper (same pattern as
942
+ `complete-everything`).
943
+ - **Installer `--verify`** — read-only hash check of every packaged file
944
+ against the destination. Extra personal files are allowed; missing or
945
+ stale packaged files fail closed. Merge install now verifies each copy
946
+ before reporting success.
947
+
948
+ ### Fixed
949
+
950
+ - **Install-channel docs** — `npx skills add` installs skills only and does
951
+ not write slash commands. `npx @kensaurus/cursor-kenji --all` is the
952
+ full-pack one-liner. The two `--all` flags are not the same.
953
+ - **Cursor `/babysit` shadow** — `babysit` is a Cursor-managed builtin.
954
+ The installer no longer copies it into `~/.cursor/skills` and deletes
955
+ stale copies on upgrade (Claude still gets the portable copy).
956
+ - **Dual-name CI gate** — `validate-skills` errors on an undeclared
957
+ skill+command pair so new `/` picker duplicates cannot ship unnoticed.
958
+
959
+ ## [1.25.0] — 2026-08-20
960
+
961
+ ### Added
962
+
963
+ - **`housekeep-backlog`** (`/housekeep-backlog`) — apply-now inventory of
964
+ parked work (unfinished plans, deferred phases, TODO/FIXME, skipped
965
+ tests, open audit findings) into a living `BACKLOG.md` that regenerates
966
+ and diffs (new / done / stale). Collector that feeds
967
+ `complete-everything` / `burndown-full`. The `docs-adr` pattern applied
968
+ to parked work.
969
+
970
+ ## [1.24.0] — 2026-08-19
971
+
972
+ ### Added
973
+
974
+ - **`enhance-skill-prompts`** — meta-skill to upgrade an existing SKILL.md
975
+ prompt (degrees of freedom, structured CoT, one worked example,
976
+ self-critique rubric, term consistency) without changing what the skill
977
+ does. Playbook: `docs/PROMPT-ENHANCEMENT-PLAYBOOK.md`. Annotated exemplar:
978
+ `skills/enhance-skill-prompts/references/exemplar-audit-auth-flows.md`.
979
+ - **Prompt-enhancement playbook** — T1–T6 applied to every first-party
980
+ `audit-*` / `plan-*` / `test-*` skill plus the Wave 4 apply-now set
981
+ (frontmatter and stance unchanged). Live `audit-auth-flows` is the
982
+ reference implementation. Factory (`meta-skill-creator`,
983
+ `docs/CONTRIBUTING.md`) now inherits T1–T6 for new skills.
984
+ - **`validate-skills` T1/T3/T4 gate** — first-party audit/plan/test skills
985
+ fail CI if they lack Degree of freedom, a Worked example, or a
986
+ Self-critique rubric.
987
+
988
+ ---
989
+
990
+ ## [1.23.1] — 2026-08-19
991
+
992
+ ### Fixed
993
+
994
+ - **Windows `npx` from a clone** — `npx @kensaurus/cursor-kenji` from the repo folder failed with `cursor-kenji is not recognized` because npm exec uses the local package and `cmd` looks for a cwd shim that did not exist. Added `cursor-kenji.cmd` plus a `bin/cursor-kenji.js` entry so the same command works from the clone and from any other directory. Registry `npx` from a non-clone folder already worked.
995
+
996
+ ---
997
+
998
+ ## [1.23.0] — 2026-08-19
999
+
1000
+ ### Added
1001
+
1002
+ - **`test-exploratory`** — unscripted guest vs logged-in wander of a live non-prod app (headed playwright-cli, SBTM charters, guest/auth/post-logout isolation). Discovery only; tickets via `workflow-feedback-to-closure`, lock via `test-playwright`.
1003
+ - Highest-impact combo pipelines in README, GETTING-STARTED, and CATALOG: `test-exploratory` → `workflow-feedback-to-closure` → `test-playwright`, plus wander-then-`workflow-quality-gate`.
1004
+
1005
+ ### Changed
1006
+
1007
+ - `test-qa` / `test-playwright` / `test-red-team` descriptions no longer claim monkey / guest-vs-authed wander; `/test` and the trigger cheatsheet route those phrases to `test-exploratory`.
1008
+
1009
+ ---
1010
+
1011
+ ## [1.22.0] — 2026-08-19
1012
+
1013
+ ### Added
1014
+
1015
+ - **`audit-auth-flows`** (`/auth-flows`) — read-only app-layer auth audit. Route×gate matrix, Supabase `getSession()` vs `getUser()`, middleware-as-only-gate (CVE-2025-29927), refresh-token reuse detection, OAuth/IDOR. Data-layer half stays on `plan-rls-audit`.
1016
+
1017
+ ### Changed
1018
+
1019
+ - `audit-security` / `plan-security-audit` / `plan-rls-audit` no longer own session/route-gate / getSession triggers.
1020
+
1021
+ ---
1022
+
1023
+ ## [1.21.0] — 2026-08-18
1024
+
1025
+ ### Added
1026
+
1027
+ - **`housekeep-gates`** (`/housekeep-gates`) — apply-now consolidation of accreted CI gates into one aggregator required check. Execution arm of `audit-gate-logic`.
1028
+ - **`test-mutation`** (`/test-mutation`) — StrykerJS / mutmut harness; kills assertion-free coverage theater.
1029
+ - **`enhance-arch-boundaries`** (`/arch-boundaries`) — dependency-cruiser / eslint-boundaries as CI fitness functions.
1030
+ - **`docs-adr`** (`/adr`) — lightweight ADRs with rejected alternatives; agent-readable INDEX.md.
1031
+
1032
+ ### Changed
1033
+
1034
+ - **`audit-gate-logic`** — Phase 2.5 gate archaeology (duplicate vintages, competing baselines, hook-vs-CI, dead gates) and winner selection for `housekeep-gates`.
1035
+ - Neighbor carve-outs: `plan-test-coverage` no longer owns mutation execution; `audit-backend-architecture` defers mechanical rules; `plan-docs-sync` / `docs-coauthor` defer decision memory; `test-unit` defers assertion theater.
1036
+
1037
+ ---
1038
+
1039
+ ## [1.20.0] — 2026-08-18
1040
+
1041
+ ### Added
1042
+
1043
+ - **`audit-gate-logic`** (`/gate-logic`) — read-only audit of CI/CD *gate logic*: silent bypass, ratchet gaming, conflicting workflow conditions, required-in-name-only checks. Distinct from `audit-cicd` (cost/speed/safety) and `workflow-quality-gate` (which runs gates).
1044
+ - **`audit-codemod-safety`** (`/codemod-safety`) — read-only audit of a mechanical source transform for behavior-preservation. Distinct from `audit-code-review` (diff quality) and `plan-data-integrity` (SQL/data migrations).
1045
+
1046
+ ### Changed
1047
+
1048
+ - Neighbor descriptions now carve those owners: `audit-cicd`, `workflow-quality-gate`, `audit-code-review`, `plan-data-integrity`, `enhance-agent-guardrails`, `workflow-green-repo`.
1049
+ - `check-skill-count` now rewrites leftover PROMOTION.md count tokens (`One install, N skills`, article title).
1050
+
1051
+ ---
1052
+
1053
+ ## [1.19.1] — 2026-08-18
1054
+
1055
+ Routing pass from `audit-skill-conflicts` (no new skills). Description carve-outs
1056
+ so overlapping triggers pick one owner; `audit-*` is no longer claimed as
1057
+ universally read-only; dangling `mobile-mobile-*` refs fixed; `/test` and `/uiux`
1058
+ routers expanded; `check-skill-refs` gate added to `npm test` and CI.
1059
+
1060
+ ### Changed
1061
+
1062
+ - Skill descriptions now name a single owner for LLM quality vs security, RLS/secrets vs the OWASP plan, UI/motion/housekeep, QA vs stubs, and third-party name-gating.
1063
+ - `audit-*` default remains present-then-stop. Audit-and-fix exceptions: `audit-responsive`, `audit-code-quality`, `audit-performance`, `audit-security`, `audit-i18n`, `audit-bundle-size` (plus `enhance-email-deliverability`).
1064
+ - `/test` routes `test-load` and `test-visual-regression`. `/uiux` holds the enhance surface router.
1065
+ - `plan-data-integrity` / `/integrity-plan` no longer own restore drills (those stay on `plan-backup-dr`).
1066
+ - `workflow-spec-tdd` no longer references `mobile-mobile-*`.
1067
+
1068
+ ### Added
1069
+
1070
+ - **`check-skill-refs`** — CI gate for doubled-prefix typos and the stale `audit-responsive-layout` alias.
1071
+
1072
+ ---
1073
+
1074
+ ## [1.19.0] — 2026-08-18
1075
+
1076
+ Adds the **ops / launch gap pack** (13 skills): product analytics, UI state matrix, LLM attack surface, IAP, env parity, infra cost, visual + load tests, privacy/DR/ASO plans, email deliverability, and a pack self-audit. Skips the pack's `audit-responsive-layout` — already shipped as `audit-responsive` in 1.18.0. `audit-llm-security` is new (source tarball was missing that file).
1077
+
1078
+ ### Added
1079
+
1080
+ - **`audit-llm-security`** — OWASP LLM Top 10 on *app-facing* AI (not Langfuse quality, not coding-agent policy).
1081
+ - **`plan-privacy-compliance`** + `/privacy-plan` — collection-vs-claimed, consent, deletion/export, GDPR / APPI / store labels. Cross-linked with `audit-analytics`.
1082
+ - **`plan-backup-dr`** + `/backup-plan` — restore capability, RPO/RTO, drill evidence (not destructive-op gates).
1083
+ - **`audit-analytics`** — funnel coverage, taxonomy, consent-gated firing.
1084
+ - **`audit-ui-states`** — empty / loading / error / offline / overflow matrix.
1085
+ - **`test-visual-regression`** — Playwright screenshot baselines + CI diffs (playwright-cli, not MCP).
1086
+ - **`test-load`** — k6/Artillery journeys; never hits prod unsigned.
1087
+ - **`audit-monetization-iap`** — StoreKit / Play / RevenueCat (not Stripe/web).
1088
+ - **`plan-aso`** + `/aso-plan` — store listing find + install conversion.
1089
+ - **`enhance-email-deliverability`** — SPF/DKIM/DMARC + hygiene (kept `enhance-*` beside `design-email`).
1090
+ - **`audit-env-parity`** — config agreement across envs (local runnability stays on `workflow-environment-ready`).
1091
+ - **`audit-infra-cost`** — hosting/egress (CI minutes → `audit-cicd`; tokens → `plan-llm-cost-guardrails`).
1092
+ - **`audit-skill-conflicts`** + `/skill-conflicts` — pack self-audit: contradictory directives, overlapping triggers, stale cross-refs, context bloat. Per-file spec stays on `validate:skills`.
1093
+
1094
+ ### Changed
1095
+
1096
+ - **`design-email`** — no longer claims deliverability / SPF / "why is my email in spam".
1097
+ - **`plan-data-integrity`** — no longer claims backup drills / disaster recovery; those route to `plan-backup-dr`.
1098
+ - **Neighbors** — `audit-responsive`, `audit-langfuse-llm`, `plan-llm-cost-guardrails`, `plan-mobile-readiness`, `audit-payment-system`, `audit-cicd`, `workflow-environment-ready`, `iterate-post-launch`, `plan-stub-checker`, `enhance-agent-guardrails`, `test-red-team`, `audit-resilience`, `data-visualization` now point at the new skills.
1099
+
1100
+ ---
1101
+
1102
+ ## [1.18.0] — 2026-08-18
1103
+
1104
+ Adds **`audit-responsive`**: the missing layout/IA audit for "desktop is a linearized phone." Existing skills covered mobile-up (`design-mobile-first`), cross-page IA (`audit-ux-journeys`), tokens (`audit-uiux-design-system`), and polish (`enhance-web-ui` / `enhance-web-ux`) — none owned the 10 breakpoint anti-patterns + wireframe-then-implement loop.
1105
+
1106
+ ### Added
1107
+
1108
+ - **`audit-responsive`** — detect stack, score 10 layout/IA anti-patterns (`file:line` + severity), extract or propose a token sheet, ASCII wireframes at 375 / 768 / 1440, then implement in reviewable chunks (report-first if scope is large). Live verify via playwright-cli. References: `references/checklist.md`.
1109
+ - **`/responsive-audit`** — thin slash entry. Optional path scope.
1110
+
1111
+ ### Changed
1112
+
1113
+ - **`design-mobile-first`** — description no longer claims generic "responsive" (that stole this skill). Routes linearized-desktop complaints to `audit-responsive`.
1114
+ - **Neighbors** — `plan-uiux-unification`, `audit-ux`, `audit-ux-journeys`, `audit-uiux-design-system`, `/uiux`, `docs/PLAN-LOOPS.md`, catalog compositions, and the trigger cheat sheet now point at the new skill.
1115
+
1116
+ ---
1117
+
1118
+ ## [1.17.0] — 2026-08-15
1119
+
1120
+ Cursor/Claude config housekeep: cut always-on rule weight, stop shipping Cursor builtin skill dupes, slim default MCP, interpolate secrets.
1121
+
1122
+ ### Changed
1123
+
1124
+ - **Skill descriptions** — house budget 320 characters (was 1024). 86 descriptions shortened; bodies unchanged. `paths` on RN/Capacitor skills; `disable-model-invocation` on slash-only `skills-cursor` utilities.
1125
+ - **Installer** — Cursor skips 11 `skills-cursor` names that Cursor already ships as managed builtins (keeps `babysit`). Claude still gets portable copies. `--no-agents-mirror` and `--quiet` added. `install.sh` is a wrapper around `bin/install.mjs`. `cursor-sync` finds `~/Documents/GitHub/cursor-kenji` and calls the Node installer.
1126
+ - **Rules** — `full-stack-ship-discipline` is agent-selected (no auto-push). `composer-2.5-execution` drops empty `globs`. `shell-first-search` is a hang-fallback, not a Grep/Glob ban.
1127
+ - **MCP** — essential template is Firecrawl (authenticated, feedback flags off) + Context7 + Supabase with `${env:NAME}` interpolation. Sequential Thinking and Playwright MCP are full-template only. Research command no longer requires Sequential Thinking MCP.
1128
+
1129
+ ### Added
1130
+
1131
+ - `scripts/shorten-skill-descriptions.mjs` — description budget rewriter used for this release.
1132
+
1133
+ ---
1134
+
1135
+ ## [1.16.0] — 2026-08-04
1136
+
1137
+ Patterns adopted from [mattpocock/skills](https://github.com/mattpocock/skills) (MIT) after a full comparison of the two packs: alignment-first interviewing, shared domain language, session handoff, intent-first conflict resolution, and the "writing great skills" verbosity levers.
1138
+
1139
+ ### Added
1140
+
1141
+ - **`grilling` skill + `/grill-me` command** — relentless one-question-at-a-time interview to close the user↔agent alignment gap before any code: recommended answer with each question, facts looked up vs decisions asked, no edits until confirmed, closes with a decision log that feeds `design-prd` / `/plan`.
1142
+ - **`domain-modeling` skill** — build a `CONTEXT.md` glossary and sparing ADRs (hard-to-reverse + surprising + real trade-off only); challenges conflicting terms, sharpens fuzzy language, cross-references claims against code.
1143
+ - **`handoff` skill + `/handoff` command** — compact the session into a handoff doc (state, ordered next steps, suggested skills, gotchas) in the OS temp dir; secrets redacted, artifacts referenced not copied, verification claims held to the `verification-before-completion` ladder. `disable-model-invocation: true`, so it costs zero always-on context.
1144
+ - **`workflow-merge-conflicts` skill** — resolve in-progress merges/rebases by tracing each hunk to its original intent (commits, PRs, issues) before resolving; repo checks re-run before finishing.
1145
+
1146
+ ### Changed
1147
+
1148
+ - **`meta-skill-creator` + `create-skill` (Cursor)** — added the verbosity levers: no-op test (delete lines the model already obeys), positive phrasing over prohibition, leading words ("fast, deterministic, low-overhead" → *tight*), single source of truth, one trigger per branch in descriptions, checkable completion criteria; plus model-invoked vs user-invoked (`disable-model-invocation`) cost guidance.
1149
+ - **`debug-error`** — Phase 1 now requires a tight feedback loop before any hypothesis: one red-capable, deterministic, fast command already run once, asserting the user's exact symptom; Phase 2 gains repro minimisation (every remaining element load-bearing); Phase 6 requires the loop re-run green and the minimised repro converted to a regression test at a correct seam.
1150
+ - **`workflow-spec-tdd`** — TDD phase now tests only at pre-agreed seams (named in the plan, confirmed with the user), works in vertical slices (tracer bullets, not all-tests-first), bans tautological tests (expected values from an independent source of truth), and treats refactor-broken tests as implementation coupling to fix at the seam.
1151
+ - **`.cursor-plugin/plugin.json`** — re-synced version with `package.json` (was left at 1.14.1 by the 1.15.0 release).
1152
+
1153
+ ## [1.15.0] — 2026-08-02
1154
+
1155
+ Always-on rules audit (2026-08-02): the shipped rule set cost ~11k tokens per chat once installed globally, against a ~2–4k healthy budget, and per-project template bundles leaked into every repo. Verified against current Cursor docs (`alwaysApply: true` ignores globs/description; rules ≤500 lines; skills load on demand) and Claude Code docs (CLAUDE.md ≤200 lines; `paths:` frontmatter is the only conditional loader in `.claude/rules/`; hooks for enforcement).
1156
+
1157
+ ### Changed
1158
+
1159
+ - **Installer (`bin/install.mjs`, `install.sh`)** — per-project rule bundles (`native-rn-monorepo/`, `project-starter/`) are no longer copied into global `~/.cursor/rules` or `~/.claude/rules`; they are documented as copy-into-project bundles and their always/glob rules were firing in every repo (e.g. RN no-Mac conventions loading in Vite web projects).
1160
+ - **`rules/skill-workflows.mdc`** — demoted from a 172-line always-on catalog (~2.1k tokens/chat) to a 46-line agent-requested routing index (`alwaysApply: false`); skills self-describe and load on demand, so the full table was dead weight.
1161
+ - **`rules/composer-2.5-execution.mdc`** — demoted to agent-requested for Cursor and `paths`-scoped (`**/plan-*.md`, `**/plans/**`) for Claude Code, so plan-execution guardrails load only during plan runs.
1162
+ - **`rules/senior-engineer.md` → `.mdc`** — cut from 122 lines of generic protocol to 26 lines of stack defaults + security non-negotiables, demoted to agent-requested; renamed because current Cursor ignores plain `.md` rule files.
1163
+ - **`rules/full-stack-ship-discipline.mdc`** and **`rules/verification-before-completion.mdc`** — kept always-on but rewritten at roughly half the length; intent (deploy-schema-with-UI, evidence-before-completion ladders, completion-judge gate) preserved.
1164
+ - **`scripts/test-install.mjs`** — asserts the bundle exclusion (no `native-rn-monorepo/` or `project-starter/` in installed rules) and the `.mdc` rename.
1165
+
1166
+ Hooks, skills, commands, and subagents are unchanged — on-demand surfaces were not the problem.
1167
+
1168
+ ---
1169
+
1170
+ ## [1.14.1] — 2026-07-29
1171
+
1172
+ Follow-up audit of every browser-touching file after the 1.14.0 migration. Two classes of leftover slipped through: the prose pass used single-line regexes, so any "Playwright MCP" that wrapped across a line break survived; and the token pass renamed `browser_*` verbs without being able to tell that a block of bare verb names was meant to be *runnable*. All 26 files that reference `playwright-cli` or the anti-stall protocol were re-read by hand.
1173
+
1174
+ ### Fixed
1175
+
1176
+ - **`test-playwright`** — Phase 3, the skill's core per-step interaction loop, was still bare pseudo-code carrying the pre-migration "wait 2s" phrasing. Rewritten as a runnable `$PW $S …` sequence. A stale "hard `goto` reload" also became `reload`.
1177
+ - **`test-qa/references/details.md`** — the equivalent execution-cycle block, same fix.
1178
+ - **`audit-langfuse-llm`** — a leftover MCP-shaped ` ```json ` block (`goto` plus a `{ "url": … }` object) is now a real `open --headed` invocation.
1179
+ - **`audit-uiux-design-system`** — the skill **description** still advertised "browser MCP tools", line-split across the YAML fold. Description text feeds skill triggering, so this was stale metadata, not just prose.
1180
+ - **`commands/test.md`** — "drive a visible browser through the Playwright / MCP" spanned a line break; now names playwright-cli with the `-s=` and `--headed` form inline.
1181
+ - **`audit-ux/references/details.md`** — bare arrow-stub keyboard-navigation block converted to real commands.
1182
+
1183
+ ### Changed
1184
+
1185
+ - **`enhance-web-ux`** — the three-viewport pass instructed "always with viewport set BEFORE navigate", written for the MCP. Verified against `@playwright/cli@0.1.17` that `resize` persists across `goto` (a 1024×700 viewport survived navigation intact), so the ordering is sound; the stub is now a runnable loop over the three widths with a comparison table for what each one exposes.
1186
+
1187
+ ### Notes
1188
+
1189
+ Skills showing no `$PW` invocations are intentional, not gaps. Spokes such as `enhance-motion` and `enhance-web-forms` reference commands by name and defer to `protocol-browser-anti-stall` for the invocation form — only the hub carries the `PW=` boilerplate.
1190
+
1191
+ ---
1192
+
1193
+ ## [1.14.0] — 2026-07-29
1194
+
1195
+ Browser automation moves off the **Playwright MCP** and onto **`playwright-cli`**. The MCP serves one browser per server, and a persistent Chrome profile can only be locked by one process at a time — so several agents on the same repo either contend for the profile lock or fight over each other's tabs. The CLI gives every agent its own isolated browser through `-s=<session>`, runs natively in parallel shells, and costs far fewer tokens (no tool schemas or verbose accessibility trees loaded into context). Verified end-to-end against `@playwright/cli@0.1.17`.
1196
+
1197
+ ### Changed
1198
+
1199
+ - **`protocol-browser-anti-stall`** — rewritten around `playwright-cli`. Mandatory `-s=<session>` naming, `npx --yes @playwright/cli@latest` invocation (a global `npm i -g` is unreliable under `fnm`/`nvm`, whose global prefix is per-shell), and **explicit `--headed`** because the CLI is headless by default where the MCP was headed. Adds a session-lifecycle section (`open`/`goto`/`close`/`list`/`close-all`/`kill-all`), a parallel-agents section replacing the old tab-claiming etiquette, and artifact rules covering both `.playwright-mcp/` (screenshots via `--filename`) and the CLI's auto-written `.playwright-cli/` snapshots. All anti-stall guarantees are preserved: navigation guard, ≤3s waits, max 4 attempts per goal, evidence-before-retry, timeout budget, blocker format.
1200
+ - **Waiting model** — there is no `wait` command in the CLI. Playwright auto-waits for actionability on `click`/`fill`/`select`; explicit waits become `sleep N` (≤3s) or `run-code` with `waitFor({ timeout })`. Documented in the protocol and the command map.
1201
+ - **22 skills + `commands/test.md` + README migrated** — 191 tool-token replacements plus 52 prose updates across `test-playwright`, `test-qa`, `test-red-team`, `audit-accessibility`, `audit-uiux-design-system`, `audit-ux`, `audit-langfuse-llm`, `audit-bundle-size`, `audit-i18n`, `audit-realworld`, `deploy-verify`, `iterate-post-launch`, `enhance-readme`, `enhance-web-ux`, `enhance-web-ui`, `enhance-web-forms`, `enhance-web-seo`, `enhance-motion`, `enhance-pwa`, `enhance-capacitor-ui`, `design-email`, `housekeep-design`, `plan-perf-audit`, `plan-stub-checker`, `plan-uiux-unification`. The 19 structural `playwright:browser_*` JSON call sites (axe-core injection, keyboard walks, deploy smoke checks) were rewritten by hand into real shell invocations.
1202
+ - **`mcp/README.md`** — the Playwright entry now documents the CLI as the supported path, keeping the MCP only as an `--isolated` fallback (which loses saved logins). The pin in `mcp/VERSIONS.md` is retained for that fallback.
1203
+ - **`.gitignore`** — added `.playwright-cli/` alongside `.playwright-mcp/`.
1204
+
1205
+ ### Added
1206
+
1207
+ - **`references/mcp-to-cli-map.md`** — complete `browser_*` → CLI command map (actions, waiting, evidence, tabs, storage, session management), plus the concepts that no longer apply (`browser_lock`, tab claiming, `session.json`, `--isolated` storage-state injection) and the gotchas that bite in practice.
1208
+ - **Google sign-in workaround** — `references/playwright-session-coordination.md` documents the one case that needs care: Google detects CDP and blocks sign-in from any Playwright-launched browser with "This browser or app may not be secure." The working sequence is a one-time manual login in **real Chrome** against a dedicated `--user-data-dir` (no `--remote-debugging-port`), then reuse via `open --persistent --profile <dir>`. Verified: Gmail loads straight into the inbox, and the session survives `close` → reopen.
1209
+ - **`scripts/migrate-browser-mcp-to-cli.mjs`** — the reviewed migration script, kept in-tree as an audit trail of how the rewrite was performed.
1210
+
1211
+ ---
1212
+
1213
+ ## [1.13.0] — 2026-07-25
1214
+
1215
+ UX journeys audit — a new cross-page skill for the layer `audit-ux` (per-page heuristics) doesn't cover: **can users actually find things and finish their stories?** A site can pass every per-page heuristic and still fail because the feature is buried four clicks deep, the nav mirrors the DB schema, or the checkout dead-ends on mobile. Grounded in the 2026 practitioner consensus: a UX audit derives from user stories, audits IA against mental models, walks the real journeys, and grounds findings in behavioral evidence — never taste presented as data.
1216
+
1217
+ ### Added
1218
+
1219
+ - **`audit-ux-journeys`** — cross-page user-story, task-completion & IA audit (**Skill 110**). **Phase 0** derives 5–10 real stories from routes/nav/CTAs (reuses `design-prd`/`plan-test-coverage` inventories, never invented personas) and scopes depth by audit trigger (KPIs dropping / complaints / redesign / pre-launch-no-data → qualitative, labeled as assumptions). **Phase 1** audits IA structurally (IA1–IA9): click depth per story target, orphan pages, dead ends, label consistency (nav ≈ title ≈ H1), grouping vs mental model, first-click logic, wayfinding, search/filter, URL sanity. **Phase 2** walks every story end-to-end in a headed browser (desktop + 390px mobile) → task-completion matrix with friction logs (hesitation/mislabel/backtrack/surprise/stall) and error-recovery probes (invalid input, Back, refresh mid-flow); a BLOCKED story is automatically a Blocker. **Phase 3** evidence discipline — every finding tagged `[data]` / `[observed]` / `[judgment]`; validates against GA4/PostHog/Clarity/Amplitude funnels when present, otherwise recommends minimal instrumentation so the next audit has evidence. **Phase 4** impact×effort report: quick wins vs roadmap vs deprioritized, neutral language, always names what works. Detailed methods in `skills/audit-ux-journeys/references/checklist.md`.
1220
+
1221
+ ### Changed
1222
+
1223
+ - **`audit-ux`** — description and Step 0c now scope it explicitly to the **per-page experience lens** and hand cross-page journeys/IA to `audit-ux-journeys` (its 0c IA map is context-building, not a structural audit). CATALOG, TRIGGER-CHEATSHEET, README (family table 17→18, full list, Assess bullets, "Start here" row), and `skill-workflows.mdc` updated; skill count 109 → 110.
1224
+
1225
+ ---
1226
+
1227
+ ## [1.12.1] — 2026-07-24
1228
+
1229
+ Fix broken Tsumagoi image on the npm README (private-repo raw GitHub URL 404'd). Point at the public live-site OG image and drop the private repo link.
1230
+
1231
+ ### Fixed
1232
+
1233
+ - **Tsumagoi ad image** — `src` now `https://tsumagoi.kensaur.us/og-image.png` (public) instead of `raw.githubusercontent.com/...` (404 on the private repo).
1234
+ - **Also by table** — Tsumagoi row links only to the live site; no GitHub repo link.
1235
+
1236
+ ---
1237
+
1238
+ ## [1.12.0] — 2026-07-24
1239
+
1240
+ README discoverability overhaul — ELI5 intro, always-visible skill lists with family counts, npm-safe workflow diagram (no mermaid), and a playful Tsumagoi Work&Camp invite. No skill/command behavior changes; counts unchanged.
1241
+
1242
+ ### Added
1243
+
1244
+ - **"Explain it like I'm five"** opener with a use-case table (*you say… → what kicks in*) and an ASCII workflow loop that renders on npm (replaces the mermaid block that showed as raw code).
1245
+ - **Skill families at a glance** table (counts + one-line blurb per family) plus a full always-visible skill table per family — no collapsed `<details>` you have to click open.
1246
+ - **Wanna code in the mountains?** — playful ad for [Tsumagoi Work&Camp](https://tsumagoi.kensaur.us) (1,444 m coworking camp) with live-site link + screenshot.
1247
+
1248
+ ### Changed
1249
+
1250
+ - README section order: inventory + full skill list sit **above** the long Quick Start installer details.
1251
+ - `scripts/generate-skill-index.mjs` emits markdown tables instead of collapsed details; warmer family headings.
1252
+ - Workflows section simplified to a stage cheat-sheet that points at the top loop diagram.
1253
+
1254
+ ---
1255
+
1256
+ ## [1.11.2] — 2026-07-24
1257
+
1258
+ Move the auto-generated skill index up so npm/GitHub visitors see every skill right after the inventory table — no 12-screen scroll past Workflows. No skill behavior changes.
1259
+
1260
+ ### Changed
1261
+
1262
+ - **README section order** — `Every skill, in plain English` now sits immediately after `What's Inside` (before `Workflows`), so the skill list is discoverable on the npm Readme tab without deep scrolling.
1263
+
1264
+ ---
1265
+
1266
+ ## [1.11.1] — 2026-07-24
1267
+
1268
+ README rewrite — the npm/GitHub landing page now lists every skill with a one-line summary, and the prose is warmer throughout. No skill, command, rule, or hook behavior changes; counts unchanged.
1269
+
1270
+ ### Added
1271
+
1272
+ - **Auto-generated skill index in README** — new "Every skill, in plain English" section lists all **121** installable skills (109 agent + 12 Cursor) grouped by family, each with a one-line summary pulled from that skill's `SKILL.md` frontmatter. Collapsed `<details>` groups keep the page scannable.
1273
+ - **`scripts/generate-skill-index.mjs`** — regenerates the README block between `<!-- SKILL-INDEX:START -->` / `END` markers. `npm run gen:skill-index` writes; `npm run check:skill-index` (wired into `npm test`) fails if the block drifts from the filesystem.
1274
+
1275
+ ### Changed
1276
+
1277
+ - **README tone** — benefit-first intro, shorter sentences, plain-English lead-ins before dense tables, and the giant Workflows "Assess" paragraph broken into scannable sub-bullets. FAQ grammar fix ("A installable" → "It's an installable").
1278
+
1279
+ ---
1280
+
1281
+ ## [1.11.0] — 2026-07-24
1282
+
1283
+ Payment system audit — a new read-only skill for the code that fails differently from normal CRUD: a retried charge is a **double-charge**, a lost ledger write is **vanished money**, a logged PAN is **PCI liability**, an unverified webhook is a **spoofed "payment succeeded"**. Grounded in the 2026 consensus (idempotency + double-entry ledger + reconciliation, with PCI DSS v4.0.1 as the floor and webhooks as the source of truth). Scope-gated so a Stripe-Checkout shop and an in-house gateway each see only relevant findings, and wired to the Stripe MCP for version-anchored provider checks.
1284
+
1285
+ ### Added
1286
+
1287
+ - **`audit-payment-system`** — read-only, scope-gated audit (**Skill 109**). Phase 0 detects the payment surfaces + provider and classifies the repo (**P0 merchant integrator / P1 platform-marketplace / P2 gateway-PSP-fintech**) so an in-house-ledger control is `N/A` (not "Missing") on a shop that offloads it to Stripe. Phase 2 marks each in-scope control **Implemented/Partial/Missing/N-A** with `file:line` across seven groups: **A** money-movement correctness (idempotency on every mutation + DB unique constraint, dedup/payload-guard, payment state machine / no double-capture, integer minor units, multi-currency+FX), **B** ledger & data integrity (double-entry balanced/sum-zero, append-only immutable, derived balance snapshots, auditability, date partitioning), **C** async & webhooks (sync-auth vs async-everything, HMAC verify, event-id dedup + 200-then-process, atomic state+ledger+outbox, pull-based recovery for stuck payments, refund/dispute/payout saga), **D** reconciliation & settlement (daily 3-way match ledger↔PSP↔bank, break report, discrepancy handling, halt-on-unreconciled brake), **E** fraud/risk/SCA (velocity/geo/device + rules/ML score, 3DS2/SCA + exemptions, fraud-service fail policy, chargeback/VAMP monitoring, AML), **F** PCI DSS v4.0.1 (never store/log PAN or CVV, tokens-only scope reduction, key rotation, access audit), **G** resilience (PSP/bank timeout + breaker, bulkhead, partial-write safety, graceful degradation). Detailed per-control detection in `skills/audit-payment-system/references/checklist.md`.
1288
+ - **Stripe MCP wiring** — when the PSP is Stripe, Phase 1 uses `search_stripe_documentation` for concepts/best-practice and `stripe_api_search` + `stripe_api_details` for exact API params, anchoring findings to the current API (PaymentIntents, not the legacy Charges API). Non-Stripe providers use `/research` against official docs.
1289
+
1290
+ ### Changed
1291
+
1292
+ - No severity below **Critical** for a double-charge, lost-money, or PAN-exposure finding. Read-only: payment code is a STOP-and-confirm surface, so findings feed a human-reviewed remediation rather than an unattended edit. Delegates without overlap — per-call resilience → `audit-resilience`, PCI/secrets → `audit-security`, ledger schema → `audit-db-schema`, outbox/saga structure → `audit-backend-architecture`. CATALOG, TRIGGER-CHEATSHEET, README, and `skill-workflows.mdc` updated; skill count 108 → 109.
1293
+
1294
+ ---
1295
+
1296
+ ## [1.10.0] — 2026-07-24
1297
+
1298
+ Decision lens for `audit-backend-architecture` — v1.9.0 answered *"is pattern X present?"* (conformance). This turns it into a **decision advisor** that answers *"which pattern should this codebase adopt next, and which would be over-engineering right now?"* — grounded in the 2026 "start simple, earn every pattern / modular-monolith-first" consensus. No new skill; the existing audit gets a second lens plus three patterns it was missing.
1299
+
1300
+ ### Added
1301
+
1302
+ - **Fit/decision lens (Phase 3)** in `audit-backend-architecture` — for each pattern, classify **Adopt now / Adopt when [trigger] / Defer (premature)** from detected symptoms, with a **maturity ladder** (Stage 0 modular monolith → cache-aside/outbox → async/BFF/CQRS → db-per-service/saga → mesh/cell-based, each gated by a trigger) and a **symptom→pattern decision table**. Over-engineering is now a first-class finding (CQRS without read/write divergence, mesh/microservices below the size threshold, distributed monolith).
1303
+ - **Core principle — "start simple, earn every pattern"** — modular-monolith-first default; a pattern is only "Missing" when a measurable trigger justifies its cost; decide sync-vs-async **per interaction**; distributed monolith flagged as worse than a monolith.
1304
+ - **Three patterns added** (audit rows #17–19 + detection in `references/patterns.md`): **communication style** (sync request/response vs async event-driven, per interaction, with a signal table), **cache-aside** (TTL + invalidation + stampede guard), **database-per-service / data ownership** (+ distributed-monolith anti-pattern).
1305
+ - **`backend-patterns/references/architecture-patterns.md`** — implementation for the three: sync-vs-async decision tree + hybrid/outbox example, cache-aside read+invalidate, and data-ownership (owned schemas at T1, split only under real pressure).
1306
+
1307
+ ### Changed
1308
+
1309
+ - Report template gains **Adopt now / Adopt when / Defer** sections (renumbered to Phase 4). `audit-backend-architecture` description, CATALOG, TRIGGER-CHEATSHEET, README, and `skill-workflows.mdc` now surface the decision lens ("which pattern should I use", "am I over-engineering", "sync vs event-driven"). Skill/command/agent **counts unchanged** (enhancement, not a new skill).
1310
+
1311
+ ---
1312
+
1313
+ ## [1.9.0] — 2026-07-24
1314
+
1315
+ Backend architecture audit — a new read-only skill that checks a repo's **distributed-systems architecture** (not just per-call resilience), plus an implementation reference so the fixes it delegates actually exist. Answers "is my backend production-grade?" for the patterns agents systematically skip: API gateway, BFF, outbox, saga, bulkhead, hexagonal, service mesh, and more. Topology-gated so a Next.js/Supabase monolith and a Kubernetes fleet each see only relevant findings.
1316
+
1317
+ ### Added
1318
+
1319
+ - **`audit-backend-architecture`** — read-only, topology-gated audit (**Skill 108**). Phase 0 classifies the repo into a tier (T1 serverless/monolith → T2 containers → T3 k8s/microservices/event-driven), then marks each in-scope pattern **Implemented/Partial/Missing/N-A** with `file:line`: **API gateway** (auth, rate-limit, CORS, transform, logging, monitoring, caching), **BFF / API composition / GraphQL federation**, **circuit breaker**, **bulkhead**, **backpressure/load-shedding**, **outbox + CDC** (the dual-write fix), **saga** (orchestration/choreography + compensation + saga-pivot), **CQRS + event sourcing**, **hexagonal / ports-and-adapters**, **anti-corruption layer**, **strangler-fig migration**, **sidecar / service mesh** (incl. ambient/sidecarless), **cell-based architecture**, **zero-trust/mTLS**, **distributed tracing + SLOs**, and **contract testing**. Detailed per-pattern detection lives in `skills/audit-backend-architecture/references/patterns.md`.
1320
+ - **`skills/backend-patterns/references/architecture-patterns.md`** — implementation guidance + code for the patterns the audit flags (gateway centralization, BFF, bulkhead, circuit-breaker placement, outbox+relay/CDC, saga with the saga-pivot rule, hexagonal/ports-and-adapters, anti-corruption layer, strangler-fig), plus a "when NOT to reach for these" section.
1321
+
1322
+ ### Changed
1323
+
1324
+ - **`audit-resilience` boundary kept clean** — the new architecture audit checks whether *patterns* exist (structural); per-call runtime tuning (timeouts, retry backoff+jitter, idempotency keys, cancellation) still belongs to `audit-resilience`, which the new skill explicitly defers to instead of duplicating.
1325
+ - **`backend-patterns`** — description gains triggers ("circuit breaker", "outbox pattern", "saga", "bulkhead", "hexagonal architecture", "API gateway", "BFF") and a new "Architecture patterns (distributed systems)" section pointing to the reference; pairs with `audit-backend-architecture`.
1326
+ - **Routing/docs** — added to `skill-workflows.mdc` (repo + `.cursor`), `docs/CATALOG.md`, `docs/TRIGGER-CHEATSHEET.md`, and `README.md` (Assess stage, use-case table). Counts synced to **108 skills**.
1327
+
1328
+ ---
1329
+
1330
+ ## [1.8.3] — 2026-07-23
1331
+
1332
+ Command-collision fix — three of our slash commands shared names with Claude Code's own commands. Because Claude Code 2.x **merges `commands/` into the skill namespace**, a file at `commands/<x>.md` creates `/<x>`: when `<x>` matches a built-in it shows a **duplicate**, and when it matches a bundled skill our file **silently overrides** Claude's. Renamed all three and added a CI guard so it can't regress. No other skill, command, rule, or hook behavior changes; command **counts are unchanged**.
1333
+
1334
+ ### Changed
1335
+
1336
+ - **`/mcp` → `/mcp-guide`** — was duplicating Claude Code's built-in `/mcp` (the MCP server manager). Renamed `commands/mcp.md` → `commands/mcp-guide.md`.
1337
+ - **`/review` → `/review-code`** — was duplicating Claude Code's built-in `/review`. Renamed `commands/review.md` → `commands/review-code.md` (still delegates to `audit-code-review`).
1338
+ - **`/debug` → `/debug-issue`** — was overriding Claude Code's bundled `/debug`. Renamed `commands/debug.md` → `commands/debug-issue.md` (still delegates to `debug-error`).
1339
+ - **`README.md` + `docs/CATALOG.md`** — command tables updated to the new names with a note on why each was renamed.
1340
+
1341
+ ### Added
1342
+
1343
+ - **CI guard** in `scripts/validate-skills.mjs` — fails `npm test` if any `commands/*.md` name collides with a known Claude Code built-in command or bundled skill, so future commands can't reintroduce a duplicate/override.
1344
+
1345
+ > **Upgrade note:** the natural-language triggers are unchanged (say "debug this", "review my PR", etc. and the underlying skill still fires). Only the explicit slash aliases changed: use `/mcp-guide`, `/review-code`, `/debug-issue`. After updating, **restart Claude Code** — it live-watches skill directories but not `commands/`, so newly added or renamed command files only register on the next session start.
1346
+
1347
+ ---
1348
+
1349
+ ## [1.8.2] — 2026-07-23
1350
+
1351
+ Documentation-skill release — teach the skills to write the way the 1.8.1 README now reads. Bakes the reader-first, plain-language 5W1H approach into the documentation-authoring skills themselves, so every doc they produce orients a newcomer before diving into reference detail. No other skill, command, rule, or hook behavior changes.
1352
+
1353
+ ### Changed
1354
+
1355
+ - **`docs-writer`** — new **"Core principle — write for the reader's mental model first"** section with a 5W1H table (what/why/who/how/when·where → how to answer each) and the rules that follow (lead with the goal not the implementation, progressive disclosure, beat the curse of knowledge, show-don't-tell). Adds a **"Newcomer on-ramp"** section demonstrating the 3-column plain-language building-blocks glossary, a **"Kill the Jargon"** guideline (plain-first, precise-second), an upgraded README template (plain tagline + why/who + glossary hint), and two new README-checklist items (first-screen what/why/who; jargon defined or glossed).
1356
+ - **`enhance-readme`** — previously visual-only; adds **"The words matter as much as the pixels"** coupling the hero/screenshot work to `docs-writer`'s principle, defines the ideal first-screen order (name+tagline → hero → why/who → first-win → depth), adds why/who to the hero template, and adds a stop-condition that the first screen must answer what/why/who in plain language.
1357
+ - **`docs-coauthor`** — adds a guiding-principle line: orient the reader (what/why/who) from the first sentence, not just at the Reader-Testing stage; points to the canonical `docs-writer` rule.
1358
+
1359
+ Kept DRY: the full principle lives in `docs-writer`; the other two reference it. `plan-docs-sync` (a drift *audit*, not an authoring skill) intentionally unchanged.
1360
+
1361
+ ---
1362
+
1363
+ ## [1.8.1] — 2026-07-23
1364
+
1365
+ Documentation-clarity release — same skills, friendlier front door. Rewrites the released-page surfaces (README on npm/GitHub, `llms.txt` for AI crawlers, the Cursor plugin manifest, directory listing copy) so a non-technical newcomer can answer *what / who / why / how* before hitting the counts and taxonomy. No skill, command, rule, or hook behavior changes.
1366
+
1367
+ ### Changed
1368
+
1369
+ - **README newcomer on-ramp** — adds a plain-English hero line, a "New to AI skills?" primer, a "Who it's for" callout, and a five-row **building-blocks glossary** (Skill / Command / Subagent / Rule / MCP server → plain meaning + how you trigger each) directly under the intro, while preserving the full developer depth below.
1370
+ - **`llms.txt`** — leads with the plain value proposition (ready-made playbooks your editor auto-triggers) before the inventory, improving how AI answer-engines and directory crawlers summarize the project.
1371
+ - **`.cursor-plugin/plugin.json`** — benefit-first description for the Cursor marketplace / directory listings.
1372
+ - **`docs/CATALOG.md`** — skill-taxonomy table gains a lifecycle **Stage** column and a `plan-`/`housekeep-` row, with a newcomer pointer to the Getting Started guide.
1373
+ - **`docs/GETTING-STARTED.md`** — plain-language example rows for the v1.8.0 skills (motion, forms, design consolidation, guardrails, resilience).
1374
+ - **`docs/TRIGGER-CHEATSHEET.md`** & **`docs/PROMOTION.md`** — first-time-reader pointer and benefit-first listing copy.
1375
+
1376
+ ---
1377
+
1378
+ ## [1.8.0] — 2026-07-23
1379
+
1380
+ Design, motion, forms, and anti-vibe-coding release. Adds six skills that fill the loop's remaining gaps — full-stack parity (`audit-realworld`), production resilience (`audit-resilience`), coherent motion on an existing system (`enhance-motion`), design-system consolidation to one SSOT (`housekeep-design`), production-quality forms (`enhance-web-forms`), and guardrails-as-code against AI regressions (`enhance-agent-guardrails`). README gains a "mental model" section teaching how the families chain against each other, a by-use-case entry table, and lifecycle-stage tags. Skills 100 → 106.
1381
+
1382
+ ### Added
1383
+
1384
+ - **`audit-realworld` skill** — read-only full-stack gap audit that benchmarks a repo against the [RealWorld](https://github.com/realworld-apps/realworld) ("Conduit") reference: its formal API spec, shared Bruno/Hurl E2E contract suite, and closest-stack reference implementation. Auto-detects strict spec **Conformance** (repo is a RealWorld build) vs **Benchmark** (maps RealWorld's production-relevant patterns onto the repo's own domain), and bows out cleanly on non-CRUD/non-web repos. Reports Implemented/Partial/Missing/Diverges across frontend, backend, and data layer with `file:line` evidence, then delegates real production hardening to `audit-security` / `plan-security-audit` / `plan-perf-audit` / `plan-rls-audit` / `full-stack-ship-discipline` — RealWorld is treated as a completeness/pattern reference, never a production bar. Wired into the Audits routing table, `docs/CATALOG.md`, and `docs/TRIGGER-CHEATSHEET.md`. Skills 100 → 101.
1385
+ - **`enhance-motion` skill** — audits an existing app's design system and current motion, then applies coherent, `prefers-reduced-motion`-safe, 60fps motion using a right-sized 2026 stack (tw-animate-css for CSS utility transitions, Auto-Animate for zero-config list/layout changes, Motion/motion.dev for component transitions·gestures·presence, GSAP only for complex timelines), with Kinetics as a pattern source. Defines a motion-token SSOT so timing/easing stops fragmenting. Distinct from `design-motion` (from-scratch cookbook); applies changes and verifies via browser MCP.
1386
+ - **`housekeep-design` skill** — consolidates a design system that has drifted across many vibe-coding sessions and dev handoffs into one source of truth. Detects competing tokens, duplicate components, naming drift, mixed icon libraries, and arbitrary values; reconciles each conflict to a best-of-both canonical form; migrates usages via mechanical codemod (pairs with `burndown-full`); and installs lint guardrails so drift can't recur. Establishes a 3-layer W3C token taxonomy (primitive → semantic → component). The execution arm of `plan-uiux-unification`; the design counterpart of `workflow-housekeep`.
1387
+ - **`enhance-web-forms` skill** — builds/upgrades web forms to production quality: accessible structure (labels, fieldsets, autocomplete, input types), schema-driven validation with client↔server parity, screen-reader-associated inline errors, complete interaction states (loading/disabled/success/error/empty), multi-step flows, unsaved-changes guards, and optimistic submit feedback. Auto-detects the form + validation stack; applies changes and verifies via browser MCP.
1388
+ - **`enhance-agent-guardrails` skill** — installs guardrails-as-code so AI/vibe-coding can't keep reintroducing the same problem classes (leaked secrets, injection, off-system styles, untested code, vulnerable deps, destructive ops). Audits existing protection, then sets up agent policy files (`.cursor/rules` + `AGENTS.md`), a pre-commit hook (secret scan + SAST + lint/typecheck), a CI gate that treats agent output as untrusted, and lint-as-policy rules. Verifies the guards block a planted bad pattern; flags merge-blocking CI changes for human review. Grounded in 2026 research on AI-generated-code security debt.
1389
+ - **`audit-resilience` skill** — read-only audit for the non-functional "20%" agents systematically skip (the "80% problem"): timeouts, retries with backoff+jitter, circuit breakers, idempotency keys, rate limiting, graceful degradation, cancellation, audit logging, and PII handling in logs. Inventories every external call, mutation, webhook, and payment path and marks each concern Implemented/Partial/Missing with `file:line`, severity, and the exact fix skill; delegates remediation to `backend-error-handling` / `backend-patterns` / `backend-observability` / `plan-*`.
1390
+
1391
+ All six new skills wired into both `skill-workflows.mdc` routing copies, `docs/CATALOG.md`, and `docs/TRIGGER-CHEATSHEET.md`. Skills 100 → 106.
1392
+
1393
+ ### Changed
1394
+
1395
+ - **README mental-model rewrite** — the Workflows section now opens with a "how the families work against each other" lifecycle diagram (Orient → Assess → Change → Prove → Ship & operate, with always-on Guardrails), a "Start here — by use case" entry table that chains the new skills, and lifecycle-**stage** tags added to the skill-taxonomy table (Assess / Change / Prove / Ship / Operate / Guardrail). Teaches composition, not just the flat skill list.
1396
+
1397
+ ---
1398
+
1399
+ ## [1.7.0] — 2026-07-21
1400
+
1401
+ Completion-loop release — close the gaps where agents stop early, declare false "done", or leave documented capabilities unwired. Adds an enforcement layer (evidence rule + independent judge + opt-in continuation hook), five closure/ops workflow skills, and repairs every known broken internal reference. Skills 95 → 100, commands 16 → 36, subagents held at 6.
1402
+
1403
+ ### Added
1404
+
1405
+ - **`complete-everything`** skill + **`/complete-everything`** command — close unfinished plan intent and connected work previously parked as out of scope/follow-up/optional, persist observable acceptance evidence in `.cursor/complete-everything-state.md`, and loop the applicable typecheck/lint/test/API/build/browser gates until complete
1406
+ - **`completion-judge` subagent** — independently reconciles the approved outcome, durable state, full diff, baseline, and fresh evidence before returning `PASS`, `CONTINUE`, or `BLOCKED`
1407
+ - **`verification-before-completion` rule** — defines evidence-backed completion levels from implemented through observed-stable and forbids claims above the proven level
1408
+ - **Opt-in Cursor completion hook** — continues only actionable unchecked `complete-everything`/`burndown-full` state; safely merges into existing user hooks and remains inert for completed, errored, or human-gate-only runs
1409
+ - **Closure-loop workflow skills + commands** — `workflow-green-repo` (`/green-repo`) drives the whole repository to a verified-green baseline; `workflow-ship-and-observe` (`/ship-and-observe`) takes merged code to a monitored production release with a live-revision check and rollback tail; `workflow-feedback-to-closure` (`/feedback-to-closure`) turns raw feedback into deduplicated durable tickets driven to production-verified closure
1410
+ - **`workflow-environment-ready`** skill — preflights the toolchain, services, and config before a long autonomous run so it does not fail at the finish line on a missing dependency or credential
1411
+ - **`iterate-agent-harness`** skill — converts an agent failure (premature stop, false done, reward-hacked check, broken handoff) into a durable harness guard plus a regression check that fails before the fix
1412
+ - **17 `plan-*` pointer commands** — `/uiux-plan`, `/security-plan`, `/rls-plan`, `/secrets-plan`, `/validation-plan`, `/integrity-plan`, `/error-plan`, `/deps-plan`, `/cost-plan`, `/aeo-plan`, `/mobile-plan`, `/capacitor-plan`, `/stub-plan`, `/perf-plan`, `/docs-plan`, `/test-plan`, `/slop-plan` — thin audit-and-plan entries the docs previously referenced but shipped no file for
1413
+
1414
+ ### Changed
1415
+
1416
+ - **Composer execution precedence** — normal plan runs still stop at phase boundaries; explicit closure modes persist the checkpoint and continue. Approved non-destructive schema work on a confirmed target now follows full-stack deployment discipline without a contradictory permission stop.
1417
+ - **Count synchronization** — skill, command, and subagent totals are all derived from the filesystem.
1418
+
1419
+ ### Fixed
1420
+
1421
+ - **Broken internal skill references** — repaired a doubled `workflow-spec-workflow-spec-tdd` link in four skills, a wrong `references/` path in `workflow-spec-tdd`, dead `mushi-debug` links in `mushi-health`/`mushi-integration` (now the mushi MCP `diagnose_setup` tool), and non-existent `../start-emulator`/`../test-emulator` links in `mobile-rn-screen`. A from-scratch relative-link scan now resolves clean.
1422
+
1423
+ ## [1.6.0] — 2026-07-18
1424
+
1425
+ Universal installer — cursor-kenji now installs to every supported AI coding tool, mapping to what each tool actually loads. Skills-capable tools (Cursor, Claude Code) get the full skills + commands + agents + rules set; context-file tools (Codex CLI, Gemini CLI) get the rules merged into their global instructions file plus portable command ports. Skill count held at 94.
1426
+
1427
+ ### Added
1428
+ - **`--auto` detection** — probes `~/.cursor`, `~/.claude`, `~/.codex`, `~/.gemini` and installs the right artifacts to each installed tool (falls back to Cursor if none are found).
1429
+ - **Codex CLI support (`--codex`)** — merges `rules/` into `~/.codex/AGENTS.md` (auto-loaded) and ports `plan`/`research`/`fix-issue` to `~/.codex/prompts/*.md`.
1430
+ - **Gemini CLI support (`--gemini`)** — merges `rules/` into `~/.gemini/GEMINI.md` (auto-loaded) and ports the same commands to `~/.gemini/commands/*.toml`.
1431
+ - **`commands-portable/`** — new single source of truth for the three tool-agnostic playbooks the installer transforms per tool.
1432
+ - Install smoke test now exercises the Codex/Gemini paths (merged-rules content, command ports, TOML shape, idempotency, `--auto` detection).
1433
+
1434
+ ### Changed
1435
+ - **`--all` now targets all four supported tools** (was Cursor + Claude Code). A bare `npx @kensaurus/cursor-kenji` stays Cursor-only for backward compatibility.
1436
+ - The rules merge deliberately omits the skill-routing index (`skill-workflows.mdc`) — the context-file tools have no skills loader, so it would be dead text. Skills and subagents are not written to Codex/Gemini for the same reason.
1437
+ - Generated context files are idempotent (byte-identical on re-run) and backed up (`.bak-<stamp>`) before any overwrite.
1438
+ - `install.sh` gains `--auto`/`--codex`/`--gemini`/`--all`; Codex/Gemini delegate to the Node installer so the merge/port logic has one source of truth.
1439
+
1440
+ ## [1.5.1] — 2026-07-18
1441
+
1442
+ Prompt-engineering quality pass from `docs/PLAN-SKILL-PACK-ENHANCEMENT.md` (Phases 3–5). No new skills; skill count held at 94. Dual-runtime (Cursor + Claude Code) portability, staleness, and licensing hygiene.
1443
+
1444
+ ### Changed
1445
+ - **Dual-runtime portability** — skills now refer to each other by bare name (no path assumptions), and MCP calls use portable `ServerName:tool_name` prose instead of runtime-specific fenced tool blocks.
1446
+ - **Command frontmatter** — added `description` + `argument-hint` to 14 slash commands for discoverability.
1447
+ - **Progressive disclosure** — relocated bulk inline content to `references/` in `workflow-housekeep`, `backend-realtime`, and `deploy-npm` (`references/example-mushi-mushi.md`); trimmed oversized `plan-*` descriptions and rewrote thin ones to the house standard.
1448
+ - **Descriptive prose over pseudo-tools** — `audit-ux` and `audit-security` reframe `Glob`/`Grep` fenced blocks (which read as executable calls) as plain guidance.
1449
+
1450
+ ### Fixed
1451
+ - **Stale model IDs** — refreshed illustrative model references in `audit-langfuse-llm` to current-generation IDs.
1452
+ - **Hardcoded counts** — decoupled the style-catalog count from the always-on `thirdparty-ui-ux-pro-max` description.
1453
+ - **License attribution** — pinned verified upstream MIT licenses (with copyright holders) in `thirdparty-emil-design-eng` and `thirdparty-web-interface-guidelines` `ATTRIBUTION.md`, replacing "See upstream repository" placeholders.
1454
+
1455
+ ## [1.5.0] — 2026-07-18
1456
+
1457
+ ### Added
1458
+
1459
+ - **npm installer: Claude Code target** — `npx @kensaurus/cursor-kenji --claude` (Claude Code only) and `--all` (Cursor + Claude Code) install skills, commands, agents, and rules to `~/.claude/` with `.mdc` rules converted to `.md`. One-click on any OS, no clone needed. New `npm run install:claude` / `install:all` scripts.
1460
+ - **install.sh: Claude Code commands** — `~/.claude/commands/` now installed alongside skills/agents/rules.
1461
+ - **`docs/PLAN-SKILL-PACK-ENHANCEMENT.md`** — full prompt-engineering audit of all 94 skills + 15 commands with a phased enhancement burndown (token usage, progressive disclosure, dual-runtime portability, description standards).
1462
+ - **Third-party UI skills** (Jun 2026) — `thirdparty-emil-design-eng`, `thirdparty-ui-ux-pro-max`, `thirdparty-web-interface-guidelines` with `ATTRIBUTION.md`, `docs/THIRD-PARTY-SKILLS.md`, and `/thirdparty-web-interface-guidelines` command
1463
+ - **`burndown-full`** skill + **`/burndown-full`** command — drive partially-executed refactors/migrations to 100% repo coverage via MATCH/DONE patterns, persistent `.cursor/burndown-state.md`, batched execution, and a verification gate (framework-agnostic; works in Cursor and Claude Code)
1464
+
1465
+ ### Fixed
1466
+
1467
+ - **Sentry MCP calls** — `naturalLanguageQuery` → `query` across 15 skill files (matches current Sentry MCP `search_issues`/`search_events` signature).
1468
+ - **`mobile-emulator-start`** — display default corrected to `1080×2400`; `1080×4000` is now opt-in for scroll-QA with a matching tall skin.
1469
+ - **`test-red-team`** — description trimmed under the Agent Skills 1024-char frontmatter limit.
1470
+ - **`design-mobile-first`** — repaired garbled self-referential description.
1471
+ - **`enhance-web-landing`** — H1 renamed to match the skill (internal codename removed).
1472
+ - **Privacy/staleness** — private project names removed from `test-qa` and `data-pipeline`; unverifiable CVE numbers and named-incident claims replaced with hedged failure-class descriptions in `plan-input-validation`, `plan-rls-audit`, `plan-data-integrity`, `plan-llm-cost-guardrails`, `plan-secrets-audit`.
1473
+ - **install.sh** — removed duplicated "Installed N skills" log line.
1474
+
1475
+ ---
1476
+
1477
+ ## [1.4.2] — 2026-06-24
1478
+
1479
+ ### Fixed
1480
+
1481
+ - **npm tarball** — `.mcp.json` included in published package (Cursor Marketplace MCP reference)
1482
+ - **MCP essential 5** — aligned `mcp/mcp.json.template`, `.mcp.json`, and docs on Playwright (was Chrome DevTools in template)
1483
+
1484
+ ### Changed
1485
+
1486
+ - **Anti-slop pass** — skill YAML descriptions, subagent frontmatter, README badges, CATALOG/PROMOTION/GETTING-STARTED copy
1487
+ - **`docs/DISTRIBUTION.md`** — install channel matrix (Cursor vs Claude Code vs Marketplace)
1488
+ - **README** — Claude Code labeled bash-only; shell helpers table expanded; project rules count clarified
1489
+ - **`package.json`** — removed `prepare` git-hooks side effect on consumer `npm install`
1490
+ - **`.gitignore`** — `*.log`, `*.bak`, `*.old`, `*.tmp`
1491
+
1492
+ ---
1493
+
1494
+ ## [1.4.1] — 2026-06-23
1495
+
1496
+ ### Fixed
1497
+
1498
+ - **`package.json` bin** — `cursor-kenji` → `bin/install.mjs` (npm publish no longer strips the bin entry)
1499
+ - **`repository.url`** — normalized to `git+https://github.com/kensaurus/cursor-kenji.git`
1500
+
1501
+ ### Changed
1502
+
1503
+ - **npm OIDC Trusted Publisher** configured (`kensaurus/cursor-kenji` · workflow `npm-publish.yml`)
1504
+ - **CI publish** — OIDC-first; `NPM_TOKEN` only used when the secret is set
1505
+
1506
+ ---
1507
+
1508
+ ## [1.4.0] — 2026-06-23
1509
+
1510
+ ### Added
1511
+
1512
+ - **`llms.txt`** — machine-readable doc index for answer-engine / AI crawler discoverability
1513
+ - **`SECURITY.md`** — MCP secrets hygiene, OIDC-first publish guidance, zero-dep policy
1514
+ - **`scripts/scan-secrets.mjs`** — pre-commit secret pattern scanner (zero-deps)
1515
+ - **`scripts/check-mcp-pins.mjs`** + **`mcp/pinned-versions.json`** + **`mcp/VERSIONS.md`** — semver-pinned MCP templates
1516
+ - **README FAQ** — install, skill count, audit vs plan, MCP keys, llms.txt
1517
+
1518
+ ### Changed
1519
+
1520
+ - **MCP templates** — all `@latest` removed; npm + uvx packages pinned; AWS servers migrated to valid PyPI names (`lambda-tool`, `aws-api`, unified `cloudwatch-mcp`)
1521
+ - **Pre-commit** — runs secret scan before skill validation
1522
+ - **`npm test`** — includes secret self-test + MCP pin check
1523
+ - **`docs/PROMOTION.md`** — OIDC-first npm publish; launch copy skill count 90
1524
+
1525
+ ---
1526
+
1527
+ ## [1.3.0] — 2026-06-23
1528
+
1529
+ ### Added
1530
+
1531
+ - **Eleven new `plan-*` skills** — security spine, launch gates, antislop, Capacitor hardening, observability/spend (`plan-rls-audit` through `plan-capacitor-hardening`)
1532
+ - **`docs/AGENTS.template.md`** — project constitution (mission / stack / roadmap / agent discipline)
1533
+ - **`docs/examples/plan-audits/`** — sample plan burndown outputs; root `/plan-*.md` gitignored
1534
+
1535
+ ### Changed
1536
+
1537
+ - **README** de-duplicated (~340 lines); CATALOG canonical; skill count **90** (17 plan-*)
1538
+ - **`check-skill-count.mjs`** syncs README, CATALOG, PROMOTION, package.json
1539
+ - **Pre-commit hook** re-stages all count-sync files on drift
1540
+ - **`create-skill`** body split — detail in `references/authoring-guide.md` (<500 lines)
1541
+
1542
+ ---
1543
+
1544
+ ## [1.2.7] — 2026-06-17
1545
+
1546
+ ### Added
1547
+
1548
+ - **`composer-2.5-execution.mdc`** rule (`alwaysApply: true`) — execution-time guardrails for Composer 2.5 when implementing an approved `plan-*.md`: anti-reward-hacking, anti-feature-deletion, checkpointing, context + terminal discipline, STOP-and-ask on auth/RLS/secrets/payments/migrations
1549
+ - Documents the two-model workflow (strong model plans, Composer 2.5 executes) in README and `docs/PLAN-LOOPS.md`
1550
+
1551
+ ### Changed
1552
+
1553
+ - Project rules count: 8 → **9**
1554
+
1555
+ ---
1556
+
1557
+ ## [1.2.6] — 2026-06-17
1558
+
1559
+ ### Added
1560
+
1561
+ - **`plan-test-coverage`** — user-story-driven coverage audit, traceability matrix, fake-green detection (plan only)
1562
+ - **`docs/PLAN-LOOPS.md`** — six-skill plan loop: link, chain, prompts, execution mapping
1563
+
1564
+ ### Changed
1565
+
1566
+ - Six-skill plan loop (was five): adds `plan-test-coverage` after stub-checker, before perf/security
1567
+
1568
+ ---
1569
+
1570
+ ## [1.2.5] — 2026-06-17
1571
+
1572
+ ### Added
1573
+
1574
+ - **`plan-docs-sync`** — docs drift audit vs code truth; onboarding-drift checks; docs-as-code guardrails (plan only)
1575
+ - **`plan-perf-audit`** — measure-don't-guess perf audit across web/mobile/backend/data; Lighthouse CI + RUM guardrails (plan only)
1576
+ - **`plan-security-audit`** — OWASP + Supabase-first (RLS, service_role scan); no destructive testing; secrets location-only (plan only)
1577
+ - Five-skill plan loop documented in `skill-workflows` and CATALOG
1578
+
1579
+ ---
1580
+
1581
+ ## [1.2.4] — 2026-06-17
1582
+
1583
+ ### Added
1584
+
1585
+ - **`plan-stub-checker`** — exhaustive stub/dead-button/fake-component/unwired-handler audit with burndown and phased wiring plan (plan only; no implementation until user approves)
1586
+
1587
+ ---
1588
+
1589
+ ## [1.2.3] — 2026-06-16
1590
+
1591
+ ### Added
1592
+
1593
+ - **`plan-uiux-unification`** — exhaustive non-destructive UI/UX + design-system audit that outputs burndown, unification plan, and phased roadmap (plan only; no fixes until user approves)
1594
+
1595
+ ---
1596
+
1597
+ ## [1.2.2] — 2026-06-16
1598
+
1599
+ ### Changed
1600
+
1601
+ - **Playwright test skills:** shared signed-in session reuse (Google OAuth, etc.) and multi-agent tab discipline — no fighting over the same browser tab
1602
+ - New reference: `protocol-browser-anti-stall/references/playwright-session-coordination.md`
1603
+ - Updated: `test-playwright`, `test-qa`, `test-red-team`, `protocol-browser-anti-stall`
1604
+
1605
+ ---
1606
+
1607
+ ## [1.2.1] — 2026-06-12
1608
+
1609
+ ### Fixed
1610
+
1611
+ - npm CI publish: use OIDC trusted publishing (remove empty `NPM_TOKEN` that blocked auth)
1612
+
1613
+ ---
1614
+
1615
+ ## [1.2.0] — 2026-06-12
1616
+
1617
+ ### Added (13 skills since v1.1.0)
1618
+
1619
+ - **Red team & quality:** `test-red-team`, `workflow-quality-gate`
1620
+ - **Post-launch & shipping:** `iterate-post-launch`, `workflow-launch-ready`, `workflow-feature-flag`
1621
+ - **Enhance & audit:** `enhance-web-seo`, `enhance-pwa`, `audit-bundle-size`, `audit-i18n`, `design-email`
1622
+ - **Bundled workflows:** `workflow-build-feature`, `workflow-fix-and-ship`, `workflow-onboard`
1623
+ - **Routing rule:** `rules/skill-workflows.mdc` — capabilities catalog with skill-chaining diagram
1624
+
1625
+ ### Changed
1626
+
1627
+ - Skill count: 60 → **73**
1628
+ - `test-red-team` trimmed to stay under 500-line spec limit
1629
+ - `.gitignore`: ignore `.playwright-mcp/` and `.qa-screenshots/` scratch artifacts
1630
+
1631
+ ### Install
1632
+
1633
+ ```bash
1634
+ npx skills add kensaurus/cursor-kenji
1635
+ # or
1636
+ npx @kensaurus/cursor-kenji@1.2.0
1637
+ ```
1638
+
1639
+ ---
1640
+
1641
+ ## Jun 2026 — Bundled Workflows, Gap-Filling, & Verbosity Trim
1642
+
1643
+ ### New Bundled Workflow Skills
1644
+
1645
+ Orchestrator skills that chain multiple individual skills into a single tracked loop. Inspired by community patterns from `darthlinuxer/Agentic-Skills`, `kscius/KS-Cursor-Orchestrator`, and the Anthropic agent skills ecosystem.
1646
+
1647
+ | Skill | What it chains |
1648
+ |:------|:--------------|
1649
+ | `workflow-build-feature` | spec → TDD → unit tests → smoke test → PR |
1650
+ | `workflow-fix-and-ship` | debug → root cause → fix → regression test → smoke → PR → deploy |
1651
+ | `workflow-quality-gate` | red-team → security → bundle → perf → unit tests → go/no-go verdict |
1652
+ | `workflow-launch-ready` | SEO + PWA + bundle + i18n + quality gate + deploy smoke + iterate |
1653
+ | `workflow-onboard` | First-contact orientation — reads codebase, produces 5-minute briefing |
1654
+
1655
+ ### New `.cursor/rules/skill-workflows.mdc`
1656
+
1657
+ Always-on routing index that routes intent to bundled workflows vs individual skills, with a full skill-chaining diagram. Reduces the cognitive load of "which skill do I use?" to a single lookup.
1658
+
1659
+ ### Improvements
1660
+
1661
+ - `test-red-team` trimmed from 515 → 417 lines: security priority table replaced verbose prose sections; Playwright quick-ref removed (already in platform docs).
1662
+
1663
+ ---
1664
+
1665
+ ## Jun 2026 — Post-Launch Iteration & Shipping-Quality Skills
1666
+
1667
+ ### New Skills
1668
+
1669
+ | Skill | Why |
1670
+ |:------|:----|
1671
+ | `iterate-post-launch` | Closes the post-ship improvement loop — pulls Sentry errors, Supabase slow-query advisors, and live Playwright walkthrough into a ranked backlog, implements fixes, and verifies them against the live app. |
1672
+ | `enhance-web-seo` | Audits and fixes SEO for any web app: meta tags, OG/Twitter cards, JSON-LD structured data, robots.txt, sitemap, canonical URLs, heading hierarchy, Core Web Vitals. Applies fixes and verifies with Playwright. |
1673
+ | `audit-bundle-size` | Finds and eliminates JS bundle bloat: detects bundler (Vite/Webpack/Next.js), runs production build with analysis, identifies large chunks/duplicate deps/missing lazy splits, and maps every finding to a specific import. |
1674
+ | `enhance-pwa` | Adds or upgrades PWA features: Web App Manifest, Workbox service worker with per-asset caching strategies, install prompt, push notifications, offline page. Capacitor-compatible. Lighthouse PWA audit before/after. |
1675
+ | `workflow-feature-flag` | Feature-flag rollout discipline: design flag contract, gate the feature, stage at 0%→internal→5%→100%, monitor Sentry error rate and Supabase logs at each stage, promote or roll back, then clean up the flag from code. |
1676
+ | `audit-i18n` | i18n audit with emphasis on **human-readable, natural-sounding copy** — not machine-translated jargon. Finds hardcoded strings, checks translation completeness, rewrites stiff/literal copy to sound like a real person in each locale, fixes date/number/currency formatting. |
1677
+ | `design-email` | Full-stack transactional email: React Email templates with dark mode, mobile-first layout, inline styles, and copy that sounds like a person wrote it. Covers SPF/DKIM/DMARC deliverability, Resend/SendGrid/SES integration, and Supabase Edge Function triggers. |
1678
+
1679
+ ---
1680
+
1681
+ ## Jun 2026 — Adversarial Red-Team Skill
1682
+
1683
+ ### New Skills
1684
+
1685
+ | Skill | Why |
1686
+ |:------|:----|
1687
+ | `test-red-team` | Adversarial full-app sweep — feature-first coverage matrix (feature → surfaces → components+states) attacked across 4 dimensions: UI/UX, data pipeline, security (OWASP Top 10 + MASVS), and performance. Drives Playwright browser MCP for web/PWA, Playwright Android WebView attach for Capacitor hybrid apps, and adb tap-walk for native chrome. Cross-references Sentry for production telemetry, Supabase for DB-layer truth and RLS verification, and Firecrawl for current OWASP/MASVS guidance. Produces a severity-ranked defect list with repro steps, evidence, and launch-readiness verdict. Ships with a `references/owasp-attack-checklist.md` payload library covering XSS, SQLi, IDOR, MASVS-PLATFORM, auth attacks, and 2026 performance thresholds. |
1688
+
1689
+ ---
1690
+
1691
+ ## Jun 2026 — Installer hardening + spec compliance
1692
+
1693
+ ### Installer (`bin/install.mjs`)
1694
+
1695
+ - **Fixed a shipped bug:** the installer only copied subdirectories, silently
1696
+ dropping every top-level `.md`/`.mdc` file — `npx` installs landed 0 subagents,
1697
+ only 1 of 14 commands, and no rules files. It now copies files and directories.
1698
+ - **`--clean` / `--mirror`** — make `~/.cursor` exactly mirror this repo (no
1699
+ overlap/duplicates); takes a timestamped backup first (`--no-backup` to skip).
1700
+ - **`--restore [stamp]`** — restore a previous `--clean` backup.
1701
+ - **`--only <csv>`** and **`--skill <name>`** — partial installs.
1702
+ - **`--link`** — dev mode: symlink (junction on Windows) instead of copy.
1703
+ - MCP template is written only when missing and never overwrites existing keys.
1704
+
1705
+ ### Quality gates
1706
+
1707
+ - `scripts/validate-skills.mjs` — validates every skill against the
1708
+ [Agent Skills spec](https://agentskills.io/specification): frontmatter present,
1709
+ `name` matches its directory, `description` ≤ 1024 chars, body length warnings.
1710
+ - `scripts/test-install.mjs` — install smoke test (would have caught the bug above).
1711
+ - Both run in the pre-commit hook, a new cross-OS `validate` workflow, and before
1712
+ `npm publish`.
1713
+ - Trimmed 4 over-long skill descriptions to ≤ 1024 chars (`audit-ux`,
1714
+ `enhance-web-ui`, `enhance-web-ux`, `enhance-capacitor-ui`).
1715
+ - Added `.gitattributes` to normalize line endings (LF) across machines.
1716
+
1717
+ ---
1718
+
1719
+ ## Jun 2026 — Anti-Vibe-Coding Spine + Taste Skills
1720
+
1721
+ ### New Skills
1722
+
1723
+ | Skill | Why |
1724
+ |:------|:----|
1725
+ | `workflow-spec-workflow-spec-tdd` | The anti-vibe-coding spine — brainstorm → spec → plan → RED/GREEN/REFACTOR TDD → self-review before "done". Adapted from [obra/superpowers](https://github.com/obra/superpowers) |
1726
+ | `mobile-mobile-capacitor-platform` | Capacitor platform + pipeline depth — plugins, OTA, deep links, push, native CI, store submission + Apple preflight, security scan, migrations. From [cap-go/capgo-skills](https://github.com/cap-go/capgo-skills) |
1727
+ | `mobile-mobile-rn-performance` | React Native perf/build/upgrade depth — FPS, Hermes, TTI, bundle size, FlashList, Reanimated, Turbo Modules, 16KB alignment, RN/Expo version upgrades. From [callstack/agent-skills](https://github.com/callstackincubator/agent-skills) |
1728
+ | `data-pipeline` | Build-time data-pipeline correctness — idempotency, atomic writes, 4-layer staging, windowed backfills, dead-letter, observability. For ETL / edge-function workers / `pg_cron` / queues |
1729
+ | `backend-observability` | Build-time observability + logging — error↔trace↔log correlation, structured leveled logs, PII/secret redaction, OTel spans, LLM trace capture, alert/SLO design. Vendor-neutral (Sentry + Langfuse + OTel) |
1730
+ | `enhance-web-landing` | Anti-slop frontend for landing pages, portfolios, and marketing sites — brief inference, variance/motion/density dials. From [Leonxlnx/taste-skill](https://github.com/Leonxlnx/taste-skill) |
1731
+ | `enhance-web-redesign` | Audit-first upgrade of existing sites — 60-second AI-tell triage, then scan/diagnose/fix generic AI patterns without breaking functionality |
1732
+ | `enhance-web-web3d` | Audit-first 3D/WebGL + GSAP cinematic-motion elevation of an existing web app (Three.js / R3F + ScrollTrigger + Motion / React Spring). From [freshtechbro/claudedesignskills](https://github.com/freshtechbro/claudedesignskills) |
1733
+
1734
+ ### Family Rename
1735
+
1736
+ `enhance-page-ui` → `enhance-web-ui`, `enhance-page-ux` → `enhance-web-ux`, `enhance-screen-rn` → `mobile-rn-screen`, `enhance-web-mobile-ui` → `enhance-capacitor-ui`. New `enhance-<surface>-<aspect>` convention + a surface-router block added to every enhance skill.
1737
+
1738
+ ---
1739
+
1740
+ ## May 2026 — PDCA Browser Testing, npm Release, Native RN Loop
1741
+
1742
+ ### New Skills
1743
+
1744
+ | Skill | Why |
1745
+ |:------|:----|
1746
+ | `test-playwright` | Closes the PDCA loop after you ship a change. Drives the live localhost app through the Playwright MCP manually like a real user, and **fixes** pain points/errors as it goes (full-stack: UI/UX + API + DB). Red-teams the work and suggests enhancements |
1747
+ | `deploy-npm` | End-to-end release workflow for a Changesets + GitHub Actions + npm Trusted Publisher (OIDC) monorepo — green CI → merge release PR → resolve the `github-actions[bot]` anti-loop → dispatch publish → verify on npm and GitHub Releases |
1748
+ | `mobile-emulator-start` | Boots Metro + Android emulator in the correct order — kills duplicate ports, picks fresh-cache vs fast-iteration, defaults to 1080×4000 for tall QA screenshots, polls `/status` before deeplink to avoid "Cannot connect to Expo CLI" races |
1749
+ | `enhance-capacitor-ui` | Cross-surface architecture for hybrid PWA + iOS + Android apps. Three orthogonal axes (form factor / platform / pointer) so polish on one surface can't degrade another |
1750
+
1751
+ ### New Rules
1752
+
1753
+ | Rule | Why |
1754
+ |:-----|:----|
1755
+ | `full-stack-ship-discipline.mdc` | `alwaysApply: true` — prevents the "local migration file never deployed" failure mode. Forces UI tasks to inventory backend deps in the same chat, deploy via Supabase MCP, and verify against the remote DB |
1756
+ | `shell-first-search.md` | Workspace-wide rule routing routine search to `Shell` (`grep`/`find`/`ls`) instead of `Grep`/`Glob` tools, which can hang for minutes on some Windows hosts |
1757
+
1758
+ ### Housekeep Pass
1759
+
1760
+ - 11 skills renamed so `name:` frontmatter matches folder names per Cursor spec
1761
+ - 22 descriptions tightened to direct-tone single-sentence WHAT + concrete trigger list
1762
+ - 9 commands demoted to skill pointers (no more duplicated playbook)
1763
+
1764
+ ---
1765
+
1766
+ ## Apr 2026 — The Enhance Family
1767
+
1768
+ | Skill | Why |
1769
+ |:------|:----|
1770
+ | `enhance-web-ui` | Composition over decoration — fix hierarchy, grouping, spacing, motion. NN/g + Laws of UX grounded |
1771
+ | `enhance-web-ux` | Replace generic "stacked" UI with semantic data. Every change cites a Nielsen heuristic, uses existing primitives, verified at 3 viewports via browser MCP |
1772
+ | `enhance-readme` | Theme-aware hero + tour grid + optional animated GIF via Playwright MCP |
1773
+ | `audit-ux` | Deep UX audit grounded in NN/g 10 heuristics, Laws of UX, Intuit Content Design, Google HEART |
1774
+ | `split-to-prs` *(Cursor Skill)* | Slice a single chat / branch / PR into small reviewable PRs with safe snapshot |
1775
+ | `canvas` *(Cursor Skill)* | Live React canvas beside chat — updated with refreshed SDK primitives |
1776
+
1777
+ ---
1778
+
1779
+ ## Earlier 2026
1780
+
1781
+ | Addition | Type |
1782
+ |:---------|:-----|
1783
+ | `create-hook` | Skill |
1784
+ | `workflow-spec-workflow-spec-tdd` | Skill |
1785
+ | `workflow-spec-tdd` | Skill |
1786
+ | `workflow-workflow-parallel-agents` | Skill |
1787
+ | `audit-code-review` | Skill |
1788
+ | 20 new skills (audits, debugging, deploy verification, file handling, PRD, QA, housekeeping) | Skills |
1789
+ | 6 new cursor-skills (babysit, canvas, create-hook, shell, statusline, update-cli-config) | Cursor Skills |
1790
+ | `/plan`, `/pr`, `/debug` | Commands |