@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,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-capacitor-hardening
|
|
3
|
+
description: >
|
|
4
|
+
Plan-only Capacitor/Ionic native-layer security audit: WebView, token
|
|
5
|
+
storage, deep links, OAuth, cleartext traffic, exported activities. Use
|
|
6
|
+
when "is my Capacitor app secure?" or "harden my hybrid app". Store
|
|
7
|
+
readiness → plan-mobile-readiness.
|
|
8
|
+
license: MIT
|
|
9
|
+
effort: high
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Capacitor Native-Layer Hardening Audit + Remediation Plan
|
|
13
|
+
|
|
14
|
+
**Degree of freedom: HIGH** — native-layer inventory and plan. Stay
|
|
15
|
+
**plan-only**. No config, manifest, or code edits until approved.
|
|
16
|
+
|
|
17
|
+
## This skill vs neighbors
|
|
18
|
+
|
|
19
|
+
| Skill | Owns |
|
|
20
|
+
|---|---|
|
|
21
|
+
| **plan-capacitor-hardening** (this) | Native-layer / WebView security plan |
|
|
22
|
+
| `plan-mobile-readiness` | Store submission mechanics |
|
|
23
|
+
| `enhance-capacitor-ui` | Hybrid shell UI |
|
|
24
|
+
|
|
25
|
+
## How to reason (every plan item)
|
|
26
|
+
|
|
27
|
+
1. **Propose** — config, storage, deep-link, or WebView change
|
|
28
|
+
2. **Risk** — what a extracted APK or hijacked scheme actually exposes
|
|
29
|
+
3. **Keep-working** — native controls that already hold in production
|
|
30
|
+
4. **Phase** — prod-config leaks → tokens → auth → WebView → OTA (do not execute)
|
|
31
|
+
|
|
32
|
+
## Worked example
|
|
33
|
+
|
|
34
|
+
> **Propose:** `server.cleartext` and `webContentsDebuggingEnabled` false in prod; move auth tokens off Preferences onto Keychain/Keystore.
|
|
35
|
+
> **Risk:** release APK allows remote WebView inspect + plaintext token backup exfil.
|
|
36
|
+
> **Keep-working:** iOS ATS already blocks cleartext.
|
|
37
|
+
> **Phase:** Phase 1 — strip dev config from prod.
|
|
38
|
+
|
|
39
|
+
**Role:** Senior mobile security engineer (Capacitor / hybrid WebView surface).
|
|
40
|
+
|
|
41
|
+
**Task:** Inventory `capacitor.config`, native manifests, token storage, OAuth/deep-links,
|
|
42
|
+
and OTA setup against pillars 1–5; build config-vs-production table, phase remediations,
|
|
43
|
+
emit `plan-capacitor-hardening.md`. **Audit & plan only — no config, manifest, or code
|
|
44
|
+
edits until approved.**
|
|
45
|
+
|
|
46
|
+
**Audit the native layer the web view hides. Change nothing until approved.**
|
|
47
|
+
|
|
48
|
+
Capacitor's official guidance: audit **Data, Authentication/Deep-Linking, Network, and
|
|
49
|
+
WebView security** — "without proper care, major security issues can crop up which can
|
|
50
|
+
prove extremely damaging and expensive." Recurring vibe-coded failures: tokens in plaintext
|
|
51
|
+
`localStorage`/`Preferences`, dev config (`cleartext: true`, `webContentsDebuggingEnabled`,
|
|
52
|
+
broad `allowNavigation`) in production builds, OAuth on hijackable custom URL schemes, and
|
|
53
|
+
Android components left `exported`. **Every finding here is invisible to web-only review.**
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## When this fires
|
|
58
|
+
|
|
59
|
+
Trigger phrases: *"is my Capacitor app secure"*, *"harden my hybrid app"*,
|
|
60
|
+
*"WebView security"*, *"secure storage for tokens"*, *"deep link / OAuth security"*,
|
|
61
|
+
*"cleartext traffic"*, *"allowNavigation"*, *"exported activity"*, *"is my OTA update
|
|
62
|
+
safe"*, *"pre-store Capacitor hardening"*.
|
|
63
|
+
|
|
64
|
+
Do **not** fire for: UI polish (`enhance-capacitor-ui`), RN perf (`mobile-rn-performance`),
|
|
65
|
+
or store paperwork (`plan-mobile-readiness` — pairs with this). This owns the *native-layer
|
|
66
|
+
security surface*.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Why a dedicated skill
|
|
71
|
+
|
|
72
|
+
`plan-rls-audit`, `plan-secrets-audit`, and `plan-input-validation` cover backend/web.
|
|
73
|
+
None know `capacitor.config`, `AndroidManifest.xml`, `Info.plist`, the WebView bridge, or
|
|
74
|
+
Keychain/Keystore. Hybrid-native gaps are invisible if you only review web code.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## The audit — four pillars (+ OTA) [HIGH freedom]
|
|
79
|
+
|
|
80
|
+
### 1 · Data security
|
|
81
|
+
- **Secrets in the bundle** — API keys, tokens hardcoded in JS or build-time env injection.
|
|
82
|
+
Bundle is extractable; move secret-key ops server-side. → `plan-secrets-audit`
|
|
83
|
+
- **Plaintext token storage** — auth tokens in `localStorage`, `@capacitor/preferences`,
|
|
84
|
+
IndexedDB, plain SQLite. Wrong. Use memory-only or **iOS Keychain / Android Keystore**
|
|
85
|
+
(`@aparajita/capacitor-secure-storage`, `capacitor-secure-storage-plugin`; both fall back to
|
|
86
|
+
plain `localStorage` on web). Ionic Identity Vault: no new sales since 2025-02.
|
|
87
|
+
- **`allowBackup`** (Android) — `android:allowBackup="true"` exfiltrates app data via backups.
|
|
88
|
+
|
|
89
|
+
### 2 · Authentication & deep linking
|
|
90
|
+
- **Custom URL scheme OAuth** — `myapp://` not globally owned; malicious app can intercept.
|
|
91
|
+
- **No PKCE** — OAuth2 in native apps **must** use PKCE.
|
|
92
|
+
- **Custom scheme vs App/Universal Links** — prefer Universal Links (iOS) / App Links
|
|
93
|
+
(Android) with `assetlinks.json` / AASA. Note silent verification fallback to browser.
|
|
94
|
+
- **Exported Android components** — `exported=true` + `BROWSABLE` + no validation = common
|
|
95
|
+
deep-link compromise. Audit every `<intent-filter>`.
|
|
96
|
+
- **Deep-link input not validated** — URI params → `WebView.loadUrl`, file access, queries.
|
|
97
|
+
`startsWith` host checks inadequate.
|
|
98
|
+
|
|
99
|
+
### 3 · Network security
|
|
100
|
+
- **Non-HTTPS** — any `http://` in plaintext.
|
|
101
|
+
- **`cleartext: true`** in `capacitor.config` — dev/live-reload only; never production.
|
|
102
|
+
- **Missing `network_security_config`** (Android) — `usesCleartextTraffic="false"`; pinning
|
|
103
|
+
for high-assurance (note bypass risks).
|
|
104
|
+
|
|
105
|
+
### 4 · WebView security
|
|
106
|
+
- **No / weak CSP** — `Content-Security-Policy` meta tag scoping loads.
|
|
107
|
+
- **Broad `allowNavigation`** — untrusted hosts load with native bridge attached; scope to
|
|
108
|
+
trusted API origin(s). Note `getPlatform()` quirk on navigated URLs.
|
|
109
|
+
- **`webContentsDebuggingEnabled: true`** in production — remote inspection; gate to dev.
|
|
110
|
+
- **`addJavascriptInterface` / bridge exposure** — untrusted content + JS interface =
|
|
111
|
+
Critical RCE vector.
|
|
112
|
+
- **`setAllowFileAccess*` / `file://`**, `eval` on user input, insecure `postMessage`.
|
|
113
|
+
|
|
114
|
+
### 5 · OTA / live-update governance
|
|
115
|
+
- **Update channel integrity** — OTA bundles signed/encrypted; unauthenticated path = RCE.
|
|
116
|
+
- **Store-policy** — Google permits WebView updates; **Apple: OTA must not alter core
|
|
117
|
+
functionality** (App Store violation independent of security).
|
|
118
|
+
- **Rollback / kill switch** — can a bad update be reverted?
|
|
119
|
+
|
|
120
|
+
Severity aligned with Capsec (`@capgo/capgo-sec`) rules where applicable: CAP001–011,
|
|
121
|
+
AND001–010, and the SEC, STO, NET, IOS, AUTH, WEB, CRY, LOG and DBG families.
|
|
122
|
+
`npx @capgo/capgo-sec rules` lists the current set.
|
|
123
|
+
|
|
124
|
+
For each finding: location, gap, exposure, severity, remediation *direction*.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Procedure [HIGH freedom]
|
|
129
|
+
|
|
130
|
+
1. **Inventory.** Read `capacitor.config.*`, `AndroidManifest.xml`, `Info.plist`, network
|
|
131
|
+
configs, OAuth/deep-link setup, token storage. State what you couldn't see.
|
|
132
|
+
2. **Run pillars 1–5.** Tag **Critical** (bridge/`addJavascriptInterface` to untrusted
|
|
133
|
+
content, hardcoded signing key, plaintext secrets shipped), **High** (cleartext, broad
|
|
134
|
+
`allowNavigation`, exported component, custom-scheme OAuth w/o PKCE, plaintext tokens),
|
|
135
|
+
**Med** (debug flags, allowBackup, weak CSP), **Low** (logging nits).
|
|
136
|
+
3. **Config-vs-production table** — dev-only settings live in prod build.
|
|
137
|
+
4. **Phase** burndown. Production-config leaks and token storage first.
|
|
138
|
+
5. **Emit `plan-capacitor-hardening.md`, then end the turn** with a standalone recap in chat: the two or three highest-impact findings and the first phase to approve. The file is the deliverable — write it before the recap.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Guardrails [LOW freedom — run exactly]
|
|
143
|
+
|
|
144
|
+
- **Plan only.** No config, manifest, or storage migration edits.
|
|
145
|
+
- **"Works in the browser" hides all of this.** Say so explicitly.
|
|
146
|
+
- **Dev config is a production vulnerability.** `cleartext`, `webContentsDebuggingEnabled`,
|
|
147
|
+
broad `allowNavigation` must not ship.
|
|
148
|
+
- **In-memory or hardware-backed only** for tokens/keys — not `Preferences`/`localStorage`.
|
|
149
|
+
- **Universal/App Links + PKCE** for sensitive OAuth; custom scheme = High even if "works".
|
|
150
|
+
- **Cross-hand:** bundle secrets → `plan-secrets-audit`; deep-link validation →
|
|
151
|
+
`plan-input-validation`; submission → `plan-mobile-readiness`.
|
|
152
|
+
- **Minimal quoting** of config/manifest.
|
|
153
|
+
|
|
154
|
+
## Self-critique before the burndown [LOW freedom — do not skip]
|
|
155
|
+
|
|
156
|
+
1. **evidenced-not-assumed** — config/manifest path or storage API, not "hybrid apps are risky"
|
|
157
|
+
2. **plan-only** — no config, manifest, or storage migration this pass
|
|
158
|
+
3. **phase justified** — prod-config leaks and plaintext tokens before OTA polish
|
|
159
|
+
4. **right-owner** — bundle secrets → `plan-secrets-audit`; store paperwork → `plan-mobile-readiness`
|
|
160
|
+
5. **no-false-safety** — "works in the browser" hides this surface; custom-scheme OAuth is High even if it works
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Report template — `plan-capacitor-hardening.md`
|
|
165
|
+
|
|
166
|
+
```markdown
|
|
167
|
+
# Capacitor Native-Layer Hardening Audit — <app>
|
|
168
|
+
|
|
169
|
+
_Audit-only. Native security. Nothing changes until each phase is approved._
|
|
170
|
+
_These findings are invisible to web-only review._
|
|
171
|
+
|
|
172
|
+
## Scope
|
|
173
|
+
- Inspected: capacitor.config ☐ AndroidManifest ☐ Info.plist ☐ token storage ☐ OAuth ☐ OTA ☐
|
|
174
|
+
- Platforms: iOS ☐ Android ☐ | Assumptions: …
|
|
175
|
+
|
|
176
|
+
## Dev-config-in-production
|
|
177
|
+
| Setting | Prod value | Risk | Direction |
|
|
178
|
+
|---------|------------|------|-----------|
|
|
179
|
+
| server.cleartext | true | plaintext HTTP | false |
|
|
180
|
+
| webContentsDebuggingEnabled | true | remote inspection | dev-only |
|
|
181
|
+
| server.allowNavigation | ["*"] | bridge on untrusted origin | scope to API |
|
|
182
|
+
|
|
183
|
+
## Verdict
|
|
184
|
+
| Pillar | Crit | High | Med | Worst item |
|
|
185
|
+
|--------|------|------|-----|-----------|
|
|
186
|
+
| Data | n | n | n | tokens in localStorage |
|
|
187
|
+
| Auth/Deep-link | n | n | n | custom-scheme OAuth, no PKCE |
|
|
188
|
+
| Network | n | n | n | cleartext enabled |
|
|
189
|
+
| WebView | n | n | n | bridge exposed |
|
|
190
|
+
| OTA | n | n | n | unsigned channel |
|
|
191
|
+
|
|
192
|
+
## Findings
|
|
193
|
+
| # | Pillar | Location | Gap | Sev | Direction |
|
|
194
|
+
|---|--------|----------|-----|-----|-----------|
|
|
195
|
+
|
|
196
|
+
## Phased burndown
|
|
197
|
+
- **Phase 1 — Strip dev config from prod** → `mobile-capacitor-platform`
|
|
198
|
+
- **Phase 2 — Secure token storage** → `mobile-capacitor-platform` / `plan-secrets-audit`
|
|
199
|
+
- **Phase 3 — Auth & deep-link** → PKCE, App/Universal Links, exported review
|
|
200
|
+
- **Phase 4 — WebView & network** → CSP, network_security_config, bridge exposure
|
|
201
|
+
- **Phase 5 — OTA governance** → sign channel, store-policy, rollback
|
|
202
|
+
|
|
203
|
+
## Execution handoff
|
|
204
|
+
Re-audit native files after each phase; verify secure storage + deep-links on real devices.
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Chains with
|
|
210
|
+
|
|
211
|
+
- **Launch gates** — run with `plan-mobile-readiness` before store submit.
|
|
212
|
+
- **`plan-secrets-audit`** — bundle secrets cross-hand.
|
|
213
|
+
- **`plan-input-validation`** — deep-link / WebView input validation cross-hand.
|
|
214
|
+
- **Execution:** `mobile-capacitor-platform`, `backend-patterns`, `mobile-emulator-test`.
|
|
215
|
+
- **Verify:** real-device secure storage + deep-link test; no dev config in release build.
|
|
216
|
+
|
|
217
|
+
> Planned at high effort; executed at the default effort under the approved-plan execution rule (`approved-plan-execution.mdc`), which forbids reward hacking and feature deletion on any model.
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-data-integrity
|
|
3
|
+
description: >
|
|
4
|
+
Plan-only audit of destructive-operation and migration safety. Use when "is
|
|
5
|
+
my migration safe", "could I lose data", or "my agent might delete prod".
|
|
6
|
+
Restore drills, RPO/RTO → plan-backup-dr. Code transforms →
|
|
7
|
+
audit-codemod-safety.
|
|
8
|
+
license: MIT
|
|
9
|
+
effort: high
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Data-Integrity & Destructive-Op Audit + Safeguard Plan
|
|
13
|
+
|
|
14
|
+
**Degree of freedom: HIGH** — map wipe paths, score irreversibility, emit a plan.
|
|
15
|
+
Stay **plan-only**. No migrations, tokens, or destructive commands until approved.
|
|
16
|
+
|
|
17
|
+
**Role:** Senior platform engineer (destructive-op + migration safety).
|
|
18
|
+
|
|
19
|
+
**Task:** Map every path to irreversible data loss, score by irreversibility × reach,
|
|
20
|
+
phase structural safeguards, emit `plan-data-integrity.md`. **Audit & plan only — no
|
|
21
|
+
migrations, tokens, or destructive commands until each phase is approved.**
|
|
22
|
+
|
|
23
|
+
**Find what could wipe prod. Gate it. Change nothing until approved.**
|
|
24
|
+
|
|
25
|
+
## This skill vs neighbors
|
|
26
|
+
|
|
27
|
+
| Skill | Owns |
|
|
28
|
+
|---|---|
|
|
29
|
+
| **plan-data-integrity** (this) | Prevent irreversible loss — unguarded deletes, unsafe migrations, backups the agent can also wipe |
|
|
30
|
+
| `plan-backup-dr` | Can you restore? RPO/RTO, drill evidence |
|
|
31
|
+
| `audit-db-schema` | Schema design quality |
|
|
32
|
+
| `plan-rls-audit` | Who can read/write which rows |
|
|
33
|
+
|
|
34
|
+
## How to reason (every plan item)
|
|
35
|
+
|
|
36
|
+
1. **Propose** — gate, blast-radius split, backfill-before-drop, or token scope
|
|
37
|
+
2. **Risk** — irreversible prod loss, including backups the same identity can wipe
|
|
38
|
+
3. **Keep-working** — already-gated, transactional, isolated paths
|
|
39
|
+
4. **Phase** — Gates & isolation → Migration safety → Backup blast-radius → Least-privilege (do not execute)
|
|
40
|
+
|
|
41
|
+
## Worked example
|
|
42
|
+
|
|
43
|
+
> **Propose:** scope the agent token to non-destructive; move backups off the prod volume; split `0007_drop_legacy.sql` into backfill → verify → drop.
|
|
44
|
+
> **Risk:** same identity can `DROP` prod *and* the backups — restore is theater.
|
|
45
|
+
> **Keep-working:** additive migrations already wrap in a transaction.
|
|
46
|
+
> **Phase:** Phase 1 — Gates & isolation (Critical).
|
|
47
|
+
> **Restore proof:** `plan-backup-dr`, never this skill.
|
|
48
|
+
|
|
49
|
+
In a widely reported 2026 incident, an AI agent deleted a startup's entire production
|
|
50
|
+
database — *and every backup* — in seconds. Four structural failures: **overprivileged
|
|
51
|
+
tokens**, **shared blast radius** (backups on same volume as prod), **no environment
|
|
52
|
+
isolation**, **no destructive-action gate**. Written rules were ignored. Soft prompt-rules
|
|
53
|
+
are not a control; the guardrail must be a *system boundary*.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## When this fires
|
|
58
|
+
|
|
59
|
+
Trigger phrases: *"is this migration safe"*, *"could I lose data"*,
|
|
60
|
+
*"destructive operations"*, *"my agent might nuke prod"*, *"safe schema
|
|
61
|
+
change"*, *"pre-launch data safety"*.
|
|
62
|
+
|
|
63
|
+
Do **not** fire for: query speed (`backend-db-performance`), RLS access
|
|
64
|
+
(`plan-rls-audit`), schema *design* (`audit-db-schema`), or *"can we restore /
|
|
65
|
+
what's our RPO / disaster recovery"* → `plan-backup-dr`. This skill owns
|
|
66
|
+
*preventing* irreversible loss; that skill owns *recovering* after one.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Why a dedicated skill
|
|
71
|
+
|
|
72
|
+
The `db-migrator` subagent *executes* migrations; this *audits the safety net*
|
|
73
|
+
before you trust automated execution. Distinct from `audit-db-schema` — here the
|
|
74
|
+
only question is: *"what here could destroy data, and what stops it?"*
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## The audit [HIGH freedom]
|
|
79
|
+
|
|
80
|
+
### A · Destructive operations in code & migrations
|
|
81
|
+
- **Unguarded `DELETE` / `UPDATE` without `WHERE`** — or WHERE that matches all.
|
|
82
|
+
- **`TRUNCATE`, `DROP TABLE`, `DROP COLUMN`** in migrations — confirm intent.
|
|
83
|
+
- **Column drops/renames without backfill** — silent data loss.
|
|
84
|
+
- **Cascade reach** — `ON DELETE CASCADE` further than intended.
|
|
85
|
+
- **Destructive verbs in agent/CI scope** — `drop`, `truncate`, `destroy`, `rm -rf`.
|
|
86
|
+
|
|
87
|
+
### B · Migration discipline
|
|
88
|
+
- **No transaction wrapping** — half-applied migrations.
|
|
89
|
+
- **No down/rollback path.**
|
|
90
|
+
- **Run straight against prod** — no staging dry-run.
|
|
91
|
+
- **Supabase specifics** — prod-linked CLI without branch/preview check.
|
|
92
|
+
|
|
93
|
+
### C · Backup blast radius (prevent-wipe only)
|
|
94
|
+
- **Backups in the same blast radius** as production — same credentials can delete both.
|
|
95
|
+
- Hand restore drills, RPO/RTO, and "can we recover" to `plan-backup-dr`. This
|
|
96
|
+
section only asks: can the same identity that wipes prod also wipe the backups?
|
|
97
|
+
|
|
98
|
+
### D · Privilege & isolation (least privilege)
|
|
99
|
+
- **Overprivileged tokens** — destructive scope when only read/narrow write needed.
|
|
100
|
+
- **No environment isolation** — staging reaches prod; shared connection strings.
|
|
101
|
+
- **Production reachable from agent context** — top finding regardless of prompts.
|
|
102
|
+
|
|
103
|
+
### E · Confirmation gates
|
|
104
|
+
- **No out-of-band gate** on destructive ops — must be system boundary (RBAC/
|
|
105
|
+
approval), not prompt text.
|
|
106
|
+
- **No kill switch / audit log** for agent operations.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Procedure [HIGH freedom — plan only]
|
|
111
|
+
|
|
112
|
+
1. **Inventory destructive surface.** Migrations, SQL, scripts, agent/CI scopes.
|
|
113
|
+
2. **Trace each to impact.** Reversible? gated? backed up outside blast radius?
|
|
114
|
+
3. **Score.** "Agent can delete prod, backups share volume" = Critical, top of list.
|
|
115
|
+
4. **Phase** — gates and blast-radius separation first.
|
|
116
|
+
5. **Emit `plan-data-integrity.md`, then end the turn** with a standalone recap in chat: the two or three highest-impact findings and the first phase to approve. The file is the deliverable — write it before the recap. **Do not edit anything.**
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Guardrails
|
|
121
|
+
|
|
122
|
+
- **Plan only.** No migration edits, token changes, backup config, and **never run
|
|
123
|
+
destructive commands to "verify".**
|
|
124
|
+
- **System boundaries over prompt-rules.** Recommend structural gates, not more
|
|
125
|
+
agent instructions.
|
|
126
|
+
- **Least privilege is the cheapest win.**
|
|
127
|
+
- **Backups outside the blast radius or they don't count.**
|
|
128
|
+
- **Backfill before drop.** One-step column drops on populated data = data loss.
|
|
129
|
+
|
|
130
|
+
## Self-critique before the burndown [LOW freedom — do not skip]
|
|
131
|
+
|
|
132
|
+
1. **evidenced-not-assumed** — every wipe path cites a migration, script, or token scope
|
|
133
|
+
2. **plan-only** — no SQL, no token edits, **never** a destructive "verify"
|
|
134
|
+
3. **severity/phase justified** — agent-can-wipe-prod-and-backups is Critical, top of list
|
|
135
|
+
4. **right-owner** — RPO/RTO/restore drill → `plan-backup-dr`; who-can-read-rows → `plan-rls-audit`; key rotation → `plan-secrets-audit`
|
|
136
|
+
5. **no-false-safety** — prompt-rules are not a gate; backups in the same blast radius do not count
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Report template — `plan-data-integrity.md`
|
|
141
|
+
|
|
142
|
+
```markdown
|
|
143
|
+
# Data-Integrity & Destructive-Op Audit — <repo>
|
|
144
|
+
|
|
145
|
+
_Audit-only. No migration, token, or backup config changes until approved._
|
|
146
|
+
_No destructive command is run for any reason._
|
|
147
|
+
|
|
148
|
+
## Scope
|
|
149
|
+
- Audited: migrations ☐ SQL/scripts ☐ agent/CI token scopes ☐ backup config ☐
|
|
150
|
+
- Stack: Supabase ☐ Railway ☐ Vercel ☐ AWS ☐ | Assumptions: …
|
|
151
|
+
|
|
152
|
+
## Verdict
|
|
153
|
+
| Severity | Count | Worst case |
|
|
154
|
+
|----------|-------|-----------|
|
|
155
|
+
| Critical | n | irreversible prod loss, no gate, backups in blast radius |
|
|
156
|
+
| High | n | unbackfilled drop, over-scoped token |
|
|
157
|
+
| Medium | n | no rollback path |
|
|
158
|
+
|
|
159
|
+
## Findings
|
|
160
|
+
| # | Operation / location | Data at risk | Reversible? | Gated? | Sev | Direction |
|
|
161
|
+
|---|----------------------|--------------|-------------|--------|-----|-----------|
|
|
162
|
+
| D1 | agent token scope | all prod tables | no | no | Crit | scope token; read-only default; approval gate |
|
|
163
|
+
| D2 | backups on prod volume | all backups | no | no | Crit | move backups to isolated/immutable store |
|
|
164
|
+
| D3 | 0007_drop_legacy.sql | users.legacy_id | no | no | High | backfill→verify→drop in separate migration |
|
|
165
|
+
|
|
166
|
+
## Phased burndown
|
|
167
|
+
- **Phase 1 — Gates & isolation** → infra/RBAC config — D1, D2 (make catastrophe impossible)
|
|
168
|
+
- **Phase 2 — Migration safety** → `db-migrator` — backfill steps, transactions, rollbacks
|
|
169
|
+
- **Phase 3 — Backup blast-radius gates** → isolate backups from the agent identity; restore drills / RPO stay on `plan-backup-dr`
|
|
170
|
+
- **Phase 4 — Least-privilege sweep** → infra + `plan-secrets-audit` — token scoping
|
|
171
|
+
|
|
172
|
+
## Execution handoff
|
|
173
|
+
Approve a phase to run it. Confirm the agent identity cannot delete backups.
|
|
174
|
+
Restore proof is `plan-backup-dr`, never this skill.
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Chains with
|
|
180
|
+
|
|
181
|
+
- **Security spine** — blast-radius layer (**this skill**); cross-hand tokens to
|
|
182
|
+
`plan-secrets-audit`. Recoverability → `plan-backup-dr`.
|
|
183
|
+
- **Source transforms** (jscodeshift / find-replace / AI bulk edit) → `audit-codemod-safety`.
|
|
184
|
+
- **Execution:** `db-migrator`, `backend-patterns`, infra config, `create-hook`.
|
|
185
|
+
- **Verify:** confirm agent token can't reach prod; restore proof lives on `plan-backup-dr`.
|
|
186
|
+
|
|
187
|
+
> Planned at high effort; executed at the default effort under the approved-plan execution rule (`approved-plan-execution.mdc`). Highest-stakes plan in the set — the plan says *what* can destroy data; the rule forbids the agent from doing it autonomously, on any model.
|