@kensaurus/skills 0.0.0-stage → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +53 -0
- package/.claude-plugin/plugin.json +40 -0
- package/.cursor-plugin/plugin.json +38 -0
- package/.mcp.json +28 -0
- package/CHANGELOG.md +1790 -0
- package/LICENSE +21 -0
- package/LICENSE-APACHE +62 -0
- package/NOTICE +13 -0
- package/README.md +821 -2
- package/SECURITY.md +55 -0
- package/agents/code-reviewer.md +60 -0
- package/agents/completion-judge.md +89 -0
- package/agents/db-migrator.md +125 -0
- package/agents/debugger.md +47 -0
- package/agents/deploy-checker.md +100 -0
- package/agents/perf-monitor.md +74 -0
- package/assets/favicon.png +0 -0
- package/assets/logo-light.png +0 -0
- package/assets/logo.png +0 -0
- package/assets/logo.svg +6 -0
- package/assets/og.png +0 -0
- package/bin/install.mjs +1127 -0
- package/bin/kenji.js +2 -0
- package/commands/adr.md +17 -0
- package/commands/aeo-plan.md +18 -0
- package/commands/arch-boundaries.md +17 -0
- package/commands/aso-plan.md +18 -0
- package/commands/auth-flows.md +19 -0
- package/commands/backup-plan.md +17 -0
- package/commands/burndown-full.md +25 -0
- package/commands/capacitor-plan.md +18 -0
- package/commands/codemod-safety.md +22 -0
- package/commands/commit.md +18 -0
- package/commands/complete-everything.md +40 -0
- package/commands/cost-plan.md +19 -0
- package/commands/deadcode-plan.md +26 -0
- package/commands/deadcode.md +32 -0
- package/commands/debug-issue.md +17 -0
- package/commands/deps-plan.md +18 -0
- package/commands/docs-plan.md +17 -0
- package/commands/doctrine.md +19 -0
- package/commands/error-plan.md +19 -0
- package/commands/feedback-to-closure.md +36 -0
- package/commands/fix-issue.md +76 -0
- package/commands/gate-logic.md +26 -0
- package/commands/green-repo.md +36 -0
- package/commands/grill-me.md +19 -0
- package/commands/gtm-plan.md +21 -0
- package/commands/gtm-weekly.md +17 -0
- package/commands/gtm.md +22 -0
- package/commands/handoff.md +15 -0
- package/commands/housekeep-backlog.md +18 -0
- package/commands/housekeep-files.md +22 -0
- package/commands/housekeep-gates.md +18 -0
- package/commands/instant-nav.md +11 -0
- package/commands/integrity-plan.md +19 -0
- package/commands/launch-kit.md +16 -0
- package/commands/mcp-guide.md +40 -0
- package/commands/mobile-plan.md +19 -0
- package/commands/native-rn-monorepo/README.md +78 -0
- package/commands/native-rn-monorepo/android-build.md +26 -0
- package/commands/native-rn-monorepo/android-install.md +32 -0
- package/commands/native-rn-monorepo/android-logcat.md +37 -0
- package/commands/native-rn-monorepo/ios-ci-logs.md +56 -0
- package/commands/native-rn-monorepo/ios-ci-status.md +52 -0
- package/commands/native-rn-monorepo/ios-ci-trigger.md +59 -0
- package/commands/native-rn-monorepo/rn-reset.md +50 -0
- package/commands/native-rn-monorepo/rn-ship-ios.md +67 -0
- package/commands/native-rn-monorepo/rn-verify.md +53 -0
- package/commands/perf-plan.md +18 -0
- package/commands/plan-mode.md +74 -0
- package/commands/pr.md +16 -0
- package/commands/pricing-plan.md +20 -0
- package/commands/privacy-plan.md +18 -0
- package/commands/readability.md +12 -0
- package/commands/readme.md +15 -0
- package/commands/refactor.md +15 -0
- package/commands/release-prep.md +17 -0
- package/commands/research.md +25 -0
- package/commands/responsive-audit.md +21 -0
- package/commands/review-code.md +18 -0
- package/commands/rls-plan.md +18 -0
- package/commands/secrets-plan.md +18 -0
- package/commands/security-plan.md +19 -0
- package/commands/ship-and-observe.md +36 -0
- package/commands/skill-conflicts.md +19 -0
- package/commands/slop-plan.md +18 -0
- package/commands/stub-plan.md +18 -0
- package/commands/test-mutation.md +16 -0
- package/commands/test-plan.md +17 -0
- package/commands/test.md +29 -0
- package/commands/thirdparty-web-interface-guidelines.md +185 -0
- package/commands/uiux-plan.md +18 -0
- package/commands/uiux.md +45 -0
- package/commands/update-deps.md +21 -0
- package/commands/validation-plan.md +19 -0
- package/commands-portable/fix-issue.md +72 -0
- package/commands-portable/plan-mode.md +92 -0
- package/commands-portable/research.md +91 -0
- package/docs/screenshots/README.md +5 -0
- package/docs/screenshots/audit-dark.png +0 -0
- package/docs/screenshots/build-dark.png +0 -0
- package/docs/screenshots/grill-dark.png +0 -0
- package/docs/screenshots/hero-dark.png +0 -0
- package/docs/screenshots/hero-light.png +0 -0
- package/docs/screenshots/ship-dark.png +0 -0
- package/docs/screenshots/src/showcase.html +320 -0
- package/hooks/completion-gate.mjs +258 -0
- package/hooks/cursor-hooks.json +13 -0
- package/hooks/hooks.json +15 -0
- package/install.sh +21 -0
- package/llms.txt +40 -0
- package/mcp/README.md +266 -0
- package/mcp/VERSIONS.md +41 -0
- package/mcp/mcp-full.json.template +124 -0
- package/mcp/mcp.json.template +29 -0
- package/mcp/pinned-versions.json +27 -0
- package/package.json +94 -4
- package/rules/approved-plan-execution.mdc +65 -0
- package/rules/full-stack-ship-discipline.mdc +37 -0
- package/rules/native-rn-monorepo/README.md +63 -0
- package/rules/native-rn-monorepo/_project.mdc +69 -0
- package/rules/native-rn-monorepo/native-android.mdc +72 -0
- package/rules/native-rn-monorepo/native-ios.mdc +61 -0
- package/rules/native-rn-monorepo/react-native-js.mdc +78 -0
- package/rules/native-rn-monorepo/web.mdc +60 -0
- package/rules/project-starter/components.mdc +54 -0
- package/rules/project-starter/data-fetching.mdc +77 -0
- package/rules/project-starter/git.mdc +41 -0
- package/rules/project-starter/supabase.mdc +37 -0
- package/rules/project-starter/tailwind.mdc +48 -0
- package/rules/project-starter/typescript.mdc +36 -0
- package/rules/project-starter/web-performance.mdc +42 -0
- package/rules/senior-engineer.mdc +30 -0
- package/rules/shell-first-search.mdc +19 -0
- package/rules/skill-workflows.mdc +35 -0
- package/rules/verification-before-completion.mdc +57 -0
- package/skills/audit-accessibility/SKILL.md +441 -0
- package/skills/audit-agent-speed/SKILL.md +181 -0
- package/skills/audit-agent-speed/scripts/stop-typecheck.mjs +151 -0
- package/skills/audit-analytics/SKILL.md +138 -0
- package/skills/audit-auth-flows/SKILL.md +267 -0
- package/skills/audit-backend-architecture/SKILL.md +266 -0
- package/skills/audit-backend-architecture/references/patterns.md +386 -0
- package/skills/audit-bundle-size/SKILL.md +295 -0
- package/skills/audit-cicd/SKILL.md +218 -0
- package/skills/audit-code-quality/SKILL.md +314 -0
- package/skills/audit-code-review/SKILL.md +289 -0
- package/skills/audit-codemod-safety/SKILL.md +159 -0
- package/skills/audit-db-schema/SKILL.md +465 -0
- package/skills/audit-db-schema/references/details.md +110 -0
- package/skills/audit-doctrine/SKILL.md +189 -0
- package/skills/audit-env-parity/SKILL.md +133 -0
- package/skills/audit-fe-api/SKILL.md +458 -0
- package/skills/audit-gate-logic/SKILL.md +219 -0
- package/skills/audit-i18n/SKILL.md +339 -0
- package/skills/audit-infra-cost/SKILL.md +142 -0
- package/skills/audit-langfuse-llm/SKILL.md +468 -0
- package/skills/audit-langfuse-llm/references/details.md +226 -0
- package/skills/audit-llm-security/SKILL.md +147 -0
- package/skills/audit-monetization-iap/SKILL.md +137 -0
- package/skills/audit-payment-system/SKILL.md +268 -0
- package/skills/audit-payment-system/references/checklist.md +283 -0
- package/skills/audit-performance/SKILL.md +383 -0
- package/skills/audit-performance/references/loading-priority-2026.md +81 -0
- package/skills/audit-realworld/SKILL.md +287 -0
- package/skills/audit-registry-listing/SKILL.md +122 -0
- package/skills/audit-resilience/SKILL.md +153 -0
- package/skills/audit-responsive/SKILL.md +221 -0
- package/skills/audit-responsive/references/checklist.md +166 -0
- package/skills/audit-security/SKILL.md +289 -0
- package/skills/audit-skill-conflicts/SKILL.md +178 -0
- package/skills/audit-ui-states/SKILL.md +146 -0
- package/skills/audit-uiux-design-system/SKILL.md +475 -0
- package/skills/audit-uiux-design-system/references/details.md +71 -0
- package/skills/audit-ux/SKILL.md +381 -0
- package/skills/audit-ux/references/details.md +245 -0
- package/skills/audit-ux-journeys/SKILL.md +215 -0
- package/skills/audit-ux-journeys/references/checklist.md +179 -0
- package/skills/backend-db-performance/SKILL.md +441 -0
- package/skills/backend-error-handling/SKILL.md +489 -0
- package/skills/backend-error-handling/references/details.md +58 -0
- package/skills/backend-observability/SKILL.md +88 -0
- package/skills/backend-patterns/SKILL.md +499 -0
- package/skills/backend-patterns/references/architecture-patterns.md +298 -0
- package/skills/backend-realtime/SKILL.md +403 -0
- package/skills/backend-realtime/references/patterns.md +74 -0
- package/skills/burndown-full/SKILL.md +174 -0
- package/skills/complete-everything/SKILL.md +295 -0
- package/skills/data-pipeline/SKILL.md +109 -0
- package/skills/data-visualization/SKILL.md +488 -0
- package/skills/debug-error/SKILL.md +322 -0
- package/skills/debug-fe-be-integration/SKILL.md +459 -0
- package/skills/debug-sentry-monitor/SKILL.md +497 -0
- package/skills/debug-sentry-monitor/references/details.md +165 -0
- package/skills/deploy-npm/SKILL.md +394 -0
- package/skills/deploy-npm/references/example-mushi-mushi.md +52 -0
- package/skills/deploy-verify/SKILL.md +489 -0
- package/skills/design-api/SKILL.md +379 -0
- package/skills/design-canvas/SKILL.md +155 -0
- package/skills/design-email/SKILL.md +370 -0
- package/skills/design-frontend/SKILL.md +143 -0
- package/skills/design-generative-art/SKILL.md +474 -0
- package/skills/design-mobile-first/SKILL.md +506 -0
- package/skills/design-motion/SKILL.md +333 -0
- package/skills/design-motion/references/delight-interactions.md +191 -0
- package/skills/design-prd/SKILL.md +443 -0
- package/skills/design-system/SKILL.md +457 -0
- package/skills/design-theme/SKILL.md +226 -0
- package/skills/design-theme/themes/tsumagoi-ranch.md +150 -0
- package/skills/docs-adr/SKILL.md +168 -0
- package/skills/docs-coauthor/SKILL.md +368 -0
- package/skills/docs-comparison-pages/SKILL.md +117 -0
- package/skills/docs-domain-modeling/SKILL.md +97 -0
- package/skills/docs-launch-kit/SKILL.md +139 -0
- package/skills/docs-writer/SKILL.md +469 -0
- package/skills/enhance-agent-guardrails/SKILL.md +164 -0
- package/skills/enhance-arch-boundaries/SKILL.md +154 -0
- package/skills/enhance-capacitor-ui/SKILL.md +463 -0
- package/skills/enhance-capacitor-ui/references/details.md +750 -0
- package/skills/enhance-email-deliverability/SKILL.md +143 -0
- package/skills/enhance-growth-loops/SKILL.md +122 -0
- package/skills/enhance-lifecycle-email/SKILL.md +130 -0
- package/skills/enhance-motion/SKILL.md +193 -0
- package/skills/enhance-onboarding/SKILL.md +148 -0
- package/skills/enhance-pwa/SKILL.md +303 -0
- package/skills/enhance-readability/SKILL.md +146 -0
- package/skills/enhance-readme/SKILL.md +496 -0
- package/skills/enhance-readme/package-lock.json +187 -0
- package/skills/enhance-readme/package.json +17 -0
- package/skills/enhance-readme/scripts/generate-readme-blocks.mjs +199 -0
- package/skills/enhance-readme/scripts/record-readme-tour.mjs +442 -0
- package/skills/enhance-skill-prompts/SKILL.md +167 -0
- package/skills/enhance-skill-prompts/references/exemplar-audit-auth-flows.md +311 -0
- package/skills/enhance-ux-laws/SKILL.md +409 -0
- package/skills/enhance-web-conversion/SKILL.md +155 -0
- package/skills/enhance-web-forms/SKILL.md +154 -0
- package/skills/enhance-web-instant-nav/SKILL.md +138 -0
- package/skills/enhance-web-instant-nav/references/bfcache-blockers.md +23 -0
- package/skills/enhance-web-instant-nav/references/early-hints.md +33 -0
- package/skills/enhance-web-instant-nav/references/speculation-rules.md +44 -0
- package/skills/enhance-web-landing/SKILL.md +459 -0
- package/skills/enhance-web-landing/references/details.md +773 -0
- package/skills/enhance-web-redesign/SKILL.md +228 -0
- package/skills/enhance-web-seo/SKILL.md +276 -0
- package/skills/enhance-web-ui/SKILL.md +473 -0
- package/skills/enhance-web-ui/references/details.md +674 -0
- package/skills/enhance-web-ux/HEURISTICS.md +248 -0
- package/skills/enhance-web-ux/PATTERNS.md +375 -0
- package/skills/enhance-web-ux/SKILL.md +464 -0
- package/skills/enhance-web-ux/examples.md +222 -0
- package/skills/enhance-web-ux/references/details.md +406 -0
- package/skills/enhance-web-web3d/SKILL.md +397 -0
- package/skills/enhance-web-web3d/references/css-canvas-effects.md +180 -0
- package/skills/handoff/SKILL.md +66 -0
- package/skills/housekeep-backlog/SKILL.md +149 -0
- package/skills/housekeep-dead-code/SKILL.md +387 -0
- package/skills/housekeep-dead-code/references/ratchet-ci.md +205 -0
- package/skills/housekeep-dead-code/references/supabase-hygiene.md +152 -0
- package/skills/housekeep-design/SKILL.md +207 -0
- package/skills/housekeep-files/SKILL.md +220 -0
- package/skills/housekeep-files/references/naming-and-catalog.md +86 -0
- package/skills/housekeep-files/scripts/housekeep-files.ps1 +360 -0
- package/skills/housekeep-files/scripts/housekeep-files.sh +238 -0
- package/skills/housekeep-gates/SKILL.md +174 -0
- package/skills/iterate-agent-harness/SKILL.md +137 -0
- package/skills/iterate-gtm-weekly/SKILL.md +103 -0
- package/skills/iterate-post-launch/SKILL.md +292 -0
- package/skills/meta-mcp-builder/SKILL.md +313 -0
- package/skills/meta-skill-creator/SKILL.md +304 -0
- package/skills/mobile-capacitor-platform/SKILL.md +103 -0
- package/skills/mobile-emulator-start/SKILL.md +296 -0
- package/skills/mobile-emulator-test/SKILL.md +491 -0
- package/skills/mobile-emulator-test/references/details.md +478 -0
- package/skills/mobile-rn-performance/SKILL.md +107 -0
- package/skills/mobile-rn-screen/SKILL.md +476 -0
- package/skills/mobile-rn-screen/references/details.md +785 -0
- package/skills/mushi-health/SKILL.md +206 -0
- package/skills/mushi-integration/SKILL.md +257 -0
- package/skills/plan-aeo-readiness/SKILL.md +166 -0
- package/skills/plan-antislop/SKILL.md +281 -0
- package/skills/plan-aso/SKILL.md +149 -0
- package/skills/plan-backup-dr/SKILL.md +131 -0
- package/skills/plan-capacitor-hardening/SKILL.md +217 -0
- package/skills/plan-data-integrity/SKILL.md +187 -0
- package/skills/plan-dead-code/SKILL.md +386 -0
- package/skills/plan-dead-code/references/knip-config.md +214 -0
- package/skills/plan-dead-code/references/output-templates.md +133 -0
- package/skills/plan-dead-code/references/preservation-contract.md +50 -0
- package/skills/plan-dead-code/references/residue-greps.md +84 -0
- package/skills/plan-dependency-provenance/SKILL.md +200 -0
- package/skills/plan-docs-sync/SKILL.md +143 -0
- package/skills/plan-docs-sync/references/drift-taxonomy.md +43 -0
- package/skills/plan-docs-sync/references/output-templates.md +33 -0
- package/skills/plan-docs-sync/references/preservation-contract.md +17 -0
- package/skills/plan-error-handling/SKILL.md +205 -0
- package/skills/plan-gtm/SKILL.md +276 -0
- package/skills/plan-gtm/references/benchmarks-2026.md +183 -0
- package/skills/plan-input-validation/SKILL.md +179 -0
- package/skills/plan-llm-cost-guardrails/SKILL.md +176 -0
- package/skills/plan-mobile-readiness/SKILL.md +171 -0
- package/skills/plan-perf-audit/SKILL.md +145 -0
- package/skills/plan-perf-audit/references/audit-scope.md +51 -0
- package/skills/plan-perf-audit/references/output-templates.md +33 -0
- package/skills/plan-perf-audit/references/preservation-contract.md +13 -0
- package/skills/plan-pricing/SKILL.md +173 -0
- package/skills/plan-privacy-compliance/SKILL.md +148 -0
- package/skills/plan-rls-audit/SKILL.md +231 -0
- package/skills/plan-secrets-audit/SKILL.md +181 -0
- package/skills/plan-security-audit/SKILL.md +168 -0
- package/skills/plan-security-audit/references/output-templates.md +36 -0
- package/skills/plan-security-audit/references/owasp-supabase-scope.md +55 -0
- package/skills/plan-security-audit/references/preservation-contract.md +18 -0
- package/skills/plan-stub-checker/SKILL.md +216 -0
- package/skills/plan-stub-checker/references/detection-methodology.md +75 -0
- package/skills/plan-stub-checker/references/detection-taxonomy.md +34 -0
- package/skills/plan-stub-checker/references/output-templates.md +63 -0
- package/skills/plan-stub-checker/references/preservation-contract.md +24 -0
- package/skills/plan-test-coverage/SKILL.md +170 -0
- package/skills/plan-test-coverage/references/methodology.md +54 -0
- package/skills/plan-test-coverage/references/output-templates.md +34 -0
- package/skills/plan-test-coverage/references/preservation-contract.md +15 -0
- package/skills/plan-uiux-unification/SKILL.md +230 -0
- package/skills/plan-uiux-unification/references/output-templates.md +67 -0
- package/skills/plan-uiux-unification/references/phase-workbook.md +85 -0
- package/skills/plan-uiux-unification/references/preservation-contract.md +24 -0
- package/skills/protocol-browser-anti-stall/SKILL.md +211 -0
- package/skills/protocol-browser-anti-stall/references/mcp-to-cli-map.md +113 -0
- package/skills/protocol-browser-anti-stall/references/playwright-session-coordination.md +170 -0
- package/skills/research/SKILL.md +422 -0
- package/skills/test-exploratory/SKILL.md +165 -0
- package/skills/test-exploratory/references/charter-template.md +29 -0
- package/skills/test-load/SKILL.md +126 -0
- package/skills/test-mutation/SKILL.md +160 -0
- package/skills/test-playwright/SKILL.md +354 -0
- package/skills/test-qa/SKILL.md +364 -0
- package/skills/test-qa/references/details.md +268 -0
- package/skills/test-red-team/SKILL.md +386 -0
- package/skills/test-red-team/references/owasp-attack-checklist.md +193 -0
- package/skills/test-unit/SKILL.md +259 -0
- package/skills/test-unit/references/details.md +267 -0
- package/skills/test-visual-regression/SKILL.md +132 -0
- package/skills/thirdparty-emil-design-eng/ATTRIBUTION.md +20 -0
- package/skills/thirdparty-emil-design-eng/SKILL.md +21 -0
- package/skills/thirdparty-emil-design-eng/references/emil-design-eng.md +676 -0
- package/skills/thirdparty-ui-ux-pro-max/ATTRIBUTION.md +22 -0
- package/skills/thirdparty-ui-ux-pro-max/SKILL.md +304 -0
- package/skills/thirdparty-ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/thirdparty-ui-ux-pro-max/data/colors.csv +97 -0
- package/skills/thirdparty-ui-ux-pro-max/data/icons.csv +101 -0
- package/skills/thirdparty-ui-ux-pro-max/data/landing.csv +31 -0
- package/skills/thirdparty-ui-ux-pro-max/data/products.csv +97 -0
- package/skills/thirdparty-ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/thirdparty-ui-ux-pro-max/data/styles.csv +68 -0
- package/skills/thirdparty-ui-ux-pro-max/data/typography.csv +58 -0
- package/skills/thirdparty-ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/skills/thirdparty-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/thirdparty-ui-ux-pro-max/data/web-interface.csv +31 -0
- package/skills/thirdparty-ui-ux-pro-max/scripts/core.py +253 -0
- package/skills/thirdparty-ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/skills/thirdparty-ui-ux-pro-max/scripts/search.py +114 -0
- package/skills/thirdparty-web-interface-guidelines/ATTRIBUTION.md +23 -0
- package/skills/thirdparty-web-interface-guidelines/SKILL.md +190 -0
- package/skills/workflow-build-feature/SKILL.md +118 -0
- package/skills/workflow-coding-discipline/SKILL.md +140 -0
- package/skills/workflow-environment-ready/SKILL.md +128 -0
- package/skills/workflow-feature-flag/SKILL.md +262 -0
- package/skills/workflow-feedback-to-closure/SKILL.md +165 -0
- package/skills/workflow-fix-and-ship/SKILL.md +136 -0
- package/skills/workflow-git-commit/SKILL.md +200 -0
- package/skills/workflow-green-repo/SKILL.md +166 -0
- package/skills/workflow-grilling/SKILL.md +73 -0
- package/skills/workflow-gtm/SKILL.md +153 -0
- package/skills/workflow-housekeep/SKILL.md +453 -0
- package/skills/workflow-housekeep/references/templates.md +109 -0
- package/skills/workflow-launch-ready/SKILL.md +145 -0
- package/skills/workflow-merge-conflicts/SKILL.md +62 -0
- package/skills/workflow-onboard/SKILL.md +99 -0
- package/skills/workflow-parallel-agents/SKILL.md +164 -0
- package/skills/workflow-pr/SKILL.md +197 -0
- package/skills/workflow-quality-gate/SKILL.md +147 -0
- package/skills/workflow-refactor/SKILL.md +274 -0
- package/skills/workflow-release-prep/SKILL.md +207 -0
- package/skills/workflow-ship-and-observe/SKILL.md +164 -0
- package/skills/workflow-spec-tdd/SKILL.md +141 -0
- package/skills/workflow-spec-tdd/references/spec-template.md +126 -0
- package/skills/workflow-spec-tdd/references/tdd-patterns.md +167 -0
- package/skills-cursor/babysit/SKILL.md +17 -0
- package/skills-cursor/canvas/SKILL.md +142 -0
- package/skills-cursor/canvas/sdk/canvas-tokens.d.ts +235 -0
- package/skills-cursor/canvas/sdk/chart-primitives.d.ts +200 -0
- package/skills-cursor/canvas/sdk/dag-layout.d.ts +102 -0
- package/skills-cursor/canvas/sdk/diff-view.d.ts +130 -0
- package/skills-cursor/canvas/sdk/form-primitives.d.ts +194 -0
- package/skills-cursor/canvas/sdk/hooks.d.ts +117 -0
- package/skills-cursor/canvas/sdk/index.d.ts +47 -0
- package/skills-cursor/canvas/sdk/theme.d.ts +61 -0
- package/skills-cursor/canvas/sdk/todo-list.d.ts +49 -0
- package/skills-cursor/canvas/sdk/ui-primitives.d.ts +549 -0
- package/skills-cursor/canvas/sdk/ui-primitives.test.d.ts +2 -0
- package/skills-cursor/create-hook/SKILL.md +238 -0
- package/skills-cursor/create-rule/SKILL.md +185 -0
- package/skills-cursor/create-skill/SKILL.md +269 -0
- package/skills-cursor/create-skill/references/authoring-guide.md +182 -0
- package/skills-cursor/create-subagent/SKILL.md +228 -0
- package/skills-cursor/migrate-to-skills/SKILL.md +121 -0
- package/skills-cursor/shell/SKILL.md +22 -0
- package/skills-cursor/split-to-prs/SKILL.md +47 -0
- package/skills-cursor/statusline/SKILL.md +193 -0
- package/skills-cursor/update-cli-config/SKILL.md +85 -0
- package/skills-cursor/update-cursor-settings/SKILL.md +137 -0
- package/skills.sh.json +297 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-mobile-readiness
|
|
3
|
+
description: >
|
|
4
|
+
Plan-only App Store / Google Play submission audit for Capacitor and React
|
|
5
|
+
Native: manifests, permissions, privacy forms, signing. Use when "ready for
|
|
6
|
+
App Store?", "will Google Play reject this?", or "pre-submission check".
|
|
7
|
+
license: MIT
|
|
8
|
+
effort: high
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Mobile Store-Readiness Audit + Pre-Submission Plan
|
|
12
|
+
|
|
13
|
+
**Degree of freedom: HIGH** — inventory A–E, score rejection risk, emit a plan.
|
|
14
|
+
Stay **plan-only**. No manifest, Data Safety, or listing edits until approved.
|
|
15
|
+
|
|
16
|
+
## This skill vs neighbors
|
|
17
|
+
|
|
18
|
+
| Skill | Owns |
|
|
19
|
+
|---|---|
|
|
20
|
+
| **plan-mobile-readiness** (this) | Store submission mechanics |
|
|
21
|
+
| `plan-aso` | Listing keywords / conversion |
|
|
22
|
+
| `plan-privacy-compliance` | Privacy labels vs real collection |
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
**Role:** Senior mobile release engineer + store-compliance specialist.
|
|
26
|
+
|
|
27
|
+
**Task:** Inventory build/config/listing against checklist A–E, map gaps to store
|
|
28
|
+
guidelines, phase remediations, emit `plan-mobile-readiness.md`. **Audit & plan only —
|
|
29
|
+
no manifest, Data Safety, or listing edits until approved.**
|
|
30
|
+
|
|
31
|
+
**Catch the rejections before the reviewer does. Change nothing until approved.**
|
|
32
|
+
|
|
33
|
+
## How to reason (every plan item)
|
|
34
|
+
|
|
35
|
+
1. **Propose** — privacy manifest, usage string, demo account, build, or listing fix
|
|
36
|
+
2. **Risk** — first-pass rejection or Guideline 2.5.2 thin-app block
|
|
37
|
+
3. **Keep-working** — platforms/items that already match store rules
|
|
38
|
+
4. **Phase** — Privacy → Functionality → Payments+build → Listing (do not execute)
|
|
39
|
+
|
|
40
|
+
## Worked example
|
|
41
|
+
|
|
42
|
+
> **Propose:** add `PrivacyInfo.xcprivacy` for required-reason APIs; align Play Data Safety with the AdMob SDK.
|
|
43
|
+
> **Risk:** first-pass rejection — missing privacy manifest + Data Safety ↔ permission mismatch.
|
|
44
|
+
> **Keep-working:** iOS usage-description strings already present for camera/photos.
|
|
45
|
+
> **Phase:** Phase 1 — Privacy (blocking).
|
|
46
|
+
> **Store:** iOS 5.1.2 / Play Data Safety; demo account still required in Phase 2 if login-gated.
|
|
47
|
+
|
|
48
|
+
About **25% of App Store submissions are rejected on first pass** — mechanical,
|
|
49
|
+
pre-detectable causes: missing privacy manifests, Data Safety ↔ permission mismatches,
|
|
50
|
+
no demo account, placeholder buttons, crashes on older devices, stale target API.
|
|
51
|
+
**Apple blocks prompt-to-app builders under Guideline 2.5.2** — the thin web-view
|
|
52
|
+
rejection vibe-coded apps trip constantly.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## When this fires
|
|
57
|
+
|
|
58
|
+
Trigger phrases: *"is my app store-ready"*, *"will Google Play reject this"*,
|
|
59
|
+
*"pre-submission check"*, *"privacy manifest"*, *"data safety form"*, *"app store
|
|
60
|
+
rejection"*, *"about to submit my app"*.
|
|
61
|
+
|
|
62
|
+
Do **not** fire for: runtime perf (`mobile-rn-performance`), screen polish
|
|
63
|
+
(`mobile-rn-screen`), or general UI (`enhance-capacitor-ui`). This owns *submission
|
|
64
|
+
compliance and rejection-risk*.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## The audit [HIGH freedom]
|
|
69
|
+
|
|
70
|
+
### A · Privacy (#1 modern rejection class)
|
|
71
|
+
- **iOS privacy manifest** — `PrivacyInfo.xcprivacy`, required-reason APIs, SDK manifests.
|
|
72
|
+
- **Usage-description strings** — every sensitive API has `NS*UsageDescription`.
|
|
73
|
+
- **App Tracking Transparency** — before ad/tracking SDK calls.
|
|
74
|
+
- **Android Data Safety** — matches actual permissions and SDK collection.
|
|
75
|
+
- **Third-party SDK disclosure** — analytics/ad SDKs in Data Safety.
|
|
76
|
+
- **Privacy policy URL** — live, public, matches collection.
|
|
77
|
+
|
|
78
|
+
### B · Functionality & completeness (2.5.2 / thin-app)
|
|
79
|
+
- **Placeholder / TODO UI** — cross-hand to `plan-stub-checker`.
|
|
80
|
+
- **Too thin / web-view-only** — Guideline 2.5.2 risk; flag honestly.
|
|
81
|
+
- **Demo account** — login-gated apps need working creds in review notes.
|
|
82
|
+
- **Every advertised feature works.**
|
|
83
|
+
|
|
84
|
+
### C · Payments
|
|
85
|
+
- **IAP via store billing** — digital goods through StoreKit/Play Billing, not external links.
|
|
86
|
+
- **IAP products approved** and tested with sandbox accounts.
|
|
87
|
+
|
|
88
|
+
### D · Technical / build
|
|
89
|
+
- **Target API level** — meets current store minimum.
|
|
90
|
+
- **Build format & signing** — `.aab`, release-signed, 64-bit, no debuggable.
|
|
91
|
+
- **Crash on older devices** — emulator-only testing isn't enough.
|
|
92
|
+
- **Android closed-testing gate** — personal developer accounts need a closed test before production (12 testers / 14 days at time of writing); verify the current tester count and duration in Play Console policy at submit time.
|
|
93
|
+
|
|
94
|
+
### E · Listing & metadata
|
|
95
|
+
- **Screenshots/icon match build**; metadata limits; content rating/CSAE.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Procedure [HIGH freedom — plan only]
|
|
100
|
+
|
|
101
|
+
1. **Inventory** Capacitor/RN config, manifests, permissions, listing, IAP.
|
|
102
|
+
2. **Run A–E**, map to guidelines. **Blocking** vs **Risk**.
|
|
103
|
+
3. **Score & order** by likelihood × launch-delay cost.
|
|
104
|
+
4. **Phase** — privacy + functionality first.
|
|
105
|
+
5. **Emit `plan-mobile-readiness.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.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Guardrails
|
|
110
|
+
|
|
111
|
+
- **Plan only.** No manifest, Data Safety, or listing edits.
|
|
112
|
+
- **Declaration must match reality — both ways.**
|
|
113
|
+
- **Be honest about thin-app / 2.5.2 risk.**
|
|
114
|
+
- **Never advise external payment for digital goods.**
|
|
115
|
+
- **Verify current target-API thresholds at submit time.**
|
|
116
|
+
- **Real devices, not emulators only.**
|
|
117
|
+
|
|
118
|
+
## Self-critique before the burndown [LOW freedom — do not skip]
|
|
119
|
+
|
|
120
|
+
1. **evidenced-not-assumed** — manifests, permissions, and listing fields you actually read
|
|
121
|
+
2. **plan-only** — no PrivacyInfo, Data Safety, or metadata edits
|
|
122
|
+
3. **severity/phase justified** — privacy + 2.5.2 before listing polish
|
|
123
|
+
4. **right-owner** — keywords/screenshots → `plan-aso`; collection-vs-claimed → `plan-privacy-compliance`; receipt/restore → `audit-monetization-iap`; placeholders → `plan-stub-checker`
|
|
124
|
+
5. **no-false-safety** — do not hide Guideline 2.5.2 thin-app risk; declaration must match reality both ways
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Report template — `plan-mobile-readiness.md`
|
|
129
|
+
|
|
130
|
+
```markdown
|
|
131
|
+
# Mobile Store-Readiness Audit — <app>
|
|
132
|
+
|
|
133
|
+
_Audit-only. Pre-submission. Nothing changes until each phase is approved._
|
|
134
|
+
|
|
135
|
+
## Scope
|
|
136
|
+
- Platform: iOS ☐ Android ☐ | Framework: Capacitor ☐ RN ☐
|
|
137
|
+
|
|
138
|
+
## Verdict
|
|
139
|
+
| Area | Blocking | Risk | Worst item |
|
|
140
|
+
|------|----------|------|-----------|
|
|
141
|
+
| Privacy | n | n | Data Safety mismatch |
|
|
142
|
+
| Functionality | n | n | 2.5.2 thin-app |
|
|
143
|
+
|
|
144
|
+
## Findings
|
|
145
|
+
| # | Item | Store | Guideline | Blocking? | Direction |
|
|
146
|
+
|---|------|-------|-----------|-----------|-----------|
|
|
147
|
+
|
|
148
|
+
## Phased burndown
|
|
149
|
+
- **Phase 1 — Privacy** → `mobile-capacitor-platform`
|
|
150
|
+
- **Phase 2 — Functionality & 2.5.2** → `plan-stub-checker` / `enhance-capacitor-ui`
|
|
151
|
+
- **Phase 3 — Payments & build** → `mobile-capacitor-platform`
|
|
152
|
+
- **Phase 4 — Listing & testing gate** → metadata, Android closed-test
|
|
153
|
+
|
|
154
|
+
## Execution handoff
|
|
155
|
+
Real older devices + IAP dry-run before submit.
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Chains with
|
|
161
|
+
|
|
162
|
+
- **Launch gates loop** — mobile submission; pair with `plan-aeo-readiness` for web.
|
|
163
|
+
- **`plan-privacy-compliance`** — collection-vs-claimed + store privacy labels.
|
|
164
|
+
- **`plan-aso`** — listing keywords/screenshots after the app is submittable.
|
|
165
|
+
- **`audit-monetization-iap`** — receipt validation / restore (not just "uses official billing").
|
|
166
|
+
- **`plan-stub-checker`** — placeholders are rejections on mobile.
|
|
167
|
+
- **Execution:** `mobile-capacitor-platform`, `enhance-capacitor-ui`,
|
|
168
|
+
`mobile-emulator-test` (then real device).
|
|
169
|
+
- **Verify:** real-device crash test + IAP dry-run; Android closed-test gate satisfied.
|
|
170
|
+
|
|
171
|
+
> 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,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-perf-audit
|
|
3
|
+
description: >
|
|
4
|
+
Plan-only performance audit across web, mobile, backend, and data; measures
|
|
5
|
+
first, fixes nothing. Use when "performance audit plan", "perf burndown",
|
|
6
|
+
"measure before optimize", or "N+1 audit plan". Apply fixes →
|
|
7
|
+
audit-performance.
|
|
8
|
+
license: MIT
|
|
9
|
+
effort: high
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Performance Audit + Optimization Plan
|
|
13
|
+
|
|
14
|
+
**Degree of freedom: HIGH** — measure, interpret, plan. Stay
|
|
15
|
+
**plan-only**. Do not optimize in this pass.
|
|
16
|
+
|
|
17
|
+
**Role:** Senior performance engineer (web + mobile + backend/data).
|
|
18
|
+
|
|
19
|
+
**Task:** Profile the app, find performance issues across layers, plan fixes. **Measure, don't
|
|
20
|
+
guess. Audit & plan only — do not optimize in this pass.**
|
|
21
|
+
|
|
22
|
+
## This skill vs neighbors
|
|
23
|
+
|
|
24
|
+
| Skill | Does |
|
|
25
|
+
|-------|------|
|
|
26
|
+
| **plan-perf-audit** (this) | Plan with measured baselines |
|
|
27
|
+
| `audit-performance` | Audit + may optimize |
|
|
28
|
+
| `audit-bundle-size` | JS bundle focus + reduction |
|
|
29
|
+
| `backend-db-performance` | Query/index fixes (execution) |
|
|
30
|
+
| `mobile-rn-performance` | RN perf fixes (execution) |
|
|
31
|
+
|
|
32
|
+
**Loop:** see `docs/PLAN-LOOPS.md` — after `plan-test-coverage`, parallel with `plan-security-audit`, before `plan-docs-sync`
|
|
33
|
+
|
|
34
|
+
## How to reason (every plan item)
|
|
35
|
+
|
|
36
|
+
1. **Propose** — an optimization tied to a measured baseline
|
|
37
|
+
2. **Risk** — user-visible stall, cost, or timeout if left as-is
|
|
38
|
+
3. **Keep-working** — paths already inside budget
|
|
39
|
+
4. **Phase** — P0 hot-path → structural → polish (do not execute)
|
|
40
|
+
|
|
41
|
+
## Worked example
|
|
42
|
+
|
|
43
|
+
> **Propose:** split the 412 KB hero chart chunk; add an index on `orders(user_id, created_at)` after EXPLAIN.
|
|
44
|
+
> **Risk:** `/dashboard` LCP 4.8s (Lighthouse); orders list is a 1.2s sequential N+1.
|
|
45
|
+
> **Keep-working:** `/pricing` already LCP <2s; user lookup is indexed.
|
|
46
|
+
> **Phase:** Phase 1 — P0 hot-path wins. No fabricated numbers.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## ⛔ Preservation Contract [LOW freedom — run exactly]
|
|
51
|
+
|
|
52
|
+
Read `references/preservation-contract.md`. Acknowledge in output #1.
|
|
53
|
+
|
|
54
|
+
**Hardest guardrail:** no fix proposed without a measured baseline (or explicit `[NEEDS PROFILING]`).
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## References
|
|
59
|
+
|
|
60
|
+
| File | Contents |
|
|
61
|
+
|------|----------|
|
|
62
|
+
| `references/audit-scope.md` | Layers, methodology, measurement, research fixes |
|
|
63
|
+
| `references/output-templates.md` | Baselines, burndown, phased plan |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Phase flow
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
1. Fingerprint stack (web/RN/API/Supabase)
|
|
71
|
+
2. Measure baselines per layer (no guessing)
|
|
72
|
+
3. Trace hot paths
|
|
73
|
+
4. Per-layer issue inventory
|
|
74
|
+
5. Burndown + phased optimization plan
|
|
75
|
+
6. Guardrails (budgets, Lighthouse CI, RUM)
|
|
76
|
+
7. Research citations
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Optional browser: Lighthouse via playwright-cli. Read `protocol-browser-anti-stall` first.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Phase 1 — Measure first [HIGH freedom]
|
|
84
|
+
|
|
85
|
+
Establish baselines before any fix proposal:
|
|
86
|
+
|
|
87
|
+
| Layer | Tools |
|
|
88
|
+
|-------|-------|
|
|
89
|
+
| Web CWV | Lighthouse, `web-vitals`, RUM/Sentry |
|
|
90
|
+
| Bundle | `rollup-plugin-visualizer`, `@next/bundle-analyzer` |
|
|
91
|
+
| RN | Metro bundle report, cold start profiler |
|
|
92
|
+
| API | Sentry transactions, server logs |
|
|
93
|
+
| DB | Supabase advisors, `EXPLAIN ANALYZE`, slow query logs |
|
|
94
|
+
|
|
95
|
+
Scope detail: `references/audit-scope.md`
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Phase 2–4 — Hot paths + inventory [HIGH freedom]
|
|
100
|
+
|
|
101
|
+
Prioritize highest-traffic screens, endpoints, queries. Tie each issue to path:line or query text.
|
|
102
|
+
|
|
103
|
+
Root-cause, not symptom. Quantify expected gain where possible.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Phase 5 — Burndown + plan [HIGH freedom — plan only]
|
|
108
|
+
|
|
109
|
+
Template: `references/output-templates.md`
|
|
110
|
+
|
|
111
|
+
Phases: (1) P0 hot-path wins → (2) structural → (3) polish.
|
|
112
|
+
|
|
113
|
+
**Prevention:** performance budgets in CI, RUM for real users, re-measure after each fix.
|
|
114
|
+
|
|
115
|
+
## Self-critique before the burndown [LOW freedom — do not skip]
|
|
116
|
+
|
|
117
|
+
1. **evidenced-not-assumed** — every fix proposal has a measured baseline or `[NEEDS PROFILING]`
|
|
118
|
+
2. **plan-only** — do not optimize this pass
|
|
119
|
+
3. **phase justified** — P0 hot-path before polish; no fabricated numbers
|
|
120
|
+
4. **right-owner** — bundle-only trim → `audit-bundle-size`; apply-now optimize → `audit-performance`
|
|
121
|
+
5. **no-false-safety** — symptom without root-cause is not a plan item
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Required output (in order)
|
|
126
|
+
|
|
127
|
+
1. Preservation-contract acknowledgment
|
|
128
|
+
2. Measured baselines per layer
|
|
129
|
+
3. Per-layer issue inventory
|
|
130
|
+
4. Burndown table (measured current + target + risk)
|
|
131
|
+
5. Optimization + enhancement plan, phased
|
|
132
|
+
6. Guardrails/tooling
|
|
133
|
+
7. Research notes + citations
|
|
134
|
+
8. Open questions / `[NEEDS PROFILING]` list
|
|
135
|
+
|
|
136
|
+
End the turn with a standalone recap in chat: the two or three highest-impact measured issues and the first phase to approve. The plan is the deliverable — write it before the recap.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Rules [LOW freedom — run exactly]
|
|
141
|
+
|
|
142
|
+
- Plan only — do not optimize until approved.
|
|
143
|
+
- Measure, don't guess. No fabricated numbers.
|
|
144
|
+
- Optimizations preserve behavior + output.
|
|
145
|
+
- Re-measure after fixes; keep before/after.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Audit Scope & Methodology
|
|
2
|
+
|
|
3
|
+
## Layers
|
|
4
|
+
|
|
5
|
+
### Web frontend
|
|
6
|
+
- **CWV:** LCP, CLS, INP — Lighthouse / web-vitals / RUM (not guessed). Loading priority: LCP element identified via attribution; not lazy; fetchpriority/preload; font fallback metrics; 103 Early Hints presence.
|
|
7
|
+
- **Bundle:** total + per-route, code-split gaps, duplicate deps, lazy-load, tree-shaking
|
|
8
|
+
- **Render:** React Compiler enabled; unnecessary re-renders, manual memo only with Profiler evidence, unstable keys, un-virtualized lists, main-thread blocking work
|
|
9
|
+
- **Assets:** image format/size, lazy-load, third-party scripts, compression/CDN
|
|
10
|
+
- **Navigation:** Speculation Rules (prefetch/prerender coverage + exclusions), bfcache eligibility per page type, cross-document View Transitions, Next.js prefetch discipline. Next-navigation p75 measured with web-vitals `onLCP` on soft/hard navs.
|
|
11
|
+
|
|
12
|
+
### Mobile / React Native
|
|
13
|
+
- Cold start / TTI (target <2s mid-tier), Hermes, JS bundle size, re-renders, JSI/native for heavy work, lazy feature bundles, list virtualization, image caching
|
|
14
|
+
- **Mobile thresholds ~40% stricter than web CWV** (Indeed research pattern)
|
|
15
|
+
|
|
16
|
+
### Backend / API
|
|
17
|
+
- Slow endpoints (p95/p99), sync I/O, missing caching, over-fetching, unbounded payloads, missing pagination
|
|
18
|
+
|
|
19
|
+
### Data / Supabase
|
|
20
|
+
- N+1 queries, missing indexes (**EXPLAIN**, not guesses), sequential scans, `select *`, RLS slow filters, missing realtime SELECT policies, unbatched writes
|
|
21
|
+
|
|
22
|
+
## Methodology
|
|
23
|
+
|
|
24
|
+
1. **Measure first** — baselines per layer. No fix without baseline.
|
|
25
|
+
2. **Trace hot paths** — highest-traffic screens/endpoints/queries first.
|
|
26
|
+
3. **Root-cause** — tie slow metric to path:line or query.
|
|
27
|
+
4. **Quantify expected gain** where possible (e.g. code-split route → −340KB initial JS).
|
|
28
|
+
|
|
29
|
+
## Measurement commands (adapt)
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
npm run build -- --analyze # or vite-bundle-visualizer
|
|
33
|
+
npx lighthouse <url> --only-categories=performance
|
|
34
|
+
npm audit bundle # if configured
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Supabase MCP: slow query logs, advisors. Sentry MCP: Web Vitals, slow transactions.
|
|
38
|
+
|
|
39
|
+
## Research-backed fixes (propose, don't implement)
|
|
40
|
+
|
|
41
|
+
**React:** React Compiler enabled; route `lazy()`, manual `memo`/`useCallback`/`useMemo` only with Profiler evidence, `react-window`, `startTransition`; SSR/hydration caveats.
|
|
42
|
+
|
|
43
|
+
**RN:** Hermes, JSI for heavy work, lazy feature bundles, cold start <2s mid-tier.
|
|
44
|
+
|
|
45
|
+
**Data:** verified indexes via EXPLAIN, projection-only selects, caching tiers, batched writes.
|
|
46
|
+
|
|
47
|
+
## Prevention guardrails
|
|
48
|
+
|
|
49
|
+
- Performance budgets: bundle size, image weight, third-party count, CWV — Lighthouse CI
|
|
50
|
+
- RUM (web-vitals) for real-user distribution, not just lab
|
|
51
|
+
- Re-measure after each fix (same tool, before/after)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Output Templates
|
|
2
|
+
|
|
3
|
+
## Measured baselines
|
|
4
|
+
|
|
5
|
+
| Layer | Metric | Tool | Current | Target | `[NEEDS PROFILING]` |
|
|
6
|
+
|-------|--------|------|---------|--------|---------------------|
|
|
7
|
+
| Web CWV | LCP / CLS / INP | Lighthouse/RUM | … | … | |
|
|
8
|
+
| Navigation | 2nd-page LCP p75 / bfcache hit rate | web-vitals + DevTools | … | … | |
|
|
9
|
+
| Bundle | initial JS KB | analyzer | … | budget | |
|
|
10
|
+
| RN | cold start ms | profiler | … | <2000 | |
|
|
11
|
+
| API | p95 ms | Sentry/logs | … | … | |
|
|
12
|
+
| DB | slow queries | EXPLAIN/advisors | … | … | |
|
|
13
|
+
|
|
14
|
+
## Burndown
|
|
15
|
+
|
|
16
|
+
| Layer | Issue | Metric/Evidence | Current | Target | Fix | Severity | Effort | Risk | Path/Query |
|
|
17
|
+
|
|
18
|
+
P0 = user jank / >Xs load / N+1 on hot path · P3 = micro-opt
|
|
19
|
+
|
|
20
|
+
## Phased optimization plan
|
|
21
|
+
|
|
22
|
+
1. Measured P0 hot-path wins (N+1, oversized bundle, main-thread block)
|
|
23
|
+
2. Structural (code-split, indexing, caching, async I/O)
|
|
24
|
+
3. Polish (images, micro-memo)
|
|
25
|
+
|
|
26
|
+
Each fix: expected gain + "what must keep working"
|
|
27
|
+
|
|
28
|
+
## Guardrails checklist
|
|
29
|
+
|
|
30
|
+
- [ ] Lighthouse CI performance budgets
|
|
31
|
+
- [ ] RUM / web-vitals pipeline
|
|
32
|
+
- [ ] Bundle size budget in CI
|
|
33
|
+
- [ ] Re-measure gate on perf PRs
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Preservation Contract
|
|
2
|
+
|
|
3
|
+
## Never do in this pass
|
|
4
|
+
|
|
5
|
+
- **Behavior change disguised as optimization.** Output/contract/UX identical unless proposed + approved.
|
|
6
|
+
- **Fabricate metrics.** No invented bundle sizes or query times. Not measured → "not yet measured" or `[NEEDS PROFILING]` + how to measure.
|
|
7
|
+
- **Remove features/code** to speed up — dead code → proposal, not delete.
|
|
8
|
+
- **Guess** — ground every claim in measurement or path:line.
|
|
9
|
+
- **Optimize** in this pass. Fixes proposed with expected gain + risk on approval.
|
|
10
|
+
|
|
11
|
+
## Before any change proposal
|
|
12
|
+
|
|
13
|
+
One line: **what currently works here that must keep working.**
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-pricing
|
|
3
|
+
description: >
|
|
4
|
+
Plan-only pricing audit: value metric, tiers, price points, free-tier
|
|
5
|
+
boundary, annual and enterprise anchors, and a willingness-to-pay study. Use
|
|
6
|
+
when "pricing strategy", "what should I charge", or "are we underpriced".
|
|
7
|
+
license: MIT
|
|
8
|
+
effort: high
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# plan-pricing — What to charge for, then how much
|
|
12
|
+
|
|
13
|
+
**Degree of freedom: MIXED.** Repo inventory and the research-method order
|
|
14
|
+
`[LOW freedom — run exactly]`; value-metric choice, tier design, and price
|
|
15
|
+
corridor `[HIGH freedom]`. Stay **plan-only**: no price, plan enum, Stripe
|
|
16
|
+
product, or copy edits until approved.
|
|
17
|
+
|
|
18
|
+
**Role:** Pricing lead who reads billing code. The repo shows what is metered
|
|
19
|
+
and gated today; the founder owns the number.
|
|
20
|
+
|
|
21
|
+
**Task:** Inventory the current model, pick the value metric, design ≤3
|
|
22
|
+
tiers, propose a price corridor with the research that would confirm it, emit
|
|
23
|
+
`plan-pricing.md`. **Change nothing until approved.**
|
|
24
|
+
|
|
25
|
+
## This skill vs neighbors
|
|
26
|
+
|
|
27
|
+
| Skill | Owns |
|
|
28
|
+
|---|---|
|
|
29
|
+
| **plan-pricing** (this) | Value metric, packaging, price points, research plan |
|
|
30
|
+
| `plan-gtm` | Chose freemium / trial / open-core; hands the model here |
|
|
31
|
+
| `enhance-web-conversion` | The pricing *page* — copy, anchor, toggle, prompts |
|
|
32
|
+
| `audit-payment-system` | Whether checkout, webhooks, proration actually work |
|
|
33
|
+
| `audit-monetization-iap` | Mobile store prices and entitlements |
|
|
34
|
+
| `plan-llm-cost-guardrails` | Caps and breakers when the metric is tokens |
|
|
35
|
+
|
|
36
|
+
Do **not** fire for "fix the pricing page" → `enhance-web-conversion`.
|
|
37
|
+
|
|
38
|
+
## How to reason (every proposal)
|
|
39
|
+
|
|
40
|
+
1. **Metric** — which unit rises when the customer gets more value, and can they estimate it before signing?
|
|
41
|
+
2. **Package** — which capabilities belong together for which segment; does one meter span all tiers?
|
|
42
|
+
3. **Point** — where does the price sit against alternatives, cost, and the corridor the research gives?
|
|
43
|
+
4. **Prove** — which method (Van Westendorp → Gabor-Granger → MaxDiff → conjoint) confirms it, and what would change the answer?
|
|
44
|
+
|
|
45
|
+
## Worked example
|
|
46
|
+
|
|
47
|
+
> **Metric:** a bug-report SDK meters `reports/month`; buyers think in
|
|
48
|
+
> "apps monitored" and can estimate that before signing. Propose: primary metric
|
|
49
|
+
> = apps, secondary overage = reports beyond an allowance.
|
|
50
|
+
> **Package:** Free 1 app / 50 reports · Pro 3 apps · Team 10 apps + SSO;
|
|
51
|
+
> Enterprise "from ¥…" with audit log. Three tiers, same CTA verb.
|
|
52
|
+
> **Point:** Pro at ¥2,900/mo sits under the cheapest alternative's ¥4,800;
|
|
53
|
+
> current ¥980 is inside the "too cheap" band two customers named in interviews.
|
|
54
|
+
> **Prove:** Van Westendorp on the 40 free-tier accounts for a corridor, then
|
|
55
|
+
> Gabor-Granger on Pro; keep the metric fixed for two years, revisit rates.
|
|
56
|
+
|
|
57
|
+
## Self-critique before the burndown [LOW freedom — do not skip]
|
|
58
|
+
|
|
59
|
+
1. **one-metric-sentence** — "Our customer receives more value when ___ increases" is written and the metric is that blank
|
|
60
|
+
2. **estimable** — a buyer can predict their bill before signing; usage meters show the unit, allowance, and a live estimate
|
|
61
|
+
3. **anchor-present** — the enterprise or top tier shows a number or "from"; nothing is pure "Contact sales"
|
|
62
|
+
4. **corridor-not-guess** — every price point cites a method run or planned, or a named alternative's price; otherwise **unmeasured**
|
|
63
|
+
5. **plan-only** — no plan enum, Stripe product, price, or copy changed
|
|
64
|
+
6. **right-owner** — page copy → `enhance-web-conversion`; billing correctness → `audit-payment-system`
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Step 1 — Inventory [LOW freedom — run exactly]
|
|
69
|
+
|
|
70
|
+
| Area | Grep / open | Records |
|
|
71
|
+
|---|---|---|
|
|
72
|
+
| Plans & gates | `plan`, `tier`, `isPro`, `entitlement`, feature flags keyed on plan; Stripe/Paddle/Lemon product IDs | current tiers, what each gates |
|
|
73
|
+
| Metering | `usage`, `credits`, `quota`, `limit`, counters, metered prices, `usage_metered` events | what is counted today, what is billed |
|
|
74
|
+
| Price points | pricing route, Stripe dashboard export, `prices` table | monthly / annual / currency per tier |
|
|
75
|
+
| Trial & free | `trial_ends_at`, downgrade jobs, free-plan limits | model in force |
|
|
76
|
+
| Cost | per-action cost (LLM tokens, storage, compute) | floor for any usage price |
|
|
77
|
+
| Customers | plan distribution, upgrade/downgrade events, churn reasons, "too expensive" in support | willingness-to-pay evidence already owned |
|
|
78
|
+
| Alternatives | the three the founder named in `plan-gtm`; their public prices and metrics, looked up now — recognizing a product is not knowing its current price | anchor context |
|
|
79
|
+
|
|
80
|
+
## Step 2 — Value metric [HIGH freedom]
|
|
81
|
+
|
|
82
|
+
List candidate units (seats, projects, apps, transactions, rows, runs, revenue
|
|
83
|
+
managed, outcomes). Score each 1–5 on: **value connection**, **fairness /
|
|
84
|
+
familiarity**, **predictability** (buyer can forecast it), **scalability**
|
|
85
|
+
(grows with the account), **billability** (you can meter it). Keep one primary
|
|
86
|
+
metric; add a usage component only where a material variable cost is not
|
|
87
|
+
covered by the primary. Simulate the metric on real historical accounts —
|
|
88
|
+
prices that look absurd for a specific account reveal a missing segment or a
|
|
89
|
+
weak proxy.
|
|
90
|
+
|
|
91
|
+
| Metric | Works when | Watch for |
|
|
92
|
+
|---|---|---|
|
|
93
|
+
| Seats | value and cost grow with active people | seat friction throttles adoption |
|
|
94
|
+
| Usage / transactions | each unit is meaningful work | usage without a matching result; bill shock (41% of buyers cite unpredictable cost as the top objection) |
|
|
95
|
+
| Data volume | processing or storage is the value | business buyers cannot forecast bytes |
|
|
96
|
+
| Scope (apps, sites, locations) | deployment breadth drives value | flat within a unit |
|
|
97
|
+
| Outcomes | attribution is objective and agreed | disputes; measurement debt |
|
|
98
|
+
|
|
99
|
+
Hybrid (base + usage) is now 41% of B2B SaaS; AI-native products price on
|
|
100
|
+
outcomes 4× more often. A model name is shorthand for a metric choice — pick
|
|
101
|
+
the metric first, then the cadence.
|
|
102
|
+
|
|
103
|
+
## Step 3 — Packaging [HIGH freedom]
|
|
104
|
+
|
|
105
|
+
≤3 self-serve tiers good-better-best from the outside in (what the segment
|
|
106
|
+
is trying to accomplish), recommended middle, higher tier on the right as the
|
|
107
|
+
anchor, enterprise shows "from". Free-tier boundary sits just before the
|
|
108
|
+
activation event's natural repeat — enough to reach value, not enough to
|
|
109
|
+
live there. Annual = 15–25% off, stated as months free. Credits: unit,
|
|
110
|
+
included amount, live estimate, and a hard cap the user sets.
|
|
111
|
+
|
|
112
|
+
## Step 4 — Price corridor and research [LOW freedom — order]
|
|
113
|
+
|
|
114
|
+
1. **Van Westendorp** (four questions: too cheap / bargain / expensive / too
|
|
115
|
+
expensive) on current users → acceptable range. Directional only.
|
|
116
|
+
2. **Gabor-Granger** on the recommended tier → revenue-maximizing point.
|
|
117
|
+
3. **MaxDiff** when too many features compete for tier placement.
|
|
118
|
+
4. **Conjoint** last, when redesigning bundles.
|
|
119
|
+
Plus win/loss notes and one in-market test after approval. Underpricing "to
|
|
120
|
+
reduce friction" attracts the curious, not the committed (one indie raise
|
|
121
|
+
£9 → £19 moved month-3 retention 42% → 67%). Sources in
|
|
122
|
+
`plan-gtm/references/benchmarks-2026.md`.
|
|
123
|
+
|
|
124
|
+
## Step 5 — Emit `plan-pricing.md`, end the turn [LOW freedom — run exactly]
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
# Pricing Plan — <product>
|
|
128
|
+
|
|
129
|
+
_Plan-only. Nothing changes until approved._
|
|
130
|
+
|
|
131
|
+
## Current model (evidence)
|
|
132
|
+
| Tier | Price | Gates | Metered | Source |
|
|
133
|
+
|
|
134
|
+
## Value metric
|
|
135
|
+
"Our customer receives more value when ___ increases."
|
|
136
|
+
| Candidate | Value | Fair | Predictable | Scales | Billable | Verdict |
|
|
137
|
+
|
|
138
|
+
## Proposed packaging
|
|
139
|
+
| Tier | For whom | Includes | Limit | Monthly | Annual (months free) |
|
|
140
|
+
Enterprise: from … · Free boundary: …
|
|
141
|
+
|
|
142
|
+
## Price corridor
|
|
143
|
+
| Tier | Floor (cost) | Alternatives | VW range | Proposed | Confidence |
|
|
144
|
+
|
|
145
|
+
## Research plan
|
|
146
|
+
| Method | Sample | Question | Decides |
|
|
147
|
+
|
|
148
|
+
## Risks & keep-working
|
|
149
|
+
- migration of existing customers (grandfather / notice period)
|
|
150
|
+
- metering accuracy before any usage price ships (`audit-payment-system`)
|
|
151
|
+
|
|
152
|
+
## Phased burndown
|
|
153
|
+
- **Phase 1 — Research** → interviews + Van Westendorp survey (`docs-coauthor` for the script)
|
|
154
|
+
- **Phase 2 — Page** → `enhance-web-conversion`
|
|
155
|
+
- **Phase 3 — Billing** → `audit-payment-system`, Stripe products, proration, grandfathering
|
|
156
|
+
- **Phase 4 — Measure** → `audit-analytics` (`pricing_viewed`, `plan_selected`, `checkout_*`), 60-day review
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
End the turn with a standalone recap in chat: the proposed metric in one sentence, the price corridor, and the first research step to approve. The file is the deliverable — write it before the recap.
|
|
160
|
+
|
|
161
|
+
## Guardrails
|
|
162
|
+
|
|
163
|
+
- **Plan only.** No prices, plan enums, Stripe objects, or copy.
|
|
164
|
+
- **The number is the founder's.** Recommend a corridor and a method; log their decision.
|
|
165
|
+
- **No bait.** Price shown before checkout; cancel and downgrade paths stay.
|
|
166
|
+
- **Grandfather or notify.** Existing customers are a named row in the plan.
|
|
167
|
+
|
|
168
|
+
## Chains with
|
|
169
|
+
|
|
170
|
+
- **`plan-gtm`** → model decision in; pricing plan out.
|
|
171
|
+
- **`enhance-web-conversion`** → the page after approval.
|
|
172
|
+
- **`audit-payment-system`** → before any metered price ships.
|
|
173
|
+
- **`plan-llm-cost-guardrails`** → when the metric is tokens or compute.
|