@kensaurus/skills 0.0.0-stage → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/.claude-plugin/marketplace.json +53 -0
  2. package/.claude-plugin/plugin.json +40 -0
  3. package/.cursor-plugin/plugin.json +38 -0
  4. package/.mcp.json +28 -0
  5. package/CHANGELOG.md +1761 -0
  6. package/LICENSE +21 -0
  7. package/NOTICE +13 -0
  8. package/README.md +820 -2
  9. package/SECURITY.md +55 -0
  10. package/agents/code-reviewer.md +60 -0
  11. package/agents/completion-judge.md +89 -0
  12. package/agents/db-migrator.md +125 -0
  13. package/agents/debugger.md +47 -0
  14. package/agents/deploy-checker.md +100 -0
  15. package/agents/perf-monitor.md +74 -0
  16. package/assets/favicon.png +0 -0
  17. package/assets/logo-light.png +0 -0
  18. package/assets/logo.png +0 -0
  19. package/assets/logo.svg +6 -0
  20. package/assets/og.png +0 -0
  21. package/bin/install.mjs +1127 -0
  22. package/bin/kenji.js +2 -0
  23. package/commands/adr.md +17 -0
  24. package/commands/aeo-plan.md +18 -0
  25. package/commands/arch-boundaries.md +17 -0
  26. package/commands/aso-plan.md +18 -0
  27. package/commands/auth-flows.md +19 -0
  28. package/commands/backup-plan.md +17 -0
  29. package/commands/burndown-full.md +25 -0
  30. package/commands/capacitor-plan.md +18 -0
  31. package/commands/codemod-safety.md +22 -0
  32. package/commands/commit.md +18 -0
  33. package/commands/complete-everything.md +40 -0
  34. package/commands/cost-plan.md +19 -0
  35. package/commands/deadcode-plan.md +26 -0
  36. package/commands/deadcode.md +32 -0
  37. package/commands/debug-issue.md +17 -0
  38. package/commands/deps-plan.md +18 -0
  39. package/commands/docs-plan.md +17 -0
  40. package/commands/doctrine.md +19 -0
  41. package/commands/error-plan.md +19 -0
  42. package/commands/feedback-to-closure.md +36 -0
  43. package/commands/fix-issue.md +76 -0
  44. package/commands/gate-logic.md +26 -0
  45. package/commands/green-repo.md +36 -0
  46. package/commands/grill-me.md +19 -0
  47. package/commands/gtm-plan.md +21 -0
  48. package/commands/gtm-weekly.md +17 -0
  49. package/commands/gtm.md +22 -0
  50. package/commands/handoff.md +15 -0
  51. package/commands/housekeep-backlog.md +18 -0
  52. package/commands/housekeep-files.md +22 -0
  53. package/commands/housekeep-gates.md +18 -0
  54. package/commands/instant-nav.md +11 -0
  55. package/commands/integrity-plan.md +19 -0
  56. package/commands/launch-kit.md +16 -0
  57. package/commands/mcp-guide.md +40 -0
  58. package/commands/mobile-plan.md +19 -0
  59. package/commands/native-rn-monorepo/README.md +78 -0
  60. package/commands/native-rn-monorepo/android-build.md +26 -0
  61. package/commands/native-rn-monorepo/android-install.md +32 -0
  62. package/commands/native-rn-monorepo/android-logcat.md +37 -0
  63. package/commands/native-rn-monorepo/ios-ci-logs.md +56 -0
  64. package/commands/native-rn-monorepo/ios-ci-status.md +52 -0
  65. package/commands/native-rn-monorepo/ios-ci-trigger.md +59 -0
  66. package/commands/native-rn-monorepo/rn-reset.md +50 -0
  67. package/commands/native-rn-monorepo/rn-ship-ios.md +67 -0
  68. package/commands/native-rn-monorepo/rn-verify.md +53 -0
  69. package/commands/perf-plan.md +18 -0
  70. package/commands/plan-mode.md +74 -0
  71. package/commands/pr.md +16 -0
  72. package/commands/pricing-plan.md +20 -0
  73. package/commands/privacy-plan.md +18 -0
  74. package/commands/readability.md +12 -0
  75. package/commands/readme.md +15 -0
  76. package/commands/refactor.md +15 -0
  77. package/commands/release-prep.md +17 -0
  78. package/commands/research.md +25 -0
  79. package/commands/responsive-audit.md +21 -0
  80. package/commands/review-code.md +18 -0
  81. package/commands/rls-plan.md +18 -0
  82. package/commands/secrets-plan.md +18 -0
  83. package/commands/security-plan.md +19 -0
  84. package/commands/ship-and-observe.md +36 -0
  85. package/commands/skill-conflicts.md +19 -0
  86. package/commands/slop-plan.md +18 -0
  87. package/commands/stub-plan.md +18 -0
  88. package/commands/test-mutation.md +16 -0
  89. package/commands/test-plan.md +17 -0
  90. package/commands/test.md +29 -0
  91. package/commands/thirdparty-web-interface-guidelines.md +185 -0
  92. package/commands/uiux-plan.md +18 -0
  93. package/commands/uiux.md +45 -0
  94. package/commands/update-deps.md +21 -0
  95. package/commands/validation-plan.md +19 -0
  96. package/commands-portable/fix-issue.md +72 -0
  97. package/commands-portable/plan-mode.md +92 -0
  98. package/commands-portable/research.md +91 -0
  99. package/docs/screenshots/README.md +5 -0
  100. package/docs/screenshots/audit-dark.png +0 -0
  101. package/docs/screenshots/build-dark.png +0 -0
  102. package/docs/screenshots/grill-dark.png +0 -0
  103. package/docs/screenshots/hero-dark.png +0 -0
  104. package/docs/screenshots/hero-light.png +0 -0
  105. package/docs/screenshots/ship-dark.png +0 -0
  106. package/docs/screenshots/src/showcase.html +320 -0
  107. package/hooks/completion-gate.mjs +258 -0
  108. package/hooks/cursor-hooks.json +13 -0
  109. package/hooks/hooks.json +15 -0
  110. package/install.sh +21 -0
  111. package/llms.txt +40 -0
  112. package/mcp/README.md +266 -0
  113. package/mcp/VERSIONS.md +41 -0
  114. package/mcp/mcp-full.json.template +124 -0
  115. package/mcp/mcp.json.template +29 -0
  116. package/mcp/pinned-versions.json +27 -0
  117. package/package.json +93 -4
  118. package/rules/approved-plan-execution.mdc +65 -0
  119. package/rules/full-stack-ship-discipline.mdc +37 -0
  120. package/rules/native-rn-monorepo/README.md +63 -0
  121. package/rules/native-rn-monorepo/_project.mdc +69 -0
  122. package/rules/native-rn-monorepo/native-android.mdc +72 -0
  123. package/rules/native-rn-monorepo/native-ios.mdc +61 -0
  124. package/rules/native-rn-monorepo/react-native-js.mdc +78 -0
  125. package/rules/native-rn-monorepo/web.mdc +60 -0
  126. package/rules/project-starter/components.mdc +54 -0
  127. package/rules/project-starter/data-fetching.mdc +77 -0
  128. package/rules/project-starter/git.mdc +41 -0
  129. package/rules/project-starter/supabase.mdc +37 -0
  130. package/rules/project-starter/tailwind.mdc +48 -0
  131. package/rules/project-starter/typescript.mdc +36 -0
  132. package/rules/project-starter/web-performance.mdc +42 -0
  133. package/rules/senior-engineer.mdc +30 -0
  134. package/rules/shell-first-search.mdc +19 -0
  135. package/rules/skill-workflows.mdc +35 -0
  136. package/rules/verification-before-completion.mdc +57 -0
  137. package/skills/audit-accessibility/SKILL.md +441 -0
  138. package/skills/audit-agent-speed/SKILL.md +181 -0
  139. package/skills/audit-agent-speed/scripts/stop-typecheck.mjs +151 -0
  140. package/skills/audit-analytics/SKILL.md +138 -0
  141. package/skills/audit-auth-flows/SKILL.md +267 -0
  142. package/skills/audit-backend-architecture/SKILL.md +266 -0
  143. package/skills/audit-backend-architecture/references/patterns.md +386 -0
  144. package/skills/audit-bundle-size/SKILL.md +296 -0
  145. package/skills/audit-cicd/SKILL.md +218 -0
  146. package/skills/audit-code-quality/SKILL.md +314 -0
  147. package/skills/audit-code-review/SKILL.md +289 -0
  148. package/skills/audit-codemod-safety/SKILL.md +159 -0
  149. package/skills/audit-db-schema/SKILL.md +465 -0
  150. package/skills/audit-db-schema/references/details.md +110 -0
  151. package/skills/audit-doctrine/SKILL.md +189 -0
  152. package/skills/audit-env-parity/SKILL.md +133 -0
  153. package/skills/audit-fe-api/SKILL.md +458 -0
  154. package/skills/audit-gate-logic/SKILL.md +219 -0
  155. package/skills/audit-i18n/SKILL.md +339 -0
  156. package/skills/audit-infra-cost/SKILL.md +142 -0
  157. package/skills/audit-langfuse-llm/SKILL.md +468 -0
  158. package/skills/audit-langfuse-llm/references/details.md +226 -0
  159. package/skills/audit-llm-security/SKILL.md +147 -0
  160. package/skills/audit-monetization-iap/SKILL.md +137 -0
  161. package/skills/audit-payment-system/SKILL.md +268 -0
  162. package/skills/audit-payment-system/references/checklist.md +283 -0
  163. package/skills/audit-performance/SKILL.md +383 -0
  164. package/skills/audit-performance/references/loading-priority-2026.md +81 -0
  165. package/skills/audit-realworld/SKILL.md +287 -0
  166. package/skills/audit-registry-listing/SKILL.md +122 -0
  167. package/skills/audit-resilience/SKILL.md +154 -0
  168. package/skills/audit-responsive/SKILL.md +221 -0
  169. package/skills/audit-responsive/references/checklist.md +166 -0
  170. package/skills/audit-security/SKILL.md +289 -0
  171. package/skills/audit-skill-conflicts/SKILL.md +178 -0
  172. package/skills/audit-ui-states/SKILL.md +146 -0
  173. package/skills/audit-uiux-design-system/SKILL.md +475 -0
  174. package/skills/audit-uiux-design-system/references/details.md +71 -0
  175. package/skills/audit-ux/SKILL.md +379 -0
  176. package/skills/audit-ux/references/details.md +245 -0
  177. package/skills/audit-ux-journeys/SKILL.md +215 -0
  178. package/skills/audit-ux-journeys/references/checklist.md +179 -0
  179. package/skills/backend-db-performance/SKILL.md +441 -0
  180. package/skills/backend-error-handling/SKILL.md +489 -0
  181. package/skills/backend-error-handling/references/details.md +58 -0
  182. package/skills/backend-observability/SKILL.md +88 -0
  183. package/skills/backend-patterns/SKILL.md +499 -0
  184. package/skills/backend-patterns/references/architecture-patterns.md +298 -0
  185. package/skills/backend-realtime/SKILL.md +403 -0
  186. package/skills/backend-realtime/references/patterns.md +74 -0
  187. package/skills/burndown-full/SKILL.md +174 -0
  188. package/skills/complete-everything/SKILL.md +295 -0
  189. package/skills/data-pipeline/SKILL.md +109 -0
  190. package/skills/data-visualization/SKILL.md +488 -0
  191. package/skills/debug-error/SKILL.md +322 -0
  192. package/skills/debug-fe-be-integration/SKILL.md +459 -0
  193. package/skills/debug-sentry-monitor/SKILL.md +497 -0
  194. package/skills/debug-sentry-monitor/references/details.md +165 -0
  195. package/skills/deploy-npm/SKILL.md +394 -0
  196. package/skills/deploy-npm/references/example-mushi-mushi.md +52 -0
  197. package/skills/deploy-verify/SKILL.md +489 -0
  198. package/skills/design-api/SKILL.md +379 -0
  199. package/skills/design-canvas/SKILL.md +155 -0
  200. package/skills/design-email/SKILL.md +370 -0
  201. package/skills/design-frontend/SKILL.md +143 -0
  202. package/skills/design-generative-art/SKILL.md +474 -0
  203. package/skills/design-mobile-first/SKILL.md +506 -0
  204. package/skills/design-motion/SKILL.md +333 -0
  205. package/skills/design-motion/references/delight-interactions.md +191 -0
  206. package/skills/design-prd/SKILL.md +443 -0
  207. package/skills/design-system/SKILL.md +457 -0
  208. package/skills/design-theme/SKILL.md +226 -0
  209. package/skills/design-theme/themes/tsumagoi-ranch.md +150 -0
  210. package/skills/docs-adr/SKILL.md +168 -0
  211. package/skills/docs-coauthor/SKILL.md +368 -0
  212. package/skills/docs-comparison-pages/SKILL.md +117 -0
  213. package/skills/docs-domain-modeling/SKILL.md +97 -0
  214. package/skills/docs-launch-kit/SKILL.md +139 -0
  215. package/skills/docs-writer/SKILL.md +469 -0
  216. package/skills/enhance-agent-guardrails/SKILL.md +164 -0
  217. package/skills/enhance-arch-boundaries/SKILL.md +154 -0
  218. package/skills/enhance-capacitor-ui/SKILL.md +463 -0
  219. package/skills/enhance-capacitor-ui/references/details.md +750 -0
  220. package/skills/enhance-email-deliverability/SKILL.md +143 -0
  221. package/skills/enhance-growth-loops/SKILL.md +122 -0
  222. package/skills/enhance-lifecycle-email/SKILL.md +130 -0
  223. package/skills/enhance-motion/SKILL.md +193 -0
  224. package/skills/enhance-onboarding/SKILL.md +148 -0
  225. package/skills/enhance-pwa/SKILL.md +304 -0
  226. package/skills/enhance-readability/SKILL.md +146 -0
  227. package/skills/enhance-readme/SKILL.md +496 -0
  228. package/skills/enhance-readme/package-lock.json +187 -0
  229. package/skills/enhance-readme/package.json +17 -0
  230. package/skills/enhance-readme/scripts/generate-readme-blocks.mjs +199 -0
  231. package/skills/enhance-readme/scripts/record-readme-tour.mjs +442 -0
  232. package/skills/enhance-skill-prompts/SKILL.md +167 -0
  233. package/skills/enhance-skill-prompts/references/exemplar-audit-auth-flows.md +311 -0
  234. package/skills/enhance-web-conversion/SKILL.md +155 -0
  235. package/skills/enhance-web-forms/SKILL.md +154 -0
  236. package/skills/enhance-web-instant-nav/SKILL.md +138 -0
  237. package/skills/enhance-web-instant-nav/references/bfcache-blockers.md +23 -0
  238. package/skills/enhance-web-instant-nav/references/early-hints.md +33 -0
  239. package/skills/enhance-web-instant-nav/references/speculation-rules.md +44 -0
  240. package/skills/enhance-web-landing/SKILL.md +459 -0
  241. package/skills/enhance-web-landing/references/details.md +773 -0
  242. package/skills/enhance-web-redesign/SKILL.md +228 -0
  243. package/skills/enhance-web-seo/SKILL.md +276 -0
  244. package/skills/enhance-web-ui/SKILL.md +473 -0
  245. package/skills/enhance-web-ui/references/details.md +674 -0
  246. package/skills/enhance-web-ux/HEURISTICS.md +242 -0
  247. package/skills/enhance-web-ux/PATTERNS.md +375 -0
  248. package/skills/enhance-web-ux/SKILL.md +464 -0
  249. package/skills/enhance-web-ux/examples.md +222 -0
  250. package/skills/enhance-web-ux/references/details.md +406 -0
  251. package/skills/enhance-web-web3d/SKILL.md +397 -0
  252. package/skills/enhance-web-web3d/references/css-canvas-effects.md +180 -0
  253. package/skills/handoff/SKILL.md +66 -0
  254. package/skills/housekeep-backlog/SKILL.md +149 -0
  255. package/skills/housekeep-dead-code/SKILL.md +387 -0
  256. package/skills/housekeep-dead-code/references/ratchet-ci.md +205 -0
  257. package/skills/housekeep-dead-code/references/supabase-hygiene.md +152 -0
  258. package/skills/housekeep-design/SKILL.md +207 -0
  259. package/skills/housekeep-files/SKILL.md +220 -0
  260. package/skills/housekeep-files/references/naming-and-catalog.md +86 -0
  261. package/skills/housekeep-files/scripts/housekeep-files.ps1 +360 -0
  262. package/skills/housekeep-files/scripts/housekeep-files.sh +238 -0
  263. package/skills/housekeep-gates/SKILL.md +174 -0
  264. package/skills/iterate-agent-harness/SKILL.md +137 -0
  265. package/skills/iterate-gtm-weekly/SKILL.md +103 -0
  266. package/skills/iterate-post-launch/SKILL.md +292 -0
  267. package/skills/meta-mcp-builder/SKILL.md +313 -0
  268. package/skills/meta-skill-creator/SKILL.md +304 -0
  269. package/skills/mobile-capacitor-platform/SKILL.md +104 -0
  270. package/skills/mobile-emulator-start/SKILL.md +296 -0
  271. package/skills/mobile-emulator-test/SKILL.md +491 -0
  272. package/skills/mobile-emulator-test/references/details.md +478 -0
  273. package/skills/mobile-rn-performance/SKILL.md +107 -0
  274. package/skills/mobile-rn-screen/SKILL.md +476 -0
  275. package/skills/mobile-rn-screen/references/details.md +785 -0
  276. package/skills/mushi-health/SKILL.md +206 -0
  277. package/skills/mushi-integration/SKILL.md +257 -0
  278. package/skills/plan-aeo-readiness/SKILL.md +166 -0
  279. package/skills/plan-antislop/SKILL.md +281 -0
  280. package/skills/plan-aso/SKILL.md +149 -0
  281. package/skills/plan-backup-dr/SKILL.md +131 -0
  282. package/skills/plan-capacitor-hardening/SKILL.md +217 -0
  283. package/skills/plan-data-integrity/SKILL.md +187 -0
  284. package/skills/plan-dead-code/SKILL.md +386 -0
  285. package/skills/plan-dead-code/references/knip-config.md +214 -0
  286. package/skills/plan-dead-code/references/output-templates.md +133 -0
  287. package/skills/plan-dead-code/references/preservation-contract.md +50 -0
  288. package/skills/plan-dead-code/references/residue-greps.md +84 -0
  289. package/skills/plan-dependency-provenance/SKILL.md +200 -0
  290. package/skills/plan-docs-sync/SKILL.md +143 -0
  291. package/skills/plan-docs-sync/references/drift-taxonomy.md +43 -0
  292. package/skills/plan-docs-sync/references/output-templates.md +33 -0
  293. package/skills/plan-docs-sync/references/preservation-contract.md +17 -0
  294. package/skills/plan-error-handling/SKILL.md +205 -0
  295. package/skills/plan-gtm/SKILL.md +276 -0
  296. package/skills/plan-gtm/references/benchmarks-2026.md +183 -0
  297. package/skills/plan-input-validation/SKILL.md +179 -0
  298. package/skills/plan-llm-cost-guardrails/SKILL.md +176 -0
  299. package/skills/plan-mobile-readiness/SKILL.md +171 -0
  300. package/skills/plan-perf-audit/SKILL.md +145 -0
  301. package/skills/plan-perf-audit/references/audit-scope.md +51 -0
  302. package/skills/plan-perf-audit/references/output-templates.md +33 -0
  303. package/skills/plan-perf-audit/references/preservation-contract.md +13 -0
  304. package/skills/plan-pricing/SKILL.md +173 -0
  305. package/skills/plan-privacy-compliance/SKILL.md +148 -0
  306. package/skills/plan-rls-audit/SKILL.md +231 -0
  307. package/skills/plan-secrets-audit/SKILL.md +181 -0
  308. package/skills/plan-security-audit/SKILL.md +168 -0
  309. package/skills/plan-security-audit/references/output-templates.md +36 -0
  310. package/skills/plan-security-audit/references/owasp-supabase-scope.md +55 -0
  311. package/skills/plan-security-audit/references/preservation-contract.md +18 -0
  312. package/skills/plan-stub-checker/SKILL.md +216 -0
  313. package/skills/plan-stub-checker/references/detection-methodology.md +75 -0
  314. package/skills/plan-stub-checker/references/detection-taxonomy.md +34 -0
  315. package/skills/plan-stub-checker/references/output-templates.md +63 -0
  316. package/skills/plan-stub-checker/references/preservation-contract.md +24 -0
  317. package/skills/plan-test-coverage/SKILL.md +170 -0
  318. package/skills/plan-test-coverage/references/methodology.md +54 -0
  319. package/skills/plan-test-coverage/references/output-templates.md +34 -0
  320. package/skills/plan-test-coverage/references/preservation-contract.md +15 -0
  321. package/skills/plan-uiux-unification/SKILL.md +230 -0
  322. package/skills/plan-uiux-unification/references/output-templates.md +67 -0
  323. package/skills/plan-uiux-unification/references/phase-workbook.md +85 -0
  324. package/skills/plan-uiux-unification/references/preservation-contract.md +24 -0
  325. package/skills/protocol-browser-anti-stall/SKILL.md +211 -0
  326. package/skills/protocol-browser-anti-stall/references/mcp-to-cli-map.md +113 -0
  327. package/skills/protocol-browser-anti-stall/references/playwright-session-coordination.md +170 -0
  328. package/skills/research/SKILL.md +422 -0
  329. package/skills/test-exploratory/SKILL.md +165 -0
  330. package/skills/test-exploratory/references/charter-template.md +29 -0
  331. package/skills/test-load/SKILL.md +126 -0
  332. package/skills/test-mutation/SKILL.md +160 -0
  333. package/skills/test-playwright/SKILL.md +354 -0
  334. package/skills/test-qa/SKILL.md +364 -0
  335. package/skills/test-qa/references/details.md +268 -0
  336. package/skills/test-red-team/SKILL.md +387 -0
  337. package/skills/test-red-team/references/owasp-attack-checklist.md +193 -0
  338. package/skills/test-unit/SKILL.md +259 -0
  339. package/skills/test-unit/references/details.md +267 -0
  340. package/skills/test-visual-regression/SKILL.md +132 -0
  341. package/skills/thirdparty-emil-design-eng/ATTRIBUTION.md +20 -0
  342. package/skills/thirdparty-emil-design-eng/SKILL.md +21 -0
  343. package/skills/thirdparty-emil-design-eng/references/emil-design-eng.md +676 -0
  344. package/skills/thirdparty-ui-ux-pro-max/ATTRIBUTION.md +22 -0
  345. package/skills/thirdparty-ui-ux-pro-max/SKILL.md +304 -0
  346. package/skills/thirdparty-ui-ux-pro-max/data/charts.csv +26 -0
  347. package/skills/thirdparty-ui-ux-pro-max/data/colors.csv +97 -0
  348. package/skills/thirdparty-ui-ux-pro-max/data/icons.csv +101 -0
  349. package/skills/thirdparty-ui-ux-pro-max/data/landing.csv +31 -0
  350. package/skills/thirdparty-ui-ux-pro-max/data/products.csv +97 -0
  351. package/skills/thirdparty-ui-ux-pro-max/data/react-performance.csv +45 -0
  352. package/skills/thirdparty-ui-ux-pro-max/data/stacks/astro.csv +54 -0
  353. package/skills/thirdparty-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  354. package/skills/thirdparty-ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  355. package/skills/thirdparty-ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  356. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  357. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  358. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  359. package/skills/thirdparty-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  360. package/skills/thirdparty-ui-ux-pro-max/data/stacks/react.csv +54 -0
  361. package/skills/thirdparty-ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  362. package/skills/thirdparty-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  363. package/skills/thirdparty-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  364. package/skills/thirdparty-ui-ux-pro-max/data/stacks/vue.csv +50 -0
  365. package/skills/thirdparty-ui-ux-pro-max/data/styles.csv +68 -0
  366. package/skills/thirdparty-ui-ux-pro-max/data/typography.csv +58 -0
  367. package/skills/thirdparty-ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  368. package/skills/thirdparty-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  369. package/skills/thirdparty-ui-ux-pro-max/data/web-interface.csv +31 -0
  370. package/skills/thirdparty-ui-ux-pro-max/scripts/core.py +253 -0
  371. package/skills/thirdparty-ui-ux-pro-max/scripts/design_system.py +1067 -0
  372. package/skills/thirdparty-ui-ux-pro-max/scripts/search.py +114 -0
  373. package/skills/thirdparty-web-interface-guidelines/ATTRIBUTION.md +23 -0
  374. package/skills/thirdparty-web-interface-guidelines/SKILL.md +190 -0
  375. package/skills/workflow-build-feature/SKILL.md +118 -0
  376. package/skills/workflow-coding-discipline/SKILL.md +140 -0
  377. package/skills/workflow-environment-ready/SKILL.md +128 -0
  378. package/skills/workflow-feature-flag/SKILL.md +262 -0
  379. package/skills/workflow-feedback-to-closure/SKILL.md +165 -0
  380. package/skills/workflow-fix-and-ship/SKILL.md +136 -0
  381. package/skills/workflow-git-commit/SKILL.md +200 -0
  382. package/skills/workflow-green-repo/SKILL.md +166 -0
  383. package/skills/workflow-grilling/SKILL.md +73 -0
  384. package/skills/workflow-gtm/SKILL.md +153 -0
  385. package/skills/workflow-housekeep/SKILL.md +453 -0
  386. package/skills/workflow-housekeep/references/templates.md +109 -0
  387. package/skills/workflow-launch-ready/SKILL.md +145 -0
  388. package/skills/workflow-merge-conflicts/SKILL.md +62 -0
  389. package/skills/workflow-onboard/SKILL.md +99 -0
  390. package/skills/workflow-parallel-agents/SKILL.md +164 -0
  391. package/skills/workflow-pr/SKILL.md +197 -0
  392. package/skills/workflow-quality-gate/SKILL.md +147 -0
  393. package/skills/workflow-refactor/SKILL.md +274 -0
  394. package/skills/workflow-release-prep/SKILL.md +207 -0
  395. package/skills/workflow-ship-and-observe/SKILL.md +164 -0
  396. package/skills/workflow-spec-tdd/SKILL.md +141 -0
  397. package/skills/workflow-spec-tdd/references/spec-template.md +126 -0
  398. package/skills/workflow-spec-tdd/references/tdd-patterns.md +167 -0
  399. package/skills-cursor/babysit/SKILL.md +17 -0
  400. package/skills-cursor/canvas/SKILL.md +142 -0
  401. package/skills-cursor/canvas/sdk/canvas-tokens.d.ts +235 -0
  402. package/skills-cursor/canvas/sdk/chart-primitives.d.ts +200 -0
  403. package/skills-cursor/canvas/sdk/dag-layout.d.ts +102 -0
  404. package/skills-cursor/canvas/sdk/diff-view.d.ts +130 -0
  405. package/skills-cursor/canvas/sdk/form-primitives.d.ts +194 -0
  406. package/skills-cursor/canvas/sdk/hooks.d.ts +117 -0
  407. package/skills-cursor/canvas/sdk/index.d.ts +47 -0
  408. package/skills-cursor/canvas/sdk/theme.d.ts +61 -0
  409. package/skills-cursor/canvas/sdk/todo-list.d.ts +49 -0
  410. package/skills-cursor/canvas/sdk/ui-primitives.d.ts +549 -0
  411. package/skills-cursor/canvas/sdk/ui-primitives.test.d.ts +2 -0
  412. package/skills-cursor/create-hook/SKILL.md +238 -0
  413. package/skills-cursor/create-rule/SKILL.md +185 -0
  414. package/skills-cursor/create-skill/SKILL.md +269 -0
  415. package/skills-cursor/create-skill/references/authoring-guide.md +182 -0
  416. package/skills-cursor/create-subagent/SKILL.md +228 -0
  417. package/skills-cursor/migrate-to-skills/SKILL.md +121 -0
  418. package/skills-cursor/shell/SKILL.md +22 -0
  419. package/skills-cursor/split-to-prs/SKILL.md +47 -0
  420. package/skills-cursor/statusline/SKILL.md +193 -0
  421. package/skills-cursor/update-cli-config/SKILL.md +85 -0
  422. package/skills-cursor/update-cursor-settings/SKILL.md +137 -0
  423. package/skills.sh.json +296 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,1761 @@
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.0.0] — 2026-10-01
10
+
11
+ **cursor-kenji is now kenji: `kensaurus/skills` on GitHub, `@kensaurus/skills`
12
+ on npm, plugin `kenji@kenji`.** Same pack, tool-neutral name. Breaking because
13
+ the plugin ID and the `/cursor-kenji:` slash namespace change (ADR-0013).
14
+ Upgrade steps: README → "Upgrading from cursor-kenji".
15
+
16
+ ### Changed
17
+
18
+ - **Renamed.** Repo `kensaurus/cursor-kenji` → `kensaurus/skills` (old URLs
19
+ redirect), npm `@kensaurus/cursor-kenji` → `@kensaurus/skills`, CLI
20
+ `cursor-kenji` → `kenji`, plugin and marketplace `cursor-kenji` → `kenji`,
21
+ Windows shim `cursor-kenji.cmd` → `kenji.cmd`.
22
+ - **Existing installs migrate.** The installer replaces a pre-2.0.0
23
+ completion-gate entry (`cursor-kenji-hooks/`) with `kenji-hooks/`, keeps every
24
+ other hook and setting, and removes the orphaned folder. `--restore` also
25
+ reads the legacy `.cursor-kenji-backups/`. Claude plugin installs follow the
26
+ marketplace `renames` map. `CURSOR_KENJI_GATE_STATE_DIR` and
27
+ `CURSOR_KENJI_DIR` still work beside `KENJI_GATE_STATE_DIR` and
28
+ `KENJI_SKILLS_DIR`.
29
+ - **Tool-neutral listing.** Descriptions and keywords name Claude Code, Cursor,
30
+ Codex CLI, and Gemini CLI; the homepage is the GitHub README until the new
31
+ skills.sh page is indexed.
32
+ - Ten skill descriptions dropped duplicate trigger phrases to keep the skill
33
+ listing under its 39,000-character ratchet (ADR-0010). Every routing pointer
34
+ stays.
35
+
36
+ ### Added
37
+
38
+ - **`audit-agent-speed`.** Measures, then fixes a slow coding-agent host:
39
+ transcript-parsing status lines, per-call and blocking Stop hooks, AGENTS.md
40
+ skipped under a parent CLAUDE.md, un-ignored worktree folders doubling
41
+ search, global effort and Explore model, worktree pile-up, antivirus,
42
+ indexer and vendor WMI pollers. Ships
43
+ `scripts/stop-typecheck.mjs`, an `asyncRewake` Stop hook that typechecks in
44
+ the background, skips when nothing changed, wakes the agent only on a new
45
+ error set, and summarizes codegen cascades.
46
+ - Routing rule: agent or machine slow → `audit-agent-speed`; product slow →
47
+ `audit-performance`.
48
+
49
+ ### Fixed
50
+
51
+ - `docs/AGENTS.template.md` now says Claude Code skips `AGENTS.md` when a
52
+ `CLAUDE.md` exists in the repo or any parent folder, and how to load both.
53
+
54
+ ## [1.40.1] — 2026-09-29
55
+
56
+ The completion gate stops looping. In Cursor it ran twice on every stop, and
57
+ the copy loaded from the Claude Code config had no cap, so an open checklist
58
+ sent the same follow-up for hours, including to sessions that did not own it.
59
+
60
+ ### Fixed
61
+
62
+ - **The completion gate looped for hours in Cursor.** Cursor also runs Claude
63
+ Code hooks from `~/.claude/settings.json`, with no `loop_limit`, so every
64
+ stop was gated twice and the Claude-config copy never stood aside. Each
65
+ registration now carries `--host=cursor` or `--host=claude`, and inside
66
+ Cursor the Claude-config copy stands aside when the native entry exists
67
+ (ADR-0012).
68
+ - **Two agents in one repo restarted each other's loop.** The follow-up budget
69
+ was one workspace counter. It is now per conversation, kept in
70
+ `~/.cache/cursor-kenji/completion-gate/`: three follow-ups while none of the
71
+ items that conversation saw closes. The old
72
+ `.cursor/completion-gate.count.json` is deleted on the next run.
73
+ - **The gate pushed work that waits on a person.** Items marked
74
+ `blocked by:`, `blocked on:`, or `waiting on:` no longer gate, and neither
75
+ does a state file untouched for 24 hours. The follow-up now says how to
76
+ stand down: mark an item that waits on a person as blocked, leave a
77
+ checklist another agent owns unchanged, say so in one line, and stop.
78
+
79
+ ## [1.40.0] — 2026-09-29
80
+
81
+ Ships the `housekeep-files` document organizer, with the Windows script fixed
82
+ so it actually runs on the PowerShell it claims to support. The fix came from
83
+ running the skill on a real Downloads tree: the bundled script would not parse
84
+ under Windows PowerShell 5.1, and an earlier run under a Japanese code page
85
+ had copied an access-key bundle that its secret rule should have refused.
86
+
87
+ ### Added
88
+
89
+ - **`housekeep-files`** skill + `/housekeep-files` command: organize a
90
+ drifted document tree (Downloads, a synced drive) into per-owner homes
91
+ by copy, not move. Bundled `scripts/housekeep-files.ps1` (Windows
92
+ PowerShell 5.1+) and `scripts/housekeep-files.sh` (macOS/Linux bash)
93
+ read the same `plan.tsv` and run inventory (SHA-256 of every source) →
94
+ dry run → apply → verify. Keys, credentials, media over the size cap,
95
+ and installers are cataloged in place, never copied. Vague filenames get
96
+ `{entity}_{area}_{date}_{doc-type}__{original}`; each owner root gets a
97
+ visible `_ai-catalog.jsonl` and `_SEARCH.md`. `verify` re-checks every
98
+ source path and size, re-hashes every copy, recounts untouched media
99
+ folders, and exits non-zero on the first miss. Layout options (root per
100
+ owner, one root with owners inside, PARA-lite) are offered before the
101
+ plan is written. Sources in `references/naming-and-catalog.md`.
102
+
103
+ ### Fixed
104
+
105
+ - **`housekeep-files.ps1` failed or misbehaved on Windows PowerShell 5.1.**
106
+ The file was UTF-8 without a BOM and held three non-ASCII characters (the
107
+ `アクセスキー` secret pattern and two em dashes). PowerShell 5.1 decodes a
108
+ BOM-less script with the ANSI code page. Under cp1252 an em dash becomes a
109
+ curly quote that ends the string, so the script does not parse. Under cp932
110
+ it parses, but the CJK pattern turns into mojibake, so a file named for an
111
+ access key is copied instead of cataloged in place. The script is now pure
112
+ ASCII, and the pattern is written as a `\uXXXX` regex escape. Verified by
113
+ running the old and new script natively under 5.1 on a folder holding an
114
+ `…アクセスキー…zip`: the old one throws a parse error; the new one marks the
115
+ zip `indexed-in-place:secret`.
116
+ - **Guard:** `validate-skills` fails on any shipped `.ps1`, `.psm1`, or
117
+ `.psd1` that contains a non-ASCII byte without a UTF-8 BOM, and reports
118
+ the file and line. Probe: a BOM-less em dash in a scratch `.ps1` fails;
119
+ the same text with a BOM passes.
120
+
121
+ If you ran `housekeep-files` on Windows before this release, check each
122
+ `_ai-catalog.jsonl` for `copied-source-kept` rows whose path contains
123
+ `アクセスキー`, and rotate those keys.
124
+
125
+ ## [1.39.0] — 2026-09-23
126
+
127
+ Closes the last three open items from the Opus 5.5 pass: the always-on
128
+ routing rule, facts that went stale, and broken markdown. Each fix was
129
+ researched from primary sources (package source, vendor docs, npm) and
130
+ checked by an independent verifier before it was applied.
131
+
132
+ ### Changed
133
+
134
+ - **`skill-workflows.mdc` halved** (3,246 → 1,614 bytes), ADR-0011. Claude
135
+ Code loads it in every session. It now lists only the mappings a skill
136
+ name gets wrong, for example `workflow-release-prep` never merges and
137
+ `workflow-onboard` is not product onboarding. It also keeps the
138
+ multi-phase → workflow principle and the six audit-and-fix exceptions.
139
+ Everything else was already in skill descriptions or the verification
140
+ rule.
141
+ - **Supabase MCP calls match current servers.** Current servers (the pinned
142
+ 0.12.0 and the hosted one) hide `get_logs` and list `query_logs`, which
143
+ takes ClickHouse SQL filtered by `source`. The skills now use it, with SQL
144
+ taken from the server's own per-service queries. The pack's config is
145
+ project-scoped (`--project-ref`), so calls no longer pass `project_id`,
146
+ and `list_projects` is described as available only on an unscoped server.
147
+ Affected: `deploy-verify`, `iterate-post-launch`, `workflow-fix-and-ship`,
148
+ `workflow-feature-flag`, `workflow-feedback-to-closure`, `mushi-*`,
149
+ `test-*`, `mobile-emulator-test`, `audit-db-schema`, `audit-fe-api`,
150
+ `audit-langfuse-llm`, `debug-fe-be-integration`, `design-prd`, and the
151
+ `full-stack-ship-discipline` rule.
152
+ - **Sentry MCP calls match the current server.**
153
+ - `get_issue_breadcrumbs`, `get_issue_tag_values`, and `find_releases` are
154
+ catalog tools, reached through `execute_sentry_tool`; `search_sentry_tools`
155
+ is the fallback.
156
+ - `update_issue` needs the Triage skill on the connection.
157
+ - Relative issue-search dates take a sign (`firstSeen:-1h`).
158
+ - **`enhance-pwa`** uses current facts:
159
+ - Next.js caching goes through Serwist; `@ducanh2912/next-pwa` is
160
+ webpack-only.
161
+ - Lighthouse 12 removed its PWA category, so installability is checked in
162
+ DevTools. `workflow-launch-ready` and the catalog no longer ask for a PWA
163
+ score.
164
+ - `navigateFallback` is the SPA shell, not an offline page.
165
+ - `beforeinstallprompt` fires only in Chromium.
166
+ - **`enhance-web-instant-nav`** gives the current Speculation Rules eagerness
167
+ defaults and Next.js 16.3 Instant Navigations.
168
+ - **`plan-capacitor-hardening`** names the current Capsec package
169
+ (`@capgo/capgo-sec`) and its rule families, and says Ionic Identity Vault
170
+ stopped new sales in 2025-02.
171
+ - **No calendar-stamped advice.**
172
+ - Search queries use `[current year]`.
173
+ - "(2026)" labels on current guidance are gone.
174
+ - A cost tier is named as a tier, not a model.
175
+ - Token-cap and streaming-usage fields are named per provider.
176
+ - The OWASP red-team checklist says it maps the 2021 edition.
177
+
178
+ ### Added
179
+
180
+ - **`scripts/check-md-structure.mjs`**, in `npm test` and CI, fails on a
181
+ nested or unclosed code fence.
182
+ - **`check-skill-refs` flags `supabase:get_logs`.**
183
+
184
+ ### Fixed
185
+
186
+ - **13 code-fence errors in 9 files.** A nested or unclosed fence rendered
187
+ the rest of an output template as live markdown. Affected: `design-prd`,
188
+ `plan-dead-code`, `audit-db-schema`, `audit-langfuse-llm`,
189
+ `audit-uiux-design-system`, `backend-error-handling`, and
190
+ `docs/CONTRIBUTING.md`.
191
+ - **Duplicate headings.** The ones in `audit-code-quality` and
192
+ `docs-coauthor` now have distinct names. The catalog's duplicate
193
+ `audit-skill-conflicts` entry is now a pointer to its Audit entry.
194
+ - **The README said `audit-*` skills may fix things.** It now says they
195
+ report and stop by default, names the six audit-and-fix skills, and notes
196
+ the few others that end with an explicit apply step.
197
+ - **`CITATION.cff`** still said version 1.31.0.
198
+
199
+ ## [1.38.0] — 2026-09-23
200
+
201
+ Follow-through on 1.37. A section-by-section check of the Opus 5.5 plan
202
+ against the repo, run in fresh contexts, found edits that were only half
203
+ applied. Reading the Claude Code client showed its skill-listing budget
204
+ works differently from what ADR-0008 assumed.
205
+
206
+ ### Changed
207
+
208
+ - **Skill descriptions trimmed.** 137 descriptions were rewritten to about
209
+ 230 chars. The rewrite kept the distinct trigger phrases and the handoffs
210
+ that separate overlapping triggers, and dropped filler, synonyms, and lists
211
+ of chained skills. The pack's Claude Code listing drops about 15%, from
212
+ 45,573 to 38,979 chars; every request carries that listing on both hosts.
213
+ - **`validate-skills` measures the listing the way the client does**: one
214
+ `- name: description` line per model-invocable skill and command, with
215
+ agents reported separately. It fails above `LISTING_MAX_CHARS` (39,000).
216
+ ADR-0010 supersedes ADR-0008's measure and corrects its facts:
217
+ - the budget is 1% of the context window at 3 chars/token for current
218
+ models, 30,000 chars on a 1M Opus 5.5 session;
219
+ - built-in skills share that budget;
220
+ - over budget, the least-used skills show by name only, and nothing is
221
+ dropped.
222
+ - **Keep every description visible on Claude Code** with
223
+ `"skillListingBudgetFraction": 0.02` in `~/.claude/settings.json`. The
224
+ installer prints the installed listing size and this setting; it does not
225
+ change your settings.
226
+ - **Authoring surfaces say T1–T8**: `enhance-skill-prompts`,
227
+ `meta-skill-creator`, `audit-skill-conflicts`, CATALOG, and the playbook
228
+ describe T2 as a classification contract and T4 as an evidence rubric.
229
+ - **`docs/DISTRIBUTION.md`**: the completion-hook column lists Claude Code and
230
+ the plugin's Stop hook, and warns against running the plugin hook and the
231
+ `--claude` hook together.
232
+
233
+ ### Fixed
234
+
235
+ - **Leftovers from 1.37.0's mechanical edits.** In about 30 files a passage
236
+ was replaced but its old lines stayed under the new ones:
237
+ - `audit-ux` had a second set of sections 0b–0e;
238
+ - `audit-security` kept its old vulnerability examples;
239
+ - `audit-code-review` kept its DO/DON'T lists after the new review rule;
240
+ - `enhance-web-seo` had broken JSON in its research step;
241
+ - `debug-error` and `debug-sentry-monitor` repeated checklists;
242
+ - `tdd-patterns` had an orphan comment;
243
+ - several paragraphs had fallen into the list or blockquote above them.
244
+ - **`backend-realtime` printed secrets.** It told the agent to `cat .env*`,
245
+ which prints secret values; it now lists variable names only.
246
+ - **`rules/approved-plan-execution.mdc` had invalid YAML frontmatter**: an
247
+ unquoted `: ` in the description. A strict parser rejects it, which can
248
+ drop the rule's `paths:` scope.
249
+ - **Merge installs now prune leftovers from older releases** on both hosts:
250
+ - the renamed `/plan` command, pruned only while it still carries the
251
+ pack's description;
252
+ - the `native-rn-monorepo` command bundle, which older installers copied
253
+ into the global commands folder, registering ten `native-rn-monorepo:*`
254
+ commands in every project.
255
+ - **`migrate-to-skills`** skipped creating the skills folders when no
256
+ subagent tool was available.
257
+ - **`create-skill` and `meta-skill-creator`** told every skill to repeat the
258
+ always-on update rule. They now say never to suppress it, and to add a
259
+ turn-end line only for unattended skills.
260
+ - **`audit-auth-flows` and its annotated exemplar** match again: same effort
261
+ key, same finding-shape wording.
262
+ - **Closure runs could not record a verification rung that does not apply.**
263
+ In a headless `/complete-everything` probe on a repo with no typecheck or
264
+ lint, the unchecked rungs made the Stop hook block, and the model invented a
265
+ `[-]` marker that the hook then skipped with no reason required. The skill
266
+ now defines `- [-] <rung> — n/a: <evidence>`. The completion gate counts a
267
+ `[-]` line without an `n/a:` reason as open, and `completion-judge` checks
268
+ the reason. The skill also notes that Claude Code shows "Stop hook error
269
+ occurred" for every Stop-hook block; that is the gate working, not a
270
+ failure.
271
+
272
+ ## [1.37.1] — 2026-09-23
273
+
274
+ ### Fixed
275
+
276
+ - **`--verify` reported line endings as corruption.** A Windows checkout with
277
+ `core.autocrlf=true` carries CRLF in the working copy while the npm tarball
278
+ (built on Linux) is LF, so an install from a clone followed by
279
+ `npx @kensaurus/cursor-kenji --verify --all` failed on 17 files with
280
+ "content hash mismatch". `bin/install.mjs` now hashes text files with line
281
+ endings normalized; the install smoke test plants a CRLF copy and expects
282
+ `--verify` to pass.
283
+
284
+ ## [1.37.0] — 2026-09-23
285
+
286
+ An Opus 5.5 pass. Claude Code 2.1.280 made Claude Opus 5.5 the default model
287
+ on 2026-09-22, and it changes two assumptions the pack was written on: prose
288
+ no longer steers thinking (effort does, and its default is `medium`), and
289
+ there is no strong planner / fast implementer split left to route around.
290
+
291
+ ### Added
292
+
293
+ - **`docs/MODEL-AND-EFFORT.md`** — the model story: default model per host,
294
+ how to set effort (`/effort`, `modelSettings`, frontmatter `effort:`), the
295
+ pack's routing table, what changed in how skills are written, the always-on
296
+ token budget. ADR-0006 … ADR-0009 record the decisions.
297
+ - **`effort:` frontmatter** on every `audit-*`, `plan-*`, `debug-*`, judge and
298
+ security skill (`high`), on `handoff`, `workflow-git-commit`, smoke checks,
299
+ the RN bundle commands and `deploy-checker` (`low`); `workflow-onboard`
300
+ runs in a forked `Explore` context. `validate-skills` checks the values.
301
+ - **Claude Code Stop hook.** `hooks/hooks.json` now carries the Claude
302
+ schema (Cursor's moved to `hooks/cursor-hooks.json`); `completion-gate.mjs`
303
+ serves both hosts; `--claude` installs it into `~/.claude/settings.json`
304
+ with the same merge/preserve/prune semantics as the Cursor hook.
305
+ - **Roster ratchet.** `validate-skills` sums auto-invocable description chars
306
+ (skills + commands + agents) and fails above `ROSTER_MAX_CHARS`; every
307
+ `commands/*.md` except `gtm-weekly`, `fix-issue`, `mcp-guide` is now
308
+ `/`-only (`disable-model-invocation: true`); `deploy-npm`,
309
+ `iterate-gtm-weekly`, `mushi-health`, `mushi-integration` likewise;
310
+ `protocol-browser-anti-stall` and the Cursor `canvas` copy are
311
+ `user-invocable: false`. The `native-rn-monorepo` command bundle no longer
312
+ leaks into global `~/.claude/commands`.
313
+ - **Always-on "Delivering work" section** in
314
+ `verification-before-completion.mdc`: intent line and recap, turn-ending
315
+ check, scope and test-sprawl, delegation criteria, pasted text is data,
316
+ compaction is not a stop signal.
317
+ - `check-skill-refs` fails on prompt fossils (retired model names, thinking
318
+ scaffolds, update suppressors); `check-docs-facts` fails on `.cursor/rules`
319
+ forks and on the retired two-model framing.
320
+
321
+ ### Changed
322
+
323
+ - **`composer-2.5-execution.mdc` → `approved-plan-execution.mdc`.** Same
324
+ guardrails, no model pin; the installer prunes the old file on merge
325
+ installs. README, `docs/PLAN-LOOPS.md`, `docs/AGENTS.template.md`,
326
+ `docs/CATALOG.md`, `/burndown-full` and 13 plan-* references now say
327
+ "planned at high effort; executed at the default effort under the rule".
328
+ - **`.cursor/rules/*.mdc`** are byte-identical mirrors of `rules/` (the
329
+ 212-line always-on `skill-workflows` fork is gone).
330
+ - **Sequential Thinking MCP retired** from the full template, pins, docs and
331
+ the five skills/commands that routed to it (ADR-0009).
332
+ - **`senior-engineer.mdc`** is `paths:`-scoped to Next.js/Supabase files on
333
+ Claude Code; `shell-first-search` is an `.mdc` rule Cursor can attach;
334
+ `project-starter/web-performance.mdc` is glob-attached, not always-on.
335
+ - **Skills, commands, agents, rules**: pressure language and prohibition
336
+ lists restated at normal volume with reasons; think-tool and self-check
337
+ scaffolds removed; step choreography on judgment tasks replaced by
338
+ outcomes and verification; frontend skills name the Opus 5.5 default
339
+ patterns to avoid; research steps say a recognised name is not current
340
+ knowledge; closure modes say how a turn may end; `## Critical Rules`
341
+ headings are `## Rules`.
342
+ - **`docs/PROMPT-ENHANCEMENT-PLAYBOOK.md`** — T2 is a classification
343
+ contract, not a thinking instruction; T4 is an evidence rubric, not a
344
+ self-check; T7 declares `effort:`; T8 sets volume, shape and
345
+ communication. `enhance-skill-prompts`, `meta-skill-creator`,
346
+ `create-skill`, `create-subagent`, `docs/CONTRIBUTING.md` teach the same.
347
+ - **`llms.txt`, `.claude-plugin/*.json`, README, GETTING-STARTED, CATALOG,
348
+ PROMOTION** — name the model and the effort routing.
349
+
350
+ ### Fixed
351
+
352
+ - **`scripts/test-install.mjs`** — the Windows shim test ran `cursor-kenji.cmd`
353
+ from the cwd, which hardened shells block with
354
+ `NoDefaultCurrentDirectoryInExePath=1`. The test now clears that variable for
355
+ the child and also exercises the explicit `.\cursor-kenji.cmd` form.
356
+
357
+ ## [1.36.3] — 2026-09-22
358
+
359
+ A command-surface pass. `/plan` became a host built-in in three of the four
360
+ supported tools while we still shipped a file of that name, and four commands
361
+ still promised tools the pack stopped shipping. The collision guard now covers
362
+ every install target instead of Claude Code only.
363
+
364
+ ### Changed
365
+
366
+ - **`/plan` → `/plan-mode`, in both command sets.** Claude Code, the Cursor CLI,
367
+ and Gemini CLI each ship a built-in `/plan` that enters Plan mode, so
368
+ `commands/plan.md` duplicated it and `commands-portable/plan.md` shadowed it
369
+ as `~/.gemini/commands/plan.toml`. Both are renamed; the file is the
370
+ procedure, the built-in is the mode switch. Natural-language triggers are
371
+ unchanged. **Restart the host after updating** — Claude Code and Cursor
372
+ register `commands/` at session start.
373
+ - **`commands/mcp-guide`** — describes the actual default template (Firecrawl,
374
+ Context7, Supabase) and headed `playwright-cli`. Sequential Thinking and the
375
+ Playwright MCP are full-template only, so nothing routes to them by default.
376
+ - **`commands/fix-issue`** — dropped a `SemanticSearch` call and the hardcoded
377
+ `npm run test:unit`. Diagnosis routes to `debug-error`, the ship loop to
378
+ `workflow-fix-and-ship`, and verification runs the repo's own checks.
379
+ - **`commands/debug-issue`** — no longer claims Sequential Thinking is part of
380
+ `debug-error`; notes that `/debug` is a built-in in both hosts.
381
+ - **`commands/test`** — tagline matches the body: route to the matching test
382
+ skill rather than run one generic suite.
383
+ - **`commands-portable/research`** — resynced with `skills/research`: repo
384
+ first, docs for the pinned version, no implementation until asked.
385
+ - **`docs/CATALOG.md` `audit-ux`** and **`skills/plan-uiux-unification`** —
386
+ stopped listing Sequential Thinking as available; the skills never called it.
387
+ - **`.claude-plugin/marketplace.json`** — listing said 145 skills and 57
388
+ commands; the real counts are 156 and 62.
389
+
390
+ ### Fixed
391
+
392
+ - **The reserved-command guard only covered one of four hosts.** It scanned
393
+ `commands/` against a Claude Code list, so a `commands-portable/` name could
394
+ collide with a Gemini CLI built-in unnoticed — which is exactly how `/plan`
395
+ survived there. `scripts/validate-skills.mjs` now scans both directories
396
+ against the documented built-ins and aliases of Claude Code, the Cursor CLI,
397
+ and Gemini CLI. Probe: a `commands-portable/tools.md` fails the gate.
398
+ - **The count ratchet skipped both Claude Code manifests.** `.claude-plugin/`
399
+ was never checked, which is how its listing drifted 11 skills and 5 commands
400
+ behind. `scripts/check-skill-count.mjs` now covers `plugin.json` and
401
+ `marketplace.json`.
402
+
403
+ ### Known issue
404
+
405
+ - Codex CLI deprecated custom prompts and stopped loading `~/.codex/prompts`
406
+ (0.117.0), which is where `--codex` writes the portable playbooks. Its merged
407
+ `~/.codex/AGENTS.md` rules are unaffected. Choosing a replacement surface
408
+ touches [ADR 0001](docs/adr/0001-custom-npm-installer-ships-four-tools.md) and
409
+ is deliberately not bundled into this release.
410
+
411
+ ## [1.36.2] — 2026-09-17
412
+
413
+ A `plan-dead-code` → `housekeep-dead-code` pass on the pack's own
414
+ repository, run with the pack's own skills. The JS surface was already
415
+ clean; the deliverable is the gate that keeps it that way.
416
+
417
+ ### Removed
418
+
419
+ - `scripts/migrate-browser-mcp-to-cli.mjs` — the one-off Playwright MCP →
420
+ playwright-cli migration script from 1.2x. Nothing ran it (no npm
421
+ script, workflow, or doc); Knip in default and `--production` mode and a
422
+ repo-wide reference grep agreed. The CHANGELOG line that introduced it
423
+ stays as history; git keeps the file.
424
+
425
+ ### Added
426
+
427
+ - `knip.jsonc` and `npm run check:dead-code` / `check:dead-code:prod`
428
+ (`npx -y knip@6.36.0 --max-issues 0`, config hints as errors on the
429
+ default run). Entries come from `package.json` bin/scripts and the
430
+ workflow `run:` lines via Knip's plugins, plus the shipped helper scripts
431
+ and the three maintainer-run brand/description tools nothing invokes by
432
+ reference. The two consumer-side imports of
433
+ `skills/enhance-readme/scripts/record-readme-tour.mjs` (`playwright`,
434
+ `@ffmpeg-installer/ffmpeg`) are the single written-back false positive.
435
+ Appended to `npm test` and to the existing job in `validate.yml` and
436
+ `npm-publish.yml` — no new parallel check. Baseline 0 / 0; the number
437
+ only ever goes down. Probes: an unreferenced `scripts/zz-probe.mjs` fails
438
+ the gate; a fresh clone passes `npm test`.
439
+ - `docs/examples/plan-audits/cursor-kenji/plan-dead-code.md` — the audit
440
+ (stack, baseline, surfaces Knip cannot see, keep/kill list with evidence,
441
+ ratchet) that approved the deletion and the config.
442
+
443
+ ### Changed
444
+
445
+ - `docs/PUBLISHING.md` — the `npm test` gate list names the dead-code
446
+ ratchet.
447
+
448
+ ## [1.36.1] — 2026-09-17
449
+
450
+ ### Fixed
451
+
452
+ - `plan-gtm/references/benchmarks-2026.md` — added the "warm invites
453
+ 10–25%" row (nativeviralloop) that `enhance-growth-loops` already quoted.
454
+ The completion judge caught the number as untraceable against the
455
+ reference file's own rule ("quote a number only with its row here"); the
456
+ source was in the research all along, the row was not.
457
+
458
+ ## [1.36.0] — 2026-09-17
459
+
460
+ The six follow-ups named in the 1.35.0 report, built in one closure pass:
461
+ pricing, growth loops, comparison pages, registry listing, the weekly loop,
462
+ and lifecycle email. `plan-gtm` and `workflow-gtm` now hand off to them by
463
+ name, so the go-to-market sequence has an owner for every step from "what
464
+ to charge" to "what did last week's post do".
465
+
466
+ ### Added
467
+
468
+ - `plan-pricing` — plan-only pricing and packaging audit: inventory of
469
+ plans/gates/metering/price points/trial logic/cost, value-metric scoring
470
+ (value connection, fairness, predictability, scalability, billability)
471
+ simulated on historical accounts, ≤3 good-better-best tiers with a
472
+ right-hand anchor and an enterprise "from" price, free boundary just before
473
+ the activation event's repeat, price corridor via Van Westendorp →
474
+ Gabor-Granger → MaxDiff → conjoint. Emits `plan-pricing.md` with a
475
+ grandfathering row; changes no price, plan enum, Stripe object, or copy.
476
+ Command `/pricing-plan`.
477
+ - `enhance-growth-loops` — apply-now badge / shareable artifact / template /
478
+ invite / referral loops, one K-factor per loop; rewards granted
479
+ idempotently on the referred user's *activation*; invites user-initiated
480
+ and single-send with recipient opt-out; badge removable on paid.
481
+ - `docs-comparison-pages` — ≤5 honest "X vs Y" / "alternatives to" /
482
+ "migrate from" pages per pass from facts fetched and dated this session;
483
+ fixed shape including "where the alternative wins"; `lastVerified` +
484
+ `reviewEvery` freshness contract; refuses bulk generation.
485
+ - `audit-registry-listing` — read-only audit of README first ten lines,
486
+ npm/PyPI metadata and `npm pack --dry-run` contents, GitHub description /
487
+ topics / social preview, plugin and skills.sh manifests, and a timed
488
+ clean-profile install. Findings with an owner skill per row.
489
+ - `iterate-gtm-weekly` — thirty-minute weekly loop: funnel by source this
490
+ week vs last, launch Results tables filled, largest *absolute* loss named,
491
+ last experiment attributed with a number, exactly one experiment and one
492
+ post chosen from a levers-by-step table, scorecard row appended. Command
493
+ `/gtm-weekly`.
494
+ - `enhance-lifecycle-email` — event-driven sequences (welcome, activation
495
+ nudge, setup stall, habit, trial expiry split by activated vs stalled,
496
+ limit reached, win-back, dunning) with triggers, exits, idempotent
497
+ `(user, sequence, step)` sends, per-email transactional/marketing
498
+ classification, unsubscribe and suppression, quiet hours, daily cap, and
499
+ `email_*` events. Timers only as the fallback for silence.
500
+
501
+ ### Changed
502
+
503
+ - `plan-gtm` — phased burndown names the new owners: Phase 1 adds
504
+ `audit-registry-listing` for repo-as-product; Phase 2 adds
505
+ `enhance-lifecycle-email`; Phase 3 uses `docs-comparison-pages`; Phase 4
506
+ adds `enhance-growth-loops` and hands the loop to `iterate-gtm-weekly`;
507
+ Phase 5 starts with `plan-pricing`. Neighbor table extended.
508
+ - `workflow-gtm` — sequence, step sections, scorecard, and worked example
509
+ route through the same owners; Step 7 is `iterate-gtm-weekly`
510
+ (`iterate-post-launch` keeps production defects).
511
+ - `plan-gtm/references/benchmarks-2026.md` — new sections for pricing
512
+ research / value metric and lifecycle email, each row with its URL.
513
+ - `docs/CATALOG.md`, `docs/TRIGGER-CHEATSHEET.md`, `docs/PLAN-LOOPS.md` (23
514
+ plan skills, `/pricing-plan` alias, execute-after-approval rows),
515
+ `skills.sh.json`, README ("What should I say?" and commands rows) — the
516
+ six skills and two commands listed with their neighbors.
517
+
518
+ ### Fixed
519
+
520
+ - The five 1.35.0 GTM skills and the README skill index carried
521
+ double-encoded arrows (`→` for `→`) in their descriptions — a shell
522
+ encoding slip during the description trim. Re-encoded to UTF-8; the
523
+ installed copies refresh on `--auto`.
524
+
525
+ ## [1.35.0] — 2026-09-17
526
+
527
+ Go-to-market for a repo that already works. The pack covered how to build,
528
+ prove, and ship a product but had nothing for the part after: who it is for,
529
+ how it is paid for, why signups never come back, where to be found, and how
530
+ to announce a release without a vote ring. Five skills and three commands
531
+ close that gap. Every benchmark quoted was checked against a 2025–2026
532
+ source this week (ChartMogul × Kyle Poyar × ProductLed free-to-paid report,
533
+ Userpilot activation medians, Show HN / Product Hunt author reports, public
534
+ OSS-vendor revenue mix).
535
+
536
+ ### Added
537
+
538
+ - `plan-gtm` — plan-only go-to-market audit. Greps how the product is sold
539
+ today (billing SDKs, `isPro` gates, license family, hero/meta positioning,
540
+ auth providers and steps to first value, analytics + consent,
541
+ robots/sitemap/llms.txt, registry presence, trust signals), then
542
+ interviews the founder with `workflow-grilling` rules down a fixed ladder
543
+ (90-day metric → ICP → numbers → monetization intent → budget → market →
544
+ alternatives → constraints). Diagnoses in Dunford order, judges the
545
+ monetization model against 2026 conversion rows (freemium 3–5% good /
546
+ 8–12% great; card-required trial 25–35%; median 8%; OSS cloud carries
547
+ 48–73% of vendor revenue), defines `activated` and one north-star, picks
548
+ ≤2 channels + 1 loop with caveats. Emits `plan-gtm.md`; changes nothing.
549
+ Business decisions (model, price, license, ICP) stay with the founder;
550
+ "unmeasured" is a legal cell value.
551
+ - `workflow-gtm` — execution arm. `plan-gtm` ⏸ approve → `audit-analytics`
552
+ → `enhance-web-conversion` (+ `enhance-readme` for repo-as-product) →
553
+ `enhance-onboarding` → `enhance-web-seo` / `plan-aeo-readiness` →
554
+ `docs-launch-kit` → `iterate-post-launch` weekly. Ends with a GTM
555
+ scorecard (funnel before/after, skips named, next week's one fix).
556
+ - `enhance-onboarding` — apply-now first session to first value. Defines
557
+ `activated` as an outcome (never signup or tour end), walks landing →
558
+ activation as a stranger and counts steps, cuts fields before value
559
+ (OAuth/magic link, inferred locale, try-before-signup), ships empty-state
560
+ templates / sample data and a ≤5-item checklist ending at activation,
561
+ instruments `signup_started → signup_completed → activated →
562
+ habit_reached` behind the existing consent gate. Defers, never deletes.
563
+ - `enhance-web-conversion` — apply-now message / offer / proof / prompt pass
564
+ on landing, pricing, and upgrade paths: five-second hero check with a
565
+ model-matched CTA verb, ≤3 tiers with an anchor and annual toggle,
566
+ explicit free-tier limits, proof ordered by strength, upgrade prompts only
567
+ at value moments, checkout and prompt events. Removes dark patterns; adds
568
+ none. Visual system stays on `enhance-web-landing`.
569
+ - `docs-launch-kit` — versioned `docs/launch/<version>.md`: claims table
570
+ every sentence must trace to, one problem-first angle, native copy per
571
+ channel (Show HN, Product Hunt, subreddit-specific Reddit, X/Bluesky/
572
+ LinkedIn, article outline, user-facing release notes), calendar, UTMs,
573
+ Results table filled after 7 days. No vote solicitation, no fabricated
574
+ proof, maker disclosed.
575
+ - Commands `/gtm-plan` → `plan-gtm`, `/gtm` → `workflow-gtm`,
576
+ `/launch-kit` → `docs-launch-kit`.
577
+
578
+ ### Changed
579
+
580
+ - `rules/skill-workflows.mdc` — bundle row "take a shipped product to
581
+ market → `workflow-gtm`".
582
+ - `docs/PLAN-LOOPS.md` — `plan-gtm` in the execute-after-approval table, the
583
+ plan skill map (22 plan skills), launch gates, slash aliases, and a
584
+ copy-paste prompt; related-loops row.
585
+ - `docs/CATALOG.md`, `docs/TRIGGER-CHEATSHEET.md`, `skills.sh.json`, README
586
+ ("What should I say?" row, commands table, plan → apply callout) — the
587
+ five skills and three commands are listed where their neighbors are.
588
+ - MCP pins re-verified against the registries on 2026-09-17
589
+ (`mcp/pinned-versions.json`, both templates, `.mcp.json`, `mcp/VERSIONS.md`,
590
+ `mcp/README.md`): `@upstash/context7-mcp` 3.2.2 → 4.1.1 (v2 SDK, 2026-07-28
591
+ protocol; stdio flags unchanged), `firecrawl-mcp` 3.21.3 → 3.24.0,
592
+ `@supabase/mcp-server-supabase` 0.8.2 → 0.12.0 (`--project-ref` /
593
+ `--read-only` / `--features` still accepted), `chrome-devtools-mcp` 1.3.0 →
594
+ 1.9.0, `@playwright/mcp` 0.0.76 → 0.0.81, `@notionhq/notion-mcp-server`
595
+ 2.4.1 → 2.5.1, `server-sequential-thinking` 2025.12.18 → 2026.8.31,
596
+ `server-memory` 2026.1.26 → 2026.8.31, `awslabs.lambda-tool-mcp-server`
597
+ 2.0.19 → 2.1.1, `awslabs.aws-api-mcp-server` 1.3.45 → 1.5.5,
598
+ `awslabs.cloudwatch-mcp-server` 0.0.8 → 0.2.1. `server-github`, `-postgres`,
599
+ `-redis`, `-slack` had no newer release.
600
+ - `scripts/test-install.mjs` reads the expected firecrawl pin from
601
+ `mcp/pinned-versions.json` instead of a hard-coded `3.21.3`, so a pin bump
602
+ cannot pass the pin check and fail the install smoke test for the same fact.
603
+
604
+ ## [1.34.0] — 2026-09-12
605
+
606
+ A prompt audit of the shipped surface (rules, agents, commands, skills)
607
+ against current-model behaviour: instructions written for older, less
608
+ steerable models were rewritten at normal volume, facts that had rotted were
609
+ corrected, and text the agent cannot act on (memory of previous projects,
610
+ "production test" scores) was removed. No skill changed name, trigger, scope,
611
+ or stance; no `[LOW freedom]` step lost its exactness.
612
+
613
+ ### Changed
614
+
615
+ - `skills/backend-patterns` — the Edge Function example uses `Deno.serve`;
616
+ the `deno.land/std@0.168.0/http/server` import it carried is deprecated.
617
+ - `agents/perf-monitor` — `npx bundle-phobia <pkg>`; `npx bundlephobia`
618
+ resolves to a package with no CLI and silently does nothing.
619
+ - `agents/deploy-checker` — `npm audit --omit=dev` (`--production` is the
620
+ deprecated spelling).
621
+ - `agents/db-migrator` — migration files come from `supabase migration new`
622
+ (14-digit timestamp) instead of a hand-written 8-digit date prefix that
623
+ cannot order two same-day migrations.
624
+ - `agents/debugger` — dropped "don't explain before acting" and "ship first,
625
+ explain after", which contradicted the agent's own required output format
626
+ (root cause, evidence, verification, prevention).
627
+ - `commands/update-deps` — the dated Next.js cadence paragraph ("15 LTS ends
628
+ 2026-10-21, current line 16.3.x") is now a check-at-run-time instruction;
629
+ the codemod advice and the `next lint` removal stay.
630
+ - `commands-portable/research` §7 — re-synced with `skills/research`: "plan
631
+ before writing code". The portable copy still said "think step-by-step",
632
+ which reasoning models already do and which had drifted from the skill.
633
+ - `skills/audit-langfuse-llm` — model examples are tier-based (frontier /
634
+ small) instead of pinned IDs that age; its prompt-improvement suggestions
635
+ recommend the provider's native reasoning mode and `max_tokens` rather than
636
+ "Think step by step" text and word caps in the prompt.
637
+ - `skills/enhance-web-landing` — register pass: removed eighteen
638
+ "(mandatory)" tags and the all-caps shouting, the three "most-tested AI tell
639
+ / #1 violated rule in production tests" grader lines, the cross-project
640
+ palette and serif rotation rules (the agent has no memory of previous
641
+ projects), and the one-project "Marrow" references. Every rule and its
642
+ reason is unchanged; the copy-length limits on page content stay because
643
+ they constrain the page, not the reply.
644
+ - Seventeen skills — "CRITICAL:" / "MANDATORY:" / "BEFORE X, you MUST:" step
645
+ headings read at normal volume; the `[LOW freedom — run exactly]` tag
646
+ already carries the weight.
647
+ - `skills/design-canvas` — "CRITICAL Requirements" → "Quality bar".
648
+ - `rules/composer-2.5-execution.mdc` — title and intro no longer pin
649
+ Composer 2.5 or a "200k window"; the body already said it binds any
650
+ implementation model. Filename kept for installer and doc compatibility.
651
+ - `rules/shell-first-search.md` — dropped the "Windows hang history" / "this
652
+ Windows host" incident wording from a rule that ships to every consumer.
653
+ - `docs/PLAN-LOOPS.md` — the execution rule has been on-demand since v1.15.0,
654
+ not `alwaysApply: true` as the doc claimed; the planning model is no longer
655
+ pinned to Opus 4.8.
656
+
657
+ ## [1.33.1] — 2026-09-10
658
+
659
+ ### Changed
660
+
661
+ - `housekeep-dead-code/references/supabase-hygiene.md` — dropped
662
+ `supabase inspect db table-record-counts` from the CLI-equivalents line. It
663
+ rested on a single low-confidence doc extraction from a page that
664
+ redirected, and never appeared in the observability guide's documented set;
665
+ a wrong subcommand name in a command position is worse than no name. The
666
+ line now lists only the six confirmed subcommands, says the set has changed
667
+ across releases, and points at `supabase inspect db --help` plus the
668
+ version-independent SQL above it.
669
+
670
+ ## [1.33.0] — 2026-09-10
671
+
672
+ A second independent implementation of the dead-code pair was written against
673
+ the same base commit. Comparing the two surfaced material worth keeping — and
674
+ two bugs worth not keeping. Ported the former as reference files; rejected the
675
+ latter after checking both against the knip 6.35.1 source.
676
+
677
+ ### Added
678
+
679
+ - `plan-dead-code/references/residue-greps.md` — the grep pack as a table with
680
+ a count command and a fix column per class, plus the false positives that
681
+ matter: hashed and template-string asset references, and the counting
682
+ convention (`rg -o … | wc -l` for matches vs `rg -c` for lines — mixing them
683
+ makes a ratchet compare nothing). Adds a **bundle-leak probe**
684
+ (`rg -l "service_role" dist`) that stops the pass and routes to
685
+ `plan-secrets-audit`; it is the one check here that can find a live
686
+ credential in shipped output.
687
+ - `plan-dead-code/references/output-templates.md` — a filled
688
+ `plan-dead-code.md` with the chain-head row discipline, worked severity ×
689
+ effort rubric, and a root-causes section so the report names the barrel
690
+ rather than its forty symptoms.
691
+ - `plan-dead-code/references/preservation-contract.md` — the plan-only
692
+ non-negotiables and the five verdict buckets, matching the
693
+ `plan-perf-audit` convention.
694
+ - `housekeep-dead-code/references/ratchet-ci.md` — scripts, tsconfig
695
+ (`noUnusedLocals` enabled *during* the cascade, not after),
696
+ `eslint-plugin-unused-imports` flat config, why Knip belongs in pre-push
697
+ rather than pre-commit, the aggregator's `jq` result check that makes a
698
+ skipped job fail, and a Supabase types-drift CI guard.
699
+ - `housekeep-dead-code/references/supabase-hygiene.md` — the schema arm in
700
+ full. Three traps a client-side grep cannot see: RPCs called only from an
701
+ RLS policy, trigger, or `pg_cron` job; Edge Functions targeted by external
702
+ webhooks; and `pg_stat_*` counters too young to mean anything (check
703
+ `stats_reset`). Tables drop in two steps — rename to `_deprecated_<name>`,
704
+ drop a release later — because a rename is reversible.
705
+
706
+ ### Changed
707
+
708
+ - `plan-dead-code` — chain-head reporting is now explicit (a dead file's
709
+ exports and sole-use dependencies are children of that row, not rows of
710
+ their own, or a three-item plan reads as twenty-seven); severity is paired
711
+ with S/M/L effort; adds the verified `--trace-export` / `--trace-file` /
712
+ `--max-show-issues` flags; and adds a second gate before triage — unresolved
713
+ imports and unlisted dependencies both explained, not just hints clean.
714
+ - `housekeep-dead-code` — new Phase 3 proves the ratchet bites: a fresh-clone
715
+ probe (deletions can pass on a warm `node_modules` and fail on `npm ci`) and
716
+ a deliberate-violation probe that must turn the aggregator red, not just the
717
+ job.
718
+
719
+ ### Rejected from the ported material
720
+
721
+ Both were checked against the knip 6.35.1 source rather than its docs:
722
+
723
+ - `knip:ci: "knip --production … --treat-config-hints-as-errors"` — inert.
724
+ Knip sets `isDisableConfigHints = --no-config-hints || isProduction`, so the
725
+ flag cannot fire on a production run. It belongs on the default-mode script.
726
+ - `rules: { classMembers: "warn" }` in the recommended config — silently
727
+ exempts that issue type from the gate, because `--max-issues` totals only
728
+ rules set to `error`. `ratchet-ci.md` now documents this as the quietest
729
+ ratchet bypass instead of shipping it as a default.
730
+ - `$schema: ".../knip@latest/schema.json"` — floats a major version in a file
731
+ whose own text says not to float `latest`. Pinned to `knip@6`.
732
+ - `-W` as shorthand for `--workspace`, and a "<50 scans, >5 pages" threshold
733
+ for `supabase inspect db unused-indexes` — neither is in the source or the
734
+ docs. Dropped rather than repeated.
735
+
736
+ ## [1.32.0] — 2026-09-10
737
+
738
+ Dead-code cleanup was one line inside `workflow-housekeep` (§2d, "npx knip
739
+ (if available) or npx ts-prune") — no config, no production mode, no fix
740
+ ordering, no ratchet, and `ts-prune` has been in maintenance mode with its
741
+ author pointing at Knip. Everything else a vibe-coded repo accretes
742
+ (duplication, debug residue, suppression debt, orphan assets, env drift,
743
+ dead schema) was scattered across five skills as prose with no tool behind
744
+ it. This adds the plan→apply pair that owns it.
745
+
746
+ ### Added
747
+
748
+ - **`plan-dead-code`** — configuration-first dead-code audit. Authors
749
+ `knip.json` and resolves every configuration hint *before* trusting a
750
+ finding, because on a first run most findings are misconfiguration, not
751
+ dead code. Baselines both `--production` and default runs and reads
752
+ findings files → unresolved → exports → deps (unused files cascade into
753
+ phantom export and dependency findings). Builds a keep-working list for
754
+ glob-imported routes, generated Supabase types, Deno Edge Functions, and
755
+ deliberate `@public` API, then counts the seven surfaces Knip cannot see:
756
+ unused locals, `jscpd` duplication, debug residue, suppression debt,
757
+ orphan assets, env drift, dead schema. Emits `plan-dead-code.md` and
758
+ **deletes nothing**. Slash `/deadcode-plan`.
759
+ - **`housekeep-dead-code`** — the execution arm. Deletes per the approved
760
+ keep/kill list one category per commit with typecheck, tests, and build
761
+ between each, and a bisect-the-batch rule on red: files
762
+ (`--fix-type files --allow-remove-files`, pre-reviewed list only) →
763
+ exports/types → unused-locals cascade (`remove-unused-vars`, then re-run
764
+ Knip) → dependencies → residue → assets → suppressions. Duplication is
765
+ measured and ratcheted but handed to `workflow-refactor`, since fixing it
766
+ preserves behavior rather than removing code. Then installs the ratchet:
767
+ `knip` script, CI job pinned at `--max-issues <today>` and only ever
768
+ lowered, wired into the single aggregator gate per `housekeep-gates`.
769
+ Slash `/deadcode`.
770
+ - `plan-dead-code/references/knip-config.md` — `knip.json` recipes for
771
+ Vite + React + Supabase, Next.js App Router, and monorepos, each line
772
+ annotated with the `ignore` it replaces; tag usage (`@public`,
773
+ `@internal`, `@alias`); companion-tool table; and the ratchet CI job.
774
+ - Brand mark (`assets/logo.svg` + PNG/OG/favicon). Geometric spine + first-line tick; fal.ai candidates were generated and rejected when they drifted.
775
+ - Claude Code marketplace manifests: `.claude-plugin/plugin.json` + `.claude-plugin/marketplace.json`.
776
+ - Static landing page in `site/` (canonical stay on skills.sh until an owned host is live).
777
+ - `FAL_KEY` documented in `.env.example`; secret scanner now flags fal key-id:secret pairs.
778
+
779
+ ### Changed
780
+
781
+ - **`workflow-housekeep` §2d now hands off instead of sweeping.** It keeps
782
+ dead *artifacts* (logs, `.bak`, build output, committed screenshots) —
783
+ things dead by inspection — and routes unused source files, exports,
784
+ types, and dependencies to the new pair. The `ts-prune` recommendation is
785
+ gone. Trigger phrase "remove dead code" moved off this skill.
786
+ - `plan-dependency-provenance` — boundary drawn: it owns the *manifest*
787
+ fact (does the package exist, is it licensed); the module-graph proof and
788
+ removal of unimported deps go to `plan-dead-code`. Warns against
789
+ hand-verifying with grep, since a dep reached only from a config string
790
+ looks unused and is not.
791
+ - `plan-antislop` §3 — boundary drawn against provable unreachability:
792
+ commented-out scaffolding and guards that can't trigger stay slop
793
+ findings (a taste judgment), while counts and deletion move to
794
+ `plan-dead-code`.
795
+ - `test-mutation` — "delete dead code" now routes to the pair rather than
796
+ `workflow-housekeep`.
797
+ - `workflow-refactor` — the "Dead Code → delete it" smell row was the last
798
+ open side door around the approval contract; it now routes to the pair.
799
+ Duplication findings arrive there; deletions do not leave from there.
800
+ - `package.json` homepage is the live skills.sh page.
801
+ - Cursor plugin manifest: `displayName`, `logo`, `category`, homepage.
802
+ - Distribution / promotion docs: Claude plugin install, localskills reject, Show HN draft. No fake “listed” claims.
803
+
804
+ ## [1.31.0] — 2026-08-29
805
+
806
+ ### Added
807
+
808
+ - **`enhance-web-instant-nav`** — Speculation Rules (prefetch/prerender with
809
+ a safety contract), bfcache fixes, cross-document View Transitions, 103
810
+ Early Hints. Slash `/instant-nav`. First-load CWV stays on
811
+ `audit-performance`.
812
+ - **`web-performance.mdc`** project rule — always-on budgets, LCP priority,
813
+ INP yield, no-`unload`.
814
+ - `audit-performance` §Loading Priority & Speculation, field-data Step 0,
815
+ verification protocol, and `references/loading-priority-2026.md`.
816
+
817
+ ### Changed
818
+
819
+ - `audit-performance`, `audit-bundle-size`: React Compiler first; manual
820
+ memo only with Profiler evidence.
821
+ - `plan-perf-audit` scope: Navigation layer and loading-priority lines.
822
+ - `enhance-web-seo` §1d hands CWV fixes to `audit-performance`.
823
+ - `perf-monitor` agent: LCP-lazy, slow-second-page, bfcache, INP rows.
824
+ - Stack currency: Next.js 15 → 16.x (15 LTS EOL 2026-10-21; monthly
825
+ security releases noted in `/update-deps`).
826
+ - `check-skill-count` now ratchets the README Project Rules count against
827
+ `rules/project-starter/*.mdc`.
828
+
829
+ ## [1.30.0] — 2026-08-21
830
+
831
+ ### Added
832
+
833
+ - **`enhance-readability`** — information-design pass for comprehension
834
+ (CLT + Gestalt): CPL / reading level, grouping, deadspace, icons, and
835
+ visuals that replace verbose prose. Slash `/readability`. Breakpoints
836
+ stay on `audit-responsive`; looks-good stays on `enhance-web-ui`.
837
+ CJK 40 CPL from WCAG 2.2 SC 1.4.8.
838
+
839
+ ## [1.29.1] — 2026-08-21
840
+
841
+ ### Fixed
842
+
843
+ - **T3/T4 headings** — `meta-skill-creator` and `enhance-skill-prompts`
844
+ had T1–T6 tables/phrases but no `## Worked example` / `## Self-critique`.
845
+ `test-exploratory` and `workflow-release-prep` promoted T4 to `##`.
846
+ - **Validator** — T3/T4 now require those H2 headings so a table mention
847
+ cannot pass the gate.
848
+
849
+ ## [1.29.0] — 2026-08-21
850
+
851
+ ### Added
852
+
853
+ - **Family-first naming policy** — `docs/CONTRIBUTING.md` documents
854
+ `<family>-<topic>`, slash aliases, and the four unprefixed exceptions
855
+ (`research`, `handoff`, `complete-everything`, `burndown-full`).
856
+ - **`iterate-` family** — registered in the skill index
857
+ (`FAMILY_HEADINGS`, `FAMILY_ORDER`, blurbs).
858
+ - **Installer `RENAMED_SKILLS` prune** — deletes old skill directories on
859
+ Cursor, the `~/.agents/skills` mirror, and Claude after a rename.
860
+ Honors `--dry-run`; skipped when `--skill` is scoped. Tests may inject
861
+ pairs via `KENJI_RENAMED_SKILLS`.
862
+ - **`OLD_ALIASES` gate** — `check-skill-refs` fails leftover backticks of
863
+ renamed skills except in `CHANGELOG.md`, `docs/CONTRIBUTING.md`, and
864
+ `audit-skill-conflicts`.
865
+
866
+ ### Changed
867
+
868
+ - **`housekeep-` taxonomy** — CATALOG / CONTRIBUTING / index blurb now
869
+ say "one drifted register (gates / backlog / design tokens)", not
870
+ "design system only".
871
+ - **Renames** — `domain-modeling` → `docs-domain-modeling`;
872
+ `grilling` → `workflow-grilling`. `/grill-me` still points at
873
+ `workflow-grilling`. "grill me" and glossary triggers unchanged.
874
+ - **Prompt waves (T1–T6)** — remaining first-party families after Wave 7
875
+ (`housekeep`, `docs`, `deploy`, `debug`, then the rest). Validator
876
+ require-list extended per family. `thirdparty-*` skipped.
877
+
878
+ ## [1.28.0] — 2026-08-21
879
+
880
+ ### Added
881
+
882
+ - **`audit-doctrine`** — read-only audit of custom lint/ratchet *content*:
883
+ is each rule right on the merits (named remedy, reachable token,
884
+ teaching failure, Tier-D practice), not merely enforced. Distinct from
885
+ `audit-gate-logic` (bypass/gaming). Un-remedied axes →
886
+ `housekeep-backlog`. Slash: `/doctrine`.
887
+
888
+ ## [1.27.0] — 2026-08-20
889
+
890
+ ### Added
891
+
892
+ - **`workflow-release-prep`** — take the local working tree (uncommitted +
893
+ staged + untracked + unpushed) to a merge-ready PR against main.
894
+ Orchestrates `audit-code-review`, `split-to-prs`, `workflow-git-commit`,
895
+ `workflow-pr`, and `babysit`. Does not merge. Slash: `/release-prep`.
896
+
897
+ ### Changed
898
+
899
+ - **Skill-conflict routing pass** — carved overlapping triggers across the
900
+ PR/release, UI/slop, error-handling, tests, backend, and skill-authoring
901
+ clusters. Completed truncated descriptions (`burndown-full`,
902
+ `backend-patterns`, `mobile-emulator-start`). Moved
903
+ `thirdparty-emil-design-eng` body into `references/`. Validator now fails
904
+ unmatched quotes/parentheses and trailing `i.e.` truncation scars.
905
+
906
+ ## [1.26.0] — 2026-08-20
907
+
908
+ ### Added
909
+
910
+ - **`research` skill** — the production research protocol is now a first-party
911
+ skill (`skills/research/`) so `npx skills add` and Cursor `/` share the same
912
+ playbook. `/research` is a thin command wrapper (same pattern as
913
+ `complete-everything`).
914
+ - **Installer `--verify`** — read-only hash check of every packaged file
915
+ against the destination. Extra personal files are allowed; missing or
916
+ stale packaged files fail closed. Merge install now verifies each copy
917
+ before reporting success.
918
+
919
+ ### Fixed
920
+
921
+ - **Install-channel docs** — `npx skills add` installs skills only and does
922
+ not write slash commands. `npx @kensaurus/cursor-kenji --all` is the
923
+ full-pack one-liner. The two `--all` flags are not the same.
924
+ - **Cursor `/babysit` shadow** — `babysit` is a Cursor-managed builtin.
925
+ The installer no longer copies it into `~/.cursor/skills` and deletes
926
+ stale copies on upgrade (Claude still gets the portable copy).
927
+ - **Dual-name CI gate** — `validate-skills` errors on an undeclared
928
+ skill+command pair so new `/` picker duplicates cannot ship unnoticed.
929
+
930
+ ## [1.25.0] — 2026-08-20
931
+
932
+ ### Added
933
+
934
+ - **`housekeep-backlog`** (`/housekeep-backlog`) — apply-now inventory of
935
+ parked work (unfinished plans, deferred phases, TODO/FIXME, skipped
936
+ tests, open audit findings) into a living `BACKLOG.md` that regenerates
937
+ and diffs (new / done / stale). Collector that feeds
938
+ `complete-everything` / `burndown-full`. The `docs-adr` pattern applied
939
+ to parked work.
940
+
941
+ ## [1.24.0] — 2026-08-19
942
+
943
+ ### Added
944
+
945
+ - **`enhance-skill-prompts`** — meta-skill to upgrade an existing SKILL.md
946
+ prompt (degrees of freedom, structured CoT, one worked example,
947
+ self-critique rubric, term consistency) without changing what the skill
948
+ does. Playbook: `docs/PROMPT-ENHANCEMENT-PLAYBOOK.md`. Annotated exemplar:
949
+ `skills/enhance-skill-prompts/references/exemplar-audit-auth-flows.md`.
950
+ - **Prompt-enhancement playbook** — T1–T6 applied to every first-party
951
+ `audit-*` / `plan-*` / `test-*` skill plus the Wave 4 apply-now set
952
+ (frontmatter and stance unchanged). Live `audit-auth-flows` is the
953
+ reference implementation. Factory (`meta-skill-creator`,
954
+ `docs/CONTRIBUTING.md`) now inherits T1–T6 for new skills.
955
+ - **`validate-skills` T1/T3/T4 gate** — first-party audit/plan/test skills
956
+ fail CI if they lack Degree of freedom, a Worked example, or a
957
+ Self-critique rubric.
958
+
959
+ ---
960
+
961
+ ## [1.23.1] — 2026-08-19
962
+
963
+ ### Fixed
964
+
965
+ - **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.
966
+
967
+ ---
968
+
969
+ ## [1.23.0] — 2026-08-19
970
+
971
+ ### Added
972
+
973
+ - **`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`.
974
+ - Highest-impact combo pipelines in README, GETTING-STARTED, and CATALOG: `test-exploratory` → `workflow-feedback-to-closure` → `test-playwright`, plus wander-then-`workflow-quality-gate`.
975
+
976
+ ### Changed
977
+
978
+ - `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`.
979
+
980
+ ---
981
+
982
+ ## [1.22.0] — 2026-08-19
983
+
984
+ ### Added
985
+
986
+ - **`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`.
987
+
988
+ ### Changed
989
+
990
+ - `audit-security` / `plan-security-audit` / `plan-rls-audit` no longer own session/route-gate / getSession triggers.
991
+
992
+ ---
993
+
994
+ ## [1.21.0] — 2026-08-18
995
+
996
+ ### Added
997
+
998
+ - **`housekeep-gates`** (`/housekeep-gates`) — apply-now consolidation of accreted CI gates into one aggregator required check. Execution arm of `audit-gate-logic`.
999
+ - **`test-mutation`** (`/test-mutation`) — StrykerJS / mutmut harness; kills assertion-free coverage theater.
1000
+ - **`enhance-arch-boundaries`** (`/arch-boundaries`) — dependency-cruiser / eslint-boundaries as CI fitness functions.
1001
+ - **`docs-adr`** (`/adr`) — lightweight ADRs with rejected alternatives; agent-readable INDEX.md.
1002
+
1003
+ ### Changed
1004
+
1005
+ - **`audit-gate-logic`** — Phase 2.5 gate archaeology (duplicate vintages, competing baselines, hook-vs-CI, dead gates) and winner selection for `housekeep-gates`.
1006
+ - 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.
1007
+
1008
+ ---
1009
+
1010
+ ## [1.20.0] — 2026-08-18
1011
+
1012
+ ### Added
1013
+
1014
+ - **`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).
1015
+ - **`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).
1016
+
1017
+ ### Changed
1018
+
1019
+ - Neighbor descriptions now carve those owners: `audit-cicd`, `workflow-quality-gate`, `audit-code-review`, `plan-data-integrity`, `enhance-agent-guardrails`, `workflow-green-repo`.
1020
+ - `check-skill-count` now rewrites leftover PROMOTION.md count tokens (`One install, N skills`, article title).
1021
+
1022
+ ---
1023
+
1024
+ ## [1.19.1] — 2026-08-18
1025
+
1026
+ Routing pass from `audit-skill-conflicts` (no new skills). Description carve-outs
1027
+ so overlapping triggers pick one owner; `audit-*` is no longer claimed as
1028
+ universally read-only; dangling `mobile-mobile-*` refs fixed; `/test` and `/uiux`
1029
+ routers expanded; `check-skill-refs` gate added to `npm test` and CI.
1030
+
1031
+ ### Changed
1032
+
1033
+ - 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.
1034
+ - `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`).
1035
+ - `/test` routes `test-load` and `test-visual-regression`. `/uiux` holds the enhance surface router.
1036
+ - `plan-data-integrity` / `/integrity-plan` no longer own restore drills (those stay on `plan-backup-dr`).
1037
+ - `workflow-spec-tdd` no longer references `mobile-mobile-*`.
1038
+
1039
+ ### Added
1040
+
1041
+ - **`check-skill-refs`** — CI gate for doubled-prefix typos and the stale `audit-responsive-layout` alias.
1042
+
1043
+ ---
1044
+
1045
+ ## [1.19.0] — 2026-08-18
1046
+
1047
+ 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).
1048
+
1049
+ ### Added
1050
+
1051
+ - **`audit-llm-security`** — OWASP LLM Top 10 on *app-facing* AI (not Langfuse quality, not coding-agent policy).
1052
+ - **`plan-privacy-compliance`** + `/privacy-plan` — collection-vs-claimed, consent, deletion/export, GDPR / APPI / store labels. Cross-linked with `audit-analytics`.
1053
+ - **`plan-backup-dr`** + `/backup-plan` — restore capability, RPO/RTO, drill evidence (not destructive-op gates).
1054
+ - **`audit-analytics`** — funnel coverage, taxonomy, consent-gated firing.
1055
+ - **`audit-ui-states`** — empty / loading / error / offline / overflow matrix.
1056
+ - **`test-visual-regression`** — Playwright screenshot baselines + CI diffs (playwright-cli, not MCP).
1057
+ - **`test-load`** — k6/Artillery journeys; never hits prod unsigned.
1058
+ - **`audit-monetization-iap`** — StoreKit / Play / RevenueCat (not Stripe/web).
1059
+ - **`plan-aso`** + `/aso-plan` — store listing find + install conversion.
1060
+ - **`enhance-email-deliverability`** — SPF/DKIM/DMARC + hygiene (kept `enhance-*` beside `design-email`).
1061
+ - **`audit-env-parity`** — config agreement across envs (local runnability stays on `workflow-environment-ready`).
1062
+ - **`audit-infra-cost`** — hosting/egress (CI minutes → `audit-cicd`; tokens → `plan-llm-cost-guardrails`).
1063
+ - **`audit-skill-conflicts`** + `/skill-conflicts` — pack self-audit: contradictory directives, overlapping triggers, stale cross-refs, context bloat. Per-file spec stays on `validate:skills`.
1064
+
1065
+ ### Changed
1066
+
1067
+ - **`design-email`** — no longer claims deliverability / SPF / "why is my email in spam".
1068
+ - **`plan-data-integrity`** — no longer claims backup drills / disaster recovery; those route to `plan-backup-dr`.
1069
+ - **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.
1070
+
1071
+ ---
1072
+
1073
+ ## [1.18.0] — 2026-08-18
1074
+
1075
+ 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.
1076
+
1077
+ ### Added
1078
+
1079
+ - **`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`.
1080
+ - **`/responsive-audit`** — thin slash entry. Optional path scope.
1081
+
1082
+ ### Changed
1083
+
1084
+ - **`design-mobile-first`** — description no longer claims generic "responsive" (that stole this skill). Routes linearized-desktop complaints to `audit-responsive`.
1085
+ - **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.
1086
+
1087
+ ---
1088
+
1089
+ ## [1.17.0] — 2026-08-15
1090
+
1091
+ Cursor/Claude config housekeep: cut always-on rule weight, stop shipping Cursor builtin skill dupes, slim default MCP, interpolate secrets.
1092
+
1093
+ ### Changed
1094
+
1095
+ - **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.
1096
+ - **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.
1097
+ - **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.
1098
+ - **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.
1099
+
1100
+ ### Added
1101
+
1102
+ - `scripts/shorten-skill-descriptions.mjs` — description budget rewriter used for this release.
1103
+
1104
+ ---
1105
+
1106
+ ## [1.16.0] — 2026-08-04
1107
+
1108
+ 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.
1109
+
1110
+ ### Added
1111
+
1112
+ - **`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`.
1113
+ - **`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.
1114
+ - **`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.
1115
+ - **`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.
1116
+
1117
+ ### Changed
1118
+
1119
+ - **`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.
1120
+ - **`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.
1121
+ - **`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.
1122
+ - **`.cursor-plugin/plugin.json`** — re-synced version with `package.json` (was left at 1.14.1 by the 1.15.0 release).
1123
+
1124
+ ## [1.15.0] — 2026-08-02
1125
+
1126
+ 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).
1127
+
1128
+ ### Changed
1129
+
1130
+ - **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).
1131
+ - **`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.
1132
+ - **`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.
1133
+ - **`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.
1134
+ - **`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.
1135
+ - **`scripts/test-install.mjs`** — asserts the bundle exclusion (no `native-rn-monorepo/` or `project-starter/` in installed rules) and the `.mdc` rename.
1136
+
1137
+ Hooks, skills, commands, and subagents are unchanged — on-demand surfaces were not the problem.
1138
+
1139
+ ---
1140
+
1141
+ ## [1.14.1] — 2026-07-29
1142
+
1143
+ 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.
1144
+
1145
+ ### Fixed
1146
+
1147
+ - **`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`.
1148
+ - **`test-qa/references/details.md`** — the equivalent execution-cycle block, same fix.
1149
+ - **`audit-langfuse-llm`** — a leftover MCP-shaped ` ```json ` block (`goto` plus a `{ "url": … }` object) is now a real `open --headed` invocation.
1150
+ - **`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.
1151
+ - **`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.
1152
+ - **`audit-ux/references/details.md`** — bare arrow-stub keyboard-navigation block converted to real commands.
1153
+
1154
+ ### Changed
1155
+
1156
+ - **`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.
1157
+
1158
+ ### Notes
1159
+
1160
+ 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.
1161
+
1162
+ ---
1163
+
1164
+ ## [1.14.0] — 2026-07-29
1165
+
1166
+ 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`.
1167
+
1168
+ ### Changed
1169
+
1170
+ - **`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.
1171
+ - **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.
1172
+ - **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.
1173
+ - **`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.
1174
+ - **`.gitignore`** — added `.playwright-cli/` alongside `.playwright-mcp/`.
1175
+
1176
+ ### Added
1177
+
1178
+ - **`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.
1179
+ - **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.
1180
+ - **`scripts/migrate-browser-mcp-to-cli.mjs`** — the reviewed migration script, kept in-tree as an audit trail of how the rewrite was performed.
1181
+
1182
+ ---
1183
+
1184
+ ## [1.13.0] — 2026-07-25
1185
+
1186
+ 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.
1187
+
1188
+ ### Added
1189
+
1190
+ - **`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`.
1191
+
1192
+ ### Changed
1193
+
1194
+ - **`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.
1195
+
1196
+ ---
1197
+
1198
+ ## [1.12.1] — 2026-07-24
1199
+
1200
+ 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.
1201
+
1202
+ ### Fixed
1203
+
1204
+ - **Tsumagoi ad image** — `src` now `https://tsumagoi.kensaur.us/og-image.png` (public) instead of `raw.githubusercontent.com/...` (404 on the private repo).
1205
+ - **Also by table** — Tsumagoi row links only to the live site; no GitHub repo link.
1206
+
1207
+ ---
1208
+
1209
+ ## [1.12.0] — 2026-07-24
1210
+
1211
+ 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.
1212
+
1213
+ ### Added
1214
+
1215
+ - **"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).
1216
+ - **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.
1217
+ - **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.
1218
+
1219
+ ### Changed
1220
+
1221
+ - README section order: inventory + full skill list sit **above** the long Quick Start installer details.
1222
+ - `scripts/generate-skill-index.mjs` emits markdown tables instead of collapsed details; warmer family headings.
1223
+ - Workflows section simplified to a stage cheat-sheet that points at the top loop diagram.
1224
+
1225
+ ---
1226
+
1227
+ ## [1.11.2] — 2026-07-24
1228
+
1229
+ 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.
1230
+
1231
+ ### Changed
1232
+
1233
+ - **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.
1234
+
1235
+ ---
1236
+
1237
+ ## [1.11.1] — 2026-07-24
1238
+
1239
+ 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.
1240
+
1241
+ ### Added
1242
+
1243
+ - **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.
1244
+ - **`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.
1245
+
1246
+ ### Changed
1247
+
1248
+ - **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").
1249
+
1250
+ ---
1251
+
1252
+ ## [1.11.0] — 2026-07-24
1253
+
1254
+ 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.
1255
+
1256
+ ### Added
1257
+
1258
+ - **`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`.
1259
+ - **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.
1260
+
1261
+ ### Changed
1262
+
1263
+ - 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.
1264
+
1265
+ ---
1266
+
1267
+ ## [1.10.0] — 2026-07-24
1268
+
1269
+ 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.
1270
+
1271
+ ### Added
1272
+
1273
+ - **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).
1274
+ - **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.
1275
+ - **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).
1276
+ - **`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).
1277
+
1278
+ ### Changed
1279
+
1280
+ - 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).
1281
+
1282
+ ---
1283
+
1284
+ ## [1.9.0] — 2026-07-24
1285
+
1286
+ 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.
1287
+
1288
+ ### Added
1289
+
1290
+ - **`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`.
1291
+ - **`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.
1292
+
1293
+ ### Changed
1294
+
1295
+ - **`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.
1296
+ - **`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`.
1297
+ - **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**.
1298
+
1299
+ ---
1300
+
1301
+ ## [1.8.3] — 2026-07-23
1302
+
1303
+ 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**.
1304
+
1305
+ ### Changed
1306
+
1307
+ - **`/mcp` → `/mcp-guide`** — was duplicating Claude Code's built-in `/mcp` (the MCP server manager). Renamed `commands/mcp.md` → `commands/mcp-guide.md`.
1308
+ - **`/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`).
1309
+ - **`/debug` → `/debug-issue`** — was overriding Claude Code's bundled `/debug`. Renamed `commands/debug.md` → `commands/debug-issue.md` (still delegates to `debug-error`).
1310
+ - **`README.md` + `docs/CATALOG.md`** — command tables updated to the new names with a note on why each was renamed.
1311
+
1312
+ ### Added
1313
+
1314
+ - **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.
1315
+
1316
+ > **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.
1317
+
1318
+ ---
1319
+
1320
+ ## [1.8.2] — 2026-07-23
1321
+
1322
+ 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.
1323
+
1324
+ ### Changed
1325
+
1326
+ - **`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).
1327
+ - **`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.
1328
+ - **`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.
1329
+
1330
+ 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.
1331
+
1332
+ ---
1333
+
1334
+ ## [1.8.1] — 2026-07-23
1335
+
1336
+ 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.
1337
+
1338
+ ### Changed
1339
+
1340
+ - **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.
1341
+ - **`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.
1342
+ - **`.cursor-plugin/plugin.json`** — benefit-first description for the Cursor marketplace / directory listings.
1343
+ - **`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.
1344
+ - **`docs/GETTING-STARTED.md`** — plain-language example rows for the v1.8.0 skills (motion, forms, design consolidation, guardrails, resilience).
1345
+ - **`docs/TRIGGER-CHEATSHEET.md`** & **`docs/PROMOTION.md`** — first-time-reader pointer and benefit-first listing copy.
1346
+
1347
+ ---
1348
+
1349
+ ## [1.8.0] — 2026-07-23
1350
+
1351
+ 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.
1352
+
1353
+ ### Added
1354
+
1355
+ - **`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.
1356
+ - **`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.
1357
+ - **`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`.
1358
+ - **`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.
1359
+ - **`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.
1360
+ - **`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-*`.
1361
+
1362
+ All six new skills wired into both `skill-workflows.mdc` routing copies, `docs/CATALOG.md`, and `docs/TRIGGER-CHEATSHEET.md`. Skills 100 → 106.
1363
+
1364
+ ### Changed
1365
+
1366
+ - **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.
1367
+
1368
+ ---
1369
+
1370
+ ## [1.7.0] — 2026-07-21
1371
+
1372
+ 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.
1373
+
1374
+ ### Added
1375
+
1376
+ - **`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
1377
+ - **`completion-judge` subagent** — independently reconciles the approved outcome, durable state, full diff, baseline, and fresh evidence before returning `PASS`, `CONTINUE`, or `BLOCKED`
1378
+ - **`verification-before-completion` rule** — defines evidence-backed completion levels from implemented through observed-stable and forbids claims above the proven level
1379
+ - **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
1380
+ - **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
1381
+ - **`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
1382
+ - **`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
1383
+ - **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
1384
+
1385
+ ### Changed
1386
+
1387
+ - **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.
1388
+ - **Count synchronization** — skill, command, and subagent totals are all derived from the filesystem.
1389
+
1390
+ ### Fixed
1391
+
1392
+ - **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.
1393
+
1394
+ ## [1.6.0] — 2026-07-18
1395
+
1396
+ 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.
1397
+
1398
+ ### Added
1399
+ - **`--auto` detection** — probes `~/.cursor`, `~/.claude`, `~/.codex`, `~/.gemini` and installs the right artifacts to each installed tool (falls back to Cursor if none are found).
1400
+ - **Codex CLI support (`--codex`)** — merges `rules/` into `~/.codex/AGENTS.md` (auto-loaded) and ports `plan`/`research`/`fix-issue` to `~/.codex/prompts/*.md`.
1401
+ - **Gemini CLI support (`--gemini`)** — merges `rules/` into `~/.gemini/GEMINI.md` (auto-loaded) and ports the same commands to `~/.gemini/commands/*.toml`.
1402
+ - **`commands-portable/`** — new single source of truth for the three tool-agnostic playbooks the installer transforms per tool.
1403
+ - Install smoke test now exercises the Codex/Gemini paths (merged-rules content, command ports, TOML shape, idempotency, `--auto` detection).
1404
+
1405
+ ### Changed
1406
+ - **`--all` now targets all four supported tools** (was Cursor + Claude Code). A bare `npx @kensaurus/cursor-kenji` stays Cursor-only for backward compatibility.
1407
+ - 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.
1408
+ - Generated context files are idempotent (byte-identical on re-run) and backed up (`.bak-<stamp>`) before any overwrite.
1409
+ - `install.sh` gains `--auto`/`--codex`/`--gemini`/`--all`; Codex/Gemini delegate to the Node installer so the merge/port logic has one source of truth.
1410
+
1411
+ ## [1.5.1] — 2026-07-18
1412
+
1413
+ 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.
1414
+
1415
+ ### Changed
1416
+ - **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.
1417
+ - **Command frontmatter** — added `description` + `argument-hint` to 14 slash commands for discoverability.
1418
+ - **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.
1419
+ - **Descriptive prose over pseudo-tools** — `audit-ux` and `audit-security` reframe `Glob`/`Grep` fenced blocks (which read as executable calls) as plain guidance.
1420
+
1421
+ ### Fixed
1422
+ - **Stale model IDs** — refreshed illustrative model references in `audit-langfuse-llm` to current-generation IDs.
1423
+ - **Hardcoded counts** — decoupled the style-catalog count from the always-on `thirdparty-ui-ux-pro-max` description.
1424
+ - **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.
1425
+
1426
+ ## [1.5.0] — 2026-07-18
1427
+
1428
+ ### Added
1429
+
1430
+ - **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.
1431
+ - **install.sh: Claude Code commands** — `~/.claude/commands/` now installed alongside skills/agents/rules.
1432
+ - **`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).
1433
+ - **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
1434
+ - **`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)
1435
+
1436
+ ### Fixed
1437
+
1438
+ - **Sentry MCP calls** — `naturalLanguageQuery` → `query` across 15 skill files (matches current Sentry MCP `search_issues`/`search_events` signature).
1439
+ - **`mobile-emulator-start`** — display default corrected to `1080×2400`; `1080×4000` is now opt-in for scroll-QA with a matching tall skin.
1440
+ - **`test-red-team`** — description trimmed under the Agent Skills 1024-char frontmatter limit.
1441
+ - **`design-mobile-first`** — repaired garbled self-referential description.
1442
+ - **`enhance-web-landing`** — H1 renamed to match the skill (internal codename removed).
1443
+ - **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`.
1444
+ - **install.sh** — removed duplicated "Installed N skills" log line.
1445
+
1446
+ ---
1447
+
1448
+ ## [1.4.2] — 2026-06-24
1449
+
1450
+ ### Fixed
1451
+
1452
+ - **npm tarball** — `.mcp.json` included in published package (Cursor Marketplace MCP reference)
1453
+ - **MCP essential 5** — aligned `mcp/mcp.json.template`, `.mcp.json`, and docs on Playwright (was Chrome DevTools in template)
1454
+
1455
+ ### Changed
1456
+
1457
+ - **Anti-slop pass** — skill YAML descriptions, subagent frontmatter, README badges, CATALOG/PROMOTION/GETTING-STARTED copy
1458
+ - **`docs/DISTRIBUTION.md`** — install channel matrix (Cursor vs Claude Code vs Marketplace)
1459
+ - **README** — Claude Code labeled bash-only; shell helpers table expanded; project rules count clarified
1460
+ - **`package.json`** — removed `prepare` git-hooks side effect on consumer `npm install`
1461
+ - **`.gitignore`** — `*.log`, `*.bak`, `*.old`, `*.tmp`
1462
+
1463
+ ---
1464
+
1465
+ ## [1.4.1] — 2026-06-23
1466
+
1467
+ ### Fixed
1468
+
1469
+ - **`package.json` bin** — `cursor-kenji` → `bin/install.mjs` (npm publish no longer strips the bin entry)
1470
+ - **`repository.url`** — normalized to `git+https://github.com/kensaurus/cursor-kenji.git`
1471
+
1472
+ ### Changed
1473
+
1474
+ - **npm OIDC Trusted Publisher** configured (`kensaurus/cursor-kenji` · workflow `npm-publish.yml`)
1475
+ - **CI publish** — OIDC-first; `NPM_TOKEN` only used when the secret is set
1476
+
1477
+ ---
1478
+
1479
+ ## [1.4.0] — 2026-06-23
1480
+
1481
+ ### Added
1482
+
1483
+ - **`llms.txt`** — machine-readable doc index for answer-engine / AI crawler discoverability
1484
+ - **`SECURITY.md`** — MCP secrets hygiene, OIDC-first publish guidance, zero-dep policy
1485
+ - **`scripts/scan-secrets.mjs`** — pre-commit secret pattern scanner (zero-deps)
1486
+ - **`scripts/check-mcp-pins.mjs`** + **`mcp/pinned-versions.json`** + **`mcp/VERSIONS.md`** — semver-pinned MCP templates
1487
+ - **README FAQ** — install, skill count, audit vs plan, MCP keys, llms.txt
1488
+
1489
+ ### Changed
1490
+
1491
+ - **MCP templates** — all `@latest` removed; npm + uvx packages pinned; AWS servers migrated to valid PyPI names (`lambda-tool`, `aws-api`, unified `cloudwatch-mcp`)
1492
+ - **Pre-commit** — runs secret scan before skill validation
1493
+ - **`npm test`** — includes secret self-test + MCP pin check
1494
+ - **`docs/PROMOTION.md`** — OIDC-first npm publish; launch copy skill count 90
1495
+
1496
+ ---
1497
+
1498
+ ## [1.3.0] — 2026-06-23
1499
+
1500
+ ### Added
1501
+
1502
+ - **Eleven new `plan-*` skills** — security spine, launch gates, antislop, Capacitor hardening, observability/spend (`plan-rls-audit` through `plan-capacitor-hardening`)
1503
+ - **`docs/AGENTS.template.md`** — project constitution (mission / stack / roadmap / agent discipline)
1504
+ - **`docs/examples/plan-audits/`** — sample plan burndown outputs; root `/plan-*.md` gitignored
1505
+
1506
+ ### Changed
1507
+
1508
+ - **README** de-duplicated (~340 lines); CATALOG canonical; skill count **90** (17 plan-*)
1509
+ - **`check-skill-count.mjs`** syncs README, CATALOG, PROMOTION, package.json
1510
+ - **Pre-commit hook** re-stages all count-sync files on drift
1511
+ - **`create-skill`** body split — detail in `references/authoring-guide.md` (<500 lines)
1512
+
1513
+ ---
1514
+
1515
+ ## [1.2.7] — 2026-06-17
1516
+
1517
+ ### Added
1518
+
1519
+ - **`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
1520
+ - Documents the two-model workflow (strong model plans, Composer 2.5 executes) in README and `docs/PLAN-LOOPS.md`
1521
+
1522
+ ### Changed
1523
+
1524
+ - Project rules count: 8 → **9**
1525
+
1526
+ ---
1527
+
1528
+ ## [1.2.6] — 2026-06-17
1529
+
1530
+ ### Added
1531
+
1532
+ - **`plan-test-coverage`** — user-story-driven coverage audit, traceability matrix, fake-green detection (plan only)
1533
+ - **`docs/PLAN-LOOPS.md`** — six-skill plan loop: link, chain, prompts, execution mapping
1534
+
1535
+ ### Changed
1536
+
1537
+ - Six-skill plan loop (was five): adds `plan-test-coverage` after stub-checker, before perf/security
1538
+
1539
+ ---
1540
+
1541
+ ## [1.2.5] — 2026-06-17
1542
+
1543
+ ### Added
1544
+
1545
+ - **`plan-docs-sync`** — docs drift audit vs code truth; onboarding-drift checks; docs-as-code guardrails (plan only)
1546
+ - **`plan-perf-audit`** — measure-don't-guess perf audit across web/mobile/backend/data; Lighthouse CI + RUM guardrails (plan only)
1547
+ - **`plan-security-audit`** — OWASP + Supabase-first (RLS, service_role scan); no destructive testing; secrets location-only (plan only)
1548
+ - Five-skill plan loop documented in `skill-workflows` and CATALOG
1549
+
1550
+ ---
1551
+
1552
+ ## [1.2.4] — 2026-06-17
1553
+
1554
+ ### Added
1555
+
1556
+ - **`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)
1557
+
1558
+ ---
1559
+
1560
+ ## [1.2.3] — 2026-06-16
1561
+
1562
+ ### Added
1563
+
1564
+ - **`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)
1565
+
1566
+ ---
1567
+
1568
+ ## [1.2.2] — 2026-06-16
1569
+
1570
+ ### Changed
1571
+
1572
+ - **Playwright test skills:** shared signed-in session reuse (Google OAuth, etc.) and multi-agent tab discipline — no fighting over the same browser tab
1573
+ - New reference: `protocol-browser-anti-stall/references/playwright-session-coordination.md`
1574
+ - Updated: `test-playwright`, `test-qa`, `test-red-team`, `protocol-browser-anti-stall`
1575
+
1576
+ ---
1577
+
1578
+ ## [1.2.1] — 2026-06-12
1579
+
1580
+ ### Fixed
1581
+
1582
+ - npm CI publish: use OIDC trusted publishing (remove empty `NPM_TOKEN` that blocked auth)
1583
+
1584
+ ---
1585
+
1586
+ ## [1.2.0] — 2026-06-12
1587
+
1588
+ ### Added (13 skills since v1.1.0)
1589
+
1590
+ - **Red team & quality:** `test-red-team`, `workflow-quality-gate`
1591
+ - **Post-launch & shipping:** `iterate-post-launch`, `workflow-launch-ready`, `workflow-feature-flag`
1592
+ - **Enhance & audit:** `enhance-web-seo`, `enhance-pwa`, `audit-bundle-size`, `audit-i18n`, `design-email`
1593
+ - **Bundled workflows:** `workflow-build-feature`, `workflow-fix-and-ship`, `workflow-onboard`
1594
+ - **Routing rule:** `rules/skill-workflows.mdc` — capabilities catalog with skill-chaining diagram
1595
+
1596
+ ### Changed
1597
+
1598
+ - Skill count: 60 → **73**
1599
+ - `test-red-team` trimmed to stay under 500-line spec limit
1600
+ - `.gitignore`: ignore `.playwright-mcp/` and `.qa-screenshots/` scratch artifacts
1601
+
1602
+ ### Install
1603
+
1604
+ ```bash
1605
+ npx skills add kensaurus/cursor-kenji
1606
+ # or
1607
+ npx @kensaurus/cursor-kenji@1.2.0
1608
+ ```
1609
+
1610
+ ---
1611
+
1612
+ ## Jun 2026 — Bundled Workflows, Gap-Filling, & Verbosity Trim
1613
+
1614
+ ### New Bundled Workflow Skills
1615
+
1616
+ 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.
1617
+
1618
+ | Skill | What it chains |
1619
+ |:------|:--------------|
1620
+ | `workflow-build-feature` | spec → TDD → unit tests → smoke test → PR |
1621
+ | `workflow-fix-and-ship` | debug → root cause → fix → regression test → smoke → PR → deploy |
1622
+ | `workflow-quality-gate` | red-team → security → bundle → perf → unit tests → go/no-go verdict |
1623
+ | `workflow-launch-ready` | SEO + PWA + bundle + i18n + quality gate + deploy smoke + iterate |
1624
+ | `workflow-onboard` | First-contact orientation — reads codebase, produces 5-minute briefing |
1625
+
1626
+ ### New `.cursor/rules/skill-workflows.mdc`
1627
+
1628
+ 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.
1629
+
1630
+ ### Improvements
1631
+
1632
+ - `test-red-team` trimmed from 515 → 417 lines: security priority table replaced verbose prose sections; Playwright quick-ref removed (already in platform docs).
1633
+
1634
+ ---
1635
+
1636
+ ## Jun 2026 — Post-Launch Iteration & Shipping-Quality Skills
1637
+
1638
+ ### New Skills
1639
+
1640
+ | Skill | Why |
1641
+ |:------|:----|
1642
+ | `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. |
1643
+ | `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. |
1644
+ | `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. |
1645
+ | `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. |
1646
+ | `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. |
1647
+ | `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. |
1648
+ | `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. |
1649
+
1650
+ ---
1651
+
1652
+ ## Jun 2026 — Adversarial Red-Team Skill
1653
+
1654
+ ### New Skills
1655
+
1656
+ | Skill | Why |
1657
+ |:------|:----|
1658
+ | `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. |
1659
+
1660
+ ---
1661
+
1662
+ ## Jun 2026 — Installer hardening + spec compliance
1663
+
1664
+ ### Installer (`bin/install.mjs`)
1665
+
1666
+ - **Fixed a shipped bug:** the installer only copied subdirectories, silently
1667
+ dropping every top-level `.md`/`.mdc` file — `npx` installs landed 0 subagents,
1668
+ only 1 of 14 commands, and no rules files. It now copies files and directories.
1669
+ - **`--clean` / `--mirror`** — make `~/.cursor` exactly mirror this repo (no
1670
+ overlap/duplicates); takes a timestamped backup first (`--no-backup` to skip).
1671
+ - **`--restore [stamp]`** — restore a previous `--clean` backup.
1672
+ - **`--only <csv>`** and **`--skill <name>`** — partial installs.
1673
+ - **`--link`** — dev mode: symlink (junction on Windows) instead of copy.
1674
+ - MCP template is written only when missing and never overwrites existing keys.
1675
+
1676
+ ### Quality gates
1677
+
1678
+ - `scripts/validate-skills.mjs` — validates every skill against the
1679
+ [Agent Skills spec](https://agentskills.io/specification): frontmatter present,
1680
+ `name` matches its directory, `description` ≤ 1024 chars, body length warnings.
1681
+ - `scripts/test-install.mjs` — install smoke test (would have caught the bug above).
1682
+ - Both run in the pre-commit hook, a new cross-OS `validate` workflow, and before
1683
+ `npm publish`.
1684
+ - Trimmed 4 over-long skill descriptions to ≤ 1024 chars (`audit-ux`,
1685
+ `enhance-web-ui`, `enhance-web-ux`, `enhance-capacitor-ui`).
1686
+ - Added `.gitattributes` to normalize line endings (LF) across machines.
1687
+
1688
+ ---
1689
+
1690
+ ## Jun 2026 — Anti-Vibe-Coding Spine + Taste Skills
1691
+
1692
+ ### New Skills
1693
+
1694
+ | Skill | Why |
1695
+ |:------|:----|
1696
+ | `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) |
1697
+ | `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) |
1698
+ | `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) |
1699
+ | `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 |
1700
+ | `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) |
1701
+ | `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) |
1702
+ | `enhance-web-redesign` | Audit-first upgrade of existing sites — 60-second AI-tell triage, then scan/diagnose/fix generic AI patterns without breaking functionality |
1703
+ | `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) |
1704
+
1705
+ ### Family Rename
1706
+
1707
+ `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.
1708
+
1709
+ ---
1710
+
1711
+ ## May 2026 — PDCA Browser Testing, npm Release, Native RN Loop
1712
+
1713
+ ### New Skills
1714
+
1715
+ | Skill | Why |
1716
+ |:------|:----|
1717
+ | `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 |
1718
+ | `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 |
1719
+ | `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 |
1720
+ | `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 |
1721
+
1722
+ ### New Rules
1723
+
1724
+ | Rule | Why |
1725
+ |:-----|:----|
1726
+ | `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 |
1727
+ | `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 |
1728
+
1729
+ ### Housekeep Pass
1730
+
1731
+ - 11 skills renamed so `name:` frontmatter matches folder names per Cursor spec
1732
+ - 22 descriptions tightened to direct-tone single-sentence WHAT + concrete trigger list
1733
+ - 9 commands demoted to skill pointers (no more duplicated playbook)
1734
+
1735
+ ---
1736
+
1737
+ ## Apr 2026 — The Enhance Family
1738
+
1739
+ | Skill | Why |
1740
+ |:------|:----|
1741
+ | `enhance-web-ui` | Composition over decoration — fix hierarchy, grouping, spacing, motion. NN/g + Laws of UX grounded |
1742
+ | `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 |
1743
+ | `enhance-readme` | Theme-aware hero + tour grid + optional animated GIF via Playwright MCP |
1744
+ | `audit-ux` | Deep UX audit grounded in NN/g 10 heuristics, Laws of UX, Intuit Content Design, Google HEART |
1745
+ | `split-to-prs` *(Cursor Skill)* | Slice a single chat / branch / PR into small reviewable PRs with safe snapshot |
1746
+ | `canvas` *(Cursor Skill)* | Live React canvas beside chat — updated with refreshed SDK primitives |
1747
+
1748
+ ---
1749
+
1750
+ ## Earlier 2026
1751
+
1752
+ | Addition | Type |
1753
+ |:---------|:-----|
1754
+ | `create-hook` | Skill |
1755
+ | `workflow-spec-workflow-spec-tdd` | Skill |
1756
+ | `workflow-spec-tdd` | Skill |
1757
+ | `workflow-workflow-parallel-agents` | Skill |
1758
+ | `audit-code-review` | Skill |
1759
+ | 20 new skills (audits, debugging, deploy verification, file handling, PRD, QA, housekeeping) | Skills |
1760
+ | 6 new cursor-skills (babysit, canvas, create-hook, shell, statusline, update-cli-config) | Cursor Skills |
1761
+ | `/plan`, `/pr`, `/debug` | Commands |