@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,422 @@
1
+ ---
2
+ name: research
3
+ description: >
4
+ Research current practice with Context7, Firecrawl, and official docs before
5
+ a non-trivial change: gap analysis and a file-mapped plan, no
6
+ implementation. Use when "look up current docs" or before anything
7
+ unfamiliar.
8
+ license: MIT
9
+ effort: high
10
+ ---
11
+
12
+ # research — Production research protocol
13
+
14
+ **Degree of freedom: MIXED.** Repo-first inventory and official-docs
15
+ order `[LOW freedom — run exactly]`. Which sources to trust and which
16
+ pattern to recommend `[HIGH freedom]`.
17
+
18
+ Understand the current repo first. Then fetch version-matched official
19
+ docs. Then map findings back to specific files. **Do not implement until
20
+ the user asks or approves.**
21
+ Recognizing a library, tool, or product name is not knowing its current state. Search the name as written and fetch the installed version's docs even when you think you already know the answer — that is the whole point of this skill.
22
+
23
+ ## This skill vs neighbors
24
+
25
+ | Skill | Owns |
26
+ |---|---|
27
+ | **research** (this) | Current-year, version-matched investigation + gap analysis + plan |
28
+ | `plan-*` | Audit → approved burndown (no implementation) |
29
+ | `docs-adr` | Decision memory after a choice is made |
30
+ | `workflow-onboard` | First-contact repo orientation, not industry research |
31
+ | `complete-everything` | Execute an already-approved plan |
32
+
33
+ ## How to reason
34
+
35
+ 1. **Observe** — installed versions, current files, existing pattern
36
+ 2. **Interpret** — what is actually missing vs what just looks old
37
+ 3. **Classify** — keep / replace / add / reject (deprecated, CVE, untyped)
38
+ 4. **Decide** — one recommended approach mapped to concrete files
39
+
40
+ ## Worked example
41
+
42
+ > **Observe:** consumer asked whether `npx skills add` overwrites slash
43
+ > commands; pack ships both `commands/*.md` and `skills/*/`.
44
+ > **Interpret:** two installers, two `--all` meanings; Cursor now
45
+ > slash-invokes skills so same-name pairs look duplicated.
46
+ > **Classify:** docs lie (skills add claimed to install commands); npm
47
+ > installer merge-overwrites correctly.
48
+ > **Decide:** keep npm installer as the full-pack path; add `--verify`;
49
+ > promote this protocol from command-only to a skill.
50
+
51
+ ## Self-critique
52
+
53
+ Before delivering the plan, fail the run if any of these are true:
54
+
55
+ - Repo files were not read before the first external search
56
+ - Official docs for the *installed* version were skipped when available
57
+ - A recommendation has no source, or only one weak blog post
58
+ - The plan is not mapped to concrete repo paths
59
+ - Implementation started without an explicit user ask
60
+
61
+ ---
62
+
63
+ ## Step 1: Understand the codebase context — before any external search
64
+
65
+ Before any external research, understand what you're working with.
66
+
67
+ ### 1a. Discover Tech Stack
68
+
69
+ Read the dependency manifest to get exact library names and versions:
70
+
71
+ ```
72
+ package.json (Node/JS/TS)
73
+ requirements.txt (Python)
74
+ pyproject.toml (Python)
75
+ Cargo.toml (Rust)
76
+ go.mod (Go)
77
+ build.gradle (Java/Kotlin)
78
+ Gemfile (Ruby)
79
+ ```
80
+
81
+ Extract: framework, major libraries, their exact versions.
82
+
83
+ ### 1b. Read the Existing Implementation
84
+
85
+ Read the specific file(s) related to the topic being researched, in full — conventions, limitations, and TODOs live outside the obvious lines. Understand:
86
+
87
+ - What pattern is currently used?
88
+ - What dependencies does it rely on?
89
+ - What are the known limitations or TODOs?
90
+ - What conventions does the project follow?
91
+
92
+ ### 1c. Formulate Research Questions
93
+
94
+ Write out explicitly:
95
+
96
+ ```
97
+ Current state: [what the project does now]
98
+ Gap/goal: [what needs to improve or be added]
99
+ Specific questions:
100
+ 1. [question about best practice]
101
+ 2. [question about alternative approach]
102
+ 3. [question about edge cases]
103
+ ```
104
+
105
+ ---
106
+
107
+ ## Step 2: Context7 — Official Documentation
108
+
109
+ Fetch current docs for the libraries involved. Use the Context7 MCP (if available).
110
+
111
+ ### Resolve Library ID
112
+
113
+ ```json
114
+ context7:resolve-library-id
115
+ {
116
+ "libraryName": "<library-name>",
117
+ "query": "<your specific question>"
118
+ }
119
+ ```
120
+
121
+ ### Fetch Documentation
122
+
123
+ Pick the best match from the resolution results, then:
124
+
125
+ ```json
126
+ context7:query-docs
127
+ {
128
+ "libraryId": "<selected-id>",
129
+ "query": "<your specific question>"
130
+ }
131
+ ```
132
+
133
+ Run Context7 for each major library involved. Prefer version-specific IDs when available.
134
+
135
+ **If Context7 is unavailable**, skip to Step 3 and use Firecrawl to search official documentation sites directly.
136
+
137
+ ---
138
+
139
+ ## Step 3: Firecrawl — Three-Phase Deep Research
140
+
141
+ Use the `firecrawl` MCP server. The research happens in three phases: broad search, deep scrape, then discovery.
142
+
143
+ ### Phase 1: Broad Search (find what's out there)
144
+
145
+ Search without scraping first — get URLs and snippets to evaluate:
146
+
147
+ ```json
148
+ firecrawl:firecrawl_search
149
+ {
150
+ "query": "[library] [topic] best practices [current year]",
151
+ "limit": 5,
152
+ "sources": [{ "type": "web" }]
153
+ }
154
+ ```
155
+
156
+ Run 2-3 search queries with different angles:
157
+
158
+ | Angle | Query Pattern |
159
+ |-------|---------------|
160
+ | Best practices | `[tech] [topic] best practices [current year]` |
161
+ | Implementation guide | `[tech] [topic] production implementation guide` |
162
+ | Common mistakes | `[tech] [topic] common mistakes pitfalls avoid` |
163
+ | Migration/upgrade | `[tech] [topic] migration guide from [old version]` |
164
+ | Security | `[tech] [topic] security OWASP [current year]` |
165
+ | Performance | `[tech] [topic] performance optimization production` |
166
+
167
+ Use search operators for precision:
168
+
169
+ - `site:` to target specific docs sites (e.g., `site:react.dev`, `site:nextjs.org`)
170
+ - `""` for exact phrases
171
+ - `-` to exclude irrelevant results
172
+
173
+ ### Phase 2: Deep Scrape (read the best sources thoroughly)
174
+
175
+ From Phase 1 results, pick the 2-3 most authoritative URLs (official docs, maintainer blogs, engineering blogs). Scrape each for full content:
176
+
177
+ ```json
178
+ firecrawl:firecrawl_scrape
179
+ {
180
+ "url": "<authoritative-url>",
181
+ "formats": ["markdown"],
182
+ "onlyMainContent": true
183
+ }
184
+ ```
185
+
186
+ For extracting specific data points (config options, API parameters, migration steps):
187
+
188
+ ```json
189
+ firecrawl:firecrawl_scrape
190
+ {
191
+ "url": "<docs-url>",
192
+ "formats": ["json"],
193
+ "jsonOptions": {
194
+ "prompt": "Extract the recommended configuration options and their default values",
195
+ "schema": {
196
+ "type": "object",
197
+ "properties": {
198
+ "options": {
199
+ "type": "array",
200
+ "items": {
201
+ "type": "object",
202
+ "properties": {
203
+ "name": { "type": "string" },
204
+ "recommended": { "type": "string" },
205
+ "description": { "type": "string" }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ }
211
+ }
212
+ }
213
+ ```
214
+
215
+ If a documentation site is large and you're not sure which page has the answer, use `firecrawl_map` first to discover the right page:
216
+
217
+ ```json
218
+ firecrawl:firecrawl_map
219
+ {
220
+ "url": "https://docs.example.com",
221
+ "search": "[your topic]",
222
+ "limit": 20
223
+ }
224
+ ```
225
+
226
+ Then scrape the specific page(s) found.
227
+
228
+ ### Phase 3: Discovery (find reference implementations)
229
+
230
+ Search for real-world codebases that solved the same problem:
231
+
232
+ ```json
233
+ firecrawl:firecrawl_search
234
+ {
235
+ "query": "[tech] [topic] example implementation github",
236
+ "limit": 5,
237
+ "sources": [{ "type": "web" }]
238
+ }
239
+ ```
240
+
241
+ Also try:
242
+
243
+ | Discovery Query | Purpose |
244
+ |-----------------|---------|
245
+ | `[tech] [topic] open source example` | Find real implementations |
246
+ | `[tech] [topic] starter template boilerplate` | Find scaffolded patterns |
247
+ | `[tech] [topic] "how we" OR "how I" production` | Find experience reports |
248
+ | `site:github.com [tech] [topic] in:readme` | Find repos directly |
249
+
250
+ Scrape the README or relevant docs of promising repos to extract their architectural decisions.
251
+
252
+ ---
253
+
254
+ ## Step 4: Gap Analysis (the core of research-driven enhancement)
255
+
256
+ Compare what the project currently does against what research found. Produce a structured gap analysis:
257
+
258
+ ```
259
+ ## Gap Analysis: [Topic]
260
+
261
+ ### What the project does correctly
262
+ - [pattern 1]: aligns with [source] recommendation
263
+ - [pattern 2]: follows current best practice
264
+
265
+ ### What the project is missing
266
+ - [gap 1]: [source] recommends X, project does Y or nothing
267
+ - [gap 2]: [source] warns against current pattern, suggests Z
268
+
269
+ ### Anti-patterns detected
270
+ - [anti-pattern 1]: project uses [old pattern], [source] recommends [new pattern] because [reason]
271
+
272
+ ### New capabilities available
273
+ - [capability 1]: [library] now supports [feature] as of v[X], not yet adopted
274
+ - [capability 2]: [new approach] reduces complexity, project uses legacy pattern
275
+ ```
276
+
277
+ ---
278
+
279
+ ## Step 5: Fallback — WebSearch + WebFetch
280
+
281
+ When Firecrawl MCP is unavailable, use built-in tools with the same three-phase approach:
282
+
283
+ ### Phase 1: Broad Search
284
+ ```
285
+ WebSearch(search_term: "[tech] [topic] best practices [current year]")
286
+ ```
287
+
288
+ ### Phase 2: Deep Read
289
+ ```
290
+ WebFetch(url: "<authoritative-url-from-search>")
291
+ ```
292
+
293
+ ### Phase 3: Discovery
294
+ ```
295
+ WebSearch(search_term: "[tech] [topic] github example implementation")
296
+ ```
297
+
298
+ ---
299
+
300
+ ## Step 6: Synthesize and Decide
301
+
302
+ ### Trust Hierarchy (when sources conflict)
303
+
304
+ 1. Official documentation (highest trust)
305
+ 2. Core maintainer posts / RFCs / changelogs
306
+ 3. Engineering blogs from major companies (Vercel, AWS, Google, Meta)
307
+ 4. GitHub discussions on official repos
308
+ 5. Community articles with high engagement (current year, verified working)
309
+
310
+ ### Conflict Resolution
311
+
312
+ When two authoritative sources recommend different approaches:
313
+
314
+ 1. Check which source matches the project's installed version
315
+ 2. Check which approach aligns with the project's existing patterns
316
+ 3. Check which approach has fewer trade-offs for the project's scale
317
+ 4. If still tied, prefer the simpler approach
318
+
319
+ ### Validation Gates
320
+
321
+ | Gate | Check |
322
+ |------|-------|
323
+ | Fresh | Published current year or previous year, matches installed version |
324
+ | Secure | No known CVEs, follows OWASP guidelines |
325
+ | Typed | Full TypeScript support, no `any` escape hatches |
326
+ | Tested | Can be unit/integration tested, doesn't break existing tests |
327
+ | Compatible | Works with the project's other dependencies and patterns |
328
+
329
+ **Reject a pattern if:** it uses a deprecated API, has known vulnerabilities, skips error handling, requires a major refactor with unclear benefit, or conflicts with the project's architecture.
330
+
331
+ ---
332
+
333
+ ## Step 7: Plan Complex Implementations
334
+
335
+ Plan multi-file architectural migrations directly in the plan: ordered files, intermediate states, side effects. Thinking is native — the Sequential Thinking MCP is not shipped (ADR-0009) and adds nothing here.
336
+
337
+ Do **not** add Playwright MCP for research or browser checks — use headed `playwright-cli` per `protocol-browser-anti-stall`. Firecrawl stays authenticated; do not switch to the keyless tool subset just to save tokens.
338
+
339
+ ---
340
+
341
+ ## Step 8: Apply to Codebase
342
+
343
+ Map every research finding to specific, actionable code changes. Do not implement in this skill.
344
+
345
+ ```
346
+ ## Implementation Plan
347
+
348
+ ### Changes (ordered by priority)
349
+
350
+ 1. **[file path]** — [what to change and why]
351
+ - Before: [current pattern]
352
+ - After: [recommended pattern]
353
+ - Risk: [low/medium/high] — [explanation]
354
+
355
+ 2. **[file path]** — [what to change and why]
356
+ ...
357
+
358
+ ### New dependencies (if any)
359
+ - [package@version] — [why needed]
360
+
361
+ ### Breaking changes
362
+ - [description of what breaks and how to migrate]
363
+
364
+ ### Edge cases to handle
365
+ - [edge case 1]
366
+ - [edge case 2]
367
+
368
+ ### Verification
369
+ - [how to verify the change works]
370
+ ```
371
+
372
+ ---
373
+
374
+ ## Output Template
375
+
376
+ After completing research, produce this summary:
377
+
378
+ ```markdown
379
+ ## Research: [Topic]
380
+
381
+ ### Context
382
+ - Tech stack: [framework, libraries, versions]
383
+ - Current implementation: [brief description]
384
+ - Research goal: [what we're trying to learn/improve]
385
+
386
+ ### Findings
387
+ [Key patterns and recommendations from research]
388
+
389
+ ### Recommended Approach
390
+ [Pattern name] — [one-line why this is best for this project]
391
+
392
+ ### Gap Analysis
393
+ - Missing: [what the project should add]
394
+ - Replace: [what the project should change]
395
+ - Keep: [what the project already does well]
396
+
397
+ ### Implementation Plan
398
+ [Ordered list of file changes with before/after]
399
+
400
+ ### Gotchas
401
+ - [Edge case or risk 1]
402
+ - [Edge case or risk 2]
403
+
404
+ ### Sources
405
+ - [URL] — [what it provided]
406
+ - [URL] — [what it provided]
407
+ ```
408
+
409
+ ---
410
+
411
+ ## Pre-Implementation Checklist
412
+
413
+ - [ ] Codebase context understood (tech stack, current patterns, specific files read)
414
+ - [ ] Context7 docs fetched (or skipped if unavailable)
415
+ - [ ] Firecrawl broad search completed (2-3 queries)
416
+ - [ ] Firecrawl deep scrape completed (2-3 best URLs)
417
+ - [ ] Discovery search completed (reference implementations found)
418
+ - [ ] Gap analysis produced (current vs recommended)
419
+ - [ ] Sources cross-referenced (3+ sources agree)
420
+ - [ ] Validation gates passed (fresh, secure, typed, tested, compatible)
421
+ - [ ] Implementation plan maps findings to specific files
422
+ - [ ] Edge cases identified
@@ -0,0 +1,165 @@
1
+ ---
2
+ name: test-exploratory
3
+ description: >
4
+ Headed exploratory QA of a live app as guest, then logged in, with junk
5
+ input and navigation abuse. Use when "monkey test", "wander like a confused
6
+ user", or "guest vs logged in". CRUD stories → test-qa. Hostile sweep →
7
+ test-red-team.
8
+ license: MIT
9
+ ---
10
+
11
+ # test-exploratory — naive-user discovery, two identities
12
+
13
+ **Degree of freedom: MIXED** — wander and charters `[HIGH freedom]`; driver,
14
+ sessions, and triage `[LOW freedom — run exactly]`. Driver is
15
+ **playwright-cli**, never Playwright MCP. **Three isolated sessions** — never
16
+ share storage.
17
+
18
+ You drive the **live non-prod app** like a slightly careless user. The job is
19
+ **discovery, not verification**: find the bugs nobody scripted. The sharpest
20
+ bugs live in the **guest vs logged-in diff**. Report only — do not fix in this
21
+ pass. Pair with `protocol-browser-anti-stall`. Hand real bugs to
22
+ `workflow-feedback-to-closure`. Lock a fix later with `test-playwright`.
23
+ Your turn ends with the Phase 3 report after all three identities have run — not after the guest pass, and not with charters still open inside their time-box.
24
+
25
+ This is **not** `test-qa` (story/CRUD), **not** `test-red-team` (hostile
26
+ matrix), **not** `test-playwright` (this-diff PDCA + fix-as-you-go).
27
+
28
+ ## This skill vs neighbors
29
+
30
+ | Skill | Owns |
31
+ |:------|:-----|
32
+ | **test-exploratory** (this) | Unscripted wander + junk/nav-abuse + **guest vs authed diff table** |
33
+ | `test-qa` | Story-driven CRUD / smoke — explicitly not a monkey test |
34
+ | `test-red-team` | Adversarial feature×dimension matrix (security/data/perf) |
35
+ | `test-playwright` | Session diff + blast radius; **fixes** inline |
36
+ | `audit-auth-flows` | Static route×gate matrix (code). This skill is the **live probe** |
37
+ | `audit-ux-journeys` | Story completability / IA — not junk submit + double-click |
38
+ | `audit-accessibility` | WCAG / axe only |
39
+
40
+ ## How to reason (before a finding)
41
+
42
+ 1. **Observe** — captured console/network event + identity + snapshot ref
43
+ 2. **Interpret** — guest-in-protected, guest-only throw, leakage, or expected deny?
44
+ 3. **Classify** — Real bug / UX defect / Flaky / Out of scope (Phase 3 table)
45
+ 4. **Severity** — blast radius: auth/money first
46
+
47
+ ## Worked example
48
+
49
+ > **Observe:** guest session `goto /settings/billing` → 200 + "Update card".
50
+ > Authed same route works. Console clean.
51
+ > **Interpret:** protected billing UI reachable without a session.
52
+ > **Classify:** Real bug — guest-in-protected (live complement to `audit-auth-flows`).
53
+ > **Severity:** critical.
54
+ > **Finding:** guest | billing | guest-in-protected | critical | repro: `-s=explore-guest` goto `/settings/billing`
55
+
56
+ ## Phase 0 — Safety, driver, isolation [LOW freedom — sessions exact]
57
+
58
+ - **Non-prod only.** You will submit forms and mash destructive controls. If
59
+ only prod exists: read-only navigation and say so.
60
+ - **Driver is playwright-cli**, never Playwright MCP:
61
+
62
+ ```bash
63
+ PW="npx --yes @playwright/cli@latest"
64
+ $PW -s=explore-guest open --headed http://localhost:3000
65
+ ```
66
+
67
+ Read `protocol-browser-anti-stall` first (Rule 0: headed, one action, no
68
+ `*.spec.ts`). Use **three isolated sessions** — never share storage:
69
+
70
+ | Session | Storage | Purpose |
71
+ |:--------|:--------|:--------|
72
+ | `-s=explore-guest` | default in-memory (no `--profile`) | anonymous |
73
+ | `-s=explore-authed` | `state-load` or dedicated `--profile` under `~/.playwright-cli-profiles/` | seeded test account |
74
+ | `-s=explore-post-logout` | fresh in-memory | prove logout actually cleared state |
75
+
76
+ See `protocol-browser-anti-stall/references/playwright-session-coordination.md`.
77
+ - **Instrument before the first click.** After `open`, capture `console`,
78
+ network/`requests`, and status ≥400. Judge findings against **captured
79
+ events**, not guesses.
80
+ - **Accessibility tree first.** Click/fill by snapshot **refs** (`e12`). Refs
81
+ die on the next page change — **re-snapshot after every navigation**
82
+ ([Playwright Agent CLI snapshots](https://playwright.dev/agent-cli/snapshots)).
83
+ Use `--depth` or a scoped snapshot on dense pages. Screenshot is a
84
+ **secondary** modality for layout/grouping (web.dev 2026), not the driver.
85
+ Vision/coordinates only for canvas or unnamed icons
86
+ ([vision mode](https://playwright.dev/agent-cli/vision-mode)).
87
+ - **SBTM charters** — copy `references/charter-template.md`. Time-box each
88
+ identity (30–45 min). Stop when the box ends; record leftovers.
89
+
90
+ ## Phase 1 — Map, then wander (per identity) [HIGH freedom]
91
+
92
+ 1. **Discover routes** from links + router/sitemap. Build a **per-identity**
93
+ list (some routes exist only when logged in).
94
+ 2. **Exercise the a11y tree** on each page: every button/link/tab/menu/modal;
95
+ forms three ways (**valid / empty-required / junk** — huge strings, emoji,
96
+ `<script>`, SQL-ish, negatives, wrong types, whitespace); **double-submit**;
97
+ dismiss modals three ways (X, Escape, click-outside).
98
+ 3. **Abuse navigation** — back/forward after mutations, refresh mid-flow,
99
+ deep-link inner routes, Back after logout (on the post-logout session).
100
+ 4. **One mobile-width pass** on key pages. Layout breakage →
101
+ `audit-responsive`. Empty/error chrome → `audit-ui-states`. Do not re-audit.
102
+ 5. **Short monkey burst** on auth, checkout, and mutating forms only (confused
103
+ click sequences / races). Skip marketing pages.
104
+
105
+ Prioritize blast radius: auth, money, account mutation, then the rest.
106
+
107
+ ## Phase 2 — Guest vs logged-in diff (the deliverable) [HIGH freedom]
108
+
109
+ Run Phase 1 fully as **GUEST**, then fully as **LOGGED-IN**, then
110
+ **POST-LOGOUT**. Compare. File these in a dedicated table — nothing else in
111
+ the pack produces it:
112
+
113
+ - **Guest reaches protected things** — route/API/UI that should require auth
114
+ (live complement to `audit-auth-flows`).
115
+ - **Guest-only breakage** — 500/404/throw for guests, works when authed
116
+ (null-user). Auth-looking UI that renders for guests then errors on click.
117
+ - **Login/logout transitions** — redirect loops, broken return-to, session
118
+ not cleared.
119
+ - **State leakage** — cookies, `localStorage`, **`sessionStorage`** (Playwright
120
+ `storageState` does **not** persist sessionStorage — inspect it explicitly),
121
+ bfcache/Back showing private data after logout.
122
+ - **Divergent errors** — same action, different failure per identity.
123
+
124
+ ## Phase 3 — Triage (this IS the work) [LOW freedom — T4; do not skip]
125
+
126
+ Classify every captured event before it becomes a finding:
127
+
128
+ | Class | Meaning | Action |
129
+ |:------|:--------|:-------|
130
+ | **Real bug** | Reproducible: uncaught exception, 500, dead control, raw error, guest-in-protected, hang, data-loss on double-submit | File with repro + identity + evidence |
131
+ | **UX defect** | Works but wrong (silent fail, no loading/error) | Route to `audit-ui-states` / `audit-ux-journeys` |
132
+ | **Flaky** | Failed once | **Re-run once** before filing. Do not file flakes |
133
+ | **Out of scope** | WCAG, pixel polish, load | Hand off; do not duplicate |
134
+
135
+ Severity by blast radius (auth/money first). Do not generate a Playwright
136
+ spec dump and call the app "covered" — that is shallow comprehensive coverage.
137
+
138
+ ## Self-critique before reporting
139
+
140
+ - **Identity + evidence** — every row names who and shows the artifact
141
+ - **Flakes** — re-run once before filing
142
+ - **Handoff** — WCAG / pixel / load were not filed here
143
+ - **Guest** — never used `--profile`
144
+
145
+ ## Definition of Done
146
+
147
+ - [ ] Non-prod (or read-only + said so)
148
+ - [ ] Three isolated CLI sessions; guest never used `--profile`
149
+ - [ ] Listeners attached before interaction; traces/screenshots per identity
150
+ - [ ] Charters filled; leftovers listed
151
+ - [ ] Route lists per identity; high-blast-radius monkey pass done
152
+ - [ ] Guest + authed + post-logout runs
153
+ - [ ] Guest-vs-authed **diff table** produced
154
+ - [ ] Events triaged; flakes re-run; each real bug has repro + identity + evidence
155
+ - [ ] Honest skip list (MFA, paid flows, external redirects)
156
+
157
+ ## Output format
158
+
159
+ 1. **Run summary** — target, charters, routes per identity, skips
160
+ 2. **Findings table** — id | identity (guest/authed/both) | area | type | severity | repro | evidence
161
+ 3. **Guest-vs-logged-in diff** — protected-reachable, guest-only breakage, transitions, leakage
162
+ 4. **Console/network** — recurring errors, ≥400, hangs
163
+ 5. **Handoffs** — `audit-responsive` · `audit-ui-states` · `audit-auth-flows` · each bug → `workflow-feedback-to-closure` → later `test-playwright`
164
+
165
+ Present the report. Do not fix in this pass.
@@ -0,0 +1,29 @@
1
+ # SBTM charter template (test-exploratory)
2
+
3
+ One charter = one time-boxed session + one identity. Copy a row, fill it, debrief.
4
+
5
+ ## Charter card
6
+
7
+ | Field | Value |
8
+ |:------|:------|
9
+ | Charter | e.g. Guest: public routes + auth walls + public forms |
10
+ | Identity | guest / authed / post-logout |
11
+ | Session name | `explore-guest` / `explore-authed` / `explore-post-logout` |
12
+ | Time box | 30–45 min (stop when the box ends; record leftovers) |
13
+ | Target URL | non-prod only |
14
+ | In scope | routes / areas |
15
+ | Out of scope | MFA walls, paid checkout, production data, WCAG (→ `audit-accessibility`) |
16
+ | Stop when | time box ends **or** high-blast-radius areas done |
17
+
18
+ ## Debrief (required)
19
+
20
+ - Areas covered / not covered
21
+ - Real bugs (id list)
22
+ - Flakes re-run? (yes/no)
23
+ - What was **not** reached and why
24
+
25
+ ## Suggested charters (run both identities)
26
+
27
+ 1. **Guest — walls & public surface** — deep-link protected URLs, public forms (valid/empty/junk), login entry.
28
+ 2. **Authed — mutate & navigate** — every control on high-blast-radius pages, double-submit, back/forward, refresh mid-flow.
29
+ 3. **Post-logout — isolation** — fresh session, no profile; hit last authed URL + Back; confirm no private cache/cookies/`sessionStorage`.