tribunal-kit 9.0.0 → 9.0.2
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/.agent/ARCHITECTURE.md +2 -2
- package/.agent/agents/backend-specialist.md +1 -1
- package/.agent/agents/code-archaeologist.md +1 -1
- package/.agent/agents/database-architect.md +1 -1
- package/.agent/agents/debugger.md +1 -1
- package/.agent/agents/devops-engineer.md +1 -1
- package/.agent/agents/documentation-writer.md +1 -1
- package/.agent/agents/explorer-agent.md +1 -1
- package/.agent/agents/game-developer.md +1 -1
- package/.agent/agents/minimalist-reviewer.md +1 -1
- package/.agent/agents/mobile-developer.md +1 -1
- package/.agent/agents/orchestrator.md +1 -1
- package/.agent/agents/penetration-tester.md +1 -1
- package/.agent/agents/performance-optimizer.md +1 -1
- package/.agent/agents/product-manager.md +1 -1
- package/.agent/agents/product-owner.md +1 -1
- package/.agent/agents/project-planner.md +1 -1
- package/.agent/agents/qa-automation-engineer.md +1 -1
- package/.agent/agents/seo-specialist.md +1 -1
- package/.agent/agents/test-engineer.md +1 -1
- package/.agent/config/slash-commands.json +13 -1
- package/.agent/config/system-prompt.md +21 -7
- package/.agent/routing_index.json +1546 -268
- package/.agent/scripts/browser_audit.js +94 -0
- package/.agent/scripts/context_compiler.js +9 -0
- package/.agent/scripts/prompt_compiler.js +105 -13
- package/.agent/skill_topic_map.json +2 -1
- package/.agent/skills/12-principles-of-animation/SKILL.md +63 -25
- package/.agent/skills/60fps-animation/SKILL.md +68 -24
- package/.agent/skills/accessible-animation/SKILL.md +208 -44
- package/.agent/skills/adapt/SKILL.md +63 -25
- package/.agent/skills/advanced-rag-pipelines/SKILL.md +65 -25
- package/.agent/skills/agent-organizer/SKILL.md +60 -31
- package/.agent/skills/agentic-patterns/SKILL.md +60 -31
- package/.agent/skills/agentic-workflows-2026/SKILL.md +67 -27
- package/.agent/skills/ai-app-hardening/SKILL.md +67 -27
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +59 -31
- package/.agent/skills/animation-on-scroll/SKILL.md +187 -51
- package/.agent/skills/animation-systems/SKILL.md +230 -40
- package/.agent/skills/antfu-conventions/SKILL.md +64 -26
- package/.agent/skills/api-patterns/SKILL.md +61 -31
- package/.agent/skills/api-security-auditor/SKILL.md +59 -31
- package/.agent/skills/app-builder/SKILL.md +61 -31
- package/.agent/skills/appflow-wireframe/SKILL.md +62 -33
- package/.agent/skills/apple-design/SKILL.md +63 -25
- package/.agent/skills/architecture/SKILL.md +61 -31
- package/.agent/skills/audit-and-fix/SKILL.md +63 -25
- package/.agent/skills/authentication-best-practices/SKILL.md +59 -31
- package/.agent/skills/backend-security-expert/SKILL.md +61 -31
- package/.agent/skills/baseline-ui/SKILL.md +63 -25
- package/.agent/skills/bash-linux/SKILL.md +59 -31
- package/.agent/skills/behavioral-modes/SKILL.md +60 -31
- package/.agent/skills/better-colors/SKILL.md +63 -25
- package/.agent/skills/better-typography/SKILL.md +63 -36
- package/.agent/skills/better-ui/SKILL.md +64 -24
- package/.agent/skills/bolder/SKILL.md +63 -25
- package/.agent/skills/brainstorming/SKILL.md +61 -31
- package/.agent/skills/browser-audit/SKILL.md +170 -0
- package/.agent/skills/browser-native-ai/SKILL.md +64 -26
- package/.agent/skills/build-primitive/SKILL.md +63 -25
- package/.agent/skills/building-native-ui/SKILL.md +59 -31
- package/.agent/skills/cicd-pro/SKILL.md +65 -25
- package/.agent/skills/clarify/SKILL.md +63 -25
- package/.agent/skills/clean-code/SKILL.md +59 -31
- package/.agent/skills/cloud-architect/SKILL.md +65 -25
- package/.agent/skills/cobejs/SKILL.md +63 -25
- package/.agent/skills/code-review-checklist/SKILL.md +59 -31
- package/.agent/skills/codebase-design/SKILL.md +65 -25
- package/.agent/skills/colorize/SKILL.md +63 -25
- package/.agent/skills/compact-landing/SKILL.md +63 -25
- package/.agent/skills/company-logos/SKILL.md +63 -25
- package/.agent/skills/config-validator/SKILL.md +59 -31
- package/.agent/skills/containerization-pro/SKILL.md +65 -25
- package/.agent/skills/context-engineering-pro/SKILL.md +67 -27
- package/.agent/skills/create-design-md/SKILL.md +63 -25
- package/.agent/skills/critique/SKILL.md +64 -25
- package/.agent/skills/csharp-developer/SKILL.md +59 -31
- package/.agent/skills/data-validation-schemas/SKILL.md +59 -31
- package/.agent/skills/database-design/SKILL.md +61 -31
- package/.agent/skills/delight/SKILL.md +63 -25
- package/.agent/skills/deployment-procedures/SKILL.md +59 -31
- package/.agent/skills/design-lab/SKILL.md +65 -26
- package/.agent/skills/devops-engineer/SKILL.md +59 -31
- package/.agent/skills/devops-incident-responder/SKILL.md +59 -31
- package/.agent/skills/diagnosing-bugs/SKILL.md +64 -27
- package/.agent/skills/distill/SKILL.md +63 -25
- package/.agent/skills/documentation-templates/SKILL.md +59 -31
- package/.agent/skills/domain-modeling/SKILL.md +64 -26
- package/.agent/skills/duckdb-analytical-sql/SKILL.md +66 -26
- package/.agent/skills/edge-ai-mobile/SKILL.md +66 -26
- package/.agent/skills/edge-computing/SKILL.md +59 -31
- package/.agent/skills/emil-design-eng/SKILL.md +64 -24
- package/.agent/skills/error-resilience/SKILL.md +59 -31
- package/.agent/skills/expo-router-v4/SKILL.md +65 -26
- package/.agent/skills/extract-design-system/SKILL.md +59 -31
- package/.agent/skills/fabel-protocol/SKILL.md +64 -25
- package/.agent/skills/fixing-accessibility/SKILL.md +63 -25
- package/.agent/skills/fixing-metadata/SKILL.md +63 -25
- package/.agent/skills/fixing-motion-performance/SKILL.md +63 -25
- package/.agent/skills/framer-motion-expert/SKILL.md +68 -30
- package/.agent/skills/frontend-design/SKILL.md +63 -25
- package/.agent/skills/frontend-security-expert/SKILL.md +61 -31
- package/.agent/skills/game-design-expert/SKILL.md +59 -31
- package/.agent/skills/game-engineering-expert/SKILL.md +59 -31
- package/.agent/skills/generative-ui-expert/SKILL.md +64 -26
- package/.agent/skills/geo-fundamentals/SKILL.md +59 -31
- package/.agent/skills/git-pro/SKILL.md +65 -25
- package/.agent/skills/github-operations/SKILL.md +59 -31
- package/.agent/skills/gpt-taste/SKILL.md +63 -25
- package/.agent/skills/gsap-core/SKILL.md +65 -25
- package/.agent/skills/gsap-frameworks/SKILL.md +65 -25
- package/.agent/skills/gsap-performance/SKILL.md +65 -25
- package/.agent/skills/gsap-plugins/SKILL.md +65 -25
- package/.agent/skills/gsap-react/SKILL.md +65 -25
- package/.agent/skills/gsap-scrolltrigger/SKILL.md +65 -25
- package/.agent/skills/gsap-timeline/SKILL.md +65 -25
- package/.agent/skills/gsap-utils/SKILL.md +65 -25
- package/.agent/skills/harden/SKILL.md +63 -25
- package/.agent/skills/harness-protocol/SKILL.md +64 -25
- package/.agent/skills/i18n-localization/SKILL.md +59 -31
- package/.agent/skills/impeccable/SKILL.md +63 -25
- package/.agent/skills/improve-codebase-architecture/SKILL.md +64 -26
- package/.agent/skills/improve-ui/SKILL.md +63 -25
- package/.agent/skills/intelligent-routing/SKILL.md +63 -23
- package/.agent/skills/knowledge-graph/SKILL.md +64 -25
- package/.agent/skills/landing-page/SKILL.md +63 -25
- package/.agent/skills/lint-and-validate/SKILL.md +59 -31
- package/.agent/skills/llm-engineering/SKILL.md +59 -31
- package/.agent/skills/local-first/SKILL.md +59 -31
- package/.agent/skills/local-first-architecture/SKILL.md +64 -24
- package/.agent/skills/lottie-animation/SKILL.md +63 -25
- package/.agent/skills/marquee-loop/SKILL.md +63 -25
- package/.agent/skills/masked-reveal/SKILL.md +246 -55
- package/.agent/skills/mcp-builder/SKILL.md +59 -31
- package/.agent/skills/micro-interaction/SKILL.md +255 -61
- package/.agent/skills/mobile-design/SKILL.md +61 -31
- package/.agent/skills/monorepo-management/SKILL.md +59 -31
- package/.agent/skills/morphing-icons/SKILL.md +366 -51
- package/.agent/skills/motion-engineering/SKILL.md +64 -26
- package/.agent/skills/nextjs-react-expert/SKILL.md +61 -31
- package/.agent/skills/nodejs-best-practices/SKILL.md +59 -31
- package/.agent/skills/observability/SKILL.md +59 -31
- package/.agent/skills/opentelemetry-observability/SKILL.md +66 -26
- package/.agent/skills/page-transition-animation/SKILL.md +63 -25
- package/.agent/skills/parallel-agents/SKILL.md +60 -31
- package/.agent/skills/performance-profiling/SKILL.md +60 -31
- package/.agent/skills/plan-writing/SKILL.md +59 -31
- package/.agent/skills/platform-engineer/SKILL.md +59 -31
- package/.agent/skills/platform-engineering-opentofu/SKILL.md +66 -27
- package/.agent/skills/playwright-ai-e2e/SKILL.md +67 -27
- package/.agent/skills/playwright-best-practices/SKILL.md +60 -31
- package/.agent/skills/polish/SKILL.md +63 -25
- package/.agent/skills/powershell-windows/SKILL.md +59 -31
- package/.agent/skills/pricing-page/SKILL.md +63 -25
- package/.agent/skills/product-aware-heuristics/SKILL.md +63 -25
- package/.agent/skills/progressive-blur/SKILL.md +63 -25
- package/.agent/skills/project-idioms/SKILL.md +60 -36
- package/.agent/skills/property-based-testing/SKILL.md +67 -27
- package/.agent/skills/python-patterns/SKILL.md +59 -31
- package/.agent/skills/python-pro/SKILL.md +61 -31
- package/.agent/skills/quieter/SKILL.md +63 -25
- package/.agent/skills/react-doctor/SKILL.md +63 -25
- package/.agent/skills/react-specialist/SKILL.md +61 -31
- package/.agent/skills/readme-builder/SKILL.md +59 -31
- package/.agent/skills/realtime-patterns/SKILL.md +59 -31
- package/.agent/skills/red-team-tactics/SKILL.md +59 -31
- package/.agent/skills/redesign-skill/SKILL.md +63 -25
- package/.agent/skills/review-animations/SKILL.md +64 -26
- package/.agent/skills/rust-pro/SKILL.md +61 -31
- package/.agent/skills/seo-fundamentals/SKILL.md +59 -31
- package/.agent/skills/server-management/SKILL.md +59 -31
- package/.agent/skills/shadcn-ui-expert/SKILL.md +59 -31
- package/.agent/skills/shape/SKILL.md +64 -25
- package/.agent/skills/skill-creator/SKILL.md +66 -24
- package/.agent/skills/soft-skill/SKILL.md +63 -25
- package/.agent/skills/sounds-on-the-web/SKILL.md +63 -25
- package/.agent/skills/sql-pro/SKILL.md +59 -31
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +59 -31
- package/.agent/skills/svg-animation/SKILL.md +369 -51
- package/.agent/skills/swiftui-expert/SKILL.md +59 -31
- package/.agent/skills/swiss-design/SKILL.md +63 -25
- package/.agent/skills/system-design-pro/SKILL.md +65 -25
- package/.agent/skills/systematic-debugging/SKILL.md +60 -31
- package/.agent/skills/tailwind-patterns/SKILL.md +59 -31
- package/.agent/skills/taste-skill/SKILL.md +63 -25
- package/.agent/skills/tdd-workflow/SKILL.md +66 -25
- package/.agent/skills/test-result-analyzer/SKILL.md +59 -32
- package/.agent/skills/testing-patterns/SKILL.md +60 -31
- package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +64 -26
- package/.agent/skills/thinking-protocol/SKILL.md +58 -34
- package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +63 -25
- package/.agent/skills/transitions-dev/SKILL.md +63 -25
- package/.agent/skills/trend-researcher/SKILL.md +58 -32
- package/.agent/skills/typescript-advanced/SKILL.md +59 -32
- package/.agent/skills/typeset/SKILL.md +63 -25
- package/.agent/skills/ui-reasoning-engine/SKILL.md +63 -25
- package/.agent/skills/ui-skill-packs/SKILL.md +64 -24
- package/.agent/skills/ui-skills-root/SKILL.md +63 -25
- package/.agent/skills/ui-ux-pro-max/SKILL.md +64 -24
- package/.agent/skills/ui-ux-researcher/SKILL.md +58 -32
- package/.agent/skills/vector-search-pgvector/SKILL.md +66 -26
- package/.agent/skills/verification-before-completion/SKILL.md +69 -16
- package/.agent/skills/vue-expert/SKILL.md +61 -31
- package/.agent/skills/vulnerability-scanner/SKILL.md +61 -31
- package/.agent/skills/web-accessibility-auditor/SKILL.md +59 -31
- package/.agent/skills/web-design-guidelines/SKILL.md +63 -25
- package/.agent/skills/web-quality-audit/SKILL.md +63 -25
- package/.agent/skills/webapp-testing/SKILL.md +60 -31
- package/.agent/skills/webgpu-performance/SKILL.md +64 -26
- package/.agent/skills/whimsy-injector/SKILL.md +58 -32
- package/.agent/skills/workflow-optimizer/SKILL.md +58 -31
- package/.agent/skills/zero-trust-passkeys/SKILL.md +66 -26
- package/.agent/templates/sdd/implementer-prompt.md +10 -1
- package/.agent/templates/sdd/re-review-prompt.md +9 -1
- package/.agent/templates/sdd/task-reviewer-prompt.md +20 -1
- package/.agent/workflows/audit-live.md +52 -0
- package/.agent/workflows/compare-web.md +35 -0
- package/.agent/workflows/context.md +100 -0
- package/.agent/workflows/plan.md +1 -1
- package/.agent/workflows/skill-enhancement-engine.md +88 -0
- package/.agent/workflows/super-prompt.md +101 -21
- package/.agents/skills/12-principles-of-animation/SKILL.md +126 -0
- package/.agents/skills/60fps-animation/SKILL.md +164 -0
- package/.agents/skills/accessible-animation/SKILL.md +266 -0
- package/.agents/skills/adapt/SKILL.md +131 -0
- package/.agents/skills/advanced-rag-pipelines/SKILL.md +169 -0
- package/.agents/skills/agent-organizer/SKILL.md +192 -0
- package/.agents/skills/agentic-patterns/SKILL.md +356 -0
- package/.agents/skills/agentic-workflows-2026/SKILL.md +157 -0
- package/.agents/skills/ai-app-hardening/SKILL.md +125 -0
- package/.agents/skills/ai-prompt-injection-defense/SKILL.md +237 -0
- package/.agents/skills/animation-on-scroll/SKILL.md +267 -0
- package/.agents/skills/animation-systems/SKILL.md +273 -0
- package/.agents/skills/antfu-conventions/SKILL.md +129 -0
- package/.agents/skills/api-patterns/SKILL.md +293 -0
- package/.agents/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.agents/skills/api-security-auditor/SKILL.md +230 -0
- package/.agents/skills/app-builder/SKILL.md +610 -0
- package/.agents/skills/app-builder/templates/SKILL.md +108 -0
- package/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -0
- package/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -0
- package/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -0
- package/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -0
- package/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -0
- package/.agents/skills/appflow-wireframe/SKILL.md +173 -0
- package/.agents/skills/apple-design/SKILL.md +164 -0
- package/.agents/skills/architecture/SKILL.md +263 -0
- package/.agents/skills/audit-and-fix/SKILL.md +136 -0
- package/.agents/skills/authentication-best-practices/SKILL.md +232 -0
- package/.agents/skills/backend-security-expert/SKILL.md +148 -0
- package/.agents/skills/baseline-ui/SKILL.md +130 -0
- package/.agents/skills/bash-linux/SKILL.md +214 -0
- package/.agents/skills/behavioral-modes/SKILL.md +275 -0
- package/.agents/skills/better-colors/SKILL.md +191 -0
- package/.agents/skills/better-typography/SKILL.md +164 -0
- package/.agents/skills/better-ui/SKILL.md +193 -0
- package/.agents/skills/bolder/SKILL.md +124 -0
- package/.agents/skills/brainstorming/SKILL.md +534 -0
- package/.agents/skills/browser-audit/SKILL.md +170 -0
- package/.agents/skills/browser-native-ai/SKILL.md +147 -0
- package/.agents/skills/build-primitive/SKILL.md +125 -0
- package/.agents/skills/building-native-ui/SKILL.md +237 -0
- package/.agents/skills/cicd-pro/SKILL.md +487 -0
- package/.agents/skills/clarify/SKILL.md +130 -0
- package/.agents/skills/clean-code/SKILL.md +442 -0
- package/.agents/skills/cloud-architect/SKILL.md +484 -0
- package/.agents/skills/cobejs/SKILL.md +145 -0
- package/.agents/skills/code-review-checklist/SKILL.md +238 -0
- package/.agents/skills/codebase-design/SKILL.md +151 -0
- package/.agents/skills/colorize/SKILL.md +132 -0
- package/.agents/skills/compact-landing/SKILL.md +125 -0
- package/.agents/skills/company-logos/SKILL.md +129 -0
- package/.agents/skills/config-validator/SKILL.md +200 -0
- package/.agents/skills/containerization-pro/SKILL.md +497 -0
- package/.agents/skills/context-engineering-pro/SKILL.md +136 -0
- package/.agents/skills/create-design-md/SKILL.md +167 -0
- package/.agents/skills/critique/SKILL.md +154 -0
- package/.agents/skills/csharp-developer/SKILL.md +553 -0
- package/.agents/skills/data-validation-schemas/SKILL.md +372 -0
- package/.agents/skills/database-design/SKILL.md +294 -0
- package/.agents/skills/database-design/scripts/schema_validator.py +172 -0
- package/.agents/skills/delight/SKILL.md +121 -0
- package/.agents/skills/deployment-procedures/SKILL.md +207 -0
- package/.agents/skills/design-lab/SKILL.md +117 -0
- package/.agents/skills/devops-engineer/SKILL.md +380 -0
- package/.agents/skills/devops-incident-responder/SKILL.md +178 -0
- package/.agents/skills/diagnosing-bugs/SKILL.md +247 -0
- package/.agents/skills/distill/SKILL.md +120 -0
- package/.agents/skills/documentation-templates/SKILL.md +326 -0
- package/.agents/skills/domain-modeling/SKILL.md +136 -0
- package/.agents/skills/duckdb-analytical-sql/SKILL.md +125 -0
- package/.agents/skills/edge-ai-mobile/SKILL.md +116 -0
- package/.agents/skills/edge-computing/SKILL.md +218 -0
- package/.agents/skills/emil-design-eng/SKILL.md +209 -0
- package/.agents/skills/error-resilience/SKILL.md +478 -0
- package/.agents/skills/expo-router-v4/SKILL.md +146 -0
- package/.agents/skills/extract-design-system/SKILL.md +195 -0
- package/.agents/skills/fabel-protocol/SKILL.md +352 -0
- package/.agents/skills/fixing-accessibility/SKILL.md +162 -0
- package/.agents/skills/fixing-metadata/SKILL.md +158 -0
- package/.agents/skills/fixing-motion-performance/SKILL.md +153 -0
- package/.agents/skills/framer-motion-expert/SKILL.md +312 -0
- package/.agents/skills/frontend-design/SKILL.md +178 -0
- package/.agents/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.agents/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/.agents/skills/frontend-security-expert/SKILL.md +131 -0
- package/.agents/skills/game-design-expert/SKILL.md +167 -0
- package/.agents/skills/game-engineering-expert/SKILL.md +183 -0
- package/.agents/skills/generative-ui-expert/SKILL.md +175 -0
- package/.agents/skills/geo-fundamentals/SKILL.md +183 -0
- package/.agents/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.agents/skills/git-pro/SKILL.md +476 -0
- package/.agents/skills/github-operations/SKILL.md +370 -0
- package/.agents/skills/gpt-taste/SKILL.md +125 -0
- package/.agents/skills/gsap-core/SKILL.md +352 -0
- package/.agents/skills/gsap-frameworks/SKILL.md +243 -0
- package/.agents/skills/gsap-performance/SKILL.md +169 -0
- package/.agents/skills/gsap-plugins/SKILL.md +516 -0
- package/.agents/skills/gsap-react/SKILL.md +288 -0
- package/.agents/skills/gsap-scrolltrigger/SKILL.md +387 -0
- package/.agents/skills/gsap-timeline/SKILL.md +197 -0
- package/.agents/skills/gsap-utils/SKILL.md +374 -0
- package/.agents/skills/harden/SKILL.md +130 -0
- package/.agents/skills/harness-protocol/SKILL.md +115 -0
- package/.agents/skills/i18n-localization/SKILL.md +209 -0
- package/.agents/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.agents/skills/impeccable/SKILL.md +127 -0
- package/.agents/skills/improve-codebase-architecture/SKILL.md +123 -0
- package/.agents/skills/improve-ui/SKILL.md +145 -0
- package/.agents/skills/intelligent-routing/SKILL.md +283 -0
- package/.agents/skills/knowledge-graph/SKILL.md +146 -0
- package/.agents/skills/landing-page/SKILL.md +140 -0
- package/.agents/skills/lint-and-validate/SKILL.md +299 -0
- package/.agents/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/.agents/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.agents/skills/llm-engineering/SKILL.md +435 -0
- package/.agents/skills/local-first/SKILL.md +213 -0
- package/.agents/skills/local-first-architecture/SKILL.md +137 -0
- package/.agents/skills/lottie-animation/SKILL.md +137 -0
- package/.agents/skills/marquee-loop/SKILL.md +147 -0
- package/.agents/skills/masked-reveal/SKILL.md +305 -0
- package/.agents/skills/mcp-builder/SKILL.md +180 -0
- package/.agents/skills/micro-interaction/SKILL.md +321 -0
- package/.agents/skills/mobile-design/SKILL.md +320 -0
- package/.agents/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.agents/skills/monorepo-management/SKILL.md +370 -0
- package/.agents/skills/morphing-icons/SKILL.md +423 -0
- package/.agents/skills/motion-engineering/SKILL.md +272 -0
- package/.agents/skills/nextjs-react-expert/SKILL.md +293 -0
- package/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/.agents/skills/nodejs-best-practices/SKILL.md +617 -0
- package/.agents/skills/observability/SKILL.md +378 -0
- package/.agents/skills/opentelemetry-observability/SKILL.md +125 -0
- package/.agents/skills/page-transition-animation/SKILL.md +161 -0
- package/.agents/skills/parallel-agents/SKILL.md +185 -0
- package/.agents/skills/performance-profiling/SKILL.md +305 -0
- package/.agents/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/.agents/skills/plan-writing/SKILL.md +202 -0
- package/.agents/skills/platform-engineer/SKILL.md +183 -0
- package/.agents/skills/platform-engineering-opentofu/SKILL.md +133 -0
- package/.agents/skills/playwright-ai-e2e/SKILL.md +126 -0
- package/.agents/skills/playwright-best-practices/SKILL.md +224 -0
- package/.agents/skills/polish/SKILL.md +114 -0
- package/.agents/skills/powershell-windows/SKILL.md +197 -0
- package/.agents/skills/pricing-page/SKILL.md +123 -0
- package/.agents/skills/product-aware-heuristics/SKILL.md +465 -0
- package/.agents/skills/progressive-blur/SKILL.md +155 -0
- package/.agents/skills/project-idioms/SKILL.md +166 -0
- package/.agents/skills/property-based-testing/SKILL.md +124 -0
- package/.agents/skills/python-patterns/SKILL.md +295 -0
- package/.agents/skills/python-pro/SKILL.md +380 -0
- package/.agents/skills/quieter/SKILL.md +124 -0
- package/.agents/skills/react-doctor/SKILL.md +126 -0
- package/.agents/skills/react-specialist/SKILL.md +355 -0
- package/.agents/skills/readme-builder/SKILL.md +345 -0
- package/.agents/skills/realtime-patterns/SKILL.md +358 -0
- package/.agents/skills/red-team-tactics/SKILL.md +266 -0
- package/.agents/skills/redesign-skill/SKILL.md +121 -0
- package/.agents/skills/review-animations/SKILL.md +120 -0
- package/.agents/skills/review-animations/STANDARDS.md +87 -0
- package/.agents/skills/rust-pro/SKILL.md +727 -0
- package/.agents/skills/seo-fundamentals/SKILL.md +214 -0
- package/.agents/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/.agents/skills/server-management/SKILL.md +253 -0
- package/.agents/skills/shadcn-ui-expert/SKILL.md +271 -0
- package/.agents/skills/shape/SKILL.md +131 -0
- package/.agents/skills/skill-creator/SKILL.md +136 -0
- package/.agents/skills/soft-skill/SKILL.md +128 -0
- package/.agents/skills/sounds-on-the-web/SKILL.md +151 -0
- package/.agents/skills/sql-pro/SKILL.md +699 -0
- package/.agents/skills/supabase-postgres-best-practices/SKILL.md +132 -0
- package/.agents/skills/svg-animation/SKILL.md +431 -0
- package/.agents/skills/swiftui-expert/SKILL.md +239 -0
- package/.agents/skills/swiss-design/SKILL.md +119 -0
- package/.agents/skills/system-design-pro/SKILL.md +393 -0
- package/.agents/skills/systematic-debugging/SKILL.md +198 -0
- package/.agents/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/.agents/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/.agents/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/.agents/skills/tailwind-patterns/SKILL.md +658 -0
- package/.agents/skills/taste-skill/SKILL.md +127 -0
- package/.agents/skills/tdd-workflow/SKILL.md +179 -0
- package/.agents/skills/test-result-analyzer/SKILL.md +345 -0
- package/.agents/skills/testing-patterns/SKILL.md +609 -0
- package/.agents/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.agents/skills/thermo-nuclear-code-quality-review/SKILL.md +137 -0
- package/.agents/skills/thinking-protocol/SKILL.md +97 -0
- package/.agents/skills/to-spring-or-not-to-spring/SKILL.md +118 -0
- package/.agents/skills/transitions-dev/SKILL.md +165 -0
- package/.agents/skills/trend-researcher/SKILL.md +273 -0
- package/.agents/skills/typescript-advanced/SKILL.md +381 -0
- package/.agents/skills/typeset/SKILL.md +135 -0
- package/.agents/skills/ui-reasoning-engine/SKILL.md +230 -0
- package/.agents/skills/ui-skill-packs/SKILL.md +132 -0
- package/.agents/skills/ui-skills-root/SKILL.md +144 -0
- package/.agents/skills/ui-ux-pro-max/SKILL.md +185 -0
- package/.agents/skills/ui-ux-researcher/SKILL.md +274 -0
- package/.agents/skills/vector-search-pgvector/SKILL.md +144 -0
- package/.agents/skills/verification-before-completion/SKILL.md +178 -0
- package/.agents/skills/vue-expert/SKILL.md +334 -0
- package/.agents/skills/vulnerability-scanner/SKILL.md +453 -0
- package/.agents/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/.agents/skills/web-accessibility-auditor/SKILL.md +254 -0
- package/.agents/skills/web-design-guidelines/SKILL.md +124 -0
- package/.agents/skills/web-quality-audit/SKILL.md +122 -0
- package/.agents/skills/webapp-testing/SKILL.md +203 -0
- package/.agents/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.agents/skills/webgpu-performance/SKILL.md +163 -0
- package/.agents/skills/whimsy-injector/SKILL.md +380 -0
- package/.agents/skills/workflow-optimizer/SKILL.md +263 -0
- package/.agents/skills/zero-trust-passkeys/SKILL.md +156 -0
- package/.claude-plugin/marketplace.json +1 -4
- package/.hermes-plugin/plugin.yaml +1 -1
- package/.kimi-plugin/plugin.json +6 -6
- package/.opencode/INSTALL.md +2 -2
- package/.opencode/rules.md +258 -0
- package/AGENTS.md +91 -0
- package/CLAUDE.md +442 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +66 -69
- package/bin/adapter-install.js +40 -16
- package/bin/mcp-server.js +426 -0
- package/bin/proxy-server.js +18 -9
- package/bin/spawn-agent.js +9 -3
- package/bin/wrapper.js +19 -4
- package/dist/browser/audit.js +229 -0
- package/dist/browser/case_bridge.js +189 -0
- package/dist/browser/cdp.js +513 -0
- package/dist/browser/compare.js +110 -0
- package/dist/browser/discovery.js +140 -0
- package/dist/browser/idpi.js +142 -0
- package/dist/browser/index.js +89 -0
- package/dist/browser/launcher.js +154 -0
- package/dist/browser/sentinel.js +202 -0
- package/dist/browser/synapse.js +251 -0
- package/dist/browser/trimmer.js +210 -0
- package/dist/cli.js +70 -48
- package/dist/commands/audit-web.js +112 -0
- package/dist/commands/browse.js +56 -0
- package/dist/commands/compare-web.js +61 -0
- package/dist/commands/deconstruct.js +58 -0
- package/dist/commands/heal.js +99 -0
- package/dist/commands/init.js +10 -1
- package/dist/commands/sdd.js +229 -0
- package/dist/commands/uninstall.js +12 -0
- package/dist/tui/banner.js +1 -1
- package/gemini-extension.json +1 -1
- package/hooks/hooks-cursor.json +2 -8
- package/hooks/hooks.json +2 -8
- package/marketplace.json +14 -0
- package/package.json +176 -165
- package/plugin.json +26 -0
- package/scripts/apply-version.js +57 -0
- package/scripts/clean-pycache.js +42 -0
- package/scripts/context_compiler.js +944 -0
- package/scripts/package-cores.js +113 -0
- package/scripts/skill_enhancement_engine.js +473 -0
- package/scripts/sync-skills.js +61 -0
- package/skills/12-principles-of-animation/SKILL.md +126 -0
- package/skills/60fps-animation/SKILL.md +164 -0
- package/skills/accessible-animation/SKILL.md +266 -0
- package/skills/adapt/SKILL.md +131 -0
- package/skills/advanced-rag-pipelines/SKILL.md +169 -0
- package/skills/agent-organizer/SKILL.md +192 -0
- package/skills/agentic-patterns/SKILL.md +356 -0
- package/skills/agentic-workflows-2026/SKILL.md +157 -0
- package/skills/ai-app-hardening/SKILL.md +125 -0
- package/skills/ai-prompt-injection-defense/SKILL.md +237 -0
- package/skills/animation-on-scroll/SKILL.md +267 -0
- package/skills/animation-systems/SKILL.md +273 -0
- package/skills/antfu-conventions/SKILL.md +129 -0
- package/skills/api-patterns/SKILL.md +293 -0
- package/skills/api-patterns/scripts/api_validator.py +211 -0
- package/skills/api-security-auditor/SKILL.md +230 -0
- package/skills/app-builder/SKILL.md +610 -0
- package/skills/app-builder/templates/SKILL.md +108 -0
- package/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -0
- package/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -0
- package/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -0
- package/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -0
- package/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -0
- package/skills/appflow-wireframe/SKILL.md +173 -0
- package/skills/apple-design/SKILL.md +164 -0
- package/skills/architecture/SKILL.md +263 -0
- package/skills/audit-and-fix/SKILL.md +136 -0
- package/skills/authentication-best-practices/SKILL.md +232 -0
- package/skills/backend-security-expert/SKILL.md +148 -0
- package/skills/baseline-ui/SKILL.md +130 -0
- package/skills/bash-linux/SKILL.md +214 -0
- package/skills/behavioral-modes/SKILL.md +275 -0
- package/skills/better-colors/SKILL.md +191 -0
- package/skills/better-typography/SKILL.md +164 -0
- package/skills/better-ui/SKILL.md +193 -0
- package/skills/bolder/SKILL.md +124 -0
- package/skills/brainstorming/SKILL.md +534 -0
- package/skills/browser-audit/SKILL.md +170 -0
- package/skills/browser-native-ai/SKILL.md +147 -0
- package/skills/build-primitive/SKILL.md +125 -0
- package/skills/building-native-ui/SKILL.md +237 -0
- package/skills/cicd-pro/SKILL.md +487 -0
- package/skills/clarify/SKILL.md +130 -0
- package/skills/clean-code/SKILL.md +442 -0
- package/skills/cloud-architect/SKILL.md +484 -0
- package/skills/cobejs/SKILL.md +145 -0
- package/skills/code-review-checklist/SKILL.md +238 -0
- package/skills/codebase-design/SKILL.md +151 -0
- package/skills/colorize/SKILL.md +132 -0
- package/skills/compact-landing/SKILL.md +125 -0
- package/skills/company-logos/SKILL.md +129 -0
- package/skills/config-validator/SKILL.md +200 -0
- package/skills/containerization-pro/SKILL.md +497 -0
- package/skills/context-engineering-pro/SKILL.md +136 -0
- package/skills/create-design-md/SKILL.md +167 -0
- package/skills/critique/SKILL.md +154 -0
- package/skills/csharp-developer/SKILL.md +553 -0
- package/skills/data-validation-schemas/SKILL.md +372 -0
- package/skills/database-design/SKILL.md +294 -0
- package/skills/database-design/scripts/schema_validator.py +172 -0
- package/skills/delight/SKILL.md +121 -0
- package/skills/deployment-procedures/SKILL.md +207 -0
- package/skills/design-lab/SKILL.md +117 -0
- package/skills/devops-engineer/SKILL.md +380 -0
- package/skills/devops-incident-responder/SKILL.md +178 -0
- package/skills/diagnosing-bugs/SKILL.md +247 -0
- package/skills/distill/SKILL.md +120 -0
- package/skills/documentation-templates/SKILL.md +326 -0
- package/skills/domain-modeling/SKILL.md +136 -0
- package/skills/duckdb-analytical-sql/SKILL.md +125 -0
- package/skills/edge-ai-mobile/SKILL.md +116 -0
- package/skills/edge-computing/SKILL.md +218 -0
- package/skills/emil-design-eng/SKILL.md +209 -0
- package/skills/error-resilience/SKILL.md +478 -0
- package/skills/expo-router-v4/SKILL.md +146 -0
- package/skills/extract-design-system/SKILL.md +195 -0
- package/skills/fabel-protocol/SKILL.md +352 -0
- package/skills/fixing-accessibility/SKILL.md +162 -0
- package/skills/fixing-metadata/SKILL.md +158 -0
- package/skills/fixing-motion-performance/SKILL.md +153 -0
- package/skills/framer-motion-expert/SKILL.md +312 -0
- package/skills/frontend-design/SKILL.md +178 -0
- package/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/skills/frontend-security-expert/SKILL.md +131 -0
- package/skills/game-design-expert/SKILL.md +167 -0
- package/skills/game-engineering-expert/SKILL.md +183 -0
- package/skills/generative-ui-expert/SKILL.md +175 -0
- package/skills/geo-fundamentals/SKILL.md +183 -0
- package/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/skills/git-pro/SKILL.md +476 -0
- package/skills/github-operations/SKILL.md +370 -0
- package/skills/gpt-taste/SKILL.md +125 -0
- package/skills/gsap-core/SKILL.md +352 -0
- package/skills/gsap-frameworks/SKILL.md +243 -0
- package/skills/gsap-performance/SKILL.md +169 -0
- package/skills/gsap-plugins/SKILL.md +516 -0
- package/skills/gsap-react/SKILL.md +288 -0
- package/skills/gsap-scrolltrigger/SKILL.md +387 -0
- package/skills/gsap-timeline/SKILL.md +197 -0
- package/skills/gsap-utils/SKILL.md +374 -0
- package/skills/harden/SKILL.md +130 -0
- package/skills/harness-protocol/SKILL.md +115 -0
- package/skills/i18n-localization/SKILL.md +209 -0
- package/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/skills/impeccable/SKILL.md +127 -0
- package/skills/improve-codebase-architecture/SKILL.md +123 -0
- package/skills/improve-ui/SKILL.md +145 -0
- package/skills/intelligent-routing/SKILL.md +283 -0
- package/skills/knowledge-graph/SKILL.md +146 -0
- package/skills/landing-page/SKILL.md +140 -0
- package/skills/lint-and-validate/SKILL.md +299 -0
- package/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/skills/llm-engineering/SKILL.md +435 -0
- package/skills/local-first/SKILL.md +213 -0
- package/skills/local-first-architecture/SKILL.md +137 -0
- package/skills/lottie-animation/SKILL.md +137 -0
- package/skills/marquee-loop/SKILL.md +147 -0
- package/skills/masked-reveal/SKILL.md +305 -0
- package/skills/mcp-builder/SKILL.md +180 -0
- package/skills/micro-interaction/SKILL.md +321 -0
- package/skills/mobile-design/SKILL.md +320 -0
- package/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/skills/monorepo-management/SKILL.md +370 -0
- package/skills/morphing-icons/SKILL.md +423 -0
- package/skills/motion-engineering/SKILL.md +272 -0
- package/skills/nextjs-react-expert/SKILL.md +293 -0
- package/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/skills/nodejs-best-practices/SKILL.md +617 -0
- package/skills/observability/SKILL.md +378 -0
- package/skills/opentelemetry-observability/SKILL.md +125 -0
- package/skills/page-transition-animation/SKILL.md +161 -0
- package/skills/parallel-agents/SKILL.md +185 -0
- package/skills/performance-profiling/SKILL.md +305 -0
- package/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/skills/plan-writing/SKILL.md +202 -0
- package/skills/platform-engineer/SKILL.md +183 -0
- package/skills/platform-engineering-opentofu/SKILL.md +133 -0
- package/skills/playwright-ai-e2e/SKILL.md +126 -0
- package/skills/playwright-best-practices/SKILL.md +224 -0
- package/skills/polish/SKILL.md +114 -0
- package/skills/powershell-windows/SKILL.md +197 -0
- package/skills/pricing-page/SKILL.md +123 -0
- package/skills/product-aware-heuristics/SKILL.md +465 -0
- package/skills/progressive-blur/SKILL.md +155 -0
- package/skills/project-idioms/SKILL.md +166 -0
- package/skills/property-based-testing/SKILL.md +124 -0
- package/skills/python-patterns/SKILL.md +295 -0
- package/skills/python-pro/SKILL.md +380 -0
- package/skills/quieter/SKILL.md +124 -0
- package/skills/react-doctor/SKILL.md +126 -0
- package/skills/react-specialist/SKILL.md +355 -0
- package/skills/readme-builder/SKILL.md +345 -0
- package/skills/realtime-patterns/SKILL.md +358 -0
- package/skills/red-team-tactics/SKILL.md +266 -0
- package/skills/redesign-skill/SKILL.md +121 -0
- package/skills/review-animations/SKILL.md +120 -0
- package/skills/review-animations/STANDARDS.md +87 -0
- package/skills/rust-pro/SKILL.md +727 -0
- package/skills/seo-fundamentals/SKILL.md +214 -0
- package/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/skills/server-management/SKILL.md +253 -0
- package/skills/shadcn-ui-expert/SKILL.md +271 -0
- package/skills/shape/SKILL.md +131 -0
- package/skills/skill-creator/SKILL.md +136 -0
- package/skills/soft-skill/SKILL.md +128 -0
- package/skills/sounds-on-the-web/SKILL.md +151 -0
- package/skills/sql-pro/SKILL.md +699 -0
- package/skills/supabase-postgres-best-practices/SKILL.md +132 -0
- package/skills/svg-animation/SKILL.md +431 -0
- package/skills/swiftui-expert/SKILL.md +239 -0
- package/skills/swiss-design/SKILL.md +119 -0
- package/skills/system-design-pro/SKILL.md +393 -0
- package/skills/systematic-debugging/SKILL.md +198 -0
- package/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/skills/tailwind-patterns/SKILL.md +658 -0
- package/skills/taste-skill/SKILL.md +127 -0
- package/skills/tdd-workflow/SKILL.md +179 -0
- package/skills/test-result-analyzer/SKILL.md +345 -0
- package/skills/testing-patterns/SKILL.md +609 -0
- package/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/skills/thermo-nuclear-code-quality-review/SKILL.md +137 -0
- package/skills/thinking-protocol/SKILL.md +97 -0
- package/skills/to-spring-or-not-to-spring/SKILL.md +118 -0
- package/skills/transitions-dev/SKILL.md +165 -0
- package/skills/trend-researcher/SKILL.md +273 -0
- package/skills/typescript-advanced/SKILL.md +381 -0
- package/skills/typeset/SKILL.md +135 -0
- package/skills/ui-reasoning-engine/SKILL.md +230 -0
- package/skills/ui-skill-packs/SKILL.md +132 -0
- package/skills/ui-skills-root/SKILL.md +144 -0
- package/skills/ui-ux-pro-max/SKILL.md +185 -0
- package/skills/ui-ux-researcher/SKILL.md +274 -0
- package/skills/vector-search-pgvector/SKILL.md +144 -0
- package/skills/verification-before-completion/SKILL.md +178 -0
- package/skills/vue-expert/SKILL.md +334 -0
- package/skills/vulnerability-scanner/SKILL.md +453 -0
- package/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/skills/web-accessibility-auditor/SKILL.md +254 -0
- package/skills/web-design-guidelines/SKILL.md +124 -0
- package/skills/web-quality-audit/SKILL.md +122 -0
- package/skills/webapp-testing/SKILL.md +203 -0
- package/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/skills/webgpu-performance/SKILL.md +163 -0
- package/skills/whimsy-injector/SKILL.md +380 -0
- package/skills/workflow-optimizer/SKILL.md +263 -0
- package/skills/zero-trust-passkeys/SKILL.md +156 -0
- package/.agent/skills/api-patterns/scripts/__pycache__/api_validator.cpython-311.pyc +0 -0
- package/.agent/skills/database-design/scripts/__pycache__/schema_validator.cpython-311.pyc +0 -0
- package/.agent/skills/frontend-design/scripts/__pycache__/accessibility_checker.cpython-311.pyc +0 -0
- package/.agent/skills/frontend-design/scripts/__pycache__/ux_audit.cpython-311.pyc +0 -0
- package/.agent/skills/geo-fundamentals/scripts/__pycache__/geo_checker.cpython-311.pyc +0 -0
- package/.agent/skills/i18n-localization/scripts/__pycache__/i18n_checker.cpython-311.pyc +0 -0
- package/.agent/skills/lint-and-validate/scripts/__pycache__/lint_runner.cpython-311.pyc +0 -0
- package/.agent/skills/lint-and-validate/scripts/__pycache__/type_coverage.cpython-311.pyc +0 -0
- package/.agent/skills/mobile-design/scripts/__pycache__/mobile_audit.cpython-311.pyc +0 -0
- package/.agent/skills/nextjs-react-expert/scripts/__pycache__/convert_rules.cpython-311.pyc +0 -0
- package/.agent/skills/nextjs-react-expert/scripts/__pycache__/react_performance_checker.cpython-311.pyc +0 -0
- package/.agent/skills/performance-profiling/scripts/__pycache__/lighthouse_audit.cpython-311.pyc +0 -0
- package/.agent/skills/seo-fundamentals/scripts/__pycache__/seo_checker.cpython-311.pyc +0 -0
- package/.agent/skills/testing-patterns/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
- package/.agent/skills/vulnerability-scanner/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
- package/.agent/skills/webapp-testing/scripts/__pycache__/playwright_runner.cpython-311.pyc +0 -0
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: python-pro
|
|
3
|
+
description: Use when Python 3.12+ specialist. FastAPI, Pydantic v2, asyncio, modern types, pytest. Use when building Python APIs, data pipelines, automation, or any Python code.
|
|
4
|
+
version: 5.0.0
|
|
5
|
+
last-updated: 2026-09-13
|
|
6
|
+
skills:
|
|
7
|
+
- python-patterns
|
|
8
|
+
- data-validation-schemas
|
|
9
|
+
- api-patterns
|
|
10
|
+
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
11
|
+
scripts-binding:
|
|
12
|
+
- .agent/scripts/lint_runner.js
|
|
13
|
+
- .agent/scripts/verify_all.js
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Python 3.12+ — Dense Reference
|
|
17
|
+
|
|
18
|
+
## Mandatory Pre-Flight Context Inspection
|
|
19
|
+
|
|
20
|
+
Before generating, refactoring, or reviewing code in the `python-pro` domain, inspect these 5 critical parameters:
|
|
21
|
+
|
|
22
|
+
1. **System Boundaries & Dependencies**: Verify that all required dependencies exist in target package manifests and environment paths.
|
|
23
|
+
2. **Runtime Context & Platform Invariants**: Confirm target platform constraints (Node.js, Browser, Mobile OS, Edge runtime) before applying APIs.
|
|
24
|
+
3. **Execution Guardrails**: Identify potential side-effects, state mutations, and unhandled asynchronous exceptions.
|
|
25
|
+
4. **Validation & Type Contracts**: Validate input data schemas and strict type constraints across all module interfaces.
|
|
26
|
+
5. **Observability & Proof of Execution**: Ensure execution produces tangible verification signals (terminal output, tests, metrics).
|
|
27
|
+
|
|
28
|
+
## Activation Boundaries
|
|
29
|
+
|
|
30
|
+
- **Activate when:** Use when Python 3.12+ specialist. FastAPI, Pydantic v2, asyncio, modern types, pytest. Use when building Python APIs, data pipelines, automation, or any Python code.
|
|
31
|
+
- **DO NOT activate when:** The task falls outside the `python-pro` domain or is managed by a different dedicated specialist.
|
|
32
|
+
|
|
33
|
+
## 🔁 Multi-Pass Execution Protocol
|
|
34
|
+
|
|
35
|
+
Execute all non-trivial tasks through this 7-pass cognitive loop:
|
|
36
|
+
|
|
37
|
+
| Pass | Phase | Core Action |
|
|
38
|
+
|:---|:---|:---|
|
|
39
|
+
| **Pass 1** | **Understand** | Deconstruct the user's explicit objective, implicit requirements, and platform constraints. |
|
|
40
|
+
| **Pass 2** | **Plan** | Decompose the task into smallest logical steps; map dependencies and required tool calls. |
|
|
41
|
+
| **Pass 3** | **Execute** | Implement the solution with production-grade craft, zero placeholders, and strict typing. |
|
|
42
|
+
| **Pass 4** | **Verify** | Run linters, unit tests, or compiler checks to validate structural correctness. |
|
|
43
|
+
| **Pass 5** | **Attack** | Perform an adversarial review searching for edge-case failures, race conditions, and traps. |
|
|
44
|
+
| **Pass 6** | **Improve** | Eliminate discovered friction, optimize performance, and harden error boundaries. |
|
|
45
|
+
| **Pass 7** | **Quality Gate** | Enforce Verification-Before-Completion (VBC) with concrete terminal proof before finalizing. |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 🛠️ Technical Architecture & Reference Recipes
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## 2026 Python 3.12+ Performance & Logic Invariants
|
|
55
|
+
|
|
56
|
+
1. **Structured Concurrency with `TaskGroup`**:
|
|
57
|
+
```python
|
|
58
|
+
async with asyncio.TaskGroup() as tg:
|
|
59
|
+
task1 = tg.create_task(fetch_user(user_id))
|
|
60
|
+
task2 = tg.create_task(fetch_orders(user_id))
|
|
61
|
+
# If either fails, the other is cancelled immediately; exceptions grouped in ExceptionGroup
|
|
62
|
+
```
|
|
63
|
+
2. **PEP 695 Native Type Aliases & Generics**:
|
|
64
|
+
```python
|
|
65
|
+
type Coordinates = tuple[float, float]
|
|
66
|
+
def get_first[T](items: list[T]) -> T | None:
|
|
67
|
+
return items[0] if items else None
|
|
68
|
+
```
|
|
69
|
+
3. **Pydantic v2 Zero-Copy Deserialization**: Use `TypeAdapter(list[Model]).validate_python(data)` for batch parsing.
|
|
70
|
+
4. **Connection Pooling & Lifespan**: Always manage client lifecycles using `lifespan` context managers rather than re-instantiating HTTP/DB clients per request.
|
|
71
|
+
|
|
72
|
+
## Hallucination Traps (Read First)
|
|
73
|
+
|
|
74
|
+
- ❌ `from typing import List, Dict, Optional, Union, TypeVar` → ✅ Native `list[str]`, `dict[k,v]`, `X | None`, `type Alias = ...`
|
|
75
|
+
- ❌ `user.dict()` / `user.json()` / `UserCreate.parse_obj()` → ✅ Pydantic v2: `model_dump()`, `model_dump_json()`, `model_validate()`
|
|
76
|
+
- ❌ Pydantic `class Config: orm_mode = True` → ✅ `model_config = {"from_attributes": True}`
|
|
77
|
+
- ❌ `@validator` / `@root_validator` → ✅ `@field_validator` / `@model_validator`
|
|
78
|
+
- ❌ `@app.on_event("startup")` → ✅ FastAPI `lifespan` context manager
|
|
79
|
+
- ❌ `import requests` in async code → ✅ `httpx.AsyncClient()`
|
|
80
|
+
- ❌ `asyncio.gather()` leaving orphaned tasks on error → ✅ `asyncio.TaskGroup()`
|
|
81
|
+
- ❌ `except Exception as e: pass` → ✅ Always log or re-raise
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Type System (3.12+)
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
# Built-in generics (3.9+) — no typing imports needed for basic types
|
|
89
|
+
def process(items: list[str]) -> dict[str, int]: ...
|
|
90
|
+
def find(user_id: int) -> User | None: ... # 3.10+ union
|
|
91
|
+
def parse(raw: str) -> int | float | None: ...
|
|
92
|
+
|
|
93
|
+
# Generic syntax (3.12+)
|
|
94
|
+
def first[T](items: list[T]) -> T | None:
|
|
95
|
+
return items[0] if items else None
|
|
96
|
+
type Point = tuple[float, float] # 3.12+ type alias
|
|
97
|
+
|
|
98
|
+
# Protocol (structural typing — duck typing with types)
|
|
99
|
+
from typing import Protocol, runtime_checkable
|
|
100
|
+
@runtime_checkable
|
|
101
|
+
class Renderable(Protocol):
|
|
102
|
+
def render(self) -> str: ...
|
|
103
|
+
|
|
104
|
+
# TypedDict — typed dict with optional keys
|
|
105
|
+
from typing import TypedDict, NotRequired
|
|
106
|
+
class UserPayload(TypedDict):
|
|
107
|
+
name: str; email: str
|
|
108
|
+
age: NotRequired[int] # optional key
|
|
109
|
+
|
|
110
|
+
# ParamSpec — preserve signatures in decorators
|
|
111
|
+
from typing import TypeVar, ParamSpec
|
|
112
|
+
from collections.abc import Callable
|
|
113
|
+
T = TypeVar("T"); P = ParamSpec("P")
|
|
114
|
+
def with_logging(func: Callable[P, T]) -> Callable[P, T]:
|
|
115
|
+
def wrapper(*args: P.args, **kwargs: P.kwargs) -> T:
|
|
116
|
+
result = func(*args, **kwargs)
|
|
117
|
+
return result
|
|
118
|
+
return wrapper
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Pydantic v2
|
|
124
|
+
|
|
125
|
+
```python
|
|
126
|
+
from pydantic import BaseModel, Field, field_validator, model_validator
|
|
127
|
+
from enum import Enum
|
|
128
|
+
|
|
129
|
+
class Role(str, Enum):
|
|
130
|
+
ADMIN = "admin"; USER = "user"
|
|
131
|
+
|
|
132
|
+
class UserCreate(BaseModel):
|
|
133
|
+
name: str = Field(..., min_length=2, max_length=100)
|
|
134
|
+
email: str = Field(..., pattern=r"^[\w.-]+@[\w.-]+\.\w+$")
|
|
135
|
+
age: int = Field(..., ge=13, le=120)
|
|
136
|
+
role: Role = Role.USER
|
|
137
|
+
tags: list[str] = Field(default_factory=list)
|
|
138
|
+
|
|
139
|
+
@field_validator("name")
|
|
140
|
+
@classmethod
|
|
141
|
+
def name_titlecase(cls, v: str) -> str:
|
|
142
|
+
if not v[0].isupper(): raise ValueError("Name must start with uppercase")
|
|
143
|
+
return v.strip()
|
|
144
|
+
|
|
145
|
+
@model_validator(mode="after")
|
|
146
|
+
def check_admin_age(self) -> "UserCreate":
|
|
147
|
+
if self.role == Role.ADMIN and self.age < 18:
|
|
148
|
+
raise ValueError("Admins must be 18+")
|
|
149
|
+
return self
|
|
150
|
+
|
|
151
|
+
class UserResponse(BaseModel):
|
|
152
|
+
id: int; name: str; email: str
|
|
153
|
+
model_config = {"from_attributes": True} # ORM mode (was orm_mode=True in v1)
|
|
154
|
+
|
|
155
|
+
# Serialization
|
|
156
|
+
user.model_dump() # ✅ (was .dict())
|
|
157
|
+
user.model_dump_json() # ✅ (was .json())
|
|
158
|
+
user.model_dump(exclude={"password"}, mode="json")
|
|
159
|
+
UserCreate.model_validate({"name": "Alice", "email": "a@b.com", "age": 30}) # ✅ (was parse_obj)
|
|
160
|
+
UserCreate.model_validate_json('{"name": "Bob", ...}')
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## FastAPI
|
|
166
|
+
|
|
167
|
+
```python
|
|
168
|
+
from fastapi import FastAPI, HTTPException, Depends, Query, Path, status
|
|
169
|
+
from contextlib import asynccontextmanager
|
|
170
|
+
|
|
171
|
+
@asynccontextmanager
|
|
172
|
+
async def lifespan(app: FastAPI):
|
|
173
|
+
await init_db(); await redis.connect() # startup
|
|
174
|
+
yield
|
|
175
|
+
await redis.close() # shutdown
|
|
176
|
+
|
|
177
|
+
app = FastAPI(title="My API", version="1.0.0", lifespan=lifespan)
|
|
178
|
+
|
|
179
|
+
# CORS — never "*" in production
|
|
180
|
+
from fastapi.middleware.cors import CORSMiddleware
|
|
181
|
+
app.add_middleware(CORSMiddleware,
|
|
182
|
+
allow_origins=["https://myapp.com"], # ❌ NEVER ["*"]
|
|
183
|
+
allow_credentials=True, allow_methods=["GET","POST","PUT","DELETE"], allow_headers=["*"])
|
|
184
|
+
|
|
185
|
+
# Routes
|
|
186
|
+
@app.get("/users", response_model=list[UserResponse])
|
|
187
|
+
async def list_users(skip: int = Query(0, ge=0), limit: int = Query(20, le=100)) -> list[UserResponse]:
|
|
188
|
+
return await db.execute(select(User).offset(skip).limit(limit))
|
|
189
|
+
|
|
190
|
+
@app.post("/users", response_model=UserResponse, status_code=status.HTTP_201_CREATED)
|
|
191
|
+
async def create_user(payload: UserCreate) -> UserResponse:
|
|
192
|
+
user = User(**payload.model_dump())
|
|
193
|
+
db.add(user); await db.commit(); await db.refresh(user)
|
|
194
|
+
return user
|
|
195
|
+
|
|
196
|
+
# Dependency Injection
|
|
197
|
+
async def get_db() -> AsyncGenerator[AsyncSession, None]:
|
|
198
|
+
async with async_session() as session:
|
|
199
|
+
try: yield session
|
|
200
|
+
finally: await session.close()
|
|
201
|
+
|
|
202
|
+
async def get_current_user(token: str = Depends(oauth2_scheme), db: AsyncSession = Depends(get_db)) -> User:
|
|
203
|
+
payload = decode_jwt(token)
|
|
204
|
+
user = await db.get(User, payload["sub"])
|
|
205
|
+
if not user: raise HTTPException(status_code=401, detail="Invalid credentials")
|
|
206
|
+
return user
|
|
207
|
+
|
|
208
|
+
def require_role(role: Role):
|
|
209
|
+
async def checker(user: User = Depends(get_current_user)) -> User:
|
|
210
|
+
if user.role != role: raise HTTPException(status_code=403, detail="Forbidden")
|
|
211
|
+
return user
|
|
212
|
+
return checker
|
|
213
|
+
|
|
214
|
+
# Background Tasks
|
|
215
|
+
from fastapi import BackgroundTasks
|
|
216
|
+
@app.post("/orders")
|
|
217
|
+
async def create_order(order: OrderCreate, bg: BackgroundTasks) -> OrderResponse:
|
|
218
|
+
result = await save_order(order)
|
|
219
|
+
bg.add_task(send_email, result.email)
|
|
220
|
+
return result
|
|
221
|
+
|
|
222
|
+
# Exception handlers
|
|
223
|
+
from fastapi.responses import JSONResponse
|
|
224
|
+
@app.exception_handler(AppError)
|
|
225
|
+
async def app_error(request: Request, exc: AppError) -> JSONResponse:
|
|
226
|
+
return JSONResponse(status_code=exc.status_code, content={"error": exc.message})
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Async Patterns
|
|
232
|
+
|
|
233
|
+
```python
|
|
234
|
+
import asyncio, httpx
|
|
235
|
+
|
|
236
|
+
# Parallel calls — await all simultaneously
|
|
237
|
+
async def fetch_all() -> tuple:
|
|
238
|
+
async with httpx.AsyncClient() as client:
|
|
239
|
+
users, posts = await asyncio.gather(
|
|
240
|
+
client.get("/users"), client.get("/posts")
|
|
241
|
+
)
|
|
242
|
+
return users.json(), posts.json()
|
|
243
|
+
|
|
244
|
+
# Timeout
|
|
245
|
+
async with asyncio.timeout(5.0): # 3.11+ (was asyncio.wait_for)
|
|
246
|
+
result = await slow_operation()
|
|
247
|
+
|
|
248
|
+
# Semaphore — limit concurrent ops
|
|
249
|
+
sem = asyncio.Semaphore(10)
|
|
250
|
+
async def limited_fetch(url: str) -> dict:
|
|
251
|
+
async with sem:
|
|
252
|
+
async with httpx.AsyncClient() as client:
|
|
253
|
+
return (await client.get(url)).json()
|
|
254
|
+
|
|
255
|
+
# Producer-Consumer
|
|
256
|
+
async def producer(q: asyncio.Queue[str]):
|
|
257
|
+
for item in data: await q.put(item)
|
|
258
|
+
await q.put(None) # sentinel
|
|
259
|
+
|
|
260
|
+
async def consumer(q: asyncio.Queue[str]):
|
|
261
|
+
while (item := await q.get()) is not None:
|
|
262
|
+
await process(item)
|
|
263
|
+
q.task_done()
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Error Handling
|
|
269
|
+
|
|
270
|
+
```python
|
|
271
|
+
# NEVER silently swallow exceptions
|
|
272
|
+
try: result = await risky_op()
|
|
273
|
+
except SpecificError as e: logger.error("Failed: %s", e); raise
|
|
274
|
+
except Exception: logger.exception("Unexpected"); raise
|
|
275
|
+
|
|
276
|
+
# Custom exceptions with context
|
|
277
|
+
class ServiceError(Exception):
|
|
278
|
+
def __init__(self, msg: str, code: int = 500, context: dict | None = None):
|
|
279
|
+
super().__init__(msg)
|
|
280
|
+
self.code = code; self.context = context or {}
|
|
281
|
+
|
|
282
|
+
# Context managers for cleanup
|
|
283
|
+
from contextlib import asynccontextmanager
|
|
284
|
+
@asynccontextmanager
|
|
285
|
+
async def managed_connection():
|
|
286
|
+
conn = await db.connect()
|
|
287
|
+
try: yield conn
|
|
288
|
+
finally: await conn.close()
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## Testing (pytest)
|
|
294
|
+
|
|
295
|
+
```python
|
|
296
|
+
import pytest
|
|
297
|
+
from httpx import AsyncClient, ASGITransport
|
|
298
|
+
|
|
299
|
+
@pytest.fixture
|
|
300
|
+
async def client():
|
|
301
|
+
async with AsyncClient(transport=ASGITransport(app=app), base_url="http://test") as c:
|
|
302
|
+
yield c
|
|
303
|
+
|
|
304
|
+
@pytest.mark.anyio
|
|
305
|
+
async def test_create_user(client: AsyncClient):
|
|
306
|
+
r = await client.post("/users", json={"name": "Alice", "email": "a@b.com", "age": 25})
|
|
307
|
+
assert r.status_code == 201
|
|
308
|
+
assert r.json()["name"] == "Alice"
|
|
309
|
+
|
|
310
|
+
# Fixtures with factories (avoid fixtures that return complex data directly)
|
|
311
|
+
@pytest.fixture
|
|
312
|
+
def make_user(db_session):
|
|
313
|
+
async def _make(name="Alice", role="user"):
|
|
314
|
+
return await User.create(db=db_session, name=name, role=role)
|
|
315
|
+
return _make
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## Project Structure
|
|
321
|
+
|
|
322
|
+
```
|
|
323
|
+
my-api/
|
|
324
|
+
├── app/
|
|
325
|
+
│ ├── main.py # FastAPI app + lifespan
|
|
326
|
+
│ ├── models/ # SQLAlchemy ORM models
|
|
327
|
+
│ ├── schemas/ # Pydantic request/response models
|
|
328
|
+
│ ├── routers/ # APIRouter groups
|
|
329
|
+
│ ├── services/ # Business logic (no FastAPI imports)
|
|
330
|
+
│ ├── dependencies.py # Shared Depends() callables
|
|
331
|
+
│ └── config.py # Settings via pydantic-settings
|
|
332
|
+
├── tests/
|
|
333
|
+
├── alembic/ # Migrations
|
|
334
|
+
└── pyproject.toml
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
## 🚨 Edge-Case & Failure Mode Matrix
|
|
340
|
+
|
|
341
|
+
| Scenario | Risk | Mitigation Strategy |
|
|
342
|
+
|:---|:---|:---|
|
|
343
|
+
| **Empty or Null Inputs** | Unhandled exception or unexpected rendering collapse | Enforce fallback guards, optional chaining, and explicit empty state handlers |
|
|
344
|
+
| **Network Timeout / Latency** | Hanging operations or duplicate side-effects | Implement bounded abort controllers, exponential backoff, and idempotency keys |
|
|
345
|
+
| **Concurrency / Race Conditions** | Stale state overwrite or inconsistent data mutations | Use atomic transactions, mutex locking, or cancel-on-resubmit controls |
|
|
346
|
+
| **Invalid Schema / Malformed Payload** | Downstream runtime errors or security injection | Validate boundary payloads with Zod/Pydantic schemas prior to execution |
|
|
347
|
+
| **Resource / Memory Saturation** | OOM errors, frame drops, or memory leaks | Clean up listeners, cancel active timers, and enforce pagination/virtualization |
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## 🤖 LLM-Specific Traps Table
|
|
352
|
+
|
|
353
|
+
| Anti-Pattern | What AI Commonly Does Wrong | What Is Actually Correct |
|
|
354
|
+
|:---|:---|:---|
|
|
355
|
+
| **Unchecked Payload Cast** | Casting request bodies to TypeScript types without runtime schema validation | Parse request payloads through Zod/Pydantic schemas before business logic |
|
|
356
|
+
| **Silent Error Swallowing** | Catching errors with empty catch blocks or logging without rethrowing | Propagate structured errors with status codes and contextual stack traces |
|
|
357
|
+
| **Unparameterized Query** | Concatenating user inputs into SQL/Prisma query strings | Always use parameterized bindings or type-safe ORM query builders |
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
## 🏛️ Tribunal Verification & Guardrails
|
|
362
|
+
|
|
363
|
+
**Active Reviewers:** `logic-reviewer` · `security-auditor` · `api-architect` · `resilience-reviewer`
|
|
364
|
+
**Slash Command:** `/review` or `/tribunal-full`
|
|
365
|
+
|
|
366
|
+
### ✅ Pre-Flight Self-Audit Checklist
|
|
367
|
+
|
|
368
|
+
```
|
|
369
|
+
✅ Are all inputs and boundary payloads validated against schemas (Zod/Pydantic)?
|
|
370
|
+
✅ Are SQL and database queries parameterized with zero string concatenation?
|
|
371
|
+
✅ Are error boundaries and timeout/retry policies explicitly declared?
|
|
372
|
+
✅ Are authentication checks performed before business logic execution?
|
|
373
|
+
✅ Did I verify that imported dependencies exist in package.json/requirements.txt?
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
377
|
+
|
|
378
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
379
|
+
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
380
|
+
- ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing test suites, compiler success, or equivalent operational proof) that your output works as intended.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quieter
|
|
3
|
+
description: Use when Tone down overly loud, noisy, visually aggressive, or distracting designs while maintaining high visual quality. Use when a UI feels cluttered, overwhelming, tacky, or visually hyperactive.
|
|
4
|
+
version: 5.0.0
|
|
5
|
+
last-updated: 2026-09-13
|
|
6
|
+
skills:
|
|
7
|
+
- distill
|
|
8
|
+
- swiss-design
|
|
9
|
+
- baseline-ui
|
|
10
|
+
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
11
|
+
scripts-binding:
|
|
12
|
+
- .agent/scripts/lint_runner.js
|
|
13
|
+
- .agent/scripts/verify_all.js
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Quieter — Visual Restraint & Calm Interface Design
|
|
17
|
+
|
|
18
|
+
## Mandatory Pre-Flight Context Inspection
|
|
19
|
+
|
|
20
|
+
Before generating, refactoring, or reviewing code in the `quieter` domain, inspect these 5 critical parameters:
|
|
21
|
+
|
|
22
|
+
1. **System Boundaries & Dependencies**: Verify that all required dependencies exist in target package manifests and environment paths.
|
|
23
|
+
2. **Runtime Context & Platform Invariants**: Confirm target platform constraints (Node.js, Browser, Mobile OS, Edge runtime) before applying APIs.
|
|
24
|
+
3. **Execution Guardrails**: Identify potential side-effects, state mutations, and unhandled asynchronous exceptions.
|
|
25
|
+
4. **Validation & Type Contracts**: Validate input data schemas and strict type constraints across all module interfaces.
|
|
26
|
+
5. **Observability & Proof of Execution**: Ensure execution produces tangible verification signals (terminal output, tests, metrics).
|
|
27
|
+
|
|
28
|
+
## Activation Boundaries
|
|
29
|
+
|
|
30
|
+
- **Activate when:** Use when Tone down overly loud, noisy, visually aggressive, or distracting designs while maintaining high visual quality. Use when a UI feels cluttered, overwhelming, tacky, or visually hyperactive.
|
|
31
|
+
- **DO NOT activate when:** The task falls outside the `quieter` domain or is managed by a different dedicated specialist.
|
|
32
|
+
|
|
33
|
+
## 🔁 Multi-Pass Execution Protocol
|
|
34
|
+
|
|
35
|
+
Execute all non-trivial tasks through this 7-pass cognitive loop:
|
|
36
|
+
|
|
37
|
+
| Pass | Phase | Core Action |
|
|
38
|
+
|:---|:---|:---|
|
|
39
|
+
| **Pass 1** | **Understand** | Deconstruct the user's explicit objective, implicit requirements, and platform constraints. |
|
|
40
|
+
| **Pass 2** | **Plan** | Decompose the task into smallest logical steps; map dependencies and required tool calls. |
|
|
41
|
+
| **Pass 3** | **Execute** | Implement the solution with production-grade craft, zero placeholders, and strict typing. |
|
|
42
|
+
| **Pass 4** | **Verify** | Run linters, unit tests, or compiler checks to validate structural correctness. |
|
|
43
|
+
| **Pass 5** | **Attack** | Perform an adversarial review searching for edge-case failures, race conditions, and traps. |
|
|
44
|
+
| **Pass 6** | **Improve** | Eliminate discovered friction, optimize performance, and harden error boundaries. |
|
|
45
|
+
| **Pass 7** | **Quality Gate** | Enforce Verification-Before-Completion (VBC) with concrete terminal proof before finalizing. |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 🛠️ Technical Architecture & Reference Recipes
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 5 Restraint Tactics
|
|
57
|
+
|
|
58
|
+
### 1. Palette Subjugation
|
|
59
|
+
|
|
60
|
+
- **Reduce Primary Colors**: Limit saturated colors to a single primary action. Turn secondary accent colors into subtle monochrome tones (`oklch(0.92 0.01 240)`).
|
|
61
|
+
- **Mute Background Surfaces**: Replace multi-colored cards or high-saturation gradient backgrounds with quiet, neutral monochrome surfaces.
|
|
62
|
+
|
|
63
|
+
### 2. De-emphasize Borders & Outlines
|
|
64
|
+
|
|
65
|
+
- **Subtle Surface Elevation**: Replace harsh 100% black/white borders with subtle surface background differences ($L \pm 3\%$) or ultra-light 5% opacity borders.
|
|
66
|
+
|
|
67
|
+
### 3. Subdue Typography Scaling
|
|
68
|
+
|
|
69
|
+
- **Reduce Font Weight Spikes**: Replace heavy 900 bold display headings with refined semibold (`600`) or medium (`500`) typography.
|
|
70
|
+
- **Normalize Font Sizes**: Reduce font size jumps between section headers and subheaders to create smooth visual harmony.
|
|
71
|
+
|
|
72
|
+
### 4. Calm Motion & Animations
|
|
73
|
+
|
|
74
|
+
- **Eliminate Continuous Animations**: Remove spinning gradient borders, pulsing badges, and bouncing icons. Restrict motion exclusively to user-initiated actions.
|
|
75
|
+
- **Shorten Transitions**: Keep hover state transitions subtle and fast ($\le 150\text{ms}$).
|
|
76
|
+
|
|
77
|
+
### 5. Expand Negative Space
|
|
78
|
+
|
|
79
|
+
- **Increase Padding**: Give content room to breathe by increasing section paddings by 25%-50%, reducing cognitive overload.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 🚨 Edge-Case & Failure Mode Matrix
|
|
84
|
+
|
|
85
|
+
| Scenario | Risk | Mitigation Strategy |
|
|
86
|
+
|:---|:---|:---|
|
|
87
|
+
| **Empty or Null Inputs** | Unhandled exception or unexpected rendering collapse | Enforce fallback guards, optional chaining, and explicit empty state handlers |
|
|
88
|
+
| **Network Timeout / Latency** | Hanging operations or duplicate side-effects | Implement bounded abort controllers, exponential backoff, and idempotency keys |
|
|
89
|
+
| **Concurrency / Race Conditions** | Stale state overwrite or inconsistent data mutations | Use atomic transactions, mutex locking, or cancel-on-resubmit controls |
|
|
90
|
+
| **Invalid Schema / Malformed Payload** | Downstream runtime errors or security injection | Validate boundary payloads with Zod/Pydantic schemas prior to execution |
|
|
91
|
+
| **Resource / Memory Saturation** | OOM errors, frame drops, or memory leaks | Clean up listeners, cancel active timers, and enforce pagination/virtualization |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 🤖 LLM-Specific Traps Table
|
|
96
|
+
|
|
97
|
+
| Anti-Pattern | What AI Commonly Does Wrong | What Is Actually Correct |
|
|
98
|
+
|:---|:---|:---|
|
|
99
|
+
| **Uncontrolled Re-render Loop** | Mutating state inside render bodies or omitting hook dependencies | Wrap effects with explicit deps and isolate reactive derivations in useMemo |
|
|
100
|
+
| **Accessibility Neglect** | Interactive <div> without role="button", tabIndex, or onKeyDown | Use semantic <button> or provide ARIA role, keyboard handlers, and focus ring |
|
|
101
|
+
| **Layout Shift Flash** | Images/dynamic content without aspect-ratio or explicit dimensions | Enforce aspect-ratio or skeleton placeholders to guarantee zero CLS |
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 🏛️ Tribunal Verification & Guardrails
|
|
106
|
+
|
|
107
|
+
**Active Reviewers:** `frontend-reviewer` · `type-safety` · `ui-ux-auditor` · `complexity-reviewer`
|
|
108
|
+
**Slash Command:** `/review` or `/tribunal-full`
|
|
109
|
+
|
|
110
|
+
### ✅ Pre-Flight Self-Audit Checklist
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
✅ Are all component props strictly typed with zero implicit "any"?
|
|
114
|
+
✅ Are responsive breakpoints, fluid typography, and optical balance verified?
|
|
115
|
+
✅ Is accessibility (ARIA labels, keyboard focus, contrast) validated?
|
|
116
|
+
✅ Are re-renders minimized and state lifecycles cleanly separated?
|
|
117
|
+
✅ Did I verify all imported UI components and icon sets actually exist?
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
121
|
+
|
|
122
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
123
|
+
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
124
|
+
- ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing test suites, compiler success, or equivalent operational proof) that your output works as intended.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: react-doctor
|
|
3
|
+
description: Use when Scan React and Next.js applications for security, performance, re-render inefficiencies, memory leaks, and correctness issues.
|
|
4
|
+
version: 5.0.0
|
|
5
|
+
last-updated: 2026-09-13
|
|
6
|
+
skills:
|
|
7
|
+
- react-specialist
|
|
8
|
+
- nextjs-react-expert
|
|
9
|
+
- baseline-ui
|
|
10
|
+
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
11
|
+
scripts-binding:
|
|
12
|
+
- .agent/scripts/lint_runner.js
|
|
13
|
+
- .agent/scripts/verify_all.js
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# React Doctor — React Performance & Health Audit
|
|
17
|
+
|
|
18
|
+
## Mandatory Pre-Flight Context Inspection
|
|
19
|
+
|
|
20
|
+
Before generating, refactoring, or reviewing code in the `react-doctor` domain, inspect these 5 critical parameters:
|
|
21
|
+
|
|
22
|
+
1. **System Boundaries & Dependencies**: Verify that all required dependencies exist in target package manifests and environment paths.
|
|
23
|
+
2. **Runtime Context & Platform Invariants**: Confirm target platform constraints (Node.js, Browser, Mobile OS, Edge runtime) before applying APIs.
|
|
24
|
+
3. **Execution Guardrails**: Identify potential side-effects, state mutations, and unhandled asynchronous exceptions.
|
|
25
|
+
4. **Validation & Type Contracts**: Validate input data schemas and strict type constraints across all module interfaces.
|
|
26
|
+
5. **Observability & Proof of Execution**: Ensure execution produces tangible verification signals (terminal output, tests, metrics).
|
|
27
|
+
|
|
28
|
+
## Activation Boundaries
|
|
29
|
+
|
|
30
|
+
- **Activate when:** Use when Scan React and Next.js applications for security, performance, re-render inefficiencies, memory leaks, and correctness issues.
|
|
31
|
+
- **DO NOT activate when:** The task falls outside the `react-doctor` domain or is managed by a different dedicated specialist.
|
|
32
|
+
|
|
33
|
+
## 🔁 Multi-Pass Execution Protocol
|
|
34
|
+
|
|
35
|
+
Execute all non-trivial tasks through this 7-pass cognitive loop:
|
|
36
|
+
|
|
37
|
+
| Pass | Phase | Core Action |
|
|
38
|
+
|:---|:---|:---|
|
|
39
|
+
| **Pass 1** | **Understand** | Deconstruct the user's explicit objective, implicit requirements, and platform constraints. |
|
|
40
|
+
| **Pass 2** | **Plan** | Decompose the task into smallest logical steps; map dependencies and required tool calls. |
|
|
41
|
+
| **Pass 3** | **Execute** | Implement the solution with production-grade craft, zero placeholders, and strict typing. |
|
|
42
|
+
| **Pass 4** | **Verify** | Run linters, unit tests, or compiler checks to validate structural correctness. |
|
|
43
|
+
| **Pass 5** | **Attack** | Perform an adversarial review searching for edge-case failures, race conditions, and traps. |
|
|
44
|
+
| **Pass 6** | **Improve** | Eliminate discovered friction, optimize performance, and harden error boundaries. |
|
|
45
|
+
| **Pass 7** | **Quality Gate** | Enforce Verification-Before-Completion (VBC) with concrete terminal proof before finalizing. |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 🛠️ Technical Architecture & Reference Recipes
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 4 React Health Checks
|
|
57
|
+
|
|
58
|
+
### 1. Unnecessary Re-render Prevention
|
|
59
|
+
|
|
60
|
+
- **Inline Object/Array Props**: Passing inline objects `<Child config={{ color: 'blue' }} />` creates new references every render. Wrap with `useMemo` or declare outside component scope.
|
|
61
|
+
- **Inline Callback Props**: Passing inline functions `<Child onClick={() => doSomething()} />` breaks `React.memo`. Wrap callbacks with `useCallback`.
|
|
62
|
+
|
|
63
|
+
### 2. State Colocation
|
|
64
|
+
|
|
65
|
+
- Don't lift state higher than necessary. Keep state local to the component consuming it to isolate re-render subtrees.
|
|
66
|
+
|
|
67
|
+
### 3. Cleanup in `useEffect`
|
|
68
|
+
|
|
69
|
+
- Every event listener, interval, or subscription created in `useEffect` MUST return a cleanup function to prevent memory leaks:
|
|
70
|
+
|
|
71
|
+
```tsx
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
const handleResize = () => setWidth(window.innerWidth);
|
|
74
|
+
window.addEventListener('resize', handleResize);
|
|
75
|
+
return () => window.removeEventListener('resize', handleResize);
|
|
76
|
+
}, []);
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 4. Derived State Anti-Pattern
|
|
80
|
+
|
|
81
|
+
- Never duplicate props into state (`const [name, setName] = useState(props.name)`). Calculate derived values during rendering directly.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 🚨 Edge-Case & Failure Mode Matrix
|
|
86
|
+
|
|
87
|
+
| Scenario | Risk | Mitigation Strategy |
|
|
88
|
+
|:---|:---|:---|
|
|
89
|
+
| **Empty or Null Inputs** | Unhandled exception or unexpected rendering collapse | Enforce fallback guards, optional chaining, and explicit empty state handlers |
|
|
90
|
+
| **Network Timeout / Latency** | Hanging operations or duplicate side-effects | Implement bounded abort controllers, exponential backoff, and idempotency keys |
|
|
91
|
+
| **Concurrency / Race Conditions** | Stale state overwrite or inconsistent data mutations | Use atomic transactions, mutex locking, or cancel-on-resubmit controls |
|
|
92
|
+
| **Invalid Schema / Malformed Payload** | Downstream runtime errors or security injection | Validate boundary payloads with Zod/Pydantic schemas prior to execution |
|
|
93
|
+
| **Resource / Memory Saturation** | OOM errors, frame drops, or memory leaks | Clean up listeners, cancel active timers, and enforce pagination/virtualization |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 🤖 LLM-Specific Traps Table
|
|
98
|
+
|
|
99
|
+
| Anti-Pattern | What AI Commonly Does Wrong | What Is Actually Correct |
|
|
100
|
+
|:---|:---|:---|
|
|
101
|
+
| **Uncontrolled Re-render Loop** | Mutating state inside render bodies or omitting hook dependencies | Wrap effects with explicit deps and isolate reactive derivations in useMemo |
|
|
102
|
+
| **Accessibility Neglect** | Interactive <div> without role="button", tabIndex, or onKeyDown | Use semantic <button> or provide ARIA role, keyboard handlers, and focus ring |
|
|
103
|
+
| **Layout Shift Flash** | Images/dynamic content without aspect-ratio or explicit dimensions | Enforce aspect-ratio or skeleton placeholders to guarantee zero CLS |
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 🏛️ Tribunal Verification & Guardrails
|
|
108
|
+
|
|
109
|
+
**Active Reviewers:** `frontend-reviewer` · `type-safety` · `ui-ux-auditor` · `complexity-reviewer`
|
|
110
|
+
**Slash Command:** `/review` or `/tribunal-full`
|
|
111
|
+
|
|
112
|
+
### ✅ Pre-Flight Self-Audit Checklist
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
✅ Are all component props strictly typed with zero implicit "any"?
|
|
116
|
+
✅ Are responsive breakpoints, fluid typography, and optical balance verified?
|
|
117
|
+
✅ Is accessibility (ARIA labels, keyboard focus, contrast) validated?
|
|
118
|
+
✅ Are re-renders minimized and state lifecycles cleanly separated?
|
|
119
|
+
✅ Did I verify all imported UI components and icon sets actually exist?
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### 🛑 Verification-Before-Completion (VBC) Protocol
|
|
123
|
+
|
|
124
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
125
|
+
- ❌ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
126
|
+
- ✅ **Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing test suites, compiler success, or equivalent operational proof) that your output works as intended.
|