@kensaurus/skills 0.0.0-stage → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/.claude-plugin/marketplace.json +53 -0
  2. package/.claude-plugin/plugin.json +40 -0
  3. package/.cursor-plugin/plugin.json +38 -0
  4. package/.mcp.json +28 -0
  5. package/CHANGELOG.md +1761 -0
  6. package/LICENSE +21 -0
  7. package/NOTICE +13 -0
  8. package/README.md +820 -2
  9. package/SECURITY.md +55 -0
  10. package/agents/code-reviewer.md +60 -0
  11. package/agents/completion-judge.md +89 -0
  12. package/agents/db-migrator.md +125 -0
  13. package/agents/debugger.md +47 -0
  14. package/agents/deploy-checker.md +100 -0
  15. package/agents/perf-monitor.md +74 -0
  16. package/assets/favicon.png +0 -0
  17. package/assets/logo-light.png +0 -0
  18. package/assets/logo.png +0 -0
  19. package/assets/logo.svg +6 -0
  20. package/assets/og.png +0 -0
  21. package/bin/install.mjs +1127 -0
  22. package/bin/kenji.js +2 -0
  23. package/commands/adr.md +17 -0
  24. package/commands/aeo-plan.md +18 -0
  25. package/commands/arch-boundaries.md +17 -0
  26. package/commands/aso-plan.md +18 -0
  27. package/commands/auth-flows.md +19 -0
  28. package/commands/backup-plan.md +17 -0
  29. package/commands/burndown-full.md +25 -0
  30. package/commands/capacitor-plan.md +18 -0
  31. package/commands/codemod-safety.md +22 -0
  32. package/commands/commit.md +18 -0
  33. package/commands/complete-everything.md +40 -0
  34. package/commands/cost-plan.md +19 -0
  35. package/commands/deadcode-plan.md +26 -0
  36. package/commands/deadcode.md +32 -0
  37. package/commands/debug-issue.md +17 -0
  38. package/commands/deps-plan.md +18 -0
  39. package/commands/docs-plan.md +17 -0
  40. package/commands/doctrine.md +19 -0
  41. package/commands/error-plan.md +19 -0
  42. package/commands/feedback-to-closure.md +36 -0
  43. package/commands/fix-issue.md +76 -0
  44. package/commands/gate-logic.md +26 -0
  45. package/commands/green-repo.md +36 -0
  46. package/commands/grill-me.md +19 -0
  47. package/commands/gtm-plan.md +21 -0
  48. package/commands/gtm-weekly.md +17 -0
  49. package/commands/gtm.md +22 -0
  50. package/commands/handoff.md +15 -0
  51. package/commands/housekeep-backlog.md +18 -0
  52. package/commands/housekeep-files.md +22 -0
  53. package/commands/housekeep-gates.md +18 -0
  54. package/commands/instant-nav.md +11 -0
  55. package/commands/integrity-plan.md +19 -0
  56. package/commands/launch-kit.md +16 -0
  57. package/commands/mcp-guide.md +40 -0
  58. package/commands/mobile-plan.md +19 -0
  59. package/commands/native-rn-monorepo/README.md +78 -0
  60. package/commands/native-rn-monorepo/android-build.md +26 -0
  61. package/commands/native-rn-monorepo/android-install.md +32 -0
  62. package/commands/native-rn-monorepo/android-logcat.md +37 -0
  63. package/commands/native-rn-monorepo/ios-ci-logs.md +56 -0
  64. package/commands/native-rn-monorepo/ios-ci-status.md +52 -0
  65. package/commands/native-rn-monorepo/ios-ci-trigger.md +59 -0
  66. package/commands/native-rn-monorepo/rn-reset.md +50 -0
  67. package/commands/native-rn-monorepo/rn-ship-ios.md +67 -0
  68. package/commands/native-rn-monorepo/rn-verify.md +53 -0
  69. package/commands/perf-plan.md +18 -0
  70. package/commands/plan-mode.md +74 -0
  71. package/commands/pr.md +16 -0
  72. package/commands/pricing-plan.md +20 -0
  73. package/commands/privacy-plan.md +18 -0
  74. package/commands/readability.md +12 -0
  75. package/commands/readme.md +15 -0
  76. package/commands/refactor.md +15 -0
  77. package/commands/release-prep.md +17 -0
  78. package/commands/research.md +25 -0
  79. package/commands/responsive-audit.md +21 -0
  80. package/commands/review-code.md +18 -0
  81. package/commands/rls-plan.md +18 -0
  82. package/commands/secrets-plan.md +18 -0
  83. package/commands/security-plan.md +19 -0
  84. package/commands/ship-and-observe.md +36 -0
  85. package/commands/skill-conflicts.md +19 -0
  86. package/commands/slop-plan.md +18 -0
  87. package/commands/stub-plan.md +18 -0
  88. package/commands/test-mutation.md +16 -0
  89. package/commands/test-plan.md +17 -0
  90. package/commands/test.md +29 -0
  91. package/commands/thirdparty-web-interface-guidelines.md +185 -0
  92. package/commands/uiux-plan.md +18 -0
  93. package/commands/uiux.md +45 -0
  94. package/commands/update-deps.md +21 -0
  95. package/commands/validation-plan.md +19 -0
  96. package/commands-portable/fix-issue.md +72 -0
  97. package/commands-portable/plan-mode.md +92 -0
  98. package/commands-portable/research.md +91 -0
  99. package/docs/screenshots/README.md +5 -0
  100. package/docs/screenshots/audit-dark.png +0 -0
  101. package/docs/screenshots/build-dark.png +0 -0
  102. package/docs/screenshots/grill-dark.png +0 -0
  103. package/docs/screenshots/hero-dark.png +0 -0
  104. package/docs/screenshots/hero-light.png +0 -0
  105. package/docs/screenshots/ship-dark.png +0 -0
  106. package/docs/screenshots/src/showcase.html +320 -0
  107. package/hooks/completion-gate.mjs +258 -0
  108. package/hooks/cursor-hooks.json +13 -0
  109. package/hooks/hooks.json +15 -0
  110. package/install.sh +21 -0
  111. package/llms.txt +40 -0
  112. package/mcp/README.md +266 -0
  113. package/mcp/VERSIONS.md +41 -0
  114. package/mcp/mcp-full.json.template +124 -0
  115. package/mcp/mcp.json.template +29 -0
  116. package/mcp/pinned-versions.json +27 -0
  117. package/package.json +93 -4
  118. package/rules/approved-plan-execution.mdc +65 -0
  119. package/rules/full-stack-ship-discipline.mdc +37 -0
  120. package/rules/native-rn-monorepo/README.md +63 -0
  121. package/rules/native-rn-monorepo/_project.mdc +69 -0
  122. package/rules/native-rn-monorepo/native-android.mdc +72 -0
  123. package/rules/native-rn-monorepo/native-ios.mdc +61 -0
  124. package/rules/native-rn-monorepo/react-native-js.mdc +78 -0
  125. package/rules/native-rn-monorepo/web.mdc +60 -0
  126. package/rules/project-starter/components.mdc +54 -0
  127. package/rules/project-starter/data-fetching.mdc +77 -0
  128. package/rules/project-starter/git.mdc +41 -0
  129. package/rules/project-starter/supabase.mdc +37 -0
  130. package/rules/project-starter/tailwind.mdc +48 -0
  131. package/rules/project-starter/typescript.mdc +36 -0
  132. package/rules/project-starter/web-performance.mdc +42 -0
  133. package/rules/senior-engineer.mdc +30 -0
  134. package/rules/shell-first-search.mdc +19 -0
  135. package/rules/skill-workflows.mdc +35 -0
  136. package/rules/verification-before-completion.mdc +57 -0
  137. package/skills/audit-accessibility/SKILL.md +441 -0
  138. package/skills/audit-agent-speed/SKILL.md +181 -0
  139. package/skills/audit-agent-speed/scripts/stop-typecheck.mjs +151 -0
  140. package/skills/audit-analytics/SKILL.md +138 -0
  141. package/skills/audit-auth-flows/SKILL.md +267 -0
  142. package/skills/audit-backend-architecture/SKILL.md +266 -0
  143. package/skills/audit-backend-architecture/references/patterns.md +386 -0
  144. package/skills/audit-bundle-size/SKILL.md +296 -0
  145. package/skills/audit-cicd/SKILL.md +218 -0
  146. package/skills/audit-code-quality/SKILL.md +314 -0
  147. package/skills/audit-code-review/SKILL.md +289 -0
  148. package/skills/audit-codemod-safety/SKILL.md +159 -0
  149. package/skills/audit-db-schema/SKILL.md +465 -0
  150. package/skills/audit-db-schema/references/details.md +110 -0
  151. package/skills/audit-doctrine/SKILL.md +189 -0
  152. package/skills/audit-env-parity/SKILL.md +133 -0
  153. package/skills/audit-fe-api/SKILL.md +458 -0
  154. package/skills/audit-gate-logic/SKILL.md +219 -0
  155. package/skills/audit-i18n/SKILL.md +339 -0
  156. package/skills/audit-infra-cost/SKILL.md +142 -0
  157. package/skills/audit-langfuse-llm/SKILL.md +468 -0
  158. package/skills/audit-langfuse-llm/references/details.md +226 -0
  159. package/skills/audit-llm-security/SKILL.md +147 -0
  160. package/skills/audit-monetization-iap/SKILL.md +137 -0
  161. package/skills/audit-payment-system/SKILL.md +268 -0
  162. package/skills/audit-payment-system/references/checklist.md +283 -0
  163. package/skills/audit-performance/SKILL.md +383 -0
  164. package/skills/audit-performance/references/loading-priority-2026.md +81 -0
  165. package/skills/audit-realworld/SKILL.md +287 -0
  166. package/skills/audit-registry-listing/SKILL.md +122 -0
  167. package/skills/audit-resilience/SKILL.md +154 -0
  168. package/skills/audit-responsive/SKILL.md +221 -0
  169. package/skills/audit-responsive/references/checklist.md +166 -0
  170. package/skills/audit-security/SKILL.md +289 -0
  171. package/skills/audit-skill-conflicts/SKILL.md +178 -0
  172. package/skills/audit-ui-states/SKILL.md +146 -0
  173. package/skills/audit-uiux-design-system/SKILL.md +475 -0
  174. package/skills/audit-uiux-design-system/references/details.md +71 -0
  175. package/skills/audit-ux/SKILL.md +379 -0
  176. package/skills/audit-ux/references/details.md +245 -0
  177. package/skills/audit-ux-journeys/SKILL.md +215 -0
  178. package/skills/audit-ux-journeys/references/checklist.md +179 -0
  179. package/skills/backend-db-performance/SKILL.md +441 -0
  180. package/skills/backend-error-handling/SKILL.md +489 -0
  181. package/skills/backend-error-handling/references/details.md +58 -0
  182. package/skills/backend-observability/SKILL.md +88 -0
  183. package/skills/backend-patterns/SKILL.md +499 -0
  184. package/skills/backend-patterns/references/architecture-patterns.md +298 -0
  185. package/skills/backend-realtime/SKILL.md +403 -0
  186. package/skills/backend-realtime/references/patterns.md +74 -0
  187. package/skills/burndown-full/SKILL.md +174 -0
  188. package/skills/complete-everything/SKILL.md +295 -0
  189. package/skills/data-pipeline/SKILL.md +109 -0
  190. package/skills/data-visualization/SKILL.md +488 -0
  191. package/skills/debug-error/SKILL.md +322 -0
  192. package/skills/debug-fe-be-integration/SKILL.md +459 -0
  193. package/skills/debug-sentry-monitor/SKILL.md +497 -0
  194. package/skills/debug-sentry-monitor/references/details.md +165 -0
  195. package/skills/deploy-npm/SKILL.md +394 -0
  196. package/skills/deploy-npm/references/example-mushi-mushi.md +52 -0
  197. package/skills/deploy-verify/SKILL.md +489 -0
  198. package/skills/design-api/SKILL.md +379 -0
  199. package/skills/design-canvas/SKILL.md +155 -0
  200. package/skills/design-email/SKILL.md +370 -0
  201. package/skills/design-frontend/SKILL.md +143 -0
  202. package/skills/design-generative-art/SKILL.md +474 -0
  203. package/skills/design-mobile-first/SKILL.md +506 -0
  204. package/skills/design-motion/SKILL.md +333 -0
  205. package/skills/design-motion/references/delight-interactions.md +191 -0
  206. package/skills/design-prd/SKILL.md +443 -0
  207. package/skills/design-system/SKILL.md +457 -0
  208. package/skills/design-theme/SKILL.md +226 -0
  209. package/skills/design-theme/themes/tsumagoi-ranch.md +150 -0
  210. package/skills/docs-adr/SKILL.md +168 -0
  211. package/skills/docs-coauthor/SKILL.md +368 -0
  212. package/skills/docs-comparison-pages/SKILL.md +117 -0
  213. package/skills/docs-domain-modeling/SKILL.md +97 -0
  214. package/skills/docs-launch-kit/SKILL.md +139 -0
  215. package/skills/docs-writer/SKILL.md +469 -0
  216. package/skills/enhance-agent-guardrails/SKILL.md +164 -0
  217. package/skills/enhance-arch-boundaries/SKILL.md +154 -0
  218. package/skills/enhance-capacitor-ui/SKILL.md +463 -0
  219. package/skills/enhance-capacitor-ui/references/details.md +750 -0
  220. package/skills/enhance-email-deliverability/SKILL.md +143 -0
  221. package/skills/enhance-growth-loops/SKILL.md +122 -0
  222. package/skills/enhance-lifecycle-email/SKILL.md +130 -0
  223. package/skills/enhance-motion/SKILL.md +193 -0
  224. package/skills/enhance-onboarding/SKILL.md +148 -0
  225. package/skills/enhance-pwa/SKILL.md +304 -0
  226. package/skills/enhance-readability/SKILL.md +146 -0
  227. package/skills/enhance-readme/SKILL.md +496 -0
  228. package/skills/enhance-readme/package-lock.json +187 -0
  229. package/skills/enhance-readme/package.json +17 -0
  230. package/skills/enhance-readme/scripts/generate-readme-blocks.mjs +199 -0
  231. package/skills/enhance-readme/scripts/record-readme-tour.mjs +442 -0
  232. package/skills/enhance-skill-prompts/SKILL.md +167 -0
  233. package/skills/enhance-skill-prompts/references/exemplar-audit-auth-flows.md +311 -0
  234. package/skills/enhance-web-conversion/SKILL.md +155 -0
  235. package/skills/enhance-web-forms/SKILL.md +154 -0
  236. package/skills/enhance-web-instant-nav/SKILL.md +138 -0
  237. package/skills/enhance-web-instant-nav/references/bfcache-blockers.md +23 -0
  238. package/skills/enhance-web-instant-nav/references/early-hints.md +33 -0
  239. package/skills/enhance-web-instant-nav/references/speculation-rules.md +44 -0
  240. package/skills/enhance-web-landing/SKILL.md +459 -0
  241. package/skills/enhance-web-landing/references/details.md +773 -0
  242. package/skills/enhance-web-redesign/SKILL.md +228 -0
  243. package/skills/enhance-web-seo/SKILL.md +276 -0
  244. package/skills/enhance-web-ui/SKILL.md +473 -0
  245. package/skills/enhance-web-ui/references/details.md +674 -0
  246. package/skills/enhance-web-ux/HEURISTICS.md +242 -0
  247. package/skills/enhance-web-ux/PATTERNS.md +375 -0
  248. package/skills/enhance-web-ux/SKILL.md +464 -0
  249. package/skills/enhance-web-ux/examples.md +222 -0
  250. package/skills/enhance-web-ux/references/details.md +406 -0
  251. package/skills/enhance-web-web3d/SKILL.md +397 -0
  252. package/skills/enhance-web-web3d/references/css-canvas-effects.md +180 -0
  253. package/skills/handoff/SKILL.md +66 -0
  254. package/skills/housekeep-backlog/SKILL.md +149 -0
  255. package/skills/housekeep-dead-code/SKILL.md +387 -0
  256. package/skills/housekeep-dead-code/references/ratchet-ci.md +205 -0
  257. package/skills/housekeep-dead-code/references/supabase-hygiene.md +152 -0
  258. package/skills/housekeep-design/SKILL.md +207 -0
  259. package/skills/housekeep-files/SKILL.md +220 -0
  260. package/skills/housekeep-files/references/naming-and-catalog.md +86 -0
  261. package/skills/housekeep-files/scripts/housekeep-files.ps1 +360 -0
  262. package/skills/housekeep-files/scripts/housekeep-files.sh +238 -0
  263. package/skills/housekeep-gates/SKILL.md +174 -0
  264. package/skills/iterate-agent-harness/SKILL.md +137 -0
  265. package/skills/iterate-gtm-weekly/SKILL.md +103 -0
  266. package/skills/iterate-post-launch/SKILL.md +292 -0
  267. package/skills/meta-mcp-builder/SKILL.md +313 -0
  268. package/skills/meta-skill-creator/SKILL.md +304 -0
  269. package/skills/mobile-capacitor-platform/SKILL.md +104 -0
  270. package/skills/mobile-emulator-start/SKILL.md +296 -0
  271. package/skills/mobile-emulator-test/SKILL.md +491 -0
  272. package/skills/mobile-emulator-test/references/details.md +478 -0
  273. package/skills/mobile-rn-performance/SKILL.md +107 -0
  274. package/skills/mobile-rn-screen/SKILL.md +476 -0
  275. package/skills/mobile-rn-screen/references/details.md +785 -0
  276. package/skills/mushi-health/SKILL.md +206 -0
  277. package/skills/mushi-integration/SKILL.md +257 -0
  278. package/skills/plan-aeo-readiness/SKILL.md +166 -0
  279. package/skills/plan-antislop/SKILL.md +281 -0
  280. package/skills/plan-aso/SKILL.md +149 -0
  281. package/skills/plan-backup-dr/SKILL.md +131 -0
  282. package/skills/plan-capacitor-hardening/SKILL.md +217 -0
  283. package/skills/plan-data-integrity/SKILL.md +187 -0
  284. package/skills/plan-dead-code/SKILL.md +386 -0
  285. package/skills/plan-dead-code/references/knip-config.md +214 -0
  286. package/skills/plan-dead-code/references/output-templates.md +133 -0
  287. package/skills/plan-dead-code/references/preservation-contract.md +50 -0
  288. package/skills/plan-dead-code/references/residue-greps.md +84 -0
  289. package/skills/plan-dependency-provenance/SKILL.md +200 -0
  290. package/skills/plan-docs-sync/SKILL.md +143 -0
  291. package/skills/plan-docs-sync/references/drift-taxonomy.md +43 -0
  292. package/skills/plan-docs-sync/references/output-templates.md +33 -0
  293. package/skills/plan-docs-sync/references/preservation-contract.md +17 -0
  294. package/skills/plan-error-handling/SKILL.md +205 -0
  295. package/skills/plan-gtm/SKILL.md +276 -0
  296. package/skills/plan-gtm/references/benchmarks-2026.md +183 -0
  297. package/skills/plan-input-validation/SKILL.md +179 -0
  298. package/skills/plan-llm-cost-guardrails/SKILL.md +176 -0
  299. package/skills/plan-mobile-readiness/SKILL.md +171 -0
  300. package/skills/plan-perf-audit/SKILL.md +145 -0
  301. package/skills/plan-perf-audit/references/audit-scope.md +51 -0
  302. package/skills/plan-perf-audit/references/output-templates.md +33 -0
  303. package/skills/plan-perf-audit/references/preservation-contract.md +13 -0
  304. package/skills/plan-pricing/SKILL.md +173 -0
  305. package/skills/plan-privacy-compliance/SKILL.md +148 -0
  306. package/skills/plan-rls-audit/SKILL.md +231 -0
  307. package/skills/plan-secrets-audit/SKILL.md +181 -0
  308. package/skills/plan-security-audit/SKILL.md +168 -0
  309. package/skills/plan-security-audit/references/output-templates.md +36 -0
  310. package/skills/plan-security-audit/references/owasp-supabase-scope.md +55 -0
  311. package/skills/plan-security-audit/references/preservation-contract.md +18 -0
  312. package/skills/plan-stub-checker/SKILL.md +216 -0
  313. package/skills/plan-stub-checker/references/detection-methodology.md +75 -0
  314. package/skills/plan-stub-checker/references/detection-taxonomy.md +34 -0
  315. package/skills/plan-stub-checker/references/output-templates.md +63 -0
  316. package/skills/plan-stub-checker/references/preservation-contract.md +24 -0
  317. package/skills/plan-test-coverage/SKILL.md +170 -0
  318. package/skills/plan-test-coverage/references/methodology.md +54 -0
  319. package/skills/plan-test-coverage/references/output-templates.md +34 -0
  320. package/skills/plan-test-coverage/references/preservation-contract.md +15 -0
  321. package/skills/plan-uiux-unification/SKILL.md +230 -0
  322. package/skills/plan-uiux-unification/references/output-templates.md +67 -0
  323. package/skills/plan-uiux-unification/references/phase-workbook.md +85 -0
  324. package/skills/plan-uiux-unification/references/preservation-contract.md +24 -0
  325. package/skills/protocol-browser-anti-stall/SKILL.md +211 -0
  326. package/skills/protocol-browser-anti-stall/references/mcp-to-cli-map.md +113 -0
  327. package/skills/protocol-browser-anti-stall/references/playwright-session-coordination.md +170 -0
  328. package/skills/research/SKILL.md +422 -0
  329. package/skills/test-exploratory/SKILL.md +165 -0
  330. package/skills/test-exploratory/references/charter-template.md +29 -0
  331. package/skills/test-load/SKILL.md +126 -0
  332. package/skills/test-mutation/SKILL.md +160 -0
  333. package/skills/test-playwright/SKILL.md +354 -0
  334. package/skills/test-qa/SKILL.md +364 -0
  335. package/skills/test-qa/references/details.md +268 -0
  336. package/skills/test-red-team/SKILL.md +387 -0
  337. package/skills/test-red-team/references/owasp-attack-checklist.md +193 -0
  338. package/skills/test-unit/SKILL.md +259 -0
  339. package/skills/test-unit/references/details.md +267 -0
  340. package/skills/test-visual-regression/SKILL.md +132 -0
  341. package/skills/thirdparty-emil-design-eng/ATTRIBUTION.md +20 -0
  342. package/skills/thirdparty-emil-design-eng/SKILL.md +21 -0
  343. package/skills/thirdparty-emil-design-eng/references/emil-design-eng.md +676 -0
  344. package/skills/thirdparty-ui-ux-pro-max/ATTRIBUTION.md +22 -0
  345. package/skills/thirdparty-ui-ux-pro-max/SKILL.md +304 -0
  346. package/skills/thirdparty-ui-ux-pro-max/data/charts.csv +26 -0
  347. package/skills/thirdparty-ui-ux-pro-max/data/colors.csv +97 -0
  348. package/skills/thirdparty-ui-ux-pro-max/data/icons.csv +101 -0
  349. package/skills/thirdparty-ui-ux-pro-max/data/landing.csv +31 -0
  350. package/skills/thirdparty-ui-ux-pro-max/data/products.csv +97 -0
  351. package/skills/thirdparty-ui-ux-pro-max/data/react-performance.csv +45 -0
  352. package/skills/thirdparty-ui-ux-pro-max/data/stacks/astro.csv +54 -0
  353. package/skills/thirdparty-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  354. package/skills/thirdparty-ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  355. package/skills/thirdparty-ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  356. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  357. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  358. package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  359. package/skills/thirdparty-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  360. package/skills/thirdparty-ui-ux-pro-max/data/stacks/react.csv +54 -0
  361. package/skills/thirdparty-ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  362. package/skills/thirdparty-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  363. package/skills/thirdparty-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  364. package/skills/thirdparty-ui-ux-pro-max/data/stacks/vue.csv +50 -0
  365. package/skills/thirdparty-ui-ux-pro-max/data/styles.csv +68 -0
  366. package/skills/thirdparty-ui-ux-pro-max/data/typography.csv +58 -0
  367. package/skills/thirdparty-ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  368. package/skills/thirdparty-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  369. package/skills/thirdparty-ui-ux-pro-max/data/web-interface.csv +31 -0
  370. package/skills/thirdparty-ui-ux-pro-max/scripts/core.py +253 -0
  371. package/skills/thirdparty-ui-ux-pro-max/scripts/design_system.py +1067 -0
  372. package/skills/thirdparty-ui-ux-pro-max/scripts/search.py +114 -0
  373. package/skills/thirdparty-web-interface-guidelines/ATTRIBUTION.md +23 -0
  374. package/skills/thirdparty-web-interface-guidelines/SKILL.md +190 -0
  375. package/skills/workflow-build-feature/SKILL.md +118 -0
  376. package/skills/workflow-coding-discipline/SKILL.md +140 -0
  377. package/skills/workflow-environment-ready/SKILL.md +128 -0
  378. package/skills/workflow-feature-flag/SKILL.md +262 -0
  379. package/skills/workflow-feedback-to-closure/SKILL.md +165 -0
  380. package/skills/workflow-fix-and-ship/SKILL.md +136 -0
  381. package/skills/workflow-git-commit/SKILL.md +200 -0
  382. package/skills/workflow-green-repo/SKILL.md +166 -0
  383. package/skills/workflow-grilling/SKILL.md +73 -0
  384. package/skills/workflow-gtm/SKILL.md +153 -0
  385. package/skills/workflow-housekeep/SKILL.md +453 -0
  386. package/skills/workflow-housekeep/references/templates.md +109 -0
  387. package/skills/workflow-launch-ready/SKILL.md +145 -0
  388. package/skills/workflow-merge-conflicts/SKILL.md +62 -0
  389. package/skills/workflow-onboard/SKILL.md +99 -0
  390. package/skills/workflow-parallel-agents/SKILL.md +164 -0
  391. package/skills/workflow-pr/SKILL.md +197 -0
  392. package/skills/workflow-quality-gate/SKILL.md +147 -0
  393. package/skills/workflow-refactor/SKILL.md +274 -0
  394. package/skills/workflow-release-prep/SKILL.md +207 -0
  395. package/skills/workflow-ship-and-observe/SKILL.md +164 -0
  396. package/skills/workflow-spec-tdd/SKILL.md +141 -0
  397. package/skills/workflow-spec-tdd/references/spec-template.md +126 -0
  398. package/skills/workflow-spec-tdd/references/tdd-patterns.md +167 -0
  399. package/skills-cursor/babysit/SKILL.md +17 -0
  400. package/skills-cursor/canvas/SKILL.md +142 -0
  401. package/skills-cursor/canvas/sdk/canvas-tokens.d.ts +235 -0
  402. package/skills-cursor/canvas/sdk/chart-primitives.d.ts +200 -0
  403. package/skills-cursor/canvas/sdk/dag-layout.d.ts +102 -0
  404. package/skills-cursor/canvas/sdk/diff-view.d.ts +130 -0
  405. package/skills-cursor/canvas/sdk/form-primitives.d.ts +194 -0
  406. package/skills-cursor/canvas/sdk/hooks.d.ts +117 -0
  407. package/skills-cursor/canvas/sdk/index.d.ts +47 -0
  408. package/skills-cursor/canvas/sdk/theme.d.ts +61 -0
  409. package/skills-cursor/canvas/sdk/todo-list.d.ts +49 -0
  410. package/skills-cursor/canvas/sdk/ui-primitives.d.ts +549 -0
  411. package/skills-cursor/canvas/sdk/ui-primitives.test.d.ts +2 -0
  412. package/skills-cursor/create-hook/SKILL.md +238 -0
  413. package/skills-cursor/create-rule/SKILL.md +185 -0
  414. package/skills-cursor/create-skill/SKILL.md +269 -0
  415. package/skills-cursor/create-skill/references/authoring-guide.md +182 -0
  416. package/skills-cursor/create-subagent/SKILL.md +228 -0
  417. package/skills-cursor/migrate-to-skills/SKILL.md +121 -0
  418. package/skills-cursor/shell/SKILL.md +22 -0
  419. package/skills-cursor/split-to-prs/SKILL.md +47 -0
  420. package/skills-cursor/statusline/SKILL.md +193 -0
  421. package/skills-cursor/update-cli-config/SKILL.md +85 -0
  422. package/skills-cursor/update-cursor-settings/SKILL.md +137 -0
  423. package/skills.sh.json +296 -0
@@ -0,0 +1,364 @@
1
+ ---
2
+ name: test-qa
3
+ description: >
4
+ Web-app CRUD and story QA when no project-specific skill applies. Use when
5
+ "QA the app", "test CRUD", or "smoke test". Native → mobile-emulator-test.
6
+ Guest vs logged in → test-exploratory. Pixel diffs → test-visual-regression.
7
+ license: MIT
8
+ ---
9
+
10
+ # test-qa — Story-driven CRUD, not a monkey test
11
+
12
+ **Degree of freedom: MIXED** — story generation and severity `[HIGH freedom]`;
13
+ session, anti-stall, and CRUD verify-after-refresh `[LOW freedom — run exactly]`.
14
+ Driver is **playwright-cli**, never Playwright MCP. Guest-vs-authed wander is
15
+ `test-exploratory` — do not reclaim it.
16
+
17
+ Full QA of a live webapp as a senior QA engineer preparing a production
18
+ release: user-story-driven coverage, CRUD, data-pipeline integrity, UX, and
19
+ edge cases. This is **not** a page-navigation monkey test.
20
+ Your turn ends after Phase 5 with every discovered route crawled and every CRUD entity proven after refresh — not after the crawl with CRUD still owed, and not with an auth-required page silently skipped instead of marked BLOCKED.
21
+
22
+ Read `protocol-browser-anti-stall` before any browser step (Rule 0: manual &
23
+ headed). Also `references/playwright-session-coordination.md` in that folder.
24
+
25
+ ## This skill vs neighbors
26
+
27
+ | Skill | Owns |
28
+ |:------|:-----|
29
+ | **test-qa** (this) | Story-driven CRUD + smoke; persist after refresh (+ DB) |
30
+ | `test-exploratory` | Unscripted wander + **guest vs authed diff** |
31
+ | `test-playwright` | This-diff PDCA + fix-as-you-go |
32
+ | `test-red-team` | Hostile feature×dimension matrix |
33
+ | `test-visual-regression` | Pixel baselines |
34
+ | `plan-stub-checker` | Dead buttons / fake components (plan) |
35
+
36
+ ## How to reason (every finding)
37
+
38
+ 1. **Observe** — screenshot + console + network (+ DB if available)
39
+ 2. **Interpret** — persist fail, dead control, UX defect, or expected empty?
40
+ 3. **Classify** — PASS / FAIL / BLOCKED (auth) — never "sort of works"
41
+ 4. **Severity** — Critical (blocks ship) / Major (bad UX) / Minor (polish)
42
+
43
+ ## Worked example
44
+
45
+ > **Observe:** POST /api/items 201; list shows "QA-TEST-Widget"; after hard
46
+ > `goto` the row is gone. Console clean.
47
+ > **Interpret:** optimistic UI; write never persisted.
48
+ > **Classify:** FAIL — data pipeline (ghost create).
49
+ > **Severity:** Critical — CRUD not verified E2E.
50
+
51
+ ## Critical rules
52
+
53
+ - **Manual & headed, never scripted.** One `playwright-cli` action at a time.
54
+ `eval` / `run-code` inspection-only. No `*.spec.ts`, no `npx playwright test`.
55
+ - **User in the chair, engineer in the head.** First-open navigation; inspect
56
+ like you know the stack.
57
+ - **Every mutation verified E2E.** Create/update/delete is untested until the
58
+ change survives a refresh **and** (if DB access exists) the row matches.
59
+ - **Evidence for every finding.** Screenshot + console + network + repro.
60
+ - **Clean up.** Delete `QA-TEST-` data. Leave auth session intact.
61
+ - **No invented routes.** Discover pages/entities from source first.
62
+
63
+ ---
64
+
65
+ ## Phase 0: Codebase Discovery [HIGH freedom]
66
+
67
+ ### 0a. Detect Tech Stack
68
+
69
+ Read the dependency manifest (`package.json`, `requirements.txt`,
70
+ `pyproject.toml`, `Cargo.toml`, `go.mod`). Record framework, UI lib, auth,
71
+ DB/ORM, state, CSS, and `scripts.dev` port (3000 / 3001 / 5173 / 5174).
72
+
73
+ ### 0b. Discover Routes
74
+
75
+ | Framework | Scan Pattern |
76
+ |-----------|-------------|
77
+ | Next.js App Router | `app/**/page.tsx` or `app/**/page.js` |
78
+ | Next.js Pages | `pages/**/*.tsx` (excluding `_app`, `_document`) |
79
+ | Remix | `app/routes/**/*.tsx` |
80
+ | SvelteKit | `src/routes/**/+page.svelte` |
81
+ | Nuxt | `pages/**/*.vue` |
82
+ | React Router (SPA) | Grep for `<Route` or `createBrowserRouter` |
83
+ | Django | `urls.py` files |
84
+ | Rails | `config/routes.rb` |
85
+
86
+ For each route: path, dynamic segments, layout nesting, auth guard.
87
+
88
+ ### 0c. Discover Data Model
89
+
90
+ | Source | Where |
91
+ |--------|-------|
92
+ | Supabase migrations | `supabase/migrations/*.sql` — tables, RLS |
93
+ | Prisma schema | `prisma/schema.prisma` |
94
+ | Drizzle schema | `drizzle/schema.ts` or `src/db/schema.ts` |
95
+ | TypeScript types | `types/*.ts`, `**/types.ts` |
96
+ | API routes | `app/api/**` — CRUD endpoints |
97
+ | Feature files | `features/*/` — services, hooks, components |
98
+
99
+ For each entity: name, key fields, CRUD capabilities, relationships.
100
+
101
+ ### 0d. Discover Auth Pattern
102
+
103
+ Provider config (`createClient`, `NextAuth`, `ClerkProvider`, `Auth0Provider`);
104
+ login (`signIn` / `login` / `authenticate`); test credentials (`.env.local`,
105
+ `.env.test`, `.env.example`, README); protected routes (middleware, guards).
106
+
107
+ ### 0e. Read Feature Documentation
108
+
109
+ Feature-directory READMEs (`@_*-README.md`, `docs/`) for expected behavior.
110
+
111
+ ### 0f. Record Discovery Results
112
+
113
+ ```
114
+ APP DISCOVERY:
115
+ - Framework: [name + version]
116
+ - Dev server: http://localhost:[port]
117
+ - Auth: [provider + method]
118
+ - Test account: [email / password, or "none found — ask user"]
119
+ - Routes discovered: [count]
120
+ - Public: [list]
121
+ - Auth-required: [list]
122
+ - Dynamic: [list with param patterns]
123
+ - Data entities: [list with CRUD capabilities]
124
+ - API endpoints: [count]
125
+ ```
126
+
127
+ ---
128
+
129
+ ## Phase 1: Environment Verification [LOW freedom — session exact]
130
+
131
+ ### 1a. Verify Dev Server Running
132
+
133
+ Check the terminals folder for `npm run dev` / `pnpm dev` / `next dev`. If
134
+ none, tell the user and stop.
135
+
136
+ ### 1b. Load the app (own your session)
137
+
138
+ 1. Session name `-s=qa-<app>`; never reuse another agent's name.
139
+ 2. Isolated browser — add `--persistent --profile` if login is required:
140
+
141
+ ```bash
142
+ PW="npx --yes @playwright/cli@latest"
143
+ $PW -s=qa-<app> open --headed http://localhost:3000
144
+ sleep 2
145
+ $PW -s=qa-<app> snapshot
146
+ $PW -s=qa-<app> screenshot --filename .playwright-mcp/qa-baseline.png
147
+ $PW -s=qa-<app> console
148
+ $PW -s=qa-<app> requests
149
+ ```
150
+
151
+ Blank after 3 incremental waits (6s) → blocker.
152
+
153
+ ### 1c. Authenticate (reuse session — do not re-login every run)
154
+
155
+ Follow `protocol-browser-anti-stall/references/playwright-session-coordination.md`.
156
+
157
+ 1. Hit a **protected route** — if already signed in, skip to 1d.
158
+ 2. `state-load .playwright-mcp/auth/<host>.json` if it exists (or reuse the
159
+ `--persistent --profile` directory).
160
+ 3. If still logged out:
161
+ - Email/password: credentials from `.env.test` / README (never paste secrets).
162
+ - **OAuth / SSO**: sign in in the visible window; incremental snapshots;
163
+ then `state-save .playwright-mcp/auth/<host>.json`.
164
+ - **Google** cannot sign in from a Playwright-launched browser — use the
165
+ one-time real-Chrome profile in the coordination reference.
166
+ 4. Verify auth (avatar, dashboard, protected pages).
167
+ 5. **Do not log out** at cleanup unless testing logout.
168
+
169
+ If auth is impossible, mark auth-required pages BLOCKED and test public only.
170
+
171
+ ### 1d. Capture Baseline
172
+
173
+ ```
174
+ BASELINE:
175
+ - URL: [current URL]
176
+ - Console errors: [count — list if any]
177
+ - Network failures: [count — list if any]
178
+ - Visible content: [brief description]
179
+ - Screenshot: [reference]
180
+ ```
181
+
182
+ ---
183
+
184
+ ## Phase 2: Intelligent Page Crawl [HIGH freedom]
185
+
186
+ For EVERY route from Phase 0b:
187
+
188
+ ### 2a. Navigate and Capture
189
+
190
+ `goto` → anti-stall (2s → snapshot → verify) → `screenshot` → `console` →
191
+ `requests`.
192
+
193
+ ### 2b. Classify the Page
194
+
195
+ | Classification | Signals |
196
+ |---------------|---------|
197
+ | **CRUD page** | Forms, edit/delete, data tables |
198
+ | **Display page** | Data, no mutation (dashboards, profiles) |
199
+ | **Settings page** | Toggles, selects, save for preferences |
200
+ | **Auth page** | Login, register, forgot password |
201
+ | **Static page** | About, terms, privacy |
202
+ | **Navigation hub** | Links to children (home, index) |
203
+
204
+ ### 2c. Detect findings during crawl
205
+
206
+ | Check | What to Look For |
207
+ |-------|-----------------|
208
+ | **Dead page** | 404, error boundary, blank |
209
+ | **Console errors** | JS / React errors, failed assertions |
210
+ | **Network failures** | 4xx/5xx, CORS, timeouts |
211
+ | **Missing content** | "undefined", "null", "NaN", "[object Object]" |
212
+ | **Mock data** | "Lorem ipsum", "TODO", "test", "example@" |
213
+ | **Dead buttons** | No onClick / navigate nowhere (snapshot) |
214
+ | **Missing metadata** | Empty or generic `document.title` |
215
+ | **Loading stuck** | Spinner/skeleton after 6s |
216
+ | **Empty state** | No data AND no helpful empty message |
217
+ | **Broken images** | Missing/broken `src` or error fallback |
218
+ | **Overflow** | Text/elements past their containers |
219
+
220
+ ### 2d. Build Feature Map
221
+
222
+ ```
223
+ FEATURE MAP:
224
+ - CRUD pages: [entity + operations]
225
+ - Forms found: [page + purpose]
226
+ - Data displays: [tables, lists, cards, charts]
227
+ - Interactive elements: [buttons, toggles, dropdowns per page]
228
+ - Search/filter: [pages]
229
+ - Settings: [configurable preferences]
230
+ - Dead buttons found: [page + element]
231
+ - Pages with errors: [list]
232
+ ```
233
+
234
+ ---
235
+
236
+ ## Phase 3: Dynamic User Story Generation [HIGH freedom]
237
+
238
+ Stories come from the feature map, not a canned list.
239
+
240
+ | Cat | Story | Drive |
241
+ |-----|-------|-------|
242
+ | A | First impression | Home: value prop in 3s, CTA, guest-reachable nav, trust |
243
+ | B | Core journey | Primary purpose from Phase 0, start to finish |
244
+ | C | CRUD per entity | **Phase 4** — verify persist after refresh (+ DB) |
245
+ | D | Navigation | Every nav link, back/forward, breadcrumbs, no dead ends |
246
+ | E | Search/filter | Known hit, empty miss + helpful empty, filters |
247
+ | F | Errors | Empty required, invalid input, `/nonexistent` 404, network fail |
248
+ | G | Settings | Change, navigate away, come back — preference persisted |
249
+
250
+ ---
251
+
252
+ ## Phase 4: CRUD Testing [LOW freedom — verify after refresh]
253
+
254
+ For each CRUD-capable entity, run the lifecycle.
255
+
256
+ ### 4a. Create
257
+
258
+ 1. Open the creation form; identify fields via `snapshot`
259
+ 2. Fill realistic data: text `QA-TEST-[field]-[timestamp]`; domain-sane
260
+ numbers/dates; valid select; non-default toggle
261
+ 3. `screenshot` before submit
262
+ 4. Submit; `requests` must be 2xx; `snapshot` + `screenshot` for success
263
+ feedback (toast, redirect, confirmation)
264
+
265
+ **Record** the item's ID, name, and URL.
266
+
267
+ ### 4b. Read
268
+
269
+ List view → find the item → displayed fields match → detail view (if any)
270
+ matches → `screenshot`.
271
+
272
+ ### 4c. Update
273
+
274
+ Edit 1–2 fields → `screenshot` before save → save → `requests` 2xx → UI
275
+ updates → hard-refresh (`goto` same URL) → changes still there.
276
+
277
+ ### 4d. Delete
278
+
279
+ `screenshot` before → delete (+ confirm if any) → `requests` 2xx → gone from
280
+ list → detail URL is 404 or redirect.
281
+
282
+ ### 4e. Validation Testing
283
+
284
+ 1. **Empty submission** → inline validation
285
+ 2. **Invalid data** — wrong format, text in number field → specific errors
286
+ 3. **Boundary** — 500+ chars, zero, negative, past dates
287
+ 4. **Special characters** — `<script>alert('xss')</script>`, `'; DROP TABLE`,
288
+ emoji, Unicode
289
+ 5. **Duplicate** — create the same item twice → duplicate handling
290
+
291
+ ### 4f. Data Pipeline Verification
292
+
293
+ After each mutation:
294
+
295
+ 1. **Network** — `requests`: call made? status?
296
+ 2. **Response** — body has expected data?
297
+ 3. **UI** — reflects mutation without a manual refresh?
298
+ 4. **Refresh** — after `goto` same page, still visible?
299
+ 5. **DB** (if Supabase MCP or DB access):
300
+
301
+ ```json
302
+ supabase:execute_sql
303
+ {
304
+ "query": "SELECT * FROM <table> WHERE <identifying_column> LIKE 'QA-TEST-%' ORDER BY created_at DESC LIMIT 5"
305
+ }
306
+ ```
307
+
308
+ **Pipeline failures:** optimistic UI but API failed; stale cache; missing
309
+ invalidation (item appears only after refresh); ghost data (deleted item
310
+ returns); silent 4xx/5xx.
311
+
312
+ ---
313
+
314
+ ## Phase 5: UX Quality Audit [HIGH freedom]
315
+
316
+ Assess each page. Layout breakage → `audit-responsive`. Empty/error chrome →
317
+ `audit-ui-states`. Do not re-own those audits.
318
+
319
+ ### 5a. Visual Quality
320
+
321
+ | Check | How to Verify |
322
+ |-------|--------------|
323
+ | Consistent spacing | Screenshot — no irregular gaps or cramped areas |
324
+ | Typography | No mixed sizes where they should match; no orphaned headings |
325
+ | Truncation | Ellipsis where appropriate, not clipped |
326
+ | Image loading | All images render; no broken-image icons |
327
+ | Icons | All icons render (no missing squares) |
328
+ | Dark mode | If supported: toggle; no white flashes |
329
+ | Responsive | 1280 / 768 / 375 — layout adapts without breaking |
330
+
331
+ ### 5b. Interaction Quality
332
+
333
+ | Check | How to Verify |
334
+ |-------|--------------|
335
+ | Dead buttons | Click every button. Does it do something? |
336
+ | Form labels | Every input has a visible label or accessible name |
337
+ | Loading states | Data fetch shows a loading indicator |
338
+ | Success feedback | After mutations — toast, confirmation, or visual change |
339
+ | Error feedback | Failures — helpful, visible |
340
+ | Disabled states | Visually distinct; reason clear |
341
+ | Focus management | After modal close or submit, focus moves |
342
+
343
+ ### 5c. Information Architecture
344
+
345
+ | Check | How to Verify |
346
+ |-------|--------------|
347
+ | Page titles | `document.title` descriptive and unique |
348
+ | Active nav state | Current page highlighted |
349
+ | Dead ends | Any page with no way forward or back? |
350
+ | Empty states | No data — helpful message? |
351
+ | 404 page | `/nonexistent-page` — helpful 404? |
352
+
353
+ ## Self-critique before reporting [LOW freedom — do not skip]
354
+
355
+ 1. **CRUD E2E** — create/update/delete proven after refresh (+ DB if available)
356
+ 2. **Evidence** — every FAIL has screenshot + console + network + repro
357
+ 3. **Cleanup** — `QA-TEST-` rows gone; auth session left intact
358
+ 4. **Right owner** — guest/authed wander → `test-exploratory`; pixel →
359
+ `test-visual-regression`; hostile → `test-red-team`
360
+ 5. **Binary** — no "sort of works"
361
+
362
+ ## Further reading
363
+
364
+ - [5d. Data Display Quality and more](references/details.md)
@@ -0,0 +1,268 @@
1
+ ### 5d. Data Display Quality
2
+
3
+ | Check | What to Look For |
4
+ |-------|-----------------|
5
+ | Formatting | Currency, dates, percentages displayed correctly for locale |
6
+ | Raw data leaks | "undefined", "null", "NaN", "[object Object]", "Invalid Date" visible |
7
+ | Mock/placeholder | "Lorem ipsum", "TODO", "test@example.com", "John Doe" in production data |
8
+ | Number accuracy | Totals match sum of line items. Percentages sum to ~100%. |
9
+ | Table headers | Every column has a header. Sort indicators if sortable. |
10
+ | Chart labels | Axes labeled, legend present, values readable |
11
+
12
+ ### 5e. Accessibility Basics
13
+
14
+ | Check | How to Verify |
15
+ |-------|--------------|
16
+ | Accessible names | Interactive elements have `aria-label`, `aria-labelledby`, or visible text |
17
+ | Color contrast | Text readable against background (use screenshot inspection) |
18
+ | Focus visible | Tab through the page — can you see where focus is? |
19
+ | Form labels | `<label>` elements associated with `<input>` via `for`/`htmlFor` |
20
+ | Alt text | Images have `alt` attributes (check via snapshot) |
21
+
22
+ ---
23
+
24
+ ## Phase 6: Edge Case and Stress Testing
25
+
26
+ ### 6a. Input Boundary Testing
27
+
28
+ For each form field:
29
+
30
+ | Input Type | Test Values |
31
+ |-----------|------------|
32
+ | Text | Empty, 1 char, 500 chars, 5000 chars |
33
+ | Number | 0, -1, 999999999, 0.001, NaN (type "abc") |
34
+ | Email | Missing @, double @, special chars, very long |
35
+ | Date | Past (1900-01-01), future (2099-12-31), today |
36
+ | URL | No protocol, invalid TLD, very long |
37
+ | Select | First option, last option, no selection |
38
+
39
+ ### 6b. Rapid Interaction
40
+
41
+ 1. Double-click submit buttons — does it submit twice? (Check network requests)
42
+ 2. Click a navigation link 3 times rapidly — does it crash or navigate correctly?
43
+ 3. Toggle a setting on/off/on/off quickly — does it end in the correct state?
44
+
45
+ ### 6c. Navigation Edge Cases
46
+
47
+ 1. Browser back button from every page — does it go to the right place?
48
+ 2. Browser forward button after going back — works correctly?
49
+ 3. Direct URL access to every page (not via navigation) — loads correctly?
50
+ 4. Bookmark a page, close tab, reopen — same state?
51
+
52
+ ### 6d. Error State Testing
53
+
54
+ 1. Navigate to `/this-page-does-not-exist` → expect proper 404
55
+ 2. If possible, trigger API errors → expect user-facing error messages
56
+ 3. Submit invalid data in every form → expect inline validation
57
+
58
+ ---
59
+
60
+ ## Phase 7: Cleanup
61
+
62
+ Remove all test data created during testing:
63
+
64
+ 1. Delete any items prefixed with `QA-TEST-`
65
+ 2. Reset any settings changed during testing
66
+ 3. If DB access available, verify cleanup:
67
+
68
+ ```sql
69
+ SELECT * FROM <table> WHERE <name_column> LIKE 'QA-TEST-%';
70
+ -- Should return 0 rows
71
+ ```
72
+
73
+ 4. **Keep auth session** — do not log out; leave the session's `--profile` directory (or
74
+ `state-save` file) intact for the next
75
+ agent/skill unless you were testing logout explicitly.
76
+
77
+ ---
78
+
79
+ ## Phase 8: Report
80
+
81
+ Produce the final QA report:
82
+
83
+ ```markdown
84
+ ## QA Test Report — [Project Name]
85
+
86
+ ### Environment
87
+ - URL: [url tested]
88
+ - Framework: [detected framework + version]
89
+ - Auth: [method used or "guest"]
90
+ - Date: [date]
91
+
92
+ ### Discovery Summary
93
+ - Routes in codebase: [N]
94
+ - Pages tested: [N]
95
+ - Data entities found: [N]
96
+ - CRUD-capable entities tested: [N]
97
+
98
+ ### Test Summary
99
+
100
+ | Metric | Value |
101
+ |--------|-------|
102
+ | User stories executed | [N] |
103
+ | Individual test steps | [N] |
104
+ | CRUD operations performed | [N] |
105
+ | Passed | [N] |
106
+ | Failed | [N] |
107
+ | Blocked | [N] |
108
+ | Pass rate | [%] |
109
+
110
+ ### Critical Issues (blocks production release)
111
+
112
+ | # | Page | Issue | Evidence | Steps to Reproduce |
113
+ |---|------|-------|----------|-------------------|
114
+ | 1 | [url] | [description] | [screenshot/console ref] | [steps] |
115
+
116
+ ### Major Issues (degrades user experience)
117
+
118
+ | # | Page | Issue | Evidence | Recommendation |
119
+ |---|------|-------|----------|---------------|
120
+ | 1 | [url] | [description] | [ref] | [how to fix] |
121
+
122
+ ### Minor Issues (polish for design award)
123
+
124
+ | # | Page | Issue | Quick Fix |
125
+ |---|------|-------|-----------|
126
+ | 1 | [url] | [description] | [suggestion] |
127
+
128
+ ### Data Pipeline Issues
129
+
130
+ | # | Entity | Operation | Issue | Evidence |
131
+ |---|--------|-----------|-------|----------|
132
+ | 1 | [entity] | [create/update/delete] | [what went wrong] | [network/DB evidence] |
133
+
134
+ ### Dead / Mock Code Detected
135
+
136
+ | # | Page | Finding |
137
+ |---|------|---------|
138
+ | 1 | [url] | [dead button / mock data / placeholder text] |
139
+
140
+ ### UX Quality Highlights
141
+
142
+ #### What Works Well
143
+ 1. [genuine positive with evidence]
144
+ 2. [genuine positive with evidence]
145
+
146
+ #### Design-Award Readiness
147
+ - Visual consistency: [score 1-5]
148
+ - Interaction feedback: [score 1-5]
149
+ - Empty/error states: [score 1-5]
150
+ - Data display quality: [score 1-5]
151
+ - Accessibility basics: [score 1-5]
152
+
153
+ ### Pages Not Tested
154
+
155
+ | Page | Reason |
156
+ |------|--------|
157
+ | [url] | [BLOCKED: auth / SKIPPED: reason] |
158
+
159
+ ### Cleanup Verification
160
+ - Test data created: [N items]
161
+ - Test data deleted: [N items]
162
+ - Orphaned test data: [N — details if any]
163
+
164
+ ### Production Readiness Score
165
+
166
+ **[N] / 10** — [1-2 sentence justification]
167
+
168
+ | Score | Meaning |
169
+ |-------|---------|
170
+ | 9-10 | Ship it. Design-award ready. |
171
+ | 7-8 | Ship after fixing critical/major issues. Solid. |
172
+ | 5-6 | Needs work. Multiple major issues. |
173
+ | 3-4 | Not ready. Fundamental problems. |
174
+ | 1-2 | Broken. Major rework needed. |
175
+ ```
176
+
177
+ ---
178
+
179
+ ## Sentry Integration (optional)
180
+
181
+ If the project has Sentry configured (detected in Phase 0), check for production errors
182
+ related to tested features:
183
+
184
+ ```json
185
+ sentry:search_issues
186
+ {
187
+ "organizationSlug": "<ORG_SLUG>",
188
+ "query": "unresolved issues from the last 7 days",
189
+ "projectSlugOrId": "<PROJECT_SLUG>",
190
+ "regionUrl": "<REGION_URL>",
191
+ "limit": 30
192
+ }
193
+ ```
194
+
195
+ Cross-reference Sentry issues with pages tested. If a page you tested has known production
196
+ errors, note them in the report under a "Known Production Issues" section.
197
+
198
+ ---
199
+
200
+ ## Adapting to Different App Types
201
+
202
+ The skill auto-adapts based on what Phase 0 discovers. Here are common patterns:
203
+
204
+ | App Type | Focus Areas |
205
+ |----------|------------|
206
+ | **CRUD / SaaS** | Heavy CRUD lifecycle testing, data pipeline verification, form validation |
207
+ | **Content / CMS** | Content rendering, search, filtering, pagination, media loading |
208
+ | **E-commerce** | Cart operations, checkout flow, pricing accuracy, inventory states |
209
+ | **Social** | User interactions, feed rendering, notifications, privacy settings |
210
+ | **Language learning** | Lesson flow completion, progress tracking, content accuracy |
211
+ | **Dashboard / Analytics** | Chart rendering, data accuracy, filter interactions, export |
212
+ | **Mobile-first PWA** | Touch targets, offline states, install prompt, viewport testing |
213
+
214
+ ---
215
+
216
+ ## Test Data Guidelines
217
+
218
+ When generating test data for CRUD operations:
219
+
220
+ - **Prefix all test data** with `QA-TEST-` for easy identification and cleanup
221
+ - **Use realistic but obviously fake values**: `QA-TEST-Widget-1712345678`, `qa-test@example.com`
222
+ - **Never use real personal data** or production credentials
223
+ - **Respect domain constraints**: if the app is financial, use realistic but fake numbers
224
+ - **Cover multiple data types**: strings, numbers, dates, booleans, selections
225
+ - **Test with the app's locale**: if the app is in Japanese, test with Japanese input too
226
+
227
+ ---
228
+
229
+ ## Execution Protocol
230
+
231
+ For each test step, follow this cycle:
232
+
233
+ ```bash
234
+ PW="npx --yes @playwright/cli@latest"; S="-s=qa-<app>"
235
+ $PW $S goto "<url>" # 1. if moving pages
236
+ sleep 2 && $PW $S snapshot # 2. anti-stall: verify loaded + get refs
237
+ $PW $S click <ref> # 3. interact (click / fill / type / press)
238
+ $PW $S snapshot # 4. fresh refs after interaction
239
+ $PW $S console # 5. check for errors
240
+ $PW $S requests # 6. check for failures
241
+ $PW $S screenshot --filename ".playwright-mcp/<step>.png" # 7. evidence
242
+ ```
243
+
244
+ 8. Evaluate: PASS or FAIL with evidence.
245
+ 9. `$PW $S close` when the run is done.
246
+
247
+ **Timeout budget:**
248
+ - Single interaction: 15 seconds max
249
+ - Page navigation + verification: 30 seconds max
250
+ - Full CRUD lifecycle per entity: 5 minutes max
251
+ - Full test suite: 30 minutes max
252
+
253
+ If any step exceeds its budget, log `[TIMEOUT]` and move on.
254
+
255
+ ---
256
+
257
+ ## Important Rules
258
+
259
+ 1. **Read the codebase first (Phase 0).** Routes, entities, and auth come from the code, not from guessing at the UI.
260
+ 2. **Use playwright-cli** for all browser interaction: `goto`, `snapshot`, `screenshot`, `click`, `fill`, `type`, `press`, `console`, `requests`, `close`, `find`.
261
+ 3. **Apply anti-stall protocol** to every interaction. Read `protocol-browser-anti-stall` skill first.
262
+ 4. **Screenshot every test step.** Every pass and fail needs visual evidence.
263
+ 5. **Check console and network** after every page load and every mutation.
264
+ 6. **Clean up test data.** Delete everything prefixed with `QA-TEST-` at the end.
265
+ 7. **Be binary on findings.** Each check either PASSES or FAILS. No "sort of works."
266
+ 8. **Report severity honestly.** Critical = blocks release. Major = bad UX. Minor = polish.
267
+ 9. **Note what works well.** Good QA reports include positives, not just bugs.
268
+ 10. **Respect time budgets.** Skip stuck steps rather than freezing the entire session.