@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,497 @@
1
+ ---
2
+ name: debug-sentry-monitor
3
+ description: >
4
+ Operate Sentry: triage and fix unresolved issues, cut noise, audit
5
+ instrumentation, monitor after deploy. Use when "check Sentry" or "review
6
+ production errors". One bug → workflow-fix-and-ship. Plan-only audit →
7
+ plan-error-handling.
8
+ license: MIT
9
+ effort: high
10
+ ---
11
+
12
+ # Sentry Monitor
13
+
14
+ **Degree of freedom: MIXED.** Triage bucket and root cause `[HIGH freedom]`;
15
+ resolve-only-after-verify `[LOW freedom — run exactly]`.
16
+
17
+ Triage, fix, and audit Sentry on any project via the `sentry` MCP. Auto-detects config.
18
+
19
+ ## How to reason
20
+
21
+ 1. **Observe** — issue type, frames, users, first-seen, release
22
+ 2. **Interpret** — app frame vs extension noise; new vs regression
23
+ 3. **Classify** — Noise / Code Bug / Data Bug / Performance / Regression / Config Gap
24
+ 4. **Severity** — regressions and multi-user crashes first; never resolve Performance
25
+
26
+ ## Worked example
27
+
28
+ > **Observe:** 80 events of `TypeError: undefined.email` on `/account`, started at release `1.14.0`.
29
+ > **Interpret:** app frames in the profile card; correlates with the onboarding PR.
30
+ > **Classify:** Data Bug + Regression — API null for incomplete profiles.
31
+ > **Fix:** handle null at the contract; do not resolve until the fix is committed and the loop is green.
32
+
33
+ ## Self-critique before reporting
34
+
35
+ - **No resolve without proof** — issue stays unresolved if the fix is unverified
36
+ - **No band-aid** — `?.` / swallowed catch is not the sole fix
37
+ - **Bucket is one** — Noise is not used to mute an app-frame crash
38
+ - **Right owner** — one named bug through PR → `workflow-fix-and-ship`
39
+
40
+ ## Rules
41
+
42
+ Resolve an issue only with a verified fix — resolving means "this will not happen again"; if you cannot prove that, leave it unresolved.
43
+
44
+ No band-aid fixes. try/catch wrappers, `?.` chains, and `Array.isArray()` guards suppress the symptom; use defensive code only after the root cause is fixed, to harden against genuinely unpredictable external input.
45
+
46
+ Research non-trivial bugs before fixing (Step 4d).
47
+
48
+ ---
49
+
50
+ ## Step 0: Auto-Detect Project Configuration
51
+
52
+ Before making any Sentry MCP calls, discover the project's Sentry setup.
53
+
54
+ The Sentry MCP lists these tools directly, depending on which Sentry MCP skills (Inspect, Seer, Triage) the connection grants: `find_organizations`, `find_projects`, `search_issues`, `search_events`, `get_sentry_resource`, `analyze_issue_with_seer` (Seer), and `update_issue` (Triage). The other tools this skill uses (`get_issue_breadcrumbs`, `get_issue_tag_values`, `find_releases`) sit in the server's catalog and run through `execute_sentry_tool` with `name` and `arguments`. If a catalog call is rejected, call `search_sentry_tools` with a short description (for example `"find releases"`) to get the current name and argument schema.
55
+
56
+ ### 0a. Find Organization and Project
57
+
58
+ First, try to detect from local config files. Search for these (in order):
59
+
60
+ 1. `.sentryclirc` — contains `[defaults]` with `org` and `project`
61
+ 2. `sentry.properties` — contains `defaults.org` and `defaults.project`
62
+ 3. `.env`, `.env.local`, `.env.production` — look for `SENTRY_ORG`, `SENTRY_PROJECT`, `SENTRY_DSN`, `SENTRY_AUTH_TOKEN`
63
+ 4. `sentry.client.config.ts`, `sentry.client.config.js` — Next.js Sentry config
64
+ 5. `sentry.server.config.ts`, `sentry.server.config.js` — Next.js server Sentry config
65
+ 6. `next.config.js` / `next.config.mjs` — `withSentryConfig()` wrapper
66
+ 7. `package.json` — check for `@sentry/*` packages to detect SDK
67
+
68
+ If local detection fails, use the MCP to discover:
69
+
70
+ ```json
71
+ sentry:find_organizations
72
+ ```
73
+
74
+ Then for the target org:
75
+
76
+ ```json
77
+ sentry:find_projects
78
+ {
79
+ "organizationSlug": "<ORG_SLUG>",
80
+ "regionUrl": "<REGION_URL>"
81
+ }
82
+ ```
83
+
84
+ ### 0b. Detect Framework and Platform
85
+
86
+ Read `package.json` (or equivalent) to determine:
87
+
88
+ | Package | Framework |
89
+ |---------|-----------|
90
+ | `@sentry/nextjs` | Next.js |
91
+ | `@sentry/react` | React SPA |
92
+ | `@sentry/vue` | Vue.js |
93
+ | `@sentry/svelte` | SvelteKit |
94
+ | `@sentry/node` | Node.js backend |
95
+ | `@sentry/browser` | Vanilla JS |
96
+ | `sentry-sdk` (pip) | Python |
97
+ | `sentry_sdk` (pip) | Python |
98
+ | `sentry-ruby` | Ruby |
99
+ | `@sentry/angular` | Angular |
100
+
101
+ ### 0c. Locate Sentry Config Files
102
+
103
+ Search for the Sentry initialization and noise filtering:
104
+
105
+ ```
106
+ Grep for: Sentry.init, sentryInit, initSentry
107
+ Grep for: ignoreErrors, beforeSend, denyUrls
108
+ Grep for: ErrorBoundary, error-boundary, errorBoundary
109
+ Grep for: logger, logging, winston, pino
110
+ Grep for: web-vitals, webVitals, reportWebVitals
111
+ ```
112
+
113
+ ### 0d. Record Detected Configuration
114
+
115
+ ```
116
+ ORG_SLUG: [detected or ask user]
117
+ PROJECT_SLUG: [detected or ask user]
118
+ REGION_URL: [detected or ask user — typically https://us.sentry.io or https://de.sentry.io]
119
+ FRAMEWORK: [detected from packages]
120
+ PLATFORM: [browser | server | hybrid]
121
+ SENTRY_CONFIG: [path to Sentry.init file]
122
+ NOISE_FILTER: [path to file with ignoreErrors/beforeSend]
123
+ ERROR_BOUNDARY: [path to error boundary component, if any]
124
+ LOGGER: [path to logging utility, if any]
125
+ ```
126
+
127
+ If any critical values cannot be detected, ask the user.
128
+
129
+ ---
130
+
131
+ ## Step 1: Fetch Issues
132
+
133
+ Run these two MCP calls in parallel:
134
+
135
+ ```json
136
+ sentry:search_issues
137
+ {
138
+ "organizationSlug": "<ORG_SLUG>",
139
+ "projectSlugOrId": "<PROJECT_SLUG>",
140
+ "regionUrl": "<REGION_URL>",
141
+ "query": "all unresolved issues from the last 7 days",
142
+ "limit": 50
143
+ }
144
+
145
+ sentry:search_events
146
+ {
147
+ "organizationSlug": "<ORG_SLUG>",
148
+ "projectSlug": "<PROJECT_SLUG>",
149
+ "regionUrl": "<REGION_URL>",
150
+ "query": "count of errors grouped by error type in the last 7 days",
151
+ "limit": 50
152
+ }
153
+ ```
154
+
155
+ Also check for regressions (issues that were resolved but re-opened):
156
+
157
+ ```json
158
+ sentry:search_issues
159
+ {
160
+ "organizationSlug": "<ORG_SLUG>",
161
+ "projectSlugOrId": "<PROJECT_SLUG>",
162
+ "regionUrl": "<REGION_URL>",
163
+ "query": "regressed issues in the last 14 days",
164
+ "limit": 20
165
+ }
166
+ ```
167
+
168
+ If no issues are found, report "No unresolved issues in the last 7 days" and proceed to the Architecture Audit (Step 8).
169
+
170
+ ---
171
+
172
+ ## Step 2: Get Issue Details
173
+
174
+ For each issue with >1 event or >0 users impacted:
175
+
176
+ ```json
177
+ sentry:get_sentry_resource
178
+ {
179
+ "organizationSlug": "<ORG_SLUG>",
180
+ "resourceType": "issue",
181
+ "resourceId": "<ISSUE_ID>"
182
+ }
183
+ ```
184
+
185
+ Issue the detail calls for one round in a single message so they run in parallel.
186
+
187
+ For hard-to-diagnose issues, also fetch breadcrumbs:
188
+
189
+ ```json
190
+ sentry:execute_sentry_tool
191
+ {
192
+ "name": "get_issue_breadcrumbs",
193
+ "arguments": {
194
+ "organizationSlug": "<ORG_SLUG>",
195
+ "issueId": "<ISSUE_ID>"
196
+ }
197
+ }
198
+ ```
199
+
200
+ And optionally use Seer for AI-assisted root cause analysis:
201
+
202
+ ```json
203
+ sentry:analyze_issue_with_seer
204
+ {
205
+ "organizationSlug": "<ORG_SLUG>",
206
+ "regionUrl": "<REGION_URL>",
207
+ "issueId": "<ISSUE_ID>"
208
+ }
209
+ ```
210
+
211
+ For understanding issue distribution, check tag values:
212
+
213
+ ```json
214
+ sentry:execute_sentry_tool
215
+ {
216
+ "name": "get_issue_tag_values",
217
+ "arguments": {
218
+ "organizationSlug": "<ORG_SLUG>",
219
+ "regionUrl": "<REGION_URL>",
220
+ "issueId": "<ISSUE_ID>",
221
+ "tagKey": "browser"
222
+ }
223
+ }
224
+ ```
225
+
226
+ Common tag keys: `url`, `browser`, `browser.name`, `os`, `environment`, `release`, `device`, `user`.
227
+
228
+ ---
229
+
230
+ ## Step 3: Triage
231
+
232
+ Classify each issue into exactly one bucket:
233
+
234
+ | Bucket | Signals | Action |
235
+ |--------|---------|--------|
236
+ | **Noise** | Extension frames, chunk load errors, browser built-in errors, dev-only environment tag, no app frames in stacktrace | Add noise filter, resolve in Sentry |
237
+ | **Code Bug** | TypeError, ReferenceError, unhandled rejection with app frames, missing function/property | Full root cause analysis (Step 4), fix, verify, resolve |
238
+ | **Data Bug** | Unexpected null/undefined from API, malformed response, stale cache, race condition | Trace data flow end-to-end (Step 4), fix at source |
239
+ | **Performance** | Slow DB query, N+1 API calls, large HTTP payload, high LCP/INP | Do NOT resolve — flag for manual follow-up |
240
+ | **Regression** | Previously resolved issue that re-opened | Highest priority — the original fix was incomplete |
241
+ | **Config Gap** | Missing Sentry feature (logging, metrics, feedback, replay), bad sampling | Implement in config files, resolve |
242
+
243
+ Priority order: Regressions first, then Code Bugs and Data Bugs, then Noise, then Config Gaps. Performance is always deferred.
244
+
245
+ ### 3a. Seer AI Analysis for High-Impact Issues
246
+
247
+ For any issue classified as **Code Bug**, **Data Bug**, or **Regression** that meets either threshold:
248
+ - **>10 events** (high frequency)
249
+ - **>5 affected users** (high impact)
250
+
251
+ Run Sentry's AI root-cause analysis before manual investigation:
252
+
253
+ ```json
254
+ sentry:analyze_issue_with_seer
255
+ {
256
+ "organizationSlug": "<ORG_SLUG>",
257
+ "issueId": "<ISSUE_ID>"
258
+ }
259
+ ```
260
+
261
+ Seer provides:
262
+ - Root cause explanation with code-level detail
263
+ - Specific file locations and line numbers where the error originates
264
+ - Concrete code fix suggestions you can apply directly
265
+
266
+ **How to use Seer results:**
267
+ - If Seer identifies a clear root cause with a specific fix → **start from that fix** in Step 4, validate it against the codebase, and apply if correct.
268
+ - If Seer's analysis is inconclusive or too generic → **proceed with manual root cause analysis** in Step 4 as normal.
269
+ - Always include Seer's analysis in the triage report (Step 8) regardless of whether you used the fix.
270
+
271
+ > **Note:** Seer results are cached — subsequent calls for the same issue return instantly. Analysis for new issues takes ~2-5 minutes.
272
+
273
+ ---
274
+
275
+ ## Step 4: Root Cause Analysis (for Code Bugs and Data Bugs)
276
+
277
+ ### 4a. Read the Full Error Context
278
+
279
+ From the Sentry issue details, extract:
280
+ - **Exception type and message** — the exact error
281
+ - **Full stacktrace** — every frame, not just the top
282
+ - **Breadcrumbs** — what happened leading up to the error
283
+ - **Tags** — browser, OS, URL, user, environment, release
284
+ - **Additional data / context** — request payload, state snapshots
285
+ - **Event frequency pattern** — when did it start? Does it correlate with a deploy?
286
+
287
+ ### 4b. Check Release Correlation
288
+
289
+ ```json
290
+ sentry:execute_sentry_tool
291
+ {
292
+ "name": "find_releases",
293
+ "arguments": {
294
+ "organizationSlug": "<ORG_SLUG>",
295
+ "regionUrl": "<REGION_URL>",
296
+ "projectSlug": "<PROJECT_SLUG>"
297
+ }
298
+ }
299
+ ```
300
+
301
+ If the issue started after a specific release, check what changed in that release:
302
+ ```bash
303
+ git log --oneline <previous-release-tag>..<current-release-tag>
304
+ ```
305
+
306
+ ### 4c. Trace the Code Path
307
+
308
+ Read enough of the chain to say where the bad state originates: the crash-site function, every app-code frame above it, and — for unexpected data — its source (query and schema, state setter, input parsing, cache invalidation). `git log --oneline -20 -- <file>` on the culprit files.
309
+
310
+ ### 4d. Research Best Practices Before Fixing
311
+
312
+ For non-trivial bugs, research the correct fix pattern:
313
+
314
+ ```json
315
+ firecrawl:firecrawl_search
316
+ {
317
+ "query": "<framework> <error-type> best practice fix <current year>",
318
+ "limit": 5,
319
+ "sources": [{ "type": "web" }]
320
+ }
321
+ ```
322
+
323
+ Then scrape the most authoritative result:
324
+
325
+ ```json
326
+ firecrawl:firecrawl_scrape
327
+ {
328
+ "url": "<best-result-url>",
329
+ "formats": ["markdown"],
330
+ "onlyMainContent": true
331
+ }
332
+ ```
333
+
334
+ ### 4e. Formulate the Root Cause
335
+
336
+ Before writing any fix, state:
337
+ 1. **What happened**: The specific runtime state that caused the error
338
+ 2. **Why it happened**: The upstream reason that state was possible
339
+ 3. **Where to fix it**: The correct layer — usually NOT the crash site, but where bad state originates
340
+
341
+ ### 4f. Validate Against Anti-Patterns
342
+
343
+ | Anti-Pattern | Why It's Wrong | Do Instead |
344
+ |-------------|---------------|------------|
345
+ | Adding `?.` to suppress TypeError | Hides the null; downstream gets undefined | Fix why the value is null |
346
+ | try/catch that swallows | Error still happens, user sees broken state | Fix the error; if unrecoverable, show user-facing message + re-report |
347
+ | `Array.isArray()` guard | Checking consumer instead of fixing producer | Fix the producer |
348
+ | `?? []` or `?? {}` fallback | Masks data loading issues | Handle loading/error states explicitly |
349
+ | Filtering in `beforeSend` | Muting a real bug | Only filter genuinely external noise |
350
+ | Resolving without deploying | Error recurs next session | Only resolve after fix is committed |
351
+
352
+ ---
353
+
354
+ ## Step 5: Apply Fixes
355
+
356
+ ### Noise Fixes
357
+
358
+ Read the project's Sentry config file (detected in Step 0c). Locate the `ignoreErrors` array or `beforeSend` function.
359
+
360
+ **Universal noise patterns** (safe to add to any web project):
361
+
362
+ ```javascript
363
+ // Browser/extension noise
364
+ /^Script error/,
365
+ "ResizeObserver loop",
366
+ "Non-Error promise rejection captured",
367
+ /vid_mate_check/,
368
+ /_avast_submit/,
369
+
370
+ // Network noise (external)
371
+ "Failed to fetch",
372
+ "Load failed",
373
+ "net::ERR_",
374
+ "AbortError",
375
+ "The operation was aborted",
376
+ "cancelled",
377
+
378
+ // Chunk loading (deployment race)
379
+ "ChunkLoadError",
380
+ "Loading chunk",
381
+ "Failed to fetch dynamically imported module",
382
+ ```
383
+
384
+ **Framework-specific noise** (add only if the framework is detected):
385
+
386
+ React/Next.js:
387
+ ```javascript
388
+ "Hydration failed",
389
+ "server rendered HTML didn't match",
390
+ "Minified React error #418",
391
+ "Minified React error #423",
392
+ "Minified React error #425",
393
+ ```
394
+
395
+ HMR/Dev-only:
396
+ ```javascript
397
+ "Fast Refresh",
398
+ "performing full reload",
399
+ "Parsing ecmascript source code failed",
400
+ ```
401
+
402
+ Service Worker:
403
+ ```javascript
404
+ "ServiceWorker",
405
+ "Failed to register a ServiceWorker",
406
+ ```
407
+
408
+ **Noise validation**: classify as noise only when the message does not originate from app code, no app frames appear in the stacktrace, and no real user action can trigger it.
409
+
410
+ ### Code Bug / Data Bug Fixes
411
+
412
+ 1. Fix at the root cause layer identified in Step 4e.
413
+ 2. Make invalid state unrepresentable where possible.
414
+ 3. Follow project conventions (read README files, existing patterns).
415
+ 4. If the fix requires schema changes or infra work, flag for manual follow-up.
416
+ 5. Fix the issue at hand, surgically. Unrelated bugs you notice go under "Requires Manual Follow-Up", not in the diff.
417
+
418
+ ### Performance Fixes
419
+
420
+ Leave performance issues unresolved and list them in the summary — they need profiling and a product decision, not a triage-session fix.
421
+
422
+ ### Config Gap Fixes
423
+
424
+ Implement in the relevant config file based on detected framework.
425
+
426
+ ---
427
+
428
+ ## Step 6: Verify Before Resolving
429
+
430
+ You may only resolve an issue if ALL of the following are true:
431
+
432
+ - [ ] Root cause identified (not just the symptom)
433
+ - [ ] Fix addresses root cause (not just suppresses the error)
434
+ - [ ] Fix does not introduce new issues for other callers
435
+ - [ ] For Noise: error genuinely originates outside app code
436
+ - [ ] For Code/Data Bugs: full code path read, fix is logically correct
437
+ - [ ] You have NOT merely added `?.`, try/catch, or type guards as the sole fix
438
+
439
+ If any checkbox fails, leave the issue **unresolved** and add it to "Requires Manual Follow-Up."
440
+
441
+ ---
442
+
443
+ ## Step 7: Resolve in Sentry
444
+
445
+ For each verified fix:
446
+
447
+ ```json
448
+ sentry:update_issue
449
+ {
450
+ "organizationSlug": "<ORG_SLUG>",
451
+ "regionUrl": "<REGION_URL>",
452
+ "issueId": "<ISSUE_ID>",
453
+ "status": "resolved"
454
+ }
455
+ ```
456
+
457
+ Issue the resolve calls in one message. Performance issues stay unresolved (Step 5).
458
+
459
+ `update_issue` needs the Triage skill on the Sentry MCP connection. The hosted server's OAuth sign-in leaves Triage unchecked by default; local stdio and `Sentry-Bearer` connections grant it unless narrowed. If the tool is missing, ask the user to reconnect the Sentry MCP with Triage enabled, or to resolve the issues in the Sentry UI.
460
+
461
+ ---
462
+
463
+ ## Step 8: Architecture Audit (Proactive Enhancement)
464
+
465
+ After triaging existing issues (or if no issues exist), audit the Sentry setup itself to identify monitoring gaps and architectural shortcomings.
466
+
467
+ ### 8a. SDK Configuration Audit
468
+
469
+ Read the Sentry config file(s) detected in Step 0c. Check each setting:
470
+
471
+ | Setting | What to Check | Recommendation |
472
+ |---------|--------------|----------------|
473
+ | `dsn` | Is it set from env var, not hardcoded? | Use `process.env.SENTRY_DSN` or equivalent |
474
+ | `environment` | Is it dynamic? | Must read from env var, not hardcoded |
475
+ | `release` | Is it set? | Required for deploy correlation and regression detection |
476
+ | `tracesSampleRate` | Is it > 0? Is it < 1.0 in production? | 0.1-0.3 for production, 1.0 for dev |
477
+ | `replaysSessionSampleRate` | Is it configured? | 0.1 for production |
478
+ | `replaysOnErrorSampleRate` | Is it configured? | 1.0 (capture all error replays) |
479
+ | `integrations` | Are framework-appropriate integrations present? | See framework-specific recommendations below |
480
+ | `beforeSend` | Is it filtering too aggressively? | Should only filter genuinely external noise |
481
+ | `ignoreErrors` | Are patterns appropriate? | Cross-check against universal noise list |
482
+
483
+ **Framework-specific integration checks:**
484
+
485
+ | Framework | Expected Integrations |
486
+ |-----------|----------------------|
487
+ | Next.js | Auto-configured by `@sentry/nextjs` — check `withSentryConfig` in `next.config` |
488
+ | React SPA | `BrowserTracing`, `Replay` |
489
+ | Node.js | `Http`, `Express`/`Fastify`/`Koa`, `Postgres`/`Prisma` |
490
+ | Python | `DjangoIntegration` / `FlaskIntegration`, `SqlalchemyIntegration` |
491
+ | Vue | `BrowserTracing`, `Replay`, `Sentry.vueRouterInstrumentation` |
492
+
493
+ ## Further reading
494
+
495
+ - [8b. Monitoring Coverage Audit and more](references/details.md)
496
+
497
+ > **Complement:** Sentry catches code-thrown errors. [Mushi Mushi](https://kensaur.us/mushi-mushi) catches user-*felt* friction that never triggers an exception — dead buttons, 12-second screens, broken layouts on one device. Install alongside Sentry: `npx mushi-mushi`.
@@ -0,0 +1,165 @@
1
+ ### 8b. Monitoring Coverage Audit
2
+
3
+ Check what IS and IS NOT being monitored:
4
+
5
+ **Error Monitoring:**
6
+ - [ ] Global error handler configured (browser: `window.onerror`; Node: `process.on('unhandledRejection')`)
7
+ - [ ] Error boundaries catch all component trees (React) / global error handler (Vue/Angular)
8
+ - [ ] API error responses are captured with context
9
+ - [ ] Background job/worker errors are captured
10
+
11
+ **Performance Monitoring:**
12
+ - [ ] `tracesSampleRate > 0` (performance monitoring is ON)
13
+ - [ ] Key transactions instrumented (API routes, DB queries, external calls)
14
+ - [ ] Web Vitals being reported (LCP, INP, CLS)
15
+ - [ ] Custom spans for business-critical operations
16
+
17
+ **Session Replay:**
18
+ - [ ] Replay SDK installed and configured
19
+ - [ ] `replaysOnErrorSampleRate` set to 1.0 (capture replays when errors occur)
20
+ - [ ] Privacy masking configured appropriately
21
+
22
+ **Contextual Data:**
23
+ - [ ] User identity set (`Sentry.setUser()` after auth)
24
+ - [ ] Custom tags for business context (feature flags, plan tier, locale)
25
+ - [ ] Breadcrumbs rich enough (not just defaults — custom breadcrumbs for key user actions)
26
+ - [ ] Structured context (`Sentry.setContext()`) for debugging
27
+
28
+ **Source Maps:**
29
+ - [ ] Source maps uploaded during build (check for `@sentry/webpack-plugin`, `@sentry/cli`, or framework-specific upload)
30
+ - [ ] Verify stacktraces in Sentry show original source, not minified code
31
+ - [ ] `.sentryclirc` or auth token configured for uploads
32
+
33
+ ### 8c. Research Current Best Practices
34
+
35
+ Search for the latest Sentry recommendations for the detected framework:
36
+
37
+ ```json
38
+ firecrawl:firecrawl_search
39
+ {
40
+ "query": "<FRAMEWORK> sentry best practices configuration <current year>",
41
+ "limit": 5,
42
+ "sources": [{ "type": "web" }]
43
+ }
44
+ ```
45
+
46
+ Scrape the Sentry official docs for the framework:
47
+
48
+ ```json
49
+ firecrawl:firecrawl_scrape
50
+ {
51
+ "url": "https://docs.sentry.io/platforms/<platform>/",
52
+ "formats": ["markdown"],
53
+ "onlyMainContent": true
54
+ }
55
+ ```
56
+
57
+ Platform paths: `javascript/nextjs`, `javascript/react`, `javascript/vue`, `python/django`, `python/flask`, `node`, `go`, `java/spring-boot`, `ruby/rails`.
58
+
59
+ ### 8d. Alerting Audit
60
+
61
+ Check if alert rules exist and are useful:
62
+ - Are there alerts for error spikes? (e.g., >10x normal rate in 5 min)
63
+ - Are there alerts for new issue types?
64
+ - Are there alerts for regression (previously resolved issue re-opening)?
65
+ - Are there alerts for performance degradation (p95 response time)?
66
+
67
+ Recommend alert rules if none exist.
68
+
69
+ ---
70
+
71
+ ## Step 9: Summary Report
72
+
73
+ Output this report after all work is complete:
74
+
75
+ ```markdown
76
+ ## Sentry Monitor Report — [Project Name]
77
+
78
+ ### Configuration Detected
79
+ - Organization: [org slug]
80
+ - Project: [project slug]
81
+ - Framework: [framework]
82
+ - Platform: [browser/server/hybrid]
83
+ - Sentry Config: [file path]
84
+
85
+ ### Issues Addressed
86
+
87
+ | Issue ID | Title | Events | Users | Bucket | Root Cause | Fix Applied | Status |
88
+ |----------|-------|--------|-------|--------|-----------|-------------|--------|
89
+ | XX-123 | ... | N | N | Bug | "query returns null when..." | "added explicit empty state..." | resolved |
90
+ | XX-124 | ... | N | N | Noise | "browser extension injects..." | "added ignoreErrors pattern" | resolved |
91
+
92
+ ### Seer AI Analysis
93
+
94
+ | Issue ID | Seer Root Cause | Seer Suggested Fix | Used? | Notes |
95
+ |----------|----------------|--------------------|-------|-------|
96
+ | XX-123 | [Seer's root cause explanation] | [Seer's code fix summary] | Yes/No | [why used or why overridden] |
97
+
98
+ ### Root Cause Analysis Details
99
+
100
+ For each Code Bug / Data Bug:
101
+
102
+ **XX-123: [Title]**
103
+ - **Seer analysis**: [summary of Seer's findings, or "N/A — below threshold"]
104
+ - **What happened**: [runtime state that caused the crash]
105
+ - **Why it happened**: [upstream reason — the actual root cause]
106
+ - **Fix location**: [file(s) changed and what was changed]
107
+ - **Why this fix is correct**: [1-2 sentences]
108
+ - **Blast radius check**: [other callers verified unaffected]
109
+
110
+ ### Architecture Audit
111
+
112
+ #### SDK Configuration
113
+ - Current: [what's configured]
114
+ - Gaps: [what's missing or suboptimal]
115
+ - Recommended changes: [specific code changes]
116
+
117
+ #### Monitoring Coverage
118
+ - Covered: [what's being monitored]
119
+ - Blind spots: [what's NOT being monitored but should be]
120
+ - Recommended instrumentation: [specific additions]
121
+
122
+ #### Alerting
123
+ - Current alerts: [if any]
124
+ - Recommended alerts: [with thresholds]
125
+
126
+ #### Source Maps
127
+ - Status: [working / broken / not configured]
128
+ - Fix: [if needed]
129
+
130
+ ### Files Modified
131
+ - [path] — [description]
132
+
133
+ ### Requires Manual Follow-Up
134
+ - XX-125: [Title] — [why it cannot be fixed automatically]
135
+ ```
136
+
137
+ ---
138
+
139
+ ## Decision Tree: Is This Noise or a Bug?
140
+
141
+ ```
142
+ 1. Does the stacktrace contain ANY frame from your app code?
143
+ YES → likely a Bug, go to 2
144
+ NO → likely Noise, go to 5
145
+
146
+ 2. Does the error reference a variable, function, or component YOU wrote?
147
+ YES → Code Bug (proceed to Root Cause Analysis)
148
+ NO → go to 3
149
+
150
+ 3. Is the error triggered by a user action in your app?
151
+ YES → Code Bug or Data Bug (your code should handle this)
152
+ NO → go to 4
153
+
154
+ 4. Does the error only happen in specific browsers/OS or with specific extensions?
155
+ YES → likely Noise (browser/extension incompatibility)
156
+ NO → treat as Code Bug to be safe
157
+
158
+ 5. Is the error from a browser extension, ad blocker, or third-party script?
159
+ YES → Noise (add to ignoreErrors)
160
+ NO → go to 6
161
+
162
+ 6. Is the error a known framework issue (React hydration, HMR, chunk loading)?
163
+ YES → Noise (add framework-specific filter)
164
+ NO → treat as Code Bug to be safe (investigate before filtering)
165
+ ```