@kensaurus/skills 0.0.0-stage → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/.claude-plugin/marketplace.json +53 -0
  2. package/.claude-plugin/plugin.json +40 -0
  3. package/.cursor-plugin/plugin.json +38 -0
  4. package/.mcp.json +28 -0
  5. package/CHANGELOG.md +1790 -0
  6. package/LICENSE +21 -0
  7. package/LICENSE-APACHE +62 -0
  8. package/NOTICE +13 -0
  9. package/README.md +821 -2
  10. package/SECURITY.md +55 -0
  11. package/agents/code-reviewer.md +60 -0
  12. package/agents/completion-judge.md +89 -0
  13. package/agents/db-migrator.md +125 -0
  14. package/agents/debugger.md +47 -0
  15. package/agents/deploy-checker.md +100 -0
  16. package/agents/perf-monitor.md +74 -0
  17. package/assets/favicon.png +0 -0
  18. package/assets/logo-light.png +0 -0
  19. package/assets/logo.png +0 -0
  20. package/assets/logo.svg +6 -0
  21. package/assets/og.png +0 -0
  22. package/bin/install.mjs +1127 -0
  23. package/bin/kenji.js +2 -0
  24. package/commands/adr.md +17 -0
  25. package/commands/aeo-plan.md +18 -0
  26. package/commands/arch-boundaries.md +17 -0
  27. package/commands/aso-plan.md +18 -0
  28. package/commands/auth-flows.md +19 -0
  29. package/commands/backup-plan.md +17 -0
  30. package/commands/burndown-full.md +25 -0
  31. package/commands/capacitor-plan.md +18 -0
  32. package/commands/codemod-safety.md +22 -0
  33. package/commands/commit.md +18 -0
  34. package/commands/complete-everything.md +40 -0
  35. package/commands/cost-plan.md +19 -0
  36. package/commands/deadcode-plan.md +26 -0
  37. package/commands/deadcode.md +32 -0
  38. package/commands/debug-issue.md +17 -0
  39. package/commands/deps-plan.md +18 -0
  40. package/commands/docs-plan.md +17 -0
  41. package/commands/doctrine.md +19 -0
  42. package/commands/error-plan.md +19 -0
  43. package/commands/feedback-to-closure.md +36 -0
  44. package/commands/fix-issue.md +76 -0
  45. package/commands/gate-logic.md +26 -0
  46. package/commands/green-repo.md +36 -0
  47. package/commands/grill-me.md +19 -0
  48. package/commands/gtm-plan.md +21 -0
  49. package/commands/gtm-weekly.md +17 -0
  50. package/commands/gtm.md +22 -0
  51. package/commands/handoff.md +15 -0
  52. package/commands/housekeep-backlog.md +18 -0
  53. package/commands/housekeep-files.md +22 -0
  54. package/commands/housekeep-gates.md +18 -0
  55. package/commands/instant-nav.md +11 -0
  56. package/commands/integrity-plan.md +19 -0
  57. package/commands/launch-kit.md +16 -0
  58. package/commands/mcp-guide.md +40 -0
  59. package/commands/mobile-plan.md +19 -0
  60. package/commands/native-rn-monorepo/README.md +78 -0
  61. package/commands/native-rn-monorepo/android-build.md +26 -0
  62. package/commands/native-rn-monorepo/android-install.md +32 -0
  63. package/commands/native-rn-monorepo/android-logcat.md +37 -0
  64. package/commands/native-rn-monorepo/ios-ci-logs.md +56 -0
  65. package/commands/native-rn-monorepo/ios-ci-status.md +52 -0
  66. package/commands/native-rn-monorepo/ios-ci-trigger.md +59 -0
  67. package/commands/native-rn-monorepo/rn-reset.md +50 -0
  68. package/commands/native-rn-monorepo/rn-ship-ios.md +67 -0
  69. package/commands/native-rn-monorepo/rn-verify.md +53 -0
  70. package/commands/perf-plan.md +18 -0
  71. package/commands/plan-mode.md +74 -0
  72. package/commands/pr.md +16 -0
  73. package/commands/pricing-plan.md +20 -0
  74. package/commands/privacy-plan.md +18 -0
  75. package/commands/readability.md +12 -0
  76. package/commands/readme.md +15 -0
  77. package/commands/refactor.md +15 -0
  78. package/commands/release-prep.md +17 -0
  79. package/commands/research.md +25 -0
  80. package/commands/responsive-audit.md +21 -0
  81. package/commands/review-code.md +18 -0
  82. package/commands/rls-plan.md +18 -0
  83. package/commands/secrets-plan.md +18 -0
  84. package/commands/security-plan.md +19 -0
  85. package/commands/ship-and-observe.md +36 -0
  86. package/commands/skill-conflicts.md +19 -0
  87. package/commands/slop-plan.md +18 -0
  88. package/commands/stub-plan.md +18 -0
  89. package/commands/test-mutation.md +16 -0
  90. package/commands/test-plan.md +17 -0
  91. package/commands/test.md +29 -0
  92. package/commands/thirdparty-web-interface-guidelines.md +185 -0
  93. package/commands/uiux-plan.md +18 -0
  94. package/commands/uiux.md +45 -0
  95. package/commands/update-deps.md +21 -0
  96. package/commands/validation-plan.md +19 -0
  97. package/commands-portable/fix-issue.md +72 -0
  98. package/commands-portable/plan-mode.md +92 -0
  99. package/commands-portable/research.md +91 -0
  100. package/docs/screenshots/README.md +5 -0
  101. package/docs/screenshots/audit-dark.png +0 -0
  102. package/docs/screenshots/build-dark.png +0 -0
  103. package/docs/screenshots/grill-dark.png +0 -0
  104. package/docs/screenshots/hero-dark.png +0 -0
  105. package/docs/screenshots/hero-light.png +0 -0
  106. package/docs/screenshots/ship-dark.png +0 -0
  107. package/docs/screenshots/src/showcase.html +320 -0
  108. package/hooks/completion-gate.mjs +258 -0
  109. package/hooks/cursor-hooks.json +13 -0
  110. package/hooks/hooks.json +15 -0
  111. package/install.sh +21 -0
  112. package/llms.txt +40 -0
  113. package/mcp/README.md +266 -0
  114. package/mcp/VERSIONS.md +41 -0
  115. package/mcp/mcp-full.json.template +124 -0
  116. package/mcp/mcp.json.template +29 -0
  117. package/mcp/pinned-versions.json +27 -0
  118. package/package.json +94 -4
  119. package/rules/approved-plan-execution.mdc +65 -0
  120. package/rules/full-stack-ship-discipline.mdc +37 -0
  121. package/rules/native-rn-monorepo/README.md +63 -0
  122. package/rules/native-rn-monorepo/_project.mdc +69 -0
  123. package/rules/native-rn-monorepo/native-android.mdc +72 -0
  124. package/rules/native-rn-monorepo/native-ios.mdc +61 -0
  125. package/rules/native-rn-monorepo/react-native-js.mdc +78 -0
  126. package/rules/native-rn-monorepo/web.mdc +60 -0
  127. package/rules/project-starter/components.mdc +54 -0
  128. package/rules/project-starter/data-fetching.mdc +77 -0
  129. package/rules/project-starter/git.mdc +41 -0
  130. package/rules/project-starter/supabase.mdc +37 -0
  131. package/rules/project-starter/tailwind.mdc +48 -0
  132. package/rules/project-starter/typescript.mdc +36 -0
  133. package/rules/project-starter/web-performance.mdc +42 -0
  134. package/rules/senior-engineer.mdc +30 -0
  135. package/rules/shell-first-search.mdc +19 -0
  136. package/rules/skill-workflows.mdc +35 -0
  137. package/rules/verification-before-completion.mdc +57 -0
  138. package/skills/audit-accessibility/SKILL.md +441 -0
  139. package/skills/audit-agent-speed/SKILL.md +181 -0
  140. package/skills/audit-agent-speed/scripts/stop-typecheck.mjs +151 -0
  141. package/skills/audit-analytics/SKILL.md +138 -0
  142. package/skills/audit-auth-flows/SKILL.md +267 -0
  143. package/skills/audit-backend-architecture/SKILL.md +266 -0
  144. package/skills/audit-backend-architecture/references/patterns.md +386 -0
  145. package/skills/audit-bundle-size/SKILL.md +295 -0
  146. package/skills/audit-cicd/SKILL.md +218 -0
  147. package/skills/audit-code-quality/SKILL.md +314 -0
  148. package/skills/audit-code-review/SKILL.md +289 -0
  149. package/skills/audit-codemod-safety/SKILL.md +159 -0
  150. package/skills/audit-db-schema/SKILL.md +465 -0
  151. package/skills/audit-db-schema/references/details.md +110 -0
  152. package/skills/audit-doctrine/SKILL.md +189 -0
  153. package/skills/audit-env-parity/SKILL.md +133 -0
  154. package/skills/audit-fe-api/SKILL.md +458 -0
  155. package/skills/audit-gate-logic/SKILL.md +219 -0
  156. package/skills/audit-i18n/SKILL.md +339 -0
  157. package/skills/audit-infra-cost/SKILL.md +142 -0
  158. package/skills/audit-langfuse-llm/SKILL.md +468 -0
  159. package/skills/audit-langfuse-llm/references/details.md +226 -0
  160. package/skills/audit-llm-security/SKILL.md +147 -0
  161. package/skills/audit-monetization-iap/SKILL.md +137 -0
  162. package/skills/audit-payment-system/SKILL.md +268 -0
  163. package/skills/audit-payment-system/references/checklist.md +283 -0
  164. package/skills/audit-performance/SKILL.md +383 -0
  165. package/skills/audit-performance/references/loading-priority-2026.md +81 -0
  166. package/skills/audit-realworld/SKILL.md +287 -0
  167. package/skills/audit-registry-listing/SKILL.md +122 -0
  168. package/skills/audit-resilience/SKILL.md +153 -0
  169. package/skills/audit-responsive/SKILL.md +221 -0
  170. package/skills/audit-responsive/references/checklist.md +166 -0
  171. package/skills/audit-security/SKILL.md +289 -0
  172. package/skills/audit-skill-conflicts/SKILL.md +178 -0
  173. package/skills/audit-ui-states/SKILL.md +146 -0
  174. package/skills/audit-uiux-design-system/SKILL.md +475 -0
  175. package/skills/audit-uiux-design-system/references/details.md +71 -0
  176. package/skills/audit-ux/SKILL.md +381 -0
  177. package/skills/audit-ux/references/details.md +245 -0
  178. package/skills/audit-ux-journeys/SKILL.md +215 -0
  179. package/skills/audit-ux-journeys/references/checklist.md +179 -0
  180. package/skills/backend-db-performance/SKILL.md +441 -0
  181. package/skills/backend-error-handling/SKILL.md +489 -0
  182. package/skills/backend-error-handling/references/details.md +58 -0
  183. package/skills/backend-observability/SKILL.md +88 -0
  184. package/skills/backend-patterns/SKILL.md +499 -0
  185. package/skills/backend-patterns/references/architecture-patterns.md +298 -0
  186. package/skills/backend-realtime/SKILL.md +403 -0
  187. package/skills/backend-realtime/references/patterns.md +74 -0
  188. package/skills/burndown-full/SKILL.md +174 -0
  189. package/skills/complete-everything/SKILL.md +295 -0
  190. package/skills/data-pipeline/SKILL.md +109 -0
  191. package/skills/data-visualization/SKILL.md +488 -0
  192. package/skills/debug-error/SKILL.md +322 -0
  193. package/skills/debug-fe-be-integration/SKILL.md +459 -0
  194. package/skills/debug-sentry-monitor/SKILL.md +497 -0
  195. package/skills/debug-sentry-monitor/references/details.md +165 -0
  196. package/skills/deploy-npm/SKILL.md +394 -0
  197. package/skills/deploy-npm/references/example-mushi-mushi.md +52 -0
  198. package/skills/deploy-verify/SKILL.md +489 -0
  199. package/skills/design-api/SKILL.md +379 -0
  200. package/skills/design-canvas/SKILL.md +155 -0
  201. package/skills/design-email/SKILL.md +370 -0
  202. package/skills/design-frontend/SKILL.md +143 -0
  203. package/skills/design-generative-art/SKILL.md +474 -0
  204. package/skills/design-mobile-first/SKILL.md +506 -0
  205. package/skills/design-motion/SKILL.md +333 -0
  206. package/skills/design-motion/references/delight-interactions.md +191 -0
  207. package/skills/design-prd/SKILL.md +443 -0
  208. package/skills/design-system/SKILL.md +457 -0
  209. package/skills/design-theme/SKILL.md +226 -0
  210. package/skills/design-theme/themes/tsumagoi-ranch.md +150 -0
  211. package/skills/docs-adr/SKILL.md +168 -0
  212. package/skills/docs-coauthor/SKILL.md +368 -0
  213. package/skills/docs-comparison-pages/SKILL.md +117 -0
  214. package/skills/docs-domain-modeling/SKILL.md +97 -0
  215. package/skills/docs-launch-kit/SKILL.md +139 -0
  216. package/skills/docs-writer/SKILL.md +469 -0
  217. package/skills/enhance-agent-guardrails/SKILL.md +164 -0
  218. package/skills/enhance-arch-boundaries/SKILL.md +154 -0
  219. package/skills/enhance-capacitor-ui/SKILL.md +463 -0
  220. package/skills/enhance-capacitor-ui/references/details.md +750 -0
  221. package/skills/enhance-email-deliverability/SKILL.md +143 -0
  222. package/skills/enhance-growth-loops/SKILL.md +122 -0
  223. package/skills/enhance-lifecycle-email/SKILL.md +130 -0
  224. package/skills/enhance-motion/SKILL.md +193 -0
  225. package/skills/enhance-onboarding/SKILL.md +148 -0
  226. package/skills/enhance-pwa/SKILL.md +303 -0
  227. package/skills/enhance-readability/SKILL.md +146 -0
  228. package/skills/enhance-readme/SKILL.md +496 -0
  229. package/skills/enhance-readme/package-lock.json +187 -0
  230. package/skills/enhance-readme/package.json +17 -0
  231. package/skills/enhance-readme/scripts/generate-readme-blocks.mjs +199 -0
  232. package/skills/enhance-readme/scripts/record-readme-tour.mjs +442 -0
  233. package/skills/enhance-skill-prompts/SKILL.md +167 -0
  234. package/skills/enhance-skill-prompts/references/exemplar-audit-auth-flows.md +311 -0
  235. package/skills/enhance-ux-laws/SKILL.md +409 -0
  236. package/skills/enhance-web-conversion/SKILL.md +155 -0
  237. package/skills/enhance-web-forms/SKILL.md +154 -0
  238. package/skills/enhance-web-instant-nav/SKILL.md +138 -0
  239. package/skills/enhance-web-instant-nav/references/bfcache-blockers.md +23 -0
  240. package/skills/enhance-web-instant-nav/references/early-hints.md +33 -0
  241. package/skills/enhance-web-instant-nav/references/speculation-rules.md +44 -0
  242. package/skills/enhance-web-landing/SKILL.md +459 -0
  243. package/skills/enhance-web-landing/references/details.md +773 -0
  244. package/skills/enhance-web-redesign/SKILL.md +228 -0
  245. package/skills/enhance-web-seo/SKILL.md +276 -0
  246. package/skills/enhance-web-ui/SKILL.md +473 -0
  247. package/skills/enhance-web-ui/references/details.md +674 -0
  248. package/skills/enhance-web-ux/HEURISTICS.md +248 -0
  249. package/skills/enhance-web-ux/PATTERNS.md +375 -0
  250. package/skills/enhance-web-ux/SKILL.md +464 -0
  251. package/skills/enhance-web-ux/examples.md +222 -0
  252. package/skills/enhance-web-ux/references/details.md +406 -0
  253. package/skills/enhance-web-web3d/SKILL.md +397 -0
  254. package/skills/enhance-web-web3d/references/css-canvas-effects.md +180 -0
  255. package/skills/handoff/SKILL.md +66 -0
  256. package/skills/housekeep-backlog/SKILL.md +149 -0
  257. package/skills/housekeep-dead-code/SKILL.md +387 -0
  258. package/skills/housekeep-dead-code/references/ratchet-ci.md +205 -0
  259. package/skills/housekeep-dead-code/references/supabase-hygiene.md +152 -0
  260. package/skills/housekeep-design/SKILL.md +207 -0
  261. package/skills/housekeep-files/SKILL.md +220 -0
  262. package/skills/housekeep-files/references/naming-and-catalog.md +86 -0
  263. package/skills/housekeep-files/scripts/housekeep-files.ps1 +360 -0
  264. package/skills/housekeep-files/scripts/housekeep-files.sh +238 -0
  265. package/skills/housekeep-gates/SKILL.md +174 -0
  266. package/skills/iterate-agent-harness/SKILL.md +137 -0
  267. package/skills/iterate-gtm-weekly/SKILL.md +103 -0
  268. package/skills/iterate-post-launch/SKILL.md +292 -0
  269. package/skills/meta-mcp-builder/SKILL.md +313 -0
  270. package/skills/meta-skill-creator/SKILL.md +304 -0
  271. package/skills/mobile-capacitor-platform/SKILL.md +103 -0
  272. package/skills/mobile-emulator-start/SKILL.md +296 -0
  273. package/skills/mobile-emulator-test/SKILL.md +491 -0
  274. package/skills/mobile-emulator-test/references/details.md +478 -0
  275. package/skills/mobile-rn-performance/SKILL.md +107 -0
  276. package/skills/mobile-rn-screen/SKILL.md +476 -0
  277. package/skills/mobile-rn-screen/references/details.md +785 -0
  278. package/skills/mushi-health/SKILL.md +206 -0
  279. package/skills/mushi-integration/SKILL.md +257 -0
  280. package/skills/plan-aeo-readiness/SKILL.md +166 -0
  281. package/skills/plan-antislop/SKILL.md +281 -0
  282. package/skills/plan-aso/SKILL.md +149 -0
  283. package/skills/plan-backup-dr/SKILL.md +131 -0
  284. package/skills/plan-capacitor-hardening/SKILL.md +217 -0
  285. package/skills/plan-data-integrity/SKILL.md +187 -0
  286. package/skills/plan-dead-code/SKILL.md +386 -0
  287. package/skills/plan-dead-code/references/knip-config.md +214 -0
  288. package/skills/plan-dead-code/references/output-templates.md +133 -0
  289. package/skills/plan-dead-code/references/preservation-contract.md +50 -0
  290. package/skills/plan-dead-code/references/residue-greps.md +84 -0
  291. package/skills/plan-dependency-provenance/SKILL.md +200 -0
  292. package/skills/plan-docs-sync/SKILL.md +143 -0
  293. package/skills/plan-docs-sync/references/drift-taxonomy.md +43 -0
  294. package/skills/plan-docs-sync/references/output-templates.md +33 -0
  295. package/skills/plan-docs-sync/references/preservation-contract.md +17 -0
  296. package/skills/plan-error-handling/SKILL.md +205 -0
  297. package/skills/plan-gtm/SKILL.md +276 -0
  298. package/skills/plan-gtm/references/benchmarks-2026.md +183 -0
  299. package/skills/plan-input-validation/SKILL.md +179 -0
  300. package/skills/plan-llm-cost-guardrails/SKILL.md +176 -0
  301. package/skills/plan-mobile-readiness/SKILL.md +171 -0
  302. package/skills/plan-perf-audit/SKILL.md +145 -0
  303. package/skills/plan-perf-audit/references/audit-scope.md +51 -0
  304. package/skills/plan-perf-audit/references/output-templates.md +33 -0
  305. package/skills/plan-perf-audit/references/preservation-contract.md +13 -0
  306. package/skills/plan-pricing/SKILL.md +173 -0
  307. package/skills/plan-privacy-compliance/SKILL.md +148 -0
  308. package/skills/plan-rls-audit/SKILL.md +231 -0
  309. package/skills/plan-secrets-audit/SKILL.md +181 -0
  310. package/skills/plan-security-audit/SKILL.md +168 -0
  311. package/skills/plan-security-audit/references/output-templates.md +36 -0
  312. package/skills/plan-security-audit/references/owasp-supabase-scope.md +55 -0
  313. package/skills/plan-security-audit/references/preservation-contract.md +18 -0
  314. package/skills/plan-stub-checker/SKILL.md +216 -0
  315. package/skills/plan-stub-checker/references/detection-methodology.md +75 -0
  316. package/skills/plan-stub-checker/references/detection-taxonomy.md +34 -0
  317. package/skills/plan-stub-checker/references/output-templates.md +63 -0
  318. package/skills/plan-stub-checker/references/preservation-contract.md +24 -0
  319. package/skills/plan-test-coverage/SKILL.md +170 -0
  320. package/skills/plan-test-coverage/references/methodology.md +54 -0
  321. package/skills/plan-test-coverage/references/output-templates.md +34 -0
  322. package/skills/plan-test-coverage/references/preservation-contract.md +15 -0
  323. package/skills/plan-uiux-unification/SKILL.md +230 -0
  324. package/skills/plan-uiux-unification/references/output-templates.md +67 -0
  325. package/skills/plan-uiux-unification/references/phase-workbook.md +85 -0
  326. package/skills/plan-uiux-unification/references/preservation-contract.md +24 -0
  327. package/skills/protocol-browser-anti-stall/SKILL.md +211 -0
  328. package/skills/protocol-browser-anti-stall/references/mcp-to-cli-map.md +113 -0
  329. package/skills/protocol-browser-anti-stall/references/playwright-session-coordination.md +170 -0
  330. package/skills/research/SKILL.md +422 -0
  331. package/skills/test-exploratory/SKILL.md +165 -0
  332. package/skills/test-exploratory/references/charter-template.md +29 -0
  333. package/skills/test-load/SKILL.md +126 -0
  334. package/skills/test-mutation/SKILL.md +160 -0
  335. package/skills/test-playwright/SKILL.md +354 -0
  336. package/skills/test-qa/SKILL.md +364 -0
  337. package/skills/test-qa/references/details.md +268 -0
  338. package/skills/test-red-team/SKILL.md +386 -0
  339. package/skills/test-red-team/references/owasp-attack-checklist.md +193 -0
  340. package/skills/test-unit/SKILL.md +259 -0
  341. package/skills/test-unit/references/details.md +267 -0
  342. package/skills/test-visual-regression/SKILL.md +132 -0
  343. package/skills/thirdparty-emil-design-eng/ATTRIBUTION.md +20 -0
  344. package/skills/thirdparty-emil-design-eng/SKILL.md +21 -0
  345. package/skills/thirdparty-emil-design-eng/references/emil-design-eng.md +676 -0
  346. package/skills/thirdparty-ui-ux-pro-max/ATTRIBUTION.md +22 -0
  347. package/skills/thirdparty-ui-ux-pro-max/SKILL.md +304 -0
  348. package/skills/thirdparty-ui-ux-pro-max/data/charts.csv +26 -0
  349. package/skills/thirdparty-ui-ux-pro-max/data/colors.csv +97 -0
  350. package/skills/thirdparty-ui-ux-pro-max/data/icons.csv +101 -0
  351. package/skills/thirdparty-ui-ux-pro-max/data/landing.csv +31 -0
  352. package/skills/thirdparty-ui-ux-pro-max/data/products.csv +97 -0
  353. package/skills/thirdparty-ui-ux-pro-max/data/react-performance.csv +45 -0
  354. package/skills/thirdparty-ui-ux-pro-max/data/stacks/astro.csv +54 -0
  355. package/skills/thirdparty-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  356. package/skills/thirdparty-ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  357. package/skills/thirdparty-ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  358. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  359. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  360. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  361. package/skills/thirdparty-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  362. package/skills/thirdparty-ui-ux-pro-max/data/stacks/react.csv +54 -0
  363. package/skills/thirdparty-ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  364. package/skills/thirdparty-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  365. package/skills/thirdparty-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  366. package/skills/thirdparty-ui-ux-pro-max/data/stacks/vue.csv +50 -0
  367. package/skills/thirdparty-ui-ux-pro-max/data/styles.csv +68 -0
  368. package/skills/thirdparty-ui-ux-pro-max/data/typography.csv +58 -0
  369. package/skills/thirdparty-ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  370. package/skills/thirdparty-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  371. package/skills/thirdparty-ui-ux-pro-max/data/web-interface.csv +31 -0
  372. package/skills/thirdparty-ui-ux-pro-max/scripts/core.py +253 -0
  373. package/skills/thirdparty-ui-ux-pro-max/scripts/design_system.py +1067 -0
  374. package/skills/thirdparty-ui-ux-pro-max/scripts/search.py +114 -0
  375. package/skills/thirdparty-web-interface-guidelines/ATTRIBUTION.md +23 -0
  376. package/skills/thirdparty-web-interface-guidelines/SKILL.md +190 -0
  377. package/skills/workflow-build-feature/SKILL.md +118 -0
  378. package/skills/workflow-coding-discipline/SKILL.md +140 -0
  379. package/skills/workflow-environment-ready/SKILL.md +128 -0
  380. package/skills/workflow-feature-flag/SKILL.md +262 -0
  381. package/skills/workflow-feedback-to-closure/SKILL.md +165 -0
  382. package/skills/workflow-fix-and-ship/SKILL.md +136 -0
  383. package/skills/workflow-git-commit/SKILL.md +200 -0
  384. package/skills/workflow-green-repo/SKILL.md +166 -0
  385. package/skills/workflow-grilling/SKILL.md +73 -0
  386. package/skills/workflow-gtm/SKILL.md +153 -0
  387. package/skills/workflow-housekeep/SKILL.md +453 -0
  388. package/skills/workflow-housekeep/references/templates.md +109 -0
  389. package/skills/workflow-launch-ready/SKILL.md +145 -0
  390. package/skills/workflow-merge-conflicts/SKILL.md +62 -0
  391. package/skills/workflow-onboard/SKILL.md +99 -0
  392. package/skills/workflow-parallel-agents/SKILL.md +164 -0
  393. package/skills/workflow-pr/SKILL.md +197 -0
  394. package/skills/workflow-quality-gate/SKILL.md +147 -0
  395. package/skills/workflow-refactor/SKILL.md +274 -0
  396. package/skills/workflow-release-prep/SKILL.md +207 -0
  397. package/skills/workflow-ship-and-observe/SKILL.md +164 -0
  398. package/skills/workflow-spec-tdd/SKILL.md +141 -0
  399. package/skills/workflow-spec-tdd/references/spec-template.md +126 -0
  400. package/skills/workflow-spec-tdd/references/tdd-patterns.md +167 -0
  401. package/skills-cursor/babysit/SKILL.md +17 -0
  402. package/skills-cursor/canvas/SKILL.md +142 -0
  403. package/skills-cursor/canvas/sdk/canvas-tokens.d.ts +235 -0
  404. package/skills-cursor/canvas/sdk/chart-primitives.d.ts +200 -0
  405. package/skills-cursor/canvas/sdk/dag-layout.d.ts +102 -0
  406. package/skills-cursor/canvas/sdk/diff-view.d.ts +130 -0
  407. package/skills-cursor/canvas/sdk/form-primitives.d.ts +194 -0
  408. package/skills-cursor/canvas/sdk/hooks.d.ts +117 -0
  409. package/skills-cursor/canvas/sdk/index.d.ts +47 -0
  410. package/skills-cursor/canvas/sdk/theme.d.ts +61 -0
  411. package/skills-cursor/canvas/sdk/todo-list.d.ts +49 -0
  412. package/skills-cursor/canvas/sdk/ui-primitives.d.ts +549 -0
  413. package/skills-cursor/canvas/sdk/ui-primitives.test.d.ts +2 -0
  414. package/skills-cursor/create-hook/SKILL.md +238 -0
  415. package/skills-cursor/create-rule/SKILL.md +185 -0
  416. package/skills-cursor/create-skill/SKILL.md +269 -0
  417. package/skills-cursor/create-skill/references/authoring-guide.md +182 -0
  418. package/skills-cursor/create-subagent/SKILL.md +228 -0
  419. package/skills-cursor/migrate-to-skills/SKILL.md +121 -0
  420. package/skills-cursor/shell/SKILL.md +22 -0
  421. package/skills-cursor/split-to-prs/SKILL.md +47 -0
  422. package/skills-cursor/statusline/SKILL.md +193 -0
  423. package/skills-cursor/update-cli-config/SKILL.md +85 -0
  424. package/skills-cursor/update-cursor-settings/SKILL.md +137 -0
  425. package/skills.sh.json +297 -0
@@ -0,0 +1,274 @@
1
+ ---
2
+ name: workflow-refactor
3
+ description: >
4
+ Scoped, behavior-preserving refactor: map dependencies, change structure,
5
+ run affected tests. Use when "refactor this", "reduce duplication", or
6
+ "improve readability". Dead code → plan-dead-code. Repo-wide smells →
7
+ audit-code-quality.
8
+ license: MIT
9
+ ---
10
+
11
+ # Refactor Code Skill
12
+
13
+ **Degree of freedom: MIXED.** Structure target `[HIGH freedom]`;
14
+ behavior-preserving checks and affected tests `[LOW freedom — run exactly]`.
15
+
16
+ ## How to reason
17
+
18
+ 1. **Observe** — current structure, callers, tests
19
+ 2. **Interpret** — duplication vs needed variation
20
+ 3. **Classify** — extract / inline / rename / stop (behavior would change)
21
+ 4. **Severity** — a public API change is not this skill
22
+
23
+ Everything here **preserves behavior**. Removing code is a different
24
+ contract: `plan-dead-code` proves it unreachable and `housekeep-dead-code`
25
+ deletes it against an approved list. Duplication findings arrive here from
26
+ those skills; deletions do not leave from here.
27
+
28
+ ## Worked example
29
+
30
+ > **Observe:** three copy-pasted date formatters; tests only cover one.
31
+ > **Interpret:** same behavior, three implementations.
32
+ > **Classify:** extract `formatDate`; add the missing two call-site tests first (red), then extract (green).
33
+ > **Verify:** same output; no new features.
34
+
35
+ ## Self-critique before reporting
36
+
37
+ - **Behavior same** — existing tests still pass; no silent product change
38
+ - **Scoped** — not a repo-wide drive-by
39
+ - **Tests first** — missing coverage added before the move when needed
40
+ - **Right owner** — repo-wide anti-pattern → `audit-code-quality`; mechanical rename → `burndown-full`
41
+
42
+ Improve code quality without changing external behavior. Research-aware.
43
+
44
+ ## Pre-refactoring checks [LOW freedom — run exactly]
45
+
46
+ **Before refactoring any code:**
47
+
48
+ ### 1. Read Relevant Documentation
49
+ ```
50
+ README.md (project overview)
51
+ src/[domain]/@_[domain]-README.md (domain architecture)
52
+ CONTRIBUTING.md (code standards)
53
+ ```
54
+
55
+ ### 2. Understand Existing Patterns
56
+
57
+ Use `Grep` and `SemanticSearch` to find:
58
+ - How similar code is structured elsewhere in the codebase
59
+ - What patterns are already established
60
+ - Every file that imports or depends on the code being refactored
61
+
62
+ ### 3. Map the Blast Radius
63
+
64
+ Before changing any function, class, or component:
65
+ ```bash
66
+ rg "functionName" --type ts # find all callers
67
+ rg "import.*from.*module" --type ts # find all importers
68
+ ```
69
+
70
+ List every file that will be affected by the change.
71
+
72
+ ### 4. Research Modern Patterns (for non-trivial refactors)
73
+
74
+ If the refactoring introduces a new pattern, verify it's current best practice:
75
+
76
+ ```json
77
+ firecrawl:firecrawl_search
78
+ {
79
+ "query": "<framework> <pattern> best practice <current year>",
80
+ "limit": 5,
81
+ "sources": [{ "type": "web" }]
82
+ }
83
+ ```
84
+
85
+ Scrape the most authoritative result:
86
+
87
+ ```json
88
+ firecrawl:firecrawl_scrape
89
+ {
90
+ "url": "<best-result-url>",
91
+ "formats": ["markdown"],
92
+ "onlyMainContent": true
93
+ }
94
+ ```
95
+
96
+ This prevents refactoring FROM one outdated pattern TO another outdated pattern.
97
+
98
+ ### 5. Verification Statement
99
+
100
+ Before refactoring, state:
101
+ ```
102
+ "Pre-refactoring check:
103
+ - README/docs read: [list]
104
+ - Dependent files identified: [list files that import this code]
105
+ - Blast radius: [N files affected]
106
+ - Tests exist: [YES/NO — if NO, write tests first]
107
+ - Pattern verified: [YES via research / YES matches codebase / SKIP — trivial refactor]"
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Refactoring Principles [HIGH freedom]
113
+
114
+ 1. **Behavior stays the same** — tests pass before and after
115
+ 2. **Small steps** — one change at a time, verify after each
116
+ 3. **Test frequently** — run tests after each change
117
+ 4. **Commit often** — easy to revert if something breaks
118
+ 5. **Research first** — don't replace old patterns with other old patterns
119
+ 6. **Scope holds** — a smell outside the named target is a note in the report, not part of this refactor; a bug you find is a follow-up. Tests added here cover the seam being moved or match what the repo already keeps; scratch checks stay out of the repo. Move code in place rather than rewriting whole files.
120
+
121
+ ---
122
+
123
+ ## Code Smells and Fixes [HIGH freedom]
124
+
125
+ | Smell | Symptom | Solution |
126
+ |-------|---------|----------|
127
+ | **Long Function** | >20 lines, does multiple things | Extract functions |
128
+ | **Duplicate Code** | Same logic in 2+ places | Extract shared function/hook |
129
+ | **Magic Numbers** | Unexplained literals | Named constants or config |
130
+ | **Deep Nesting** | 3+ levels of if/loops | Early returns, extract functions |
131
+ | **Long Parameter List** | >3 parameters | Object parameter with interface |
132
+ | **Feature Envy** | Function uses another module's data heavily | Move function to that module |
133
+ | **God Object** | One class/component does everything | Split by responsibility |
134
+ | **Primitive Obsession** | Using strings/numbers where a type would be safer | Create domain types |
135
+ | **Shotgun Surgery** | One change requires editing many files | Consolidate related logic |
136
+ | **Dead Code** | Unreachable or unused code | Not this skill — proving it dead is `plan-dead-code`, deleting it is `housekeep-dead-code`. Note it and move on |
137
+
138
+ ---
139
+
140
+ ## Common Refactorings [HIGH freedom]
141
+
142
+ ### Extract Function
143
+
144
+ **Before:**
145
+ ```typescript
146
+ function processOrder(order: Order) {
147
+ if (!order.items.length) throw new Error('Empty order');
148
+ if (!order.customer) throw new Error('No customer');
149
+ if (order.total < 0) throw new Error('Invalid total');
150
+
151
+ const subtotal = order.items.reduce((sum, i) => sum + i.price, 0);
152
+ const tax = subtotal * 0.1;
153
+ const total = subtotal + tax;
154
+
155
+ db.orders.insert({ ...order, total });
156
+ }
157
+ ```
158
+
159
+ **After:**
160
+ ```typescript
161
+ function processOrder(order: Order) {
162
+ validateOrder(order);
163
+ const total = calculateTotal(order);
164
+ saveOrder({ ...order, total });
165
+ }
166
+ ```
167
+
168
+ ### Flatten Nested Conditionals
169
+
170
+ **Before:**
171
+ ```typescript
172
+ function getDiscount(user: User, order: Order) {
173
+ if (user) {
174
+ if (user.isPremium) {
175
+ if (order.total > 100) {
176
+ return 0.2;
177
+ } else {
178
+ return 0.1;
179
+ }
180
+ }
181
+ }
182
+ return 0;
183
+ }
184
+ ```
185
+
186
+ **After:**
187
+ ```typescript
188
+ function getDiscount(user: User | null, order: Order) {
189
+ if (!user) return 0;
190
+ if (user.isPremium && order.total > 100) return 0.2;
191
+ if (user.isPremium) return 0.1;
192
+ return 0;
193
+ }
194
+ ```
195
+
196
+ ### Replace Magic Numbers
197
+
198
+ ```typescript
199
+ // Before
200
+ if (password.length < 8) { ... }
201
+ if (retries > 3) { ... }
202
+ const tax = amount * 0.1;
203
+
204
+ // After
205
+ const MIN_PASSWORD_LENGTH = 8;
206
+ const MAX_RETRIES = 3;
207
+ const TAX_RATE = 0.1;
208
+ ```
209
+
210
+ ### Use Object Parameters
211
+
212
+ ```typescript
213
+ // Before — positional args are error-prone
214
+ function createUser(name: string, email: string, age: number, role: string) { ... }
215
+
216
+ // After — named, self-documenting, extensible
217
+ interface CreateUserParams {
218
+ name: string;
219
+ email: string;
220
+ age: number;
221
+ role: string;
222
+ }
223
+ function createUser(params: CreateUserParams) { ... }
224
+ ```
225
+
226
+ ---
227
+
228
+ ## Refactoring Process [LOW freedom — run exactly]
229
+
230
+ ```
231
+ 1. Verify tests pass → 2. Make one small change → 3. Verify tests pass → 4. Commit → 5. Repeat
232
+ ```
233
+
234
+ ### Commit Message Format
235
+ ```
236
+ refactor(scope): description of structural change
237
+
238
+ - What was changed and why
239
+ - No behavior change
240
+ ```
241
+
242
+ ---
243
+
244
+ ## Refactoring Checklist [LOW freedom — do not skip]
245
+
246
+ ### Before Starting
247
+ - [ ] Tests pass (if no tests, write them first)
248
+ - [ ] Understand current behavior
249
+ - [ ] All dependent files identified
250
+ - [ ] Pattern researched (if introducing new pattern)
251
+ - [ ] Specific smell identified
252
+
253
+ ### During Refactoring
254
+ - [ ] One change at a time
255
+ - [ ] Tests run after each change
256
+ - [ ] Working states committed
257
+
258
+ ### After Refactoring
259
+ - [ ] All tests still pass
260
+ - [ ] Code is more readable
261
+ - [ ] No behavior changes
262
+ - [ ] Performance not degraded
263
+ - [ ] All dependent files updated
264
+ - [ ] Types still correct (no new `any` or casts)
265
+
266
+ ---
267
+
268
+ ## When NOT to Refactor [LOW freedom — do not skip]
269
+
270
+ - No test coverage (write tests first)
271
+ - Don't understand the code yet (read and learn first)
272
+ - Code is being deleted soon
273
+ - The refactoring has no clear benefit
274
+ - Under deadline pressure (ship first, refactor in a follow-up)
@@ -0,0 +1,207 @@
1
+ ---
2
+ name: workflow-release-prep
3
+ description: >
4
+ Take the local working tree to a merge-ready PR against main: review, split
5
+ if needed, commit, push, open the PR, drive CI green; never merge. Use when
6
+ "prepare this for a PR" or "get my working tree merge-ready". Existing PR →
7
+ workflow-pr.
8
+ license: MIT
9
+ effort: high
10
+ ---
11
+
12
+ # workflow-release-prep — Local working tree → merge-ready PR
13
+
14
+ **Degree of freedom: MIXED.**
15
+
16
+ - Review & readiness (Phases 1–2): **HIGH freedom** — judge whether the
17
+ change is coherent and safe.
18
+ - Git operations (Phases 0, 3–5): **LOW freedom** — commit / push / PR
19
+ mechanics run exactly, in order. A wrong branch or a force-push is
20
+ real damage.
21
+
22
+ Apply-now, end to end. Take everything in the **local working tree** —
23
+ uncommitted + staged + untracked + unpushed commits, reviewed together as
24
+ one release unit — and drive it to a merge-ready PR against main.
25
+ **Do not merge.** This orchestrates existing skills rather than
26
+ re-implementing them: hand deep passes to the specialists, own the
27
+ sequence and the go/no-go.
28
+
29
+ Scope is the **local working tree only** — not open PRs, not
30
+ merged-unreleased work. One developer's pending change, prepared properly.
31
+
32
+ ## This skill vs neighbors
33
+
34
+ | Skill | Owns |
35
+ |---|---|
36
+ | **workflow-release-prep** (this) | Whole dirty tree → merge-ready PR; sequence + verdict |
37
+ | `workflow-pr` | Lifecycle of an **already-committed** / existing PR, including merge |
38
+ | `workflow-launch-ready` | Product launch sweep (SEO / PWA / i18n), not git prep |
39
+ | `workflow-quality-gate` | Pre-release *quality* sweep; does not commit or open a PR |
40
+ | `workflow-git-commit` | Conventional commit messages only |
41
+ | `audit-code-review` | Quality / security / maintainability of a named diff |
42
+ | `split-to-prs` (Cursor extra) | Slice one pile into reviewable PRs — wait for approval |
43
+ | `babysit` (Cursor extra) | Keep an **open** PR green (comments / conflicts / CI) |
44
+ | `housekeep-backlog` | What's *not* done across the repo |
45
+ | `docs-adr` | Decisions made along the way |
46
+
47
+ Pre-release trio: `housekeep-backlog` (what's parked) → this skill
48
+ (what's done, onto a PR) → `docs-adr` (decisions).
49
+
50
+ ## How to reason
51
+
52
+ 1. **Observe** — unstaged + staged + untracked + unpushed as one unit
53
+ 2. **Interpret** — one reviewable concern, or several tangled together?
54
+ 3. **Classify** — GO / SPLIT / BLOCKED
55
+ 4. **Severity** — a secret or broken test blocks; formatting churn does not
56
+
57
+ ## Worked example
58
+
59
+ > **Observe:** feature + leftover `console.log` + an unrelated lockfile bump.
60
+ > **Interpret:** two concerns; debug residue is a completeness fail.
61
+ > **Classify:** SPLIT the lockfile; remove the log; then GO.
62
+ > **Gate:** do not open a PR around the leftover debug print.
63
+
64
+ ---
65
+
66
+ ## Phase 0 — Snapshot the working tree [LOW freedom — run exactly]
67
+
68
+ Establish what's pending before touching anything:
69
+
70
+ - `git status` and `git branch --show-current` — confirm you are **not**
71
+ on `main` / `master`. If you are, stop and create a feature branch
72
+ first. Committing release prep straight to main is the failure this
73
+ guards.
74
+ - `git diff` (unstaged) + `git diff --staged` — the complete change set,
75
+ reviewed as one.
76
+ - `git log origin/main..HEAD --oneline` (fall back to `origin/master` if
77
+ that is the default) — already-committed, unpushed work on this branch
78
+ is part of the release unit.
79
+ - `git status --porcelain` — untracked files are easy to forget to add.
80
+
81
+ State the full pending scope: modified, staged, unstaged, untracked, and
82
+ unpushed-committed. That aggregate is what gets reviewed.
83
+
84
+ ---
85
+
86
+ ## Phase 1 — Review the whole change together [HIGH freedom]
87
+
88
+ Read **`audit-code-review`** and run it on the **aggregate** diff. Do not
89
+ duplicate its quality / security / maintainability logic.
90
+
91
+ Then add the release lens a single-diff review misses:
92
+
93
+ - **Coherence** — one logical unit, or several unrelated ones tangled
94
+ together? If several → Phase 2 splits them.
95
+ - **Completeness** — half-finished work about to ship? Cross-check the
96
+ markers `housekeep-backlog` / `plan-stub-checker` hunt: new
97
+ `TODO` / `FIXME`, `console.log` / debug prints, commented-out code,
98
+ `.skip`ed tests, stubbed handlers. Release prep is when these must not
99
+ slip through.
100
+ - **Accidental inclusions** — secrets or keys (→ `plan-secrets-audit` if
101
+ suspected; **never commit them**), `.env` files, large binaries,
102
+ editor / OS cruft, debug config, unrelated formatting churn.
103
+ - **Migration / flag safety** — if the diff touches schema or flags, is
104
+ it backward-compatible for the deploy window? Unsure →
105
+ `plan-data-integrity` / `workflow-feature-flag`.
106
+
107
+ ---
108
+
109
+ ## Phase 2 — Reason about readiness, then decide split [HIGH freedom]
110
+
111
+ Run this chain before proceeding:
112
+
113
+ 1. **Observe** — what does the aggregate contain, across how many concerns?
114
+ 2. **Interpret** — one reviewable PR, or unrelated changes a reviewer
115
+ cannot evaluate together?
116
+ 3. **Decide** — single PR, or split? If it spans multiple unrelated
117
+ concerns or is large enough to be unreviewable, hand to
118
+ **`split-to-prs`** and prepare each separately. A 2000-line PR mixing
119
+ a feature, a refactor, and a dependency bump is three PRs.
120
+ 4. **Gate** — is anything blocking release (secret, broken test,
121
+ half-finished feature)? If yes, surface it and **stop before
122
+ committing** — do not prepare a PR around a known problem.
123
+
124
+ ## Self-critique before committing [LOW freedom — do not skip]
125
+
126
+ Challenge the change against this rubric. If any item fails, fix or
127
+ surface it before Phase 3:
128
+
129
+ - **Complete** — nothing half-implemented, no debug residue, no
130
+ stubbed-and-forgotten path.
131
+ - **Clean** — no secrets, no accidental files, no unrelated churn
132
+ padding the diff.
133
+ - **Coherent** — one logical unit per PR (or split decided).
134
+ - **Tested** — the change is covered, or the coverage gap is named
135
+ (→ `plan-test-coverage`). Existing tests are not broken.
136
+ - **Safe** — migrations backward-compatible; flags default off; no
137
+ breaking API change to a live consumer without a note.
138
+
139
+ ---
140
+
141
+ ## Phase 3 — Commit [LOW freedom — run exactly]
142
+
143
+ Stage deliberately (`git add` the intended files — not blanket
144
+ `git add .` if untracked cruft exists). Hand message-writing to
145
+ **`workflow-git-commit`** for conventional-commit format. One commit per
146
+ logical change; a split PR set gets its own commits per PR. Never bundle
147
+ unrelated changes in one commit.
148
+
149
+ ---
150
+
151
+ ## Phase 4 — Push & open the PR [LOW freedom — run exactly]
152
+
153
+ - Push the feature branch (`git push -u origin <branch>`). Never
154
+ force-push a shared branch.
155
+ - Open the PR against main via **`workflow-pr`**, with a complete
156
+ description: what changed and why, how it was tested, any migration /
157
+ flag / rollout notes, and links to the relevant `docs-adr` or `BL-`
158
+ backlog items if this closes them. A reviewer should not have to
159
+ reverse-engineer intent.
160
+ - Confirm the repo's aggregator / required checks fire on the PR
161
+ (`housekeep-gates` / `workflow-quality-gate` if those exist here).
162
+ This skill does not run those sweeps; it makes sure they are wired
163
+ to fire.
164
+
165
+ ---
166
+
167
+ ## Phase 5 — Drive to merge-ready [LOW freedom — hand off]
168
+
169
+ Hand to **`babysit`** to keep the PR merge-ready: address bot / review
170
+ feedback, resolve straightforward conflicts, fix red CI, loop until
171
+ green and reviewed. **Stop at merge-ready — do not merge.** The human
172
+ (or a separate release step) makes the merge call. This job ends at
173
+ "green, reviewed, and waiting for the button."
174
+
175
+ ---
176
+
177
+ ## Definition of Done
178
+
179
+ - [ ] Working tree snapshotted; confirmed on a feature branch, not main
180
+ - [ ] Full pending scope (unstaged + staged + untracked + unpushed)
181
+ reviewed as one unit via `audit-code-review`
182
+ - [ ] Release-lens checks done: coherence, completeness, no debug / stub
183
+ residue, no accidental inclusions, migration / flag safety
184
+ - [ ] Self-critique rubric passed (complete / clean / coherent / tested /
185
+ safe); blockers surfaced, not papered over
186
+ - [ ] Split decision made; multi-concern work routed to `split-to-prs`
187
+ - [ ] Committed via `workflow-git-commit` (conventional, one logical
188
+ unit per commit)
189
+ - [ ] Pushed to a feature branch (no force-push); PR opened via
190
+ `workflow-pr` with a complete description
191
+ - [ ] Aggregator / required checks confirmed firing on the PR
192
+ - [ ] Driven to merge-ready via `babysit`; **not** merged
193
+
194
+ ## Output format
195
+
196
+ 1. **Pending scope** — files by state; what's included
197
+ 2. **Review summary** — `audit-code-review` findings + release-lens
198
+ findings, severity-ordered
199
+ 3. **Readiness verdict** — GO / SPLIT / BLOCKED, with the self-critique
200
+ rubric result
201
+ 4. **Actions taken** — commits made, branch pushed, PR link
202
+ 5. **Merge-ready status** — CI state, outstanding review items, what
203
+ remains before the human merges
204
+
205
+ Stop at merge-ready. Handoffs: `audit-code-review`, `split-to-prs`,
206
+ `workflow-git-commit`, `workflow-pr`, `babysit`, `plan-secrets-audit`
207
+ (if secrets suspected).
@@ -0,0 +1,164 @@
1
+ ---
2
+ name: workflow-ship-and-observe
3
+ description: >
4
+ Take merged, green code to a verified, monitored production release. Use
5
+ when "ship it", "deploy to production", "release this", "go live", "roll
6
+ this out", "promote to prod", or "cut a release" for a running app (npm
7
+ packages → deploy-npm).
8
+ license: MIT
9
+ ---
10
+
11
+ # workflow-ship-and-observe — Release, Verify, Observe, Roll Back
12
+
13
+ **Degree of freedom: MIXED.** Rollback-vs-hotfix `[HIGH freedom]`; pin
14
+ target/SHA, prove revision, observe window `[LOW freedom — run exactly]`.
15
+
16
+ Shipping is not merging. A release is done only when the **intended revision is
17
+ live on the confirmed target, production smoke checks pass, and a defined
18
+ monitoring window elapses without crossing rollback thresholds** — or a
19
+ rollback/hotfix has been executed.
20
+
21
+ > **Prove the deployed revision, then watch it.** A 200 from a URL is not proof
22
+ > that your code is live, and "it deployed" is not proof that it is healthy.
23
+
24
+ **Before any browser action, read `protocol-browser-anti-stall`.**
25
+
26
+ ## How to reason
27
+
28
+ 1. **Pin** — SHA, environment, mechanism, rollback, signals
29
+ 2. **Ship** — pipeline deploy; backend deps first
30
+ 3. **Prove** — live revision equals SHA; smoke on critical flows
31
+ 4. **Watch** — window elapsed under thresholds, or roll back
32
+
33
+ ## Worked example
34
+
35
+ > **Pin:** `a1b2c3d` on Vercel production; rollback = previous promotion; Sentry + 5xx threshold set.
36
+ > **Ship:** migrations applied; `vercel deploy --prod` succeeded.
37
+ > **Prove:** `/version` returns `a1b2c3d`; checkout + login smoke 2xx.
38
+ > **Watch:** 2h window, error rate flat → STABLE. A 5xx spike would have promoted previous and re-smoked.
39
+
40
+ ## Self-critique before reporting
41
+
42
+ - **Revision proven** — a 200 is not "our SHA is live"
43
+ - **Level honest** — deployed-verified ≠ observed-stable
44
+ - **Threshold acted** — known-bad prod was not "monitored more"
45
+ - **Right owner** — smoke methodology only → `deploy-verify`; npm package → `deploy-npm`; not-yet-green → `workflow-green-repo`
46
+
47
+ ## Phase 0 — Pin the target and the revision [LOW freedom — run exactly]
48
+
49
+ Never guess where or what you are shipping. Establish:
50
+
51
+ 1. **Source revision** — the exact commit SHA to release. Confirm it is merged
52
+ and that the repository is green (route to `workflow-green-repo` /
53
+ `complete-everything` if not). Record the SHA.
54
+ 2. **Target environment** — which environment and provider. Discover from the
55
+ repo, do not assume: `vercel.json`, `netlify.toml`, `fly.toml`,
56
+ `Dockerfile`, `render.yaml`, Kubernetes manifests, GitHub Actions deploy
57
+ workflows, `app.json`/EAS, `supabase/config.toml`, Terraform. Confirm the
58
+ environment (staging vs production) with the user once and reuse it.
59
+ 3. **Deploy mechanism** — CI-on-merge, a manual pipeline trigger, or a CLI
60
+ command. Identify the exact command/workflow and how to read its status.
61
+ 4. **Backend dependencies** — migrations, edge functions, RLS, buckets,
62
+ secrets, cron. Per `full-stack-ship-discipline`, these must deploy and be
63
+ verified alongside the frontend. Non-destructive schema required by the
64
+ approved release ships without re-asking on a confirmed target; destructive
65
+ data operations always ask first.
66
+ 5. **Rollback plan** — the concrete, executable way to revert this target
67
+ (previous deployment promotion, image/tag rollback, revert-and-redeploy,
68
+ migration down-path). If no rollback exists, say so before shipping.
69
+ 6. **Signals** — where errors and latency are observed (Sentry, provider logs,
70
+ Supabase logs/advisors, uptime checks) and the thresholds that mean "roll
71
+ back."
72
+
73
+ Write `.cursor/ship-state.md`:
74
+
75
+ ```md
76
+ # Ship & Observe: <app> → <environment>
77
+ Revision: <sha>
78
+ Target/provider: <name>
79
+ Deploy: <command/workflow>
80
+ Rollback: <exact procedure>
81
+ Monitor window: <duration> · thresholds: <error rate / latency / crash-free>
82
+
83
+ ## Steps
84
+ - [ ] preflight: repo green + revision confirmed
85
+ - [ ] backend deps deployed + verified
86
+ - [ ] deploy triggered
87
+ - [ ] deployed revision matches <sha>
88
+ - [ ] production smoke: <critical flows>
89
+ - [ ] monitoring window elapsed within thresholds
90
+ - [ ] stable OR rollback/hotfix executed
91
+
92
+ ## Evidence
93
+ - <step>: <command/result>
94
+ ```
95
+ The state file is the source of truth across context compaction and across the monitoring window; re-read it before each phase and before any claim.
96
+
97
+ ## Phase 1 — Preflight [LOW freedom — run exactly]
98
+
99
+ - Confirm the release SHA is merged and green. Do not ship red or unmerged code.
100
+ - Deploy and verify backend dependencies first, so the frontend does not hit a
101
+ missing table/function on first request. Verify objects exist as the role the
102
+ client uses.
103
+ - Confirm the rollback procedure is real and, where possible, dry-run it.
104
+
105
+ ## Phase 2 — Deploy [LOW freedom — run exactly]
106
+
107
+ - Trigger the deploy via the identified mechanism. Never hand-edit production
108
+ state outside the pipeline.
109
+ - Wait for the deploy to reach a terminal state; capture the build/deploy logs.
110
+ A failed or partial deploy is a stop-and-fix, not a proceed.
111
+
112
+ ## Phase 3 — Verify the revision is live [LOW freedom — run exactly]
113
+
114
+ - Confirm the **deployed revision equals the intended SHA** — via the
115
+ provider's deployment metadata, a `/version`/build-id endpoint, a build stamp,
116
+ or asset hashes. A reachable URL alone is not proof.
117
+ - Run production smoke checks on the critical flows: real navigation, auth,
118
+ a primary read and a primary write path. Capture console, network (2xx where
119
+ expected), and screenshots as evidence. Keep artifacts under `.playwright-mcp/`.
120
+
121
+ ## Phase 4 — Observe the stability window [LOW freedom — run exactly]
122
+
123
+ - Watch the defined signals for the agreed window (scale it to release risk).
124
+ - Track error rate/new issues (Sentry), latency and 5xx (provider/Supabase
125
+ logs), new ERROR advisors, and crash-free rate for mobile.
126
+ - **Crossing a threshold triggers Phase 5.** Not crossing it after the window
127
+ elapses is the only path to a "stable" claim.
128
+
129
+ ## Phase 5 — Roll back or hotfix (only if a threshold is crossed) [HIGH freedom]
130
+
131
+ - If signals breach thresholds: execute the rollback procedure immediately,
132
+ confirm the prior healthy revision is live, and re-verify smoke checks.
133
+ - If forward-fix is clearly faster and safer than rollback, ship a hotfix
134
+ through the same pipeline and re-enter Phase 3. Record the decision and why.
135
+ - Never leave production in a known-bad state to "monitor more."
136
+
137
+ ## Phase 6 — Report [LOW freedom — do not skip]
138
+
139
+ ```md
140
+ ## Ship & Observe — report
141
+ Released: <sha> → <environment/provider>
142
+ ### Result: STABLE | ROLLED BACK | HOTFIXED | BLOCKED
143
+ ### Evidence
144
+ - deploy: <log/status>
145
+ - revision live: <how confirmed> = <sha>
146
+ - smoke: <flows> → <result + artifacts>
147
+ - monitoring: <window> → error rate <x>, latency <y>, crash-free <z>
148
+ ### Rollback/hotfix (if any)
149
+ - trigger: <threshold crossed> → action: <what ran> → outcome
150
+ ### Follow-ups
151
+ - none | <tracked item>
152
+ ```
153
+
154
+ Completion level is **deployed-verified** after Phase 3 and **observed-stable**
155
+ only after Phase 4 passes. Do not claim stability from a single smoke test.
156
+
157
+ ## Related
158
+
159
+ - `deploy-verify` — the post-deploy smoke methodology this skill builds on
160
+ - `deploy-npm` — for npm package releases (not app deployments)
161
+ - `full-stack-ship-discipline` — backend must deploy and be verified too
162
+ - `iterate-post-launch` — turn observed production signals into the next fixes
163
+ - `workflow-feedback-to-closure` — route rollback/incident findings into tickets
164
+ - `verification-before-completion` — deployed-verified vs observed-stable levels