@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.
- package/.claude-plugin/marketplace.json +53 -0
- package/.claude-plugin/plugin.json +40 -0
- package/.cursor-plugin/plugin.json +38 -0
- package/.mcp.json +28 -0
- package/CHANGELOG.md +1790 -0
- package/LICENSE +21 -0
- package/LICENSE-APACHE +62 -0
- package/NOTICE +13 -0
- package/README.md +821 -2
- package/SECURITY.md +55 -0
- package/agents/code-reviewer.md +60 -0
- package/agents/completion-judge.md +89 -0
- package/agents/db-migrator.md +125 -0
- package/agents/debugger.md +47 -0
- package/agents/deploy-checker.md +100 -0
- package/agents/perf-monitor.md +74 -0
- package/assets/favicon.png +0 -0
- package/assets/logo-light.png +0 -0
- package/assets/logo.png +0 -0
- package/assets/logo.svg +6 -0
- package/assets/og.png +0 -0
- package/bin/install.mjs +1127 -0
- package/bin/kenji.js +2 -0
- package/commands/adr.md +17 -0
- package/commands/aeo-plan.md +18 -0
- package/commands/arch-boundaries.md +17 -0
- package/commands/aso-plan.md +18 -0
- package/commands/auth-flows.md +19 -0
- package/commands/backup-plan.md +17 -0
- package/commands/burndown-full.md +25 -0
- package/commands/capacitor-plan.md +18 -0
- package/commands/codemod-safety.md +22 -0
- package/commands/commit.md +18 -0
- package/commands/complete-everything.md +40 -0
- package/commands/cost-plan.md +19 -0
- package/commands/deadcode-plan.md +26 -0
- package/commands/deadcode.md +32 -0
- package/commands/debug-issue.md +17 -0
- package/commands/deps-plan.md +18 -0
- package/commands/docs-plan.md +17 -0
- package/commands/doctrine.md +19 -0
- package/commands/error-plan.md +19 -0
- package/commands/feedback-to-closure.md +36 -0
- package/commands/fix-issue.md +76 -0
- package/commands/gate-logic.md +26 -0
- package/commands/green-repo.md +36 -0
- package/commands/grill-me.md +19 -0
- package/commands/gtm-plan.md +21 -0
- package/commands/gtm-weekly.md +17 -0
- package/commands/gtm.md +22 -0
- package/commands/handoff.md +15 -0
- package/commands/housekeep-backlog.md +18 -0
- package/commands/housekeep-files.md +22 -0
- package/commands/housekeep-gates.md +18 -0
- package/commands/instant-nav.md +11 -0
- package/commands/integrity-plan.md +19 -0
- package/commands/launch-kit.md +16 -0
- package/commands/mcp-guide.md +40 -0
- package/commands/mobile-plan.md +19 -0
- package/commands/native-rn-monorepo/README.md +78 -0
- package/commands/native-rn-monorepo/android-build.md +26 -0
- package/commands/native-rn-monorepo/android-install.md +32 -0
- package/commands/native-rn-monorepo/android-logcat.md +37 -0
- package/commands/native-rn-monorepo/ios-ci-logs.md +56 -0
- package/commands/native-rn-monorepo/ios-ci-status.md +52 -0
- package/commands/native-rn-monorepo/ios-ci-trigger.md +59 -0
- package/commands/native-rn-monorepo/rn-reset.md +50 -0
- package/commands/native-rn-monorepo/rn-ship-ios.md +67 -0
- package/commands/native-rn-monorepo/rn-verify.md +53 -0
- package/commands/perf-plan.md +18 -0
- package/commands/plan-mode.md +74 -0
- package/commands/pr.md +16 -0
- package/commands/pricing-plan.md +20 -0
- package/commands/privacy-plan.md +18 -0
- package/commands/readability.md +12 -0
- package/commands/readme.md +15 -0
- package/commands/refactor.md +15 -0
- package/commands/release-prep.md +17 -0
- package/commands/research.md +25 -0
- package/commands/responsive-audit.md +21 -0
- package/commands/review-code.md +18 -0
- package/commands/rls-plan.md +18 -0
- package/commands/secrets-plan.md +18 -0
- package/commands/security-plan.md +19 -0
- package/commands/ship-and-observe.md +36 -0
- package/commands/skill-conflicts.md +19 -0
- package/commands/slop-plan.md +18 -0
- package/commands/stub-plan.md +18 -0
- package/commands/test-mutation.md +16 -0
- package/commands/test-plan.md +17 -0
- package/commands/test.md +29 -0
- package/commands/thirdparty-web-interface-guidelines.md +185 -0
- package/commands/uiux-plan.md +18 -0
- package/commands/uiux.md +45 -0
- package/commands/update-deps.md +21 -0
- package/commands/validation-plan.md +19 -0
- package/commands-portable/fix-issue.md +72 -0
- package/commands-portable/plan-mode.md +92 -0
- package/commands-portable/research.md +91 -0
- package/docs/screenshots/README.md +5 -0
- package/docs/screenshots/audit-dark.png +0 -0
- package/docs/screenshots/build-dark.png +0 -0
- package/docs/screenshots/grill-dark.png +0 -0
- package/docs/screenshots/hero-dark.png +0 -0
- package/docs/screenshots/hero-light.png +0 -0
- package/docs/screenshots/ship-dark.png +0 -0
- package/docs/screenshots/src/showcase.html +320 -0
- package/hooks/completion-gate.mjs +258 -0
- package/hooks/cursor-hooks.json +13 -0
- package/hooks/hooks.json +15 -0
- package/install.sh +21 -0
- package/llms.txt +40 -0
- package/mcp/README.md +266 -0
- package/mcp/VERSIONS.md +41 -0
- package/mcp/mcp-full.json.template +124 -0
- package/mcp/mcp.json.template +29 -0
- package/mcp/pinned-versions.json +27 -0
- package/package.json +94 -4
- package/rules/approved-plan-execution.mdc +65 -0
- package/rules/full-stack-ship-discipline.mdc +37 -0
- package/rules/native-rn-monorepo/README.md +63 -0
- package/rules/native-rn-monorepo/_project.mdc +69 -0
- package/rules/native-rn-monorepo/native-android.mdc +72 -0
- package/rules/native-rn-monorepo/native-ios.mdc +61 -0
- package/rules/native-rn-monorepo/react-native-js.mdc +78 -0
- package/rules/native-rn-monorepo/web.mdc +60 -0
- package/rules/project-starter/components.mdc +54 -0
- package/rules/project-starter/data-fetching.mdc +77 -0
- package/rules/project-starter/git.mdc +41 -0
- package/rules/project-starter/supabase.mdc +37 -0
- package/rules/project-starter/tailwind.mdc +48 -0
- package/rules/project-starter/typescript.mdc +36 -0
- package/rules/project-starter/web-performance.mdc +42 -0
- package/rules/senior-engineer.mdc +30 -0
- package/rules/shell-first-search.mdc +19 -0
- package/rules/skill-workflows.mdc +35 -0
- package/rules/verification-before-completion.mdc +57 -0
- package/skills/audit-accessibility/SKILL.md +441 -0
- package/skills/audit-agent-speed/SKILL.md +181 -0
- package/skills/audit-agent-speed/scripts/stop-typecheck.mjs +151 -0
- package/skills/audit-analytics/SKILL.md +138 -0
- package/skills/audit-auth-flows/SKILL.md +267 -0
- package/skills/audit-backend-architecture/SKILL.md +266 -0
- package/skills/audit-backend-architecture/references/patterns.md +386 -0
- package/skills/audit-bundle-size/SKILL.md +295 -0
- package/skills/audit-cicd/SKILL.md +218 -0
- package/skills/audit-code-quality/SKILL.md +314 -0
- package/skills/audit-code-review/SKILL.md +289 -0
- package/skills/audit-codemod-safety/SKILL.md +159 -0
- package/skills/audit-db-schema/SKILL.md +465 -0
- package/skills/audit-db-schema/references/details.md +110 -0
- package/skills/audit-doctrine/SKILL.md +189 -0
- package/skills/audit-env-parity/SKILL.md +133 -0
- package/skills/audit-fe-api/SKILL.md +458 -0
- package/skills/audit-gate-logic/SKILL.md +219 -0
- package/skills/audit-i18n/SKILL.md +339 -0
- package/skills/audit-infra-cost/SKILL.md +142 -0
- package/skills/audit-langfuse-llm/SKILL.md +468 -0
- package/skills/audit-langfuse-llm/references/details.md +226 -0
- package/skills/audit-llm-security/SKILL.md +147 -0
- package/skills/audit-monetization-iap/SKILL.md +137 -0
- package/skills/audit-payment-system/SKILL.md +268 -0
- package/skills/audit-payment-system/references/checklist.md +283 -0
- package/skills/audit-performance/SKILL.md +383 -0
- package/skills/audit-performance/references/loading-priority-2026.md +81 -0
- package/skills/audit-realworld/SKILL.md +287 -0
- package/skills/audit-registry-listing/SKILL.md +122 -0
- package/skills/audit-resilience/SKILL.md +153 -0
- package/skills/audit-responsive/SKILL.md +221 -0
- package/skills/audit-responsive/references/checklist.md +166 -0
- package/skills/audit-security/SKILL.md +289 -0
- package/skills/audit-skill-conflicts/SKILL.md +178 -0
- package/skills/audit-ui-states/SKILL.md +146 -0
- package/skills/audit-uiux-design-system/SKILL.md +475 -0
- package/skills/audit-uiux-design-system/references/details.md +71 -0
- package/skills/audit-ux/SKILL.md +381 -0
- package/skills/audit-ux/references/details.md +245 -0
- package/skills/audit-ux-journeys/SKILL.md +215 -0
- package/skills/audit-ux-journeys/references/checklist.md +179 -0
- package/skills/backend-db-performance/SKILL.md +441 -0
- package/skills/backend-error-handling/SKILL.md +489 -0
- package/skills/backend-error-handling/references/details.md +58 -0
- package/skills/backend-observability/SKILL.md +88 -0
- package/skills/backend-patterns/SKILL.md +499 -0
- package/skills/backend-patterns/references/architecture-patterns.md +298 -0
- package/skills/backend-realtime/SKILL.md +403 -0
- package/skills/backend-realtime/references/patterns.md +74 -0
- package/skills/burndown-full/SKILL.md +174 -0
- package/skills/complete-everything/SKILL.md +295 -0
- package/skills/data-pipeline/SKILL.md +109 -0
- package/skills/data-visualization/SKILL.md +488 -0
- package/skills/debug-error/SKILL.md +322 -0
- package/skills/debug-fe-be-integration/SKILL.md +459 -0
- package/skills/debug-sentry-monitor/SKILL.md +497 -0
- package/skills/debug-sentry-monitor/references/details.md +165 -0
- package/skills/deploy-npm/SKILL.md +394 -0
- package/skills/deploy-npm/references/example-mushi-mushi.md +52 -0
- package/skills/deploy-verify/SKILL.md +489 -0
- package/skills/design-api/SKILL.md +379 -0
- package/skills/design-canvas/SKILL.md +155 -0
- package/skills/design-email/SKILL.md +370 -0
- package/skills/design-frontend/SKILL.md +143 -0
- package/skills/design-generative-art/SKILL.md +474 -0
- package/skills/design-mobile-first/SKILL.md +506 -0
- package/skills/design-motion/SKILL.md +333 -0
- package/skills/design-motion/references/delight-interactions.md +191 -0
- package/skills/design-prd/SKILL.md +443 -0
- package/skills/design-system/SKILL.md +457 -0
- package/skills/design-theme/SKILL.md +226 -0
- package/skills/design-theme/themes/tsumagoi-ranch.md +150 -0
- package/skills/docs-adr/SKILL.md +168 -0
- package/skills/docs-coauthor/SKILL.md +368 -0
- package/skills/docs-comparison-pages/SKILL.md +117 -0
- package/skills/docs-domain-modeling/SKILL.md +97 -0
- package/skills/docs-launch-kit/SKILL.md +139 -0
- package/skills/docs-writer/SKILL.md +469 -0
- package/skills/enhance-agent-guardrails/SKILL.md +164 -0
- package/skills/enhance-arch-boundaries/SKILL.md +154 -0
- package/skills/enhance-capacitor-ui/SKILL.md +463 -0
- package/skills/enhance-capacitor-ui/references/details.md +750 -0
- package/skills/enhance-email-deliverability/SKILL.md +143 -0
- package/skills/enhance-growth-loops/SKILL.md +122 -0
- package/skills/enhance-lifecycle-email/SKILL.md +130 -0
- package/skills/enhance-motion/SKILL.md +193 -0
- package/skills/enhance-onboarding/SKILL.md +148 -0
- package/skills/enhance-pwa/SKILL.md +303 -0
- package/skills/enhance-readability/SKILL.md +146 -0
- package/skills/enhance-readme/SKILL.md +496 -0
- package/skills/enhance-readme/package-lock.json +187 -0
- package/skills/enhance-readme/package.json +17 -0
- package/skills/enhance-readme/scripts/generate-readme-blocks.mjs +199 -0
- package/skills/enhance-readme/scripts/record-readme-tour.mjs +442 -0
- package/skills/enhance-skill-prompts/SKILL.md +167 -0
- package/skills/enhance-skill-prompts/references/exemplar-audit-auth-flows.md +311 -0
- package/skills/enhance-ux-laws/SKILL.md +409 -0
- package/skills/enhance-web-conversion/SKILL.md +155 -0
- package/skills/enhance-web-forms/SKILL.md +154 -0
- package/skills/enhance-web-instant-nav/SKILL.md +138 -0
- package/skills/enhance-web-instant-nav/references/bfcache-blockers.md +23 -0
- package/skills/enhance-web-instant-nav/references/early-hints.md +33 -0
- package/skills/enhance-web-instant-nav/references/speculation-rules.md +44 -0
- package/skills/enhance-web-landing/SKILL.md +459 -0
- package/skills/enhance-web-landing/references/details.md +773 -0
- package/skills/enhance-web-redesign/SKILL.md +228 -0
- package/skills/enhance-web-seo/SKILL.md +276 -0
- package/skills/enhance-web-ui/SKILL.md +473 -0
- package/skills/enhance-web-ui/references/details.md +674 -0
- package/skills/enhance-web-ux/HEURISTICS.md +248 -0
- package/skills/enhance-web-ux/PATTERNS.md +375 -0
- package/skills/enhance-web-ux/SKILL.md +464 -0
- package/skills/enhance-web-ux/examples.md +222 -0
- package/skills/enhance-web-ux/references/details.md +406 -0
- package/skills/enhance-web-web3d/SKILL.md +397 -0
- package/skills/enhance-web-web3d/references/css-canvas-effects.md +180 -0
- package/skills/handoff/SKILL.md +66 -0
- package/skills/housekeep-backlog/SKILL.md +149 -0
- package/skills/housekeep-dead-code/SKILL.md +387 -0
- package/skills/housekeep-dead-code/references/ratchet-ci.md +205 -0
- package/skills/housekeep-dead-code/references/supabase-hygiene.md +152 -0
- package/skills/housekeep-design/SKILL.md +207 -0
- package/skills/housekeep-files/SKILL.md +220 -0
- package/skills/housekeep-files/references/naming-and-catalog.md +86 -0
- package/skills/housekeep-files/scripts/housekeep-files.ps1 +360 -0
- package/skills/housekeep-files/scripts/housekeep-files.sh +238 -0
- package/skills/housekeep-gates/SKILL.md +174 -0
- package/skills/iterate-agent-harness/SKILL.md +137 -0
- package/skills/iterate-gtm-weekly/SKILL.md +103 -0
- package/skills/iterate-post-launch/SKILL.md +292 -0
- package/skills/meta-mcp-builder/SKILL.md +313 -0
- package/skills/meta-skill-creator/SKILL.md +304 -0
- package/skills/mobile-capacitor-platform/SKILL.md +103 -0
- package/skills/mobile-emulator-start/SKILL.md +296 -0
- package/skills/mobile-emulator-test/SKILL.md +491 -0
- package/skills/mobile-emulator-test/references/details.md +478 -0
- package/skills/mobile-rn-performance/SKILL.md +107 -0
- package/skills/mobile-rn-screen/SKILL.md +476 -0
- package/skills/mobile-rn-screen/references/details.md +785 -0
- package/skills/mushi-health/SKILL.md +206 -0
- package/skills/mushi-integration/SKILL.md +257 -0
- package/skills/plan-aeo-readiness/SKILL.md +166 -0
- package/skills/plan-antislop/SKILL.md +281 -0
- package/skills/plan-aso/SKILL.md +149 -0
- package/skills/plan-backup-dr/SKILL.md +131 -0
- package/skills/plan-capacitor-hardening/SKILL.md +217 -0
- package/skills/plan-data-integrity/SKILL.md +187 -0
- package/skills/plan-dead-code/SKILL.md +386 -0
- package/skills/plan-dead-code/references/knip-config.md +214 -0
- package/skills/plan-dead-code/references/output-templates.md +133 -0
- package/skills/plan-dead-code/references/preservation-contract.md +50 -0
- package/skills/plan-dead-code/references/residue-greps.md +84 -0
- package/skills/plan-dependency-provenance/SKILL.md +200 -0
- package/skills/plan-docs-sync/SKILL.md +143 -0
- package/skills/plan-docs-sync/references/drift-taxonomy.md +43 -0
- package/skills/plan-docs-sync/references/output-templates.md +33 -0
- package/skills/plan-docs-sync/references/preservation-contract.md +17 -0
- package/skills/plan-error-handling/SKILL.md +205 -0
- package/skills/plan-gtm/SKILL.md +276 -0
- package/skills/plan-gtm/references/benchmarks-2026.md +183 -0
- package/skills/plan-input-validation/SKILL.md +179 -0
- package/skills/plan-llm-cost-guardrails/SKILL.md +176 -0
- package/skills/plan-mobile-readiness/SKILL.md +171 -0
- package/skills/plan-perf-audit/SKILL.md +145 -0
- package/skills/plan-perf-audit/references/audit-scope.md +51 -0
- package/skills/plan-perf-audit/references/output-templates.md +33 -0
- package/skills/plan-perf-audit/references/preservation-contract.md +13 -0
- package/skills/plan-pricing/SKILL.md +173 -0
- package/skills/plan-privacy-compliance/SKILL.md +148 -0
- package/skills/plan-rls-audit/SKILL.md +231 -0
- package/skills/plan-secrets-audit/SKILL.md +181 -0
- package/skills/plan-security-audit/SKILL.md +168 -0
- package/skills/plan-security-audit/references/output-templates.md +36 -0
- package/skills/plan-security-audit/references/owasp-supabase-scope.md +55 -0
- package/skills/plan-security-audit/references/preservation-contract.md +18 -0
- package/skills/plan-stub-checker/SKILL.md +216 -0
- package/skills/plan-stub-checker/references/detection-methodology.md +75 -0
- package/skills/plan-stub-checker/references/detection-taxonomy.md +34 -0
- package/skills/plan-stub-checker/references/output-templates.md +63 -0
- package/skills/plan-stub-checker/references/preservation-contract.md +24 -0
- package/skills/plan-test-coverage/SKILL.md +170 -0
- package/skills/plan-test-coverage/references/methodology.md +54 -0
- package/skills/plan-test-coverage/references/output-templates.md +34 -0
- package/skills/plan-test-coverage/references/preservation-contract.md +15 -0
- package/skills/plan-uiux-unification/SKILL.md +230 -0
- package/skills/plan-uiux-unification/references/output-templates.md +67 -0
- package/skills/plan-uiux-unification/references/phase-workbook.md +85 -0
- package/skills/plan-uiux-unification/references/preservation-contract.md +24 -0
- package/skills/protocol-browser-anti-stall/SKILL.md +211 -0
- package/skills/protocol-browser-anti-stall/references/mcp-to-cli-map.md +113 -0
- package/skills/protocol-browser-anti-stall/references/playwright-session-coordination.md +170 -0
- package/skills/research/SKILL.md +422 -0
- package/skills/test-exploratory/SKILL.md +165 -0
- package/skills/test-exploratory/references/charter-template.md +29 -0
- package/skills/test-load/SKILL.md +126 -0
- package/skills/test-mutation/SKILL.md +160 -0
- package/skills/test-playwright/SKILL.md +354 -0
- package/skills/test-qa/SKILL.md +364 -0
- package/skills/test-qa/references/details.md +268 -0
- package/skills/test-red-team/SKILL.md +386 -0
- package/skills/test-red-team/references/owasp-attack-checklist.md +193 -0
- package/skills/test-unit/SKILL.md +259 -0
- package/skills/test-unit/references/details.md +267 -0
- package/skills/test-visual-regression/SKILL.md +132 -0
- package/skills/thirdparty-emil-design-eng/ATTRIBUTION.md +20 -0
- package/skills/thirdparty-emil-design-eng/SKILL.md +21 -0
- package/skills/thirdparty-emil-design-eng/references/emil-design-eng.md +676 -0
- package/skills/thirdparty-ui-ux-pro-max/ATTRIBUTION.md +22 -0
- package/skills/thirdparty-ui-ux-pro-max/SKILL.md +304 -0
- package/skills/thirdparty-ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/thirdparty-ui-ux-pro-max/data/colors.csv +97 -0
- package/skills/thirdparty-ui-ux-pro-max/data/icons.csv +101 -0
- package/skills/thirdparty-ui-ux-pro-max/data/landing.csv +31 -0
- package/skills/thirdparty-ui-ux-pro-max/data/products.csv +97 -0
- package/skills/thirdparty-ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/thirdparty-ui-ux-pro-max/data/styles.csv +68 -0
- package/skills/thirdparty-ui-ux-pro-max/data/typography.csv +58 -0
- package/skills/thirdparty-ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/skills/thirdparty-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/thirdparty-ui-ux-pro-max/data/web-interface.csv +31 -0
- package/skills/thirdparty-ui-ux-pro-max/scripts/core.py +253 -0
- package/skills/thirdparty-ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/skills/thirdparty-ui-ux-pro-max/scripts/search.py +114 -0
- package/skills/thirdparty-web-interface-guidelines/ATTRIBUTION.md +23 -0
- package/skills/thirdparty-web-interface-guidelines/SKILL.md +190 -0
- package/skills/workflow-build-feature/SKILL.md +118 -0
- package/skills/workflow-coding-discipline/SKILL.md +140 -0
- package/skills/workflow-environment-ready/SKILL.md +128 -0
- package/skills/workflow-feature-flag/SKILL.md +262 -0
- package/skills/workflow-feedback-to-closure/SKILL.md +165 -0
- package/skills/workflow-fix-and-ship/SKILL.md +136 -0
- package/skills/workflow-git-commit/SKILL.md +200 -0
- package/skills/workflow-green-repo/SKILL.md +166 -0
- package/skills/workflow-grilling/SKILL.md +73 -0
- package/skills/workflow-gtm/SKILL.md +153 -0
- package/skills/workflow-housekeep/SKILL.md +453 -0
- package/skills/workflow-housekeep/references/templates.md +109 -0
- package/skills/workflow-launch-ready/SKILL.md +145 -0
- package/skills/workflow-merge-conflicts/SKILL.md +62 -0
- package/skills/workflow-onboard/SKILL.md +99 -0
- package/skills/workflow-parallel-agents/SKILL.md +164 -0
- package/skills/workflow-pr/SKILL.md +197 -0
- package/skills/workflow-quality-gate/SKILL.md +147 -0
- package/skills/workflow-refactor/SKILL.md +274 -0
- package/skills/workflow-release-prep/SKILL.md +207 -0
- package/skills/workflow-ship-and-observe/SKILL.md +164 -0
- package/skills/workflow-spec-tdd/SKILL.md +141 -0
- package/skills/workflow-spec-tdd/references/spec-template.md +126 -0
- package/skills/workflow-spec-tdd/references/tdd-patterns.md +167 -0
- package/skills-cursor/babysit/SKILL.md +17 -0
- package/skills-cursor/canvas/SKILL.md +142 -0
- package/skills-cursor/canvas/sdk/canvas-tokens.d.ts +235 -0
- package/skills-cursor/canvas/sdk/chart-primitives.d.ts +200 -0
- package/skills-cursor/canvas/sdk/dag-layout.d.ts +102 -0
- package/skills-cursor/canvas/sdk/diff-view.d.ts +130 -0
- package/skills-cursor/canvas/sdk/form-primitives.d.ts +194 -0
- package/skills-cursor/canvas/sdk/hooks.d.ts +117 -0
- package/skills-cursor/canvas/sdk/index.d.ts +47 -0
- package/skills-cursor/canvas/sdk/theme.d.ts +61 -0
- package/skills-cursor/canvas/sdk/todo-list.d.ts +49 -0
- package/skills-cursor/canvas/sdk/ui-primitives.d.ts +549 -0
- package/skills-cursor/canvas/sdk/ui-primitives.test.d.ts +2 -0
- package/skills-cursor/create-hook/SKILL.md +238 -0
- package/skills-cursor/create-rule/SKILL.md +185 -0
- package/skills-cursor/create-skill/SKILL.md +269 -0
- package/skills-cursor/create-skill/references/authoring-guide.md +182 -0
- package/skills-cursor/create-subagent/SKILL.md +228 -0
- package/skills-cursor/migrate-to-skills/SKILL.md +121 -0
- package/skills-cursor/shell/SKILL.md +22 -0
- package/skills-cursor/split-to-prs/SKILL.md +47 -0
- package/skills-cursor/statusline/SKILL.md +193 -0
- package/skills-cursor/update-cli-config/SKILL.md +85 -0
- package/skills-cursor/update-cursor-settings/SKILL.md +137 -0
- package/skills.sh.json +297 -0
|
@@ -0,0 +1,489 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deploy-verify
|
|
3
|
+
description: >
|
|
4
|
+
Post-deploy smoke test across browser, Sentry, Supabase, Langfuse, and the
|
|
5
|
+
public web. Use when "verify deploy", "smoke test production", "post-release
|
|
6
|
+
check", or "ship or rollback". Deploy plus watch →
|
|
7
|
+
workflow-ship-and-observe.
|
|
8
|
+
license: MIT
|
|
9
|
+
effort: high
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Post-Deploy Verification
|
|
13
|
+
|
|
14
|
+
**Degree of freedom: MIXED.** Verdict and MONITOR escalation `[HIGH freedom]`;
|
|
15
|
+
probe sequences and the report table `[LOW freedom — run exactly]`.
|
|
16
|
+
|
|
17
|
+
Automated post-deploy health check across all services. Run after every deploy to catch
|
|
18
|
+
regressions before users do. Works with **any project** — auto-detects configuration.
|
|
19
|
+
|
|
20
|
+
## How to reason
|
|
21
|
+
|
|
22
|
+
1. **Observe** — what did each probe actually return (counts, logs, screenshots)?
|
|
23
|
+
2. **Interpret** — new-since-deploy vs pre-existing; skip-missing vs real fail
|
|
24
|
+
3. **Classify** — PASS / MONITOR / FAIL per phase
|
|
25
|
+
4. **Severity** — auth/data-loss/5xx on the main path outranks a Langfuse quiet window
|
|
26
|
+
|
|
27
|
+
## Worked example
|
|
28
|
+
|
|
29
|
+
> **Observe:** home loads; Sentry shows 12 new `TypeError` on `/checkout`; Supabase API 200s.
|
|
30
|
+
> **Interpret:** checkout is a critical path; errors started with this release.
|
|
31
|
+
> **Classify:** Sentry FAIL, smoke FAIL on checkout, DB PASS.
|
|
32
|
+
> **Verdict:** ROLLBACK — main money path is 5xx, not a MONITOR item.
|
|
33
|
+
|
|
34
|
+
## Self-critique before reporting
|
|
35
|
+
|
|
36
|
+
- **Evidence** — every row cites a probe result, not "looks fine"
|
|
37
|
+
- **Binary verdict** — SHIP / MONITOR / HOTFIX / ROLLBACK with a next action
|
|
38
|
+
- **Skip honesty** — missing Sentry/Supabase/Langfuse is SKIP, not PASS
|
|
39
|
+
- **Right owner** — npm publish → `deploy-npm`; observe window → `workflow-ship-and-observe`
|
|
40
|
+
|
|
41
|
+
## Rules
|
|
42
|
+
|
|
43
|
+
> **Run within 15 minutes of deploy.** The sooner you check, the smaller the blast radius.
|
|
44
|
+
|
|
45
|
+
> **Parallel where possible.** Sentry, Supabase, and Langfuse checks are independent — issue them in one message (or one subagent each) so they run in parallel. Time matters here: do not spend time that can be avoided.
|
|
46
|
+
|
|
47
|
+
> **The verdict must be binary.** SHIP, ROLLBACK, or MONITOR (with clear criteria for when MONITOR escalates to ROLLBACK).
|
|
48
|
+
|
|
49
|
+
> **Evidence over opinion.** Every check produces a PASS/FAIL with specific data. Never say "looks fine."
|
|
50
|
+
|
|
51
|
+
> **Always use the `protocol-browser-anti-stall` protocol** when using playwright-cli.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Phase 0: Auto-Detect Deployment Context [LOW freedom — run exactly]
|
|
56
|
+
|
|
57
|
+
### 0a. Detect Deployment Platform
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Grep(pattern: "vercel\\.json|netlify\\.toml|fly\\.toml|render\\.yaml|railway\\.json|Dockerfile|docker-compose|appspec\\.yml", output_mode: "files_with_matches")
|
|
61
|
+
Grep(pattern: "VERCEL_URL|RENDER_EXTERNAL_URL|FLY_APP_NAME|RAILWAY_STATIC_URL", glob: ".env*")
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 0b. Find Production URL
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
Grep(pattern: "NEXT_PUBLIC_APP_URL|NEXT_PUBLIC_BASE_URL|VITE_APP_URL|PUBLIC_URL|PRODUCTION_URL|APP_URL", glob: ".env*")
|
|
68
|
+
Grep(pattern: "https://.*\\.vercel\\.app|https://.*\\.netlify\\.app|https://.*\\.fly\\.dev|https://.*\\.railway\\.app", glob: ".env*")
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Also check framework config files:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Grep(pattern: "url|domain|hostname", glob: "{vercel.json,netlify.toml,next.config.*}")
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 0c. Detect Sentry Release Tracking
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
Grep(pattern: "SENTRY_ORG|SENTRY_PROJECT|SENTRY_DSN|SENTRY_AUTH_TOKEN|@sentry/nextjs|@sentry/react|@sentry/node|sentry-cli", glob: "{.env*,package.json,.sentryclirc,sentry.*.config.*}")
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 0d. Detect Supabase Project
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Grep(pattern: "SUPABASE_URL|NEXT_PUBLIC_SUPABASE_URL|SUPABASE_SERVICE_ROLE_KEY|SUPABASE_ANON_KEY", glob: ".env*")
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
The project ref is the subdomain of the Supabase URL
|
|
90
|
+
(`https://<ref>.supabase.co`). Confirm it with `supabase:get_project_url`.
|
|
91
|
+
|
|
92
|
+
The pack's Supabase MCP config is project-scoped (`--project-ref`), so its
|
|
93
|
+
tools take no `project_id` and account tools such as `list_projects` are not
|
|
94
|
+
registered. On a server started without a project ref, call
|
|
95
|
+
`supabase:list_projects` to match the URL, then add
|
|
96
|
+
`"project_id": "<PROJECT_ID>"` to each Supabase call below.
|
|
97
|
+
|
|
98
|
+
### 0e. Detect Langfuse Integration
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
Grep(pattern: "LANGFUSE_PUBLIC_KEY|LANGFUSE_SECRET_KEY|LANGFUSE_HOST|@langfuse", glob: "{.env*,package.json}")
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 0f. Find Critical User Flows
|
|
105
|
+
|
|
106
|
+
Detect the app's route structure to identify critical paths for smoke testing:
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
Glob("**/app/**/page.{tsx,jsx,ts,js}")
|
|
110
|
+
Glob("**/pages/**/*.{tsx,jsx,ts,js}")
|
|
111
|
+
Glob("**/src/routes/**/*.{tsx,jsx,svelte}")
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Identify the critical paths (prioritized):
|
|
115
|
+
1. Landing/home page
|
|
116
|
+
2. Authentication (login/signup)
|
|
117
|
+
3. Main feature (the primary value proposition)
|
|
118
|
+
4. One CRUD operation (create or update something)
|
|
119
|
+
5. Any AI/LLM feature (if present)
|
|
120
|
+
|
|
121
|
+
Record all detected values:
|
|
122
|
+
- `PRODUCTION_URL`
|
|
123
|
+
- `SENTRY_ORG`, `SENTRY_PROJECT`
|
|
124
|
+
- `SUPABASE_PROJECT_ID`
|
|
125
|
+
- `LANGFUSE_AVAILABLE` (boolean)
|
|
126
|
+
- `CRITICAL_PATHS` (list of URLs to smoke test)
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Phase 1: Sentry Error Check [LOW freedom — run exactly]
|
|
131
|
+
|
|
132
|
+
### 1a. Find Organization and Project
|
|
133
|
+
|
|
134
|
+
```json
|
|
135
|
+
sentry:find_organizations
|
|
136
|
+
{}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Use the detected org slug and project slug from Phase 0c.
|
|
140
|
+
|
|
141
|
+
### 1b. Check Recent Releases
|
|
142
|
+
|
|
143
|
+
`find_releases` is a catalog tool, not a direct one, so call it through `execute_sentry_tool`. If the call is rejected, run `search_sentry_tools` with `"find releases"` to get the current name and schema.
|
|
144
|
+
|
|
145
|
+
```json
|
|
146
|
+
sentry:execute_sentry_tool
|
|
147
|
+
{
|
|
148
|
+
"name": "find_releases",
|
|
149
|
+
"arguments": {
|
|
150
|
+
"organizationSlug": "<ORG_SLUG>",
|
|
151
|
+
"projectSlug": "<PROJECT_SLUG>"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Verify:
|
|
157
|
+
- [ ] Latest release matches the deploy (commit hash or version tag)
|
|
158
|
+
- [ ] Release was created within the expected deploy window
|
|
159
|
+
|
|
160
|
+
### 1c. Search for New Issues Since Deploy
|
|
161
|
+
|
|
162
|
+
```json
|
|
163
|
+
sentry:search_issues
|
|
164
|
+
{
|
|
165
|
+
"organizationSlug": "<ORG_SLUG>",
|
|
166
|
+
"projectSlugOrId": "<PROJECT_SLUG>",
|
|
167
|
+
"query": "is:unresolved firstSeen:-1h",
|
|
168
|
+
"sort": "freq"
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Also check for regressions (previously resolved issues that re-opened):
|
|
173
|
+
|
|
174
|
+
```json
|
|
175
|
+
sentry:search_issues
|
|
176
|
+
{
|
|
177
|
+
"organizationSlug": "<ORG_SLUG>",
|
|
178
|
+
"projectSlugOrId": "<PROJECT_SLUG>",
|
|
179
|
+
"query": "is:regressed",
|
|
180
|
+
"sort": "freq"
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### 1d. Seer Analysis on P0 Issues
|
|
185
|
+
|
|
186
|
+
For any new issue with high event count or critical severity, run Sentry's AI root-cause analysis:
|
|
187
|
+
|
|
188
|
+
```json
|
|
189
|
+
sentry:analyze_issue_with_seer
|
|
190
|
+
{
|
|
191
|
+
"organizationSlug": "<ORG_SLUG>",
|
|
192
|
+
"issueId": "<ISSUE_ID>"
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
This provides:
|
|
197
|
+
- Root cause explanation with code-level detail
|
|
198
|
+
- Specific file locations and line numbers
|
|
199
|
+
- Concrete code fix suggestions
|
|
200
|
+
|
|
201
|
+
**Decision criteria:**
|
|
202
|
+
- 0 new issues → **PASS**
|
|
203
|
+
- New issues but low frequency (<5 events) and non-critical → **MONITOR**
|
|
204
|
+
- New high-frequency issues or regressions → **FAIL** (potential rollback trigger)
|
|
205
|
+
- Seer identifies a one-line fix → **APPLY FIX** instead of rollback
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Phase 2: Supabase Health Check [LOW freedom — run exactly]
|
|
210
|
+
|
|
211
|
+
Skip this phase if no Supabase integration detected.
|
|
212
|
+
|
|
213
|
+
### 2a. Migration Health
|
|
214
|
+
|
|
215
|
+
```json
|
|
216
|
+
supabase:list_migrations
|
|
217
|
+
{}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Verify:
|
|
221
|
+
- [ ] Latest migration matches what the deploy expected
|
|
222
|
+
- [ ] No failed or pending migrations
|
|
223
|
+
|
|
224
|
+
### 2b. API Logs (last 30 minutes)
|
|
225
|
+
|
|
226
|
+
Logs come from `query_logs`: read-only ClickHouse SQL over one `logs` table,
|
|
227
|
+
filtered by `source`. Current Supabase MCP servers, local and hosted, list it
|
|
228
|
+
instead of `get_logs`. Set `iso_timestamp_start` to 30 minutes ago; without
|
|
229
|
+
it the window is the last 24 hours.
|
|
230
|
+
|
|
231
|
+
```json
|
|
232
|
+
supabase:query_logs
|
|
233
|
+
{
|
|
234
|
+
"sql": "select timestamp, event_message, log_attributes['request.method'] as method, log_attributes['request.path'] as path, log_attributes['response.status_code'] as status_code from logs where source = 'edge_logs' order by timestamp desc limit 100",
|
|
235
|
+
"iso_timestamp_start": "<ISO_8601_30_MIN_AGO>"
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Check for:
|
|
240
|
+
- 5xx errors (server errors)
|
|
241
|
+
- Unusual 4xx spike (broken client code)
|
|
242
|
+
- Slow queries (>1s response time)
|
|
243
|
+
|
|
244
|
+
### 2c. Edge Function Logs
|
|
245
|
+
|
|
246
|
+
```json
|
|
247
|
+
supabase:query_logs
|
|
248
|
+
{
|
|
249
|
+
"sql": "select timestamp, event_message, log_attributes['response.status_code'] as status_code, log_attributes['function_id'] as function_id, log_attributes['execution_time_ms'] as execution_time_ms from logs where source = 'function_edge_logs' order by timestamp desc limit 100",
|
|
250
|
+
"iso_timestamp_start": "<ISO_8601_30_MIN_AGO>"
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Boot errors and exceptions print to the console stream, `function_logs`:
|
|
255
|
+
|
|
256
|
+
```json
|
|
257
|
+
supabase:query_logs
|
|
258
|
+
{
|
|
259
|
+
"sql": "select timestamp, event_message, log_attributes['level'] as level, log_attributes['function_id'] as function_id from logs where source = 'function_logs' order by timestamp desc limit 100",
|
|
260
|
+
"iso_timestamp_start": "<ISO_8601_30_MIN_AGO>"
|
|
261
|
+
}
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
Check for:
|
|
265
|
+
- Function boot errors
|
|
266
|
+
- Runtime exceptions
|
|
267
|
+
- Timeout errors
|
|
268
|
+
|
|
269
|
+
### 2d. Auth Logs
|
|
270
|
+
|
|
271
|
+
```json
|
|
272
|
+
supabase:query_logs
|
|
273
|
+
{
|
|
274
|
+
"sql": "select timestamp, event_message, log_attributes['level'] as level, log_attributes['status'] as status, log_attributes['path'] as path, log_attributes['error'] as error from logs where source = 'auth_logs' order by timestamp desc limit 100",
|
|
275
|
+
"iso_timestamp_start": "<ISO_8601_30_MIN_AGO>"
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
Check for:
|
|
280
|
+
- Auth failures unrelated to wrong credentials
|
|
281
|
+
- Token refresh errors
|
|
282
|
+
- RLS policy violations
|
|
283
|
+
|
|
284
|
+
### 2e. Security and Performance Advisors
|
|
285
|
+
|
|
286
|
+
```json
|
|
287
|
+
supabase:get_advisors
|
|
288
|
+
{
|
|
289
|
+
"type": "security"
|
|
290
|
+
}
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
```json
|
|
294
|
+
supabase:get_advisors
|
|
295
|
+
{
|
|
296
|
+
"type": "performance"
|
|
297
|
+
}
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
Flag any new warnings that weren't present before the deploy.
|
|
301
|
+
|
|
302
|
+
### 2f. Critical Data Integrity
|
|
303
|
+
|
|
304
|
+
Run a quick data integrity check on the most important tables:
|
|
305
|
+
|
|
306
|
+
```json
|
|
307
|
+
supabase:execute_sql
|
|
308
|
+
{
|
|
309
|
+
"query": "SELECT schemaname, relname, n_dead_tup, last_autovacuum FROM pg_stat_user_tables WHERE n_dead_tup > 10000 ORDER BY n_dead_tup DESC LIMIT 5"
|
|
310
|
+
}
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
**Decision criteria:**
|
|
314
|
+
- All logs clean, migrations applied, no advisor warnings → **PASS**
|
|
315
|
+
- Minor warnings in logs but no 5xx → **MONITOR**
|
|
316
|
+
- 5xx errors in API/Edge logs or failed migrations → **FAIL**
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## Phase 3: Langfuse Health Check
|
|
321
|
+
|
|
322
|
+
Skip this phase if no Langfuse integration detected.
|
|
323
|
+
|
|
324
|
+
### 3a. Check Recent Traces
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
npx langfuse-cli api traces list --limit 10
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
Verify:
|
|
331
|
+
- [ ] New traces are arriving (timestamps within last 15 minutes)
|
|
332
|
+
- [ ] Trace names match expected AI features
|
|
333
|
+
- [ ] No error status on traces
|
|
334
|
+
|
|
335
|
+
### 3b. Check Latency and Errors
|
|
336
|
+
|
|
337
|
+
From the trace list, examine:
|
|
338
|
+
- Average latency compared to baseline (is it significantly higher post-deploy?)
|
|
339
|
+
- Any traces with error status or missing generations
|
|
340
|
+
- Token usage anomalies (sudden spike could indicate prompt regression)
|
|
341
|
+
|
|
342
|
+
### 3c. Verify Prompt Versions
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
npx langfuse-cli api prompts list
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
Confirm that active prompt versions match what the deploy should be using (check the `production` label).
|
|
349
|
+
|
|
350
|
+
**Decision criteria:**
|
|
351
|
+
- Traces flowing, normal latency, correct prompt versions → **PASS**
|
|
352
|
+
- No new traces but deploy just happened → **MONITOR** (wait 5 more minutes)
|
|
353
|
+
- Error traces or latency spike → **FAIL**
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
## Phase 4: Playwright Smoke Test
|
|
358
|
+
|
|
359
|
+
### 4a. Navigate to Production
|
|
360
|
+
|
|
361
|
+
```bash
|
|
362
|
+
PW="npx --yes @playwright/cli@latest"
|
|
363
|
+
$PW -s=deploy-verify open --headed "<PRODUCTION_URL>"
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
**Important**: Apply the `protocol-browser-anti-stall` protocol:
|
|
367
|
+
- Set 15-second timeout expectations
|
|
368
|
+
- Never block in one long sleep — use the incremental `sleep 2` → `snapshot` cycle (max 3)
|
|
369
|
+
- Use `snapshot` to detect ready state
|
|
370
|
+
|
|
371
|
+
### 4b. Test Critical Paths
|
|
372
|
+
|
|
373
|
+
For each critical path identified in Phase 0f:
|
|
374
|
+
|
|
375
|
+
1. **Navigate** to the page
|
|
376
|
+
2. **Snapshot** to verify it loaded (not a blank page or error screen)
|
|
377
|
+
3. **Check console** for errors:
|
|
378
|
+
|
|
379
|
+
```bash
|
|
380
|
+
$PW -s=deploy-verify console
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
4. **Check network** for failed requests:
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
$PW -s=deploy-verify requests
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
### 4c. Test Authentication (if applicable)
|
|
390
|
+
|
|
391
|
+
If the app has auth:
|
|
392
|
+
1. Navigate to login page
|
|
393
|
+
2. Verify login form renders
|
|
394
|
+
3. (If test credentials available) Log in and verify redirect to authenticated area
|
|
395
|
+
|
|
396
|
+
### 4d. Test Main Feature
|
|
397
|
+
|
|
398
|
+
Navigate to the primary feature and perform one basic interaction:
|
|
399
|
+
- If it's a form: fill and submit
|
|
400
|
+
- If it's a list: verify items render
|
|
401
|
+
- If it's a dashboard: verify data loads (not empty state when data should exist)
|
|
402
|
+
- If it's an AI feature: trigger one generation and verify response appears
|
|
403
|
+
|
|
404
|
+
### 4e. Take Evidence Screenshot
|
|
405
|
+
|
|
406
|
+
```bash
|
|
407
|
+
$PW -s=deploy-verify screenshot --filename ".playwright-mcp/deploy-verify-home.png"
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
**Decision criteria:**
|
|
411
|
+
- All critical paths load, no console errors, no 5xx network requests → **PASS**
|
|
412
|
+
- Minor visual glitches but functional → **MONITOR**
|
|
413
|
+
- Pages fail to load, 5xx errors, or auth broken → **FAIL**
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## Phase 5: Ship-or-Rollback Verdict
|
|
418
|
+
|
|
419
|
+
Aggregate all phase results into a final verdict.
|
|
420
|
+
|
|
421
|
+
### Decision Matrix
|
|
422
|
+
|
|
423
|
+
| Scenario | Verdict |
|
|
424
|
+
|----------|---------|
|
|
425
|
+
| All phases PASS | **SHIP** — Deploy is healthy |
|
|
426
|
+
| All phases PASS except 1-2 MONITOR items | **MONITOR** — Watch for 1 hour, re-check |
|
|
427
|
+
| Any phase FAIL with a quick fix available | **HOTFIX** — Apply fix and re-verify |
|
|
428
|
+
| Any critical phase FAIL (auth broken, data loss, 5xx on main feature) | **ROLLBACK** — Revert immediately |
|
|
429
|
+
| Seer identifies a simple root cause for the only FAIL | **HOTFIX** — Apply Seer's fix, re-verify |
|
|
430
|
+
|
|
431
|
+
### Report
|
|
432
|
+
|
|
433
|
+
```
|
|
434
|
+
═══════════════════════════════════════════════════════
|
|
435
|
+
POST-DEPLOY VERIFICATION REPORT
|
|
436
|
+
Project: <PROJECT_NAME>
|
|
437
|
+
Deploy Time: <TIMESTAMP>
|
|
438
|
+
Production URL: <URL>
|
|
439
|
+
Checked At: <CHECK_TIMESTAMP>
|
|
440
|
+
═══════════════════════════════════════════════════════
|
|
441
|
+
|
|
442
|
+
## HEALTH CHECK RESULTS
|
|
443
|
+
|
|
444
|
+
| Check | Status | Details |
|
|
445
|
+
|------------------------------|---------|--------------------------------------|
|
|
446
|
+
| Sentry: new errors | ✅/❌ | [0 new / N new — list top issues] |
|
|
447
|
+
| Sentry: regressions | ✅/❌ | [0 regressed / N regressed] |
|
|
448
|
+
| Sentry: release tracked | ✅/❌ | [release ID and timestamp] |
|
|
449
|
+
| Supabase: migrations | ✅/❌ | [all applied / N pending/failed] |
|
|
450
|
+
| Supabase: API logs | ✅/❌ | [clean / N errors in last 30m] |
|
|
451
|
+
| Supabase: Edge Function logs | ✅/❌ | [clean / N errors] |
|
|
452
|
+
| Supabase: Auth logs | ✅/❌ | [clean / N errors] |
|
|
453
|
+
| Supabase: advisors | ✅/❌ | [no new warnings / N new warnings] |
|
|
454
|
+
| Langfuse: traces flowing | ✅/❌ | [N traces in last 15m / no traces] |
|
|
455
|
+
| Langfuse: latency | ✅/❌ | [normal / Xms above baseline] |
|
|
456
|
+
| Langfuse: prompt versions | ✅/❌ | [match expected / mismatch on N] |
|
|
457
|
+
| Smoke: home page | ✅/❌ | [loads in Xs / error] |
|
|
458
|
+
| Smoke: auth flow | ✅/❌ | [works / broken] |
|
|
459
|
+
| Smoke: main feature | ✅/❌ | [works / broken] |
|
|
460
|
+
| Smoke: console errors | ✅/❌ | [0 errors / N errors] |
|
|
461
|
+
| Smoke: network 5xx | ✅/❌ | [0 / N failed requests] |
|
|
462
|
+
|
|
463
|
+
## SEER ANALYSIS (if any P0 issues)
|
|
464
|
+
|
|
465
|
+
Issue: <ISSUE_ID>
|
|
466
|
+
Root Cause: <SEER_EXPLANATION>
|
|
467
|
+
Suggested Fix: <CODE_FIX>
|
|
468
|
+
Files Affected: <FILE_LIST>
|
|
469
|
+
|
|
470
|
+
## VERDICT
|
|
471
|
+
|
|
472
|
+
┌─────────────────────────────────────────────────┐
|
|
473
|
+
│ │
|
|
474
|
+
│ [SHIP / MONITOR / HOTFIX / ROLLBACK] │
|
|
475
|
+
│ │
|
|
476
|
+
│ Reason: <one-line explanation> │
|
|
477
|
+
│ │
|
|
478
|
+
│ Next action: <what to do now> │
|
|
479
|
+
│ │
|
|
480
|
+
└─────────────────────────────────────────────────┘
|
|
481
|
+
|
|
482
|
+
## MONITOR ESCALATION (if verdict is MONITOR)
|
|
483
|
+
|
|
484
|
+
Re-check in: [30 minutes / 1 hour]
|
|
485
|
+
Escalate to ROLLBACK if: [specific condition, e.g., error count exceeds 50]
|
|
486
|
+
Watch: [specific metrics to monitor]
|
|
487
|
+
|
|
488
|
+
═══════════════════════════════════════════════════════
|
|
489
|
+
```
|