@kensaurus/skills 0.0.0-stage → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +1761 -0
- package/LICENSE +21 -0
- package/NOTICE +13 -0
- package/README.md +820 -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 +93 -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 +296 -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 +154 -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 +379 -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 +304 -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-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 +242 -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 +104 -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 +387 -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 +296 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow-merge-conflicts
|
|
3
|
+
description: >
|
|
4
|
+
Resolve an in-progress merge or rebase conflict by tracing each side back to
|
|
5
|
+
its intent. Use when "resolve the conflicts", "fix this merge", "the rebase
|
|
6
|
+
is stuck", or a pull has left conflict markers in the tree.
|
|
7
|
+
license: MIT
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Resolving Merge Conflicts
|
|
11
|
+
|
|
12
|
+
**Degree of freedom: MIXED.** Which intent wins `[HIGH freedom]`; inspect,
|
|
13
|
+
never `--abort` unasked, and run real checks `[LOW freedom — run exactly]`.
|
|
14
|
+
|
|
15
|
+
> Adapted from [mattpocock/skills](https://github.com/mattpocock/skills) (MIT).
|
|
16
|
+
|
|
17
|
+
## How to reason
|
|
18
|
+
|
|
19
|
+
1. **Identify** — operation (merge/rebase/cherry-pick) and conflicted files
|
|
20
|
+
2. **Intent** — why each side changed, from commits/PRs — not the markers
|
|
21
|
+
3. **Preserve** — both intents if possible; else the merge's stated goal
|
|
22
|
+
4. **Verify** — typecheck + tests + lint; then finish the operation
|
|
23
|
+
|
|
24
|
+
## Worked example
|
|
25
|
+
|
|
26
|
+
> **Identify:** rebase of `fix/cart-sku` onto `main`; conflict in `src/lib/cart.ts`.
|
|
27
|
+
> **Intent:** this branch treats missing SKU as invalid; main extracted `quoteCart` to a new file.
|
|
28
|
+
> **Preserve:** keep the extraction and the missing-SKU branch — move the guard into `quoteCart`.
|
|
29
|
+
> **Verify:** `pnpm typecheck && pnpm test` green; `git rebase --continue`; tree clean.
|
|
30
|
+
|
|
31
|
+
## Self-critique before reporting
|
|
32
|
+
|
|
33
|
+
- **Intent, not text** — no "ours/theirs" from appearance alone
|
|
34
|
+
- **No invented behavior** — resolution does not add a third design
|
|
35
|
+
- **Checks run** — semantic conflicts caught after a clean text merge
|
|
36
|
+
- **Right owner** — message after resolve → `workflow-git-commit`; open PR lifecycle → `workflow-pr`
|
|
37
|
+
|
|
38
|
+
1. **See the current state.** `[LOW freedom — run exactly]` `git status` for the operation in progress
|
|
39
|
+
(merge/rebase/cherry-pick) and the conflicting files; `git log --oneline
|
|
40
|
+
--left-right HEAD...MERGE_HEAD` (or the rebase equivalent) for what each side
|
|
41
|
+
contains.
|
|
42
|
+
|
|
43
|
+
2. **Find the primary sources for each conflict.** `[HIGH freedom]` Understand why each
|
|
44
|
+
change was made and what the original intent was: read the commit messages,
|
|
45
|
+
check the PRs, check the original issues or tickets. Never resolve a hunk on
|
|
46
|
+
textual appearance alone.
|
|
47
|
+
|
|
48
|
+
3. **Resolve each hunk.** `[HIGH freedom]` Preserve both intents where possible. Where they are
|
|
49
|
+
incompatible, pick the one matching the merge's stated goal and note the
|
|
50
|
+
trade-off. Do **not** invent new behavior. Always resolve; never `--abort`
|
|
51
|
+
without the user's explicit instruction.
|
|
52
|
+
|
|
53
|
+
4. **Run the project's automated checks** `[LOW freedom — run exactly]` — typecheck, then tests, then
|
|
54
|
+
format/lint, using the repo's real scripts. Fix anything the merge broke;
|
|
55
|
+
conflicts that merge cleanly at the text level can still conflict
|
|
56
|
+
semantically.
|
|
57
|
+
|
|
58
|
+
5. **Finish the operation.** `[LOW freedom — run exactly]` Stage everything and commit (or `git rebase
|
|
59
|
+
--continue` until all commits are replayed). Confirm the tree is clean and
|
|
60
|
+
checks are green before reporting done.
|
|
61
|
+
|
|
62
|
+
**Related:** `workflow-git-commit`, `workflow-pr`, `verification-before-completion`.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow-onboard
|
|
3
|
+
description: >
|
|
4
|
+
First-contact orientation for an unfamiliar codebase. Use when "I'm new to this repo",
|
|
5
|
+
"orient me", "explain this codebase", "what does this do?", "onboard me", "first day on
|
|
6
|
+
this project", or "catch me up on the codebase".
|
|
7
|
+
license: MIT
|
|
8
|
+
context: fork
|
|
9
|
+
agent: Explore
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# workflow-onboard — Codebase Orientation
|
|
13
|
+
|
|
14
|
+
**Degree of freedom: MIXED.** Briefing synthesis `[HIGH freedom]`; which files
|
|
15
|
+
to read and never printing env values `[LOW freedom — run exactly]`.
|
|
16
|
+
|
|
17
|
+
Orient to any repo in under 5 minutes. Read first, explain second.
|
|
18
|
+
|
|
19
|
+
## How to reason
|
|
20
|
+
|
|
21
|
+
1. **Read** — manifests, routes, schema, auth — don't guess
|
|
22
|
+
2. **Map** — stack, features, data, how-to-run
|
|
23
|
+
3. **Gap** — missing README/schema said out loud
|
|
24
|
+
4. **Brief** — scannable; top-3 complexity called out
|
|
25
|
+
|
|
26
|
+
## Worked example
|
|
27
|
+
|
|
28
|
+
> **Read:** `package.json` is Next.js 16 + Supabase; `src/app/(app)/*` has dashboard, billing, settings; latest migration adds `organizations`.
|
|
29
|
+
> **Map:** B2B dashboard; session via middleware + `getUser()`; run `pnpm dev`.
|
|
30
|
+
> **Gap:** no README scripts section; `.env.example` lists `STRIPE_SECRET_KEY`.
|
|
31
|
+
> **Brief:** purpose + stack + route map + 4 tables + auth + `pnpm dev` + env names + "start in `src/lib/billing`".
|
|
32
|
+
|
|
33
|
+
## Self-critique before reporting
|
|
34
|
+
|
|
35
|
+
- **Files read** — briefing cites files, not folklore
|
|
36
|
+
- **Secrets safe** — env names only, never values
|
|
37
|
+
- **Gaps explicit** — missing schema/README is stated, not invented
|
|
38
|
+
- **Right owner** — preflight commands/services → `workflow-environment-ready`; parked work → `housekeep-backlog`
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Step 1: Stack & entry points [LOW freedom — run exactly]
|
|
43
|
+
|
|
44
|
+
Read these (grep finds fragments; the briefing needs the whole file). The table is the floor, not the ceiling: when the repo does not match it (monorepo, unusual framework, no `src/app`), follow what the manifest and top-level tree point to before writing anything:
|
|
45
|
+
|
|
46
|
+
| File | What to extract |
|
|
47
|
+
|------|-----------------|
|
|
48
|
+
| `package.json` / `pyproject.toml` / `Cargo.toml` | Runtime, framework, key deps, scripts |
|
|
49
|
+
| `README.md` | Stated purpose, setup steps, architecture notes |
|
|
50
|
+
| `src/app/layout.tsx` / `pages/_app.tsx` / `App.tsx` | Root component, providers, global context |
|
|
51
|
+
| `src/app/**/page.tsx` / `src/routes/**` / `app/routes/**` | Route tree → feature map |
|
|
52
|
+
| `capacitor.config.*` / `app.json` / `app.config.*` | Mobile targets (Expo/RN/Capacitor) |
|
|
53
|
+
| `android/` / `ios/` presence | Native targets |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Step 2: Data & auth layer [LOW freedom — run exactly]
|
|
58
|
+
|
|
59
|
+
| File | What to extract |
|
|
60
|
+
|------|-----------------|
|
|
61
|
+
| `supabase/migrations/*.sql` (latest 3) | Schema, tables, relationships |
|
|
62
|
+
| `prisma/schema.prisma` / `drizzle/*.ts` | ORM model |
|
|
63
|
+
| `src/lib/supabase.*` / `src/lib/db.*` | Client init, auth helper |
|
|
64
|
+
| `.env.example` / `.env.local` (names only, never values) | Required env vars |
|
|
65
|
+
| `middleware.ts` / `auth.ts` / `src/lib/auth.*` | Auth guard pattern |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Step 3: Recent context [LOW freedom — run exactly]
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
git log --oneline -15 # recent work direction
|
|
73
|
+
git diff HEAD~5 --stat # files changed recently
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Step 4: Orientation briefing [HIGH freedom]
|
|
79
|
+
|
|
80
|
+
Produce a structured briefing covering:
|
|
81
|
+
|
|
82
|
+
1. **What it is** — one sentence on the product's purpose
|
|
83
|
+
2. **Tech stack** — framework + DB + auth + mobile targets
|
|
84
|
+
3. **Feature map** — top-level routes grouped by capability
|
|
85
|
+
4. **Data model** — the entities and relationships the feature map depends on, not the whole schema
|
|
86
|
+
5. **Auth pattern** — how sessions work and who the roles are
|
|
87
|
+
6. **How to run** — exact commands from `package.json` scripts
|
|
88
|
+
7. **Environment** — required env vars (names only) and where to find values
|
|
89
|
+
8. **Top 3 to understand first** — the areas with the most business logic or complexity
|
|
90
|
+
|
|
91
|
+
Format as a scannable briefing, not a wall of text. Use short tables where helpful.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Guardrails [LOW freedom — do not skip]
|
|
96
|
+
|
|
97
|
+
- Never print `.env` values — names only
|
|
98
|
+
- If the codebase is a monorepo, scope the briefing to the specific app/package the user is working in (ask if unclear)
|
|
99
|
+
- If critical files are missing (no README, no schema), say so explicitly rather than guessing
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow-parallel-agents
|
|
3
|
+
description: Run multiple agents in parallel via git worktrees, cloud agents, or multi-model comparison. Use for "run agents in parallel", "best-of-N", "compare approaches", "multi-model", "parallel worktrees".
|
|
4
|
+
license: MIT
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Parallel Agents & Worktrees
|
|
8
|
+
|
|
9
|
+
**Degree of freedom: MIXED.** What to split, how to brief, and which model or effort `[HIGH freedom]`;
|
|
10
|
+
isolated worktrees and no shared-file writes `[LOW freedom — run exactly]`.
|
|
11
|
+
|
|
12
|
+
## How to reason
|
|
13
|
+
|
|
14
|
+
1. **Observe** — independent tasks vs one shared file
|
|
15
|
+
2. **Interpret** — worktree / cloud / best-of-N
|
|
16
|
+
3. **Classify** — parallel-safe / must-serialize
|
|
17
|
+
4. **Severity** — two agents editing one path is a conflict, not speed
|
|
18
|
+
|
|
19
|
+
## Worked example
|
|
20
|
+
|
|
21
|
+
> **Observe:** "fix tests" and "write the README" touch different trees.
|
|
22
|
+
> **Interpret:** two worktrees, two agents.
|
|
23
|
+
> **Classify:** parallel-safe; do not also give both `package.json`.
|
|
24
|
+
> **Merge:** integrate one result at a time; compare best-of-N on the same prompt.
|
|
25
|
+
|
|
26
|
+
## Self-critique before reporting
|
|
27
|
+
|
|
28
|
+
- **Isolation** — no two agents owned the same files
|
|
29
|
+
- **Prompt named** — each delegate had a concrete done-check
|
|
30
|
+
- **Compared if best-of-N** — a winner was picked with a reason
|
|
31
|
+
- **Right owner** — one sequential feature → `workflow-build-feature`
|
|
32
|
+
|
|
33
|
+
## Why Run Agents in Parallel? [HIGH freedom]
|
|
34
|
+
- **Compare approaches**: same brief to several agents (Cursor: different models; Claude Code: subagents, optionally at different `effort`) → pick the best result
|
|
35
|
+
- **Isolate work**: Each agent edits its own files without conflicts
|
|
36
|
+
- **Delegate background tasks**: Offload bug fixes, tests, docs while you work on something else
|
|
37
|
+
- **Speed**: Multiple independent tasks done simultaneously
|
|
38
|
+
|
|
39
|
+
## When delegation pays [HIGH freedom]
|
|
40
|
+
|
|
41
|
+
Delegate when a track is independent, sizeable, and can run beside the others, or when its output is verbose and you do not need it in the main context (log reads, wide exploration, a full test run). A handful of tool calls is cheaper to do yourself than to brief.
|
|
42
|
+
|
|
43
|
+
Brief each delegate once and precisely — goal, files, constraints, the done-check, and what to report back — then commit to the delegation: do not redo its work in parallel. Launch independent agents in one message so they run at the same time; integrate results one at a time.
|
|
44
|
+
|
|
45
|
+
Claude Code: each delegate is a subagent (built-in `Explore` for read-only work; a general agent or one from `agents/` for edits). A subagent that writes files gets `isolation: worktree` in its agent frontmatter, or its own `git worktree add`, so two delegates never own the same path. Cursor: the worktree and cloud options below.
|
|
46
|
+
|
|
47
|
+
## Git Worktrees (Local Parallel Agents) [LOW freedom — run exactly]
|
|
48
|
+
|
|
49
|
+
### How It Works
|
|
50
|
+
Cursor creates an isolated git worktree per agent from the agent dropdown; in Claude Code the equivalent is `isolation: worktree` on the subagent (see above). Each has its own:
|
|
51
|
+
- File system (changes don't affect other agents)
|
|
52
|
+
- Build/test environment
|
|
53
|
+
- Branch
|
|
54
|
+
|
|
55
|
+
When an agent finishes, click **Apply** to merge changes back.
|
|
56
|
+
|
|
57
|
+
### Starting a Worktree Agent
|
|
58
|
+
1. Open the agent dropdown
|
|
59
|
+
2. Select the **worktree** option
|
|
60
|
+
3. Submit your prompt
|
|
61
|
+
4. While it runs, start another agent in a different worktree
|
|
62
|
+
|
|
63
|
+
### Best Use Cases
|
|
64
|
+
- Running the same hard problem across 3 models simultaneously
|
|
65
|
+
- Implementing 2 independent features at once
|
|
66
|
+
- Having one agent write tests while another writes implementation
|
|
67
|
+
- Trying 2 different architectural approaches before choosing
|
|
68
|
+
|
|
69
|
+
### After Agents Finish
|
|
70
|
+
- Review diffs side-by-side
|
|
71
|
+
- Cursor suggests which solution it recommends (multi-agent judging)
|
|
72
|
+
- Click **Apply** on the winner
|
|
73
|
+
- Discard the others
|
|
74
|
+
|
|
75
|
+
## Cloud Agents (Background Delegation) [HIGH freedom]
|
|
76
|
+
|
|
77
|
+
### When to Use
|
|
78
|
+
Delegate tasks you'd otherwise put on a todo list:
|
|
79
|
+
- Bug fixes that came up while working on something else
|
|
80
|
+
- Writing tests for existing code
|
|
81
|
+
- Documentation updates
|
|
82
|
+
- Refactoring recent changes
|
|
83
|
+
- Dependency updates
|
|
84
|
+
|
|
85
|
+
### Starting a Cloud Agent
|
|
86
|
+
- From Cursor editor: agent dropdown → cloud option
|
|
87
|
+
- From web: [cursor.com/agents](https://cursor.com/agents)
|
|
88
|
+
- From phone: Cursor mobile app
|
|
89
|
+
- From Slack: `@Cursor <task description>`
|
|
90
|
+
|
|
91
|
+
### How Cloud Agents Work
|
|
92
|
+
1. Describe the task + relevant context
|
|
93
|
+
2. Agent clones your repo, creates a branch
|
|
94
|
+
3. Works autonomously (you can close your laptop)
|
|
95
|
+
4. Opens a PR when finished
|
|
96
|
+
5. You get notified (Slack, email, or web)
|
|
97
|
+
6. Review and merge
|
|
98
|
+
|
|
99
|
+
### Writing Good Delegation Prompts
|
|
100
|
+
```markdown
|
|
101
|
+
# Good delegation prompt
|
|
102
|
+
Fix the bug where users see a 500 error when they submit the onboarding form
|
|
103
|
+
with a duplicate email. The error should show an inline message "Email already
|
|
104
|
+
in use" instead of crashing. See `app/onboarding/actions.ts` for the server
|
|
105
|
+
action and `app/onboarding/page.tsx` for the form.
|
|
106
|
+
|
|
107
|
+
# Bad delegation prompt
|
|
108
|
+
Fix the email bug
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Include:
|
|
112
|
+
- Exact behaviour (current vs expected)
|
|
113
|
+
- File paths if known
|
|
114
|
+
- Acceptance criteria
|
|
115
|
+
- Any constraints ("don't change the API contract")
|
|
116
|
+
- A time signal when the run is clocked: "Time matters here: do not spend time that can be avoided." Delegates weight it.
|
|
117
|
+
|
|
118
|
+
## Running Multiple Models on the Same Prompt [LOW freedom — run exactly]
|
|
119
|
+
1. Open agent dropdown
|
|
120
|
+
2. Select multiple models
|
|
121
|
+
3. Submit prompt once
|
|
122
|
+
4. Cursor runs all models in parallel
|
|
123
|
+
5. Compare results; Cursor recommends the best
|
|
124
|
+
|
|
125
|
+
Claude Code: send the same brief to N subagents in one message (different `effort` levels, or a different approach named in each brief); compare the candidates yourself or hand them to a fresh-context reviewer that flags only correctness and requirement gaps.
|
|
126
|
+
|
|
127
|
+
Best for:
|
|
128
|
+
- Architecturally significant decisions
|
|
129
|
+
- Hard bugs where different models take different approaches
|
|
130
|
+
- When you want to verify the solution is correct
|
|
131
|
+
|
|
132
|
+
## Notifications [LOW freedom — run exactly]
|
|
133
|
+
When running many agents, configure:
|
|
134
|
+
- Settings → notifications → agent completion
|
|
135
|
+
- Sounds for agent completion (hear it finish across the room)
|
|
136
|
+
- Slack integration for cloud agents
|
|
137
|
+
|
|
138
|
+
## Patterns [HIGH freedom]
|
|
139
|
+
|
|
140
|
+
### The Parallel Spike
|
|
141
|
+
Run 2-3 agents with different approaches to a hard problem:
|
|
142
|
+
- Agent A: "Use optimistic updates with TanStack Query"
|
|
143
|
+
- Agent B: "Use server-sent events for real-time sync"
|
|
144
|
+
- Agent C: "Use Supabase Realtime subscriptions"
|
|
145
|
+
Compare all three, pick the cleanest.
|
|
146
|
+
|
|
147
|
+
### The Background Test Writer
|
|
148
|
+
While implementing feature X locally:
|
|
149
|
+
- Cloud agent: "Write tests for the auth flow in `features/auth/`"
|
|
150
|
+
- You: implement feature X
|
|
151
|
+
- Merge both when done
|
|
152
|
+
|
|
153
|
+
### The Parallel Review
|
|
154
|
+
One agent reviews for security, another for performance:
|
|
155
|
+
- Agent A: "Review `app/api/` for security issues (auth, input validation, RLS)"
|
|
156
|
+
- Agent B: "Review `app/api/` for performance (N+1s, missing indexes, large payloads)"
|
|
157
|
+
|
|
158
|
+
Each reviewer reports only findings in its lane, with file:line evidence — not style or general cleanups.
|
|
159
|
+
|
|
160
|
+
## Worktree Tips [LOW freedom — run exactly]
|
|
161
|
+
- Each worktree needs its own `node_modules` if deps differ
|
|
162
|
+
- Share `.env` by symlinking or copying to each worktree
|
|
163
|
+
- Worktrees share git history — easy to cherry-pick between them
|
|
164
|
+
- Clean up finished worktrees: `git worktree remove <path>`
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow-pr
|
|
3
|
+
description: >
|
|
4
|
+
Manage an existing PR lifecycle — review, bot feedback, conflicts,
|
|
5
|
+
merge. Use when opening a PR from an already-committed branch,
|
|
6
|
+
addressing review, or merging. Uncommitted working tree to
|
|
7
|
+
merge-ready → workflow-release-prep.
|
|
8
|
+
license: MIT
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# PR Workflow Skill
|
|
12
|
+
|
|
13
|
+
**Degree of freedom: MIXED.** Feedback judgment `[HIGH freedom]`; validations,
|
|
14
|
+
poll loop, and merge-only-if-asked `[LOW freedom — run exactly]`.
|
|
15
|
+
|
|
16
|
+
Full checklist for an already-committed branch or an open PR.
|
|
17
|
+
|
|
18
|
+
Uncommitted / staged / untracked working tree that still needs review,
|
|
19
|
+
commit, and a merge-ready PR is **`workflow-release-prep`**. This skill
|
|
20
|
+
does not own that sequence.
|
|
21
|
+
|
|
22
|
+
## How to reason
|
|
23
|
+
|
|
24
|
+
1. **Validate** — repo commands green; no secrets in the branch
|
|
25
|
+
2. **Open** — template + complete description
|
|
26
|
+
3. **Drive** — poll checks; address every thread
|
|
27
|
+
4. **Gate** — mergeable_state clean AND threads 0; merge only if asked
|
|
28
|
+
|
|
29
|
+
## Worked example
|
|
30
|
+
|
|
31
|
+
> **Validate:** `pnpm typecheck && pnpm test` green; no `.env` in the diff.
|
|
32
|
+
> **Open:** PR uses the repo template; title `fix(checkout): handle deleted SKU`.
|
|
33
|
+
> **Drive:** CI red on lint → fix, push, re-poll; reply + resolve the bot thread.
|
|
34
|
+
> **Gate:** `mergeable_state=clean`, 0 threads; user did not ask to merge → report merge-ready and stop.
|
|
35
|
+
|
|
36
|
+
## Self-critique before reporting
|
|
37
|
+
|
|
38
|
+
- **Already committed** — dirty tree was routed to `workflow-release-prep`
|
|
39
|
+
- **Both gates** — never treat `mergeable: true` as approval
|
|
40
|
+
- **Merge gated** — no merge unless the user explicitly asked
|
|
41
|
+
- **Right owner** — uncommitted pile → `workflow-release-prep`; keep-green loop after open → `babysit`
|
|
42
|
+
|
|
43
|
+
## Invocation boundary
|
|
44
|
+
|
|
45
|
+
- **Standalone:** open or manage the PR. Merge only when the user explicitly
|
|
46
|
+
asked to merge.
|
|
47
|
+
- **Called by `workflow-release-prep`:** open the PR and return its URL.
|
|
48
|
+
`babysit` owns the green loop; the caller stops before merge.
|
|
49
|
+
|
|
50
|
+
## Phase 1: Before Creating PR [LOW freedom — run exactly]
|
|
51
|
+
|
|
52
|
+
### 1. Run Validations
|
|
53
|
+
|
|
54
|
+
**JavaScript/TypeScript:**
|
|
55
|
+
```bash
|
|
56
|
+
pnpm typecheck && pnpm build && pnpm test
|
|
57
|
+
# or: npm run typecheck && npm run build && npm test
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Python:**
|
|
61
|
+
```bash
|
|
62
|
+
mypy . && python -m pytest && ruff check .
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**With Makefile:**
|
|
66
|
+
```bash
|
|
67
|
+
make typecheck && make build && make test
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 2. Security Scan
|
|
71
|
+
|
|
72
|
+
Before committing, verify:
|
|
73
|
+
- [ ] No hardcoded paths (`/Users/username/...`)
|
|
74
|
+
- [ ] No secrets, API keys, or tokens
|
|
75
|
+
- [ ] No machine-specific values
|
|
76
|
+
- [ ] Environment variables for sensitive data
|
|
77
|
+
|
|
78
|
+
### 3. Create PR
|
|
79
|
+
|
|
80
|
+
1. Search for `pull_request_template.md` in repo
|
|
81
|
+
2. Use template structure for PR description
|
|
82
|
+
3. Create PR with clear title and description
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Phase 2: Monitor PR [LOW freedom — run exactly]
|
|
87
|
+
|
|
88
|
+
### 4. Poll Status
|
|
89
|
+
|
|
90
|
+
Check every 60-90 seconds until checks complete:
|
|
91
|
+
|
|
92
|
+
**Understanding Check Status:**
|
|
93
|
+
- `mergeable: true` → Only means no git conflicts
|
|
94
|
+
- `mergeable_state: "clean"` → ALL checks passed, safe to merge
|
|
95
|
+
|
|
96
|
+
**Mergeable State Values:**
|
|
97
|
+
| State | Meaning | Action |
|
|
98
|
+
|-------|---------|--------|
|
|
99
|
+
| `"clean"` | ✅ All passed | Safe to merge |
|
|
100
|
+
| `"unstable"` | ⚠️ Pending/failing | Wait, poll again |
|
|
101
|
+
| `"blocked"` | ❌ Protection rules | Check requirements |
|
|
102
|
+
| `"behind"` | ⚠️ Needs update | Update branch |
|
|
103
|
+
|
|
104
|
+
### 5. Address Bot Feedback
|
|
105
|
+
|
|
106
|
+
When reviews complete:
|
|
107
|
+
|
|
108
|
+
1. **Read every comment** - Track unresolved threads
|
|
109
|
+
2. **For each issue:**
|
|
110
|
+
- Analyze feedback
|
|
111
|
+
- Implement fix
|
|
112
|
+
- Commit and push
|
|
113
|
+
- Reply confirming fix
|
|
114
|
+
- **Mark thread resolved**
|
|
115
|
+
|
|
116
|
+
3. Address every comment — an unresolved thread fails Gate 2
|
|
117
|
+
|
|
118
|
+
### 6. Wait for Re-validation
|
|
119
|
+
|
|
120
|
+
After pushing fixes:
|
|
121
|
+
1. Poll status again
|
|
122
|
+
2. All checks must show `SUCCESS`
|
|
123
|
+
3. Re-fetch comments for NEW feedback
|
|
124
|
+
4. Repeat until clean
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Phase 3: Merge Criteria [LOW freedom — run exactly]
|
|
129
|
+
|
|
130
|
+
### 7. Final Checklist
|
|
131
|
+
|
|
132
|
+
**Two gates must pass:**
|
|
133
|
+
|
|
134
|
+
| Gate | Check |
|
|
135
|
+
|------|-------|
|
|
136
|
+
| Gate 1 | `mergeable_state == "clean"` |
|
|
137
|
+
| Gate 2 | `unresolved_thread_count == 0` |
|
|
138
|
+
|
|
139
|
+
**Both must be TRUE to merge.**
|
|
140
|
+
|
|
141
|
+
### 8. Execute Merge
|
|
142
|
+
|
|
143
|
+
Only after both gates pass **and the user explicitly asked to merge**:
|
|
144
|
+
```bash
|
|
145
|
+
gh pr merge --merge
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Otherwise report that the PR is merge-ready and stop.
|
|
149
|
+
|
|
150
|
+
### 9. Verify Success
|
|
151
|
+
|
|
152
|
+
Confirm merge was successful and report status.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Error Handling
|
|
157
|
+
|
|
158
|
+
| Situation | Action |
|
|
159
|
+
|-----------|--------|
|
|
160
|
+
| Checks fail 3x | Pause, ask for guidance |
|
|
161
|
+
| Unclear feedback | Ask clarifying questions |
|
|
162
|
+
| Merge blocked | Check protection rules, report |
|
|
163
|
+
| Checks stuck | Run local validation, ask permission |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Common Mistakes
|
|
168
|
+
|
|
169
|
+
### ❌ Merging when `mergeable_state` is "unstable"
|
|
170
|
+
**Fix:** Always check `mergeable_state`, poll again if unstable
|
|
171
|
+
|
|
172
|
+
### ❌ Treating `mergeable: true` as approval
|
|
173
|
+
**Fix:** `mergeable` ≠ `mergeable_state`. Check the latter.
|
|
174
|
+
|
|
175
|
+
### ❌ Not re-checking comments after push
|
|
176
|
+
**Fix:** After every push, re-fetch comments for new threads
|
|
177
|
+
|
|
178
|
+
### ❌ Not marking threads resolved
|
|
179
|
+
**Fix:** After addressing each comment, mark thread resolved
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Quick Reference
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# Check PR status
|
|
187
|
+
gh pr status
|
|
188
|
+
|
|
189
|
+
# View checks
|
|
190
|
+
gh pr checks <number>
|
|
191
|
+
|
|
192
|
+
# View comments
|
|
193
|
+
gh pr view <number> --comments
|
|
194
|
+
|
|
195
|
+
# Merge (only when both gates pass)
|
|
196
|
+
gh pr merge <number> --merge
|
|
197
|
+
```
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow-quality-gate
|
|
3
|
+
description: >
|
|
4
|
+
Pre-release quality gate across red-team, security, bundle size,
|
|
5
|
+
performance, and unit tests. Use when "is this ready to ship?", "quality
|
|
6
|
+
gate", or "pre-release checklist". Working tree to a PR →
|
|
7
|
+
workflow-release-prep.
|
|
8
|
+
license: MIT
|
|
9
|
+
effort: high
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# workflow-quality-gate — Pre-Release Go/No-Go
|
|
13
|
+
|
|
14
|
+
**Degree of freedom: MIXED.** Verdict and severity `[HIGH freedom]`; gate
|
|
15
|
+
order, Critical pause, and report table `[LOW freedom — run exactly]`.
|
|
16
|
+
|
|
17
|
+
Run before any production release. Each skill contributes a specific defect
|
|
18
|
+
class. The combined result is a single verdict.
|
|
19
|
+
|
|
20
|
+
## How to reason
|
|
21
|
+
|
|
22
|
+
1. **Observe** — what did each gate actually return?
|
|
23
|
+
2. **Interpret** — blocker vs recommended; plan-only fork vs apply-now
|
|
24
|
+
3. **Classify** — GO / GO WITH CONDITIONS / NO-GO
|
|
25
|
+
4. **Severity** — any Critical, or 2+ High without a named mitigation, is NO-GO
|
|
26
|
+
|
|
27
|
+
## Worked example
|
|
28
|
+
|
|
29
|
+
> **Observe:** red-team finds unauthenticated `/api/export` dump; bundle 180 KB; LCP 2.1s; tests green.
|
|
30
|
+
> **Interpret:** export is Critical (data leak); later gates cannot make this a GO.
|
|
31
|
+
> **Classify:** NO-GO — pause after Gate 1 and ask fix-now vs continue-and-report.
|
|
32
|
+
> **Severity:** Critical outranks a clean bundle; do not paper it as GO WITH CONDITIONS.
|
|
33
|
+
|
|
34
|
+
## Self-critique before reporting
|
|
35
|
+
|
|
36
|
+
- **Gates in order** — an earlier Critical paused the remaining sweep or was explicitly continued
|
|
37
|
+
- **Verdict matches rubric** — Critical ⇒ NO-GO; 2+ High without owner+deadline ⇒ not GO
|
|
38
|
+
- **Plan-only honored** — user said plan-only ⇒ `plan-security-audit`, not `audit-security` fixes
|
|
39
|
+
- **Right owner** — dirty tree to a PR → `workflow-release-prep`; silent-bypass of CI → `audit-gate-logic`
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Gate sequence [LOW freedom — run exactly]
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
0. EXPLORE → test-exploratory (optional live probe: guest vs logged-in wander + diff)
|
|
47
|
+
1. RED-TEAM → test-red-team (adversarial: UX + pipeline + security + perf)
|
|
48
|
+
2. SECURITY → audit-security (static code review: OWASP, auth, RLS, secrets)
|
|
49
|
+
3. BUNDLE → audit-bundle-size (JS payload: lazy loading, tree-shaking, chunks)
|
|
50
|
+
4. PERFORMANCE→ audit-performance (Core Web Vitals, LCP, CLS, INP)
|
|
51
|
+
5. UNIT TESTS → test-unit (coverage gaps, regression suite green?)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Gate 0 is optional and does **not** replace Gate 1. Use it when the user asked to
|
|
55
|
+
wander / monkey-test / compare guest vs logged-in first. Run gates in order —
|
|
56
|
+
earlier gates often surface issues that make later gates redundant or change
|
|
57
|
+
their scope.
|
|
58
|
+
|
|
59
|
+
**Plan-only fork:** if the user asked for a burndown and no code changes,
|
|
60
|
+
replace Gate 2 with `plan-security-audit` (and `plan-rls-audit` /
|
|
61
|
+
`plan-secrets-audit` when those are the symptom). `audit-security` may
|
|
62
|
+
fix inline; do not use it when the user said plan-only.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Gate 1: Red team (read test-red-team) [HIGH freedom]
|
|
67
|
+
|
|
68
|
+
> Read the `test-red-team` skill and follow it.
|
|
69
|
+
|
|
70
|
+
Output: coverage matrix + severity-ranked defect list.
|
|
71
|
+
|
|
72
|
+
**Blocker for gates 2–5:** if any Critical defect is found in Gate 1, pause
|
|
73
|
+
and ask the user whether to fix it now or continue with the remaining gates.
|
|
74
|
+
Critical defects must be resolved before the verdict can be GO.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Gate 2: Security audit (read audit-security) [HIGH freedom]
|
|
79
|
+
|
|
80
|
+
> Read the `audit-security` skill and follow it.
|
|
81
|
+
|
|
82
|
+
Focus on static code patterns missed by the live red team:
|
|
83
|
+
- Secrets hardcoded in source
|
|
84
|
+
- RLS policies absent or misconfigured
|
|
85
|
+
- Input validation missing on server-side handlers
|
|
86
|
+
- Auth guards missing on API routes
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Gate 3: Bundle size (read audit-bundle-size) [HIGH freedom]
|
|
91
|
+
|
|
92
|
+
> Read the `audit-bundle-size` skill and follow it.
|
|
93
|
+
|
|
94
|
+
Threshold: first-load JS > 200 KB (gzip) is a Medium defect; > 400 KB is High.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Gate 4: Performance (read audit-performance) [HIGH freedom]
|
|
99
|
+
|
|
100
|
+
> Read the `audit-performance` skill and follow it.
|
|
101
|
+
|
|
102
|
+
Thresholds (Lighthouse mobile, simulated 4G):
|
|
103
|
+
- LCP > 4 s → High
|
|
104
|
+
- CLS > 0.25 → High
|
|
105
|
+
- INP > 500 ms → Medium
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Gate 5: Unit tests (read test-unit) [HIGH freedom]
|
|
110
|
+
|
|
111
|
+
> Read the `test-unit` skill and follow it.
|
|
112
|
+
|
|
113
|
+
Check: does the existing test suite pass? Are there obvious coverage gaps in
|
|
114
|
+
the code path that was changed for this release?
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Verdict format [LOW freedom — run exactly]
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
## Quality Gate Report — [App] — [Date]
|
|
122
|
+
|
|
123
|
+
### Verdict: GO / NO-GO / GO WITH CONDITIONS
|
|
124
|
+
|
|
125
|
+
### Blockers (must fix before release)
|
|
126
|
+
| # | Gate | Finding | Severity | File | Fix |
|
|
127
|
+
|---|------|---------|----------|------|-----|
|
|
128
|
+
|
|
129
|
+
### Recommended (fix soon, not blockers)
|
|
130
|
+
| # | Gate | Finding | Severity |
|
|
131
|
+
|---|------|---------|----------|
|
|
132
|
+
|
|
133
|
+
### Passed
|
|
134
|
+
- Gate 1 (Red team): [N] defects, [N] Critical, [N] High
|
|
135
|
+
- Gate 2 (Security): clean / [N issues]
|
|
136
|
+
- Gate 3 (Bundle): [X KB] first-load JS
|
|
137
|
+
- Gate 4 (Performance): LCP [X]s, CLS [X], INP [X]ms
|
|
138
|
+
- Gate 5 (Unit tests): [pass/fail], coverage [X%]
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**GO** = no Critical or High blockers, all gates passed
|
|
142
|
+
**GO WITH CONDITIONS** = High defects present but agreed to fix post-release with a named owner + deadline
|
|
143
|
+
**NO-GO** = any Critical defect, or 2+ High defects without mitigation plan
|
|
144
|
+
|
|
145
|
+
This skill *runs* the sweep. Whether those gates can be silently bypassed or
|
|
146
|
+
gamed is `audit-gate-logic`. Taking the local working tree to a merge-ready
|
|
147
|
+
PR is `workflow-release-prep`.
|