tribunal-kit 8.0.0 โ 9.0.1
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/plugin.json +4 -4
- package/.agent/config/slash-commands.json +13 -1
- package/.agent/config/system-prompt.md +75 -8
- 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 +62 -21
- package/.agent/skills/60fps-animation/SKILL.md +90 -20
- package/.agent/skills/accessible-animation/SKILL.md +207 -40
- package/.agent/skills/adapt/SKILL.md +62 -21
- package/.agent/skills/advanced-rag-pipelines/SKILL.md +87 -46
- package/.agent/skills/agent-organizer/SKILL.md +60 -81
- package/.agent/skills/agentic-patterns/SKILL.md +60 -79
- package/.agent/skills/agentic-workflows-2026/SKILL.md +92 -15
- package/.agent/skills/ai-app-hardening/SKILL.md +81 -15
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +75 -85
- package/.agent/skills/animation-on-scroll/SKILL.md +186 -47
- package/.agent/skills/animation-systems/SKILL.md +229 -35
- package/.agent/skills/antfu-conventions/SKILL.md +62 -23
- package/.agent/skills/api-patterns/SKILL.md +59 -79
- package/.agent/skills/api-security-auditor/SKILL.md +59 -81
- package/.agent/skills/app-builder/SKILL.md +59 -79
- package/.agent/skills/appflow-wireframe/SKILL.md +68 -83
- package/.agent/skills/apple-design/SKILL.md +65 -19
- package/.agent/skills/architecture/SKILL.md +59 -79
- package/.agent/skills/audit-and-fix/SKILL.md +62 -21
- package/.agent/skills/authentication-best-practices/SKILL.md +59 -81
- package/.agent/skills/backend-security-expert/SKILL.md +79 -82
- package/.agent/skills/baseline-ui/SKILL.md +65 -19
- package/.agent/skills/bash-linux/SKILL.md +59 -81
- package/.agent/skills/behavioral-modes/SKILL.md +60 -79
- package/.agent/skills/better-colors/SKILL.md +65 -19
- package/.agent/skills/better-typography/SKILL.md +70 -31
- package/.agent/skills/better-ui/SKILL.md +93 -18
- package/.agent/skills/bolder/SKILL.md +62 -21
- package/.agent/skills/brainstorming/SKILL.md +60 -78
- package/.agent/skills/browser-audit/SKILL.md +170 -0
- package/.agent/skills/browser-native-ai/SKILL.md +60 -41
- package/.agent/skills/build-primitive/SKILL.md +62 -21
- package/.agent/skills/building-native-ui/SKILL.md +59 -81
- package/.agent/skills/cicd-pro/SKILL.md +64 -31
- package/.agent/skills/clarify/SKILL.md +62 -21
- package/.agent/skills/clean-code/SKILL.md +68 -83
- package/.agent/skills/cloud-architect/SKILL.md +64 -31
- package/.agent/skills/cobejs/SKILL.md +62 -20
- package/.agent/skills/code-review-checklist/SKILL.md +59 -81
- package/.agent/skills/codebase-design/SKILL.md +74 -23
- package/.agent/skills/colorize/SKILL.md +62 -21
- package/.agent/skills/compact-landing/SKILL.md +62 -21
- package/.agent/skills/company-logos/SKILL.md +62 -21
- package/.agent/skills/config-validator/SKILL.md +59 -81
- package/.agent/skills/containerization-pro/SKILL.md +64 -31
- package/.agent/skills/context-engineering-pro/SKILL.md +81 -15
- package/.agent/skills/create-design-md/SKILL.md +65 -19
- package/.agent/skills/critique/SKILL.md +67 -19
- package/.agent/skills/csharp-developer/SKILL.md +59 -81
- package/.agent/skills/data-validation-schemas/SKILL.md +59 -81
- package/.agent/skills/database-design/SKILL.md +74 -84
- package/.agent/skills/delight/SKILL.md +62 -21
- package/.agent/skills/deployment-procedures/SKILL.md +59 -81
- package/.agent/skills/design-lab/SKILL.md +63 -21
- package/.agent/skills/devops-engineer/SKILL.md +59 -81
- package/.agent/skills/devops-incident-responder/SKILL.md +59 -81
- package/.agent/skills/diagnosing-bugs/SKILL.md +63 -27
- package/.agent/skills/distill/SKILL.md +62 -21
- package/.agent/skills/documentation-templates/SKILL.md +59 -81
- package/.agent/skills/domain-modeling/SKILL.md +62 -23
- package/.agent/skills/duckdb-analytical-sql/SKILL.md +80 -14
- package/.agent/skills/edge-ai-mobile/SKILL.md +80 -14
- package/.agent/skills/edge-computing/SKILL.md +59 -81
- package/.agent/skills/emil-design-eng/SKILL.md +64 -27
- package/.agent/skills/error-resilience/SKILL.md +78 -85
- package/.agent/skills/expo-router-v4/SKILL.md +79 -14
- package/.agent/skills/extract-design-system/SKILL.md +59 -81
- package/.agent/skills/fabel-protocol/SKILL.md +72 -15
- package/.agent/skills/fixing-accessibility/SKILL.md +65 -19
- package/.agent/skills/fixing-metadata/SKILL.md +62 -21
- package/.agent/skills/fixing-motion-performance/SKILL.md +65 -19
- package/.agent/skills/framer-motion-expert/SKILL.md +67 -77
- package/.agent/skills/frontend-design/SKILL.md +73 -15
- package/.agent/skills/frontend-security-expert/SKILL.md +59 -79
- package/.agent/skills/game-design-expert/SKILL.md +59 -81
- package/.agent/skills/game-engineering-expert/SKILL.md +59 -81
- package/.agent/skills/generative-ui-expert/SKILL.md +60 -41
- package/.agent/skills/geo-fundamentals/SKILL.md +59 -81
- package/.agent/skills/git-pro/SKILL.md +62 -33
- package/.agent/skills/github-operations/SKILL.md +59 -81
- package/.agent/skills/gpt-taste/SKILL.md +62 -21
- package/.agent/skills/gsap-core/SKILL.md +59 -89
- package/.agent/skills/gsap-frameworks/SKILL.md +59 -89
- package/.agent/skills/gsap-performance/SKILL.md +59 -87
- package/.agent/skills/gsap-plugins/SKILL.md +59 -87
- package/.agent/skills/gsap-react/SKILL.md +60 -32
- package/.agent/skills/gsap-scrolltrigger/SKILL.md +59 -89
- package/.agent/skills/gsap-timeline/SKILL.md +59 -87
- package/.agent/skills/gsap-utils/SKILL.md +59 -87
- package/.agent/skills/harden/SKILL.md +62 -21
- package/.agent/skills/harness-protocol/SKILL.md +60 -33
- package/.agent/skills/i18n-localization/SKILL.md +59 -81
- package/.agent/skills/impeccable/SKILL.md +62 -23
- package/.agent/skills/improve-codebase-architecture/SKILL.md +62 -22
- package/.agent/skills/improve-ui/SKILL.md +65 -19
- package/.agent/skills/intelligent-routing/SKILL.md +59 -33
- package/.agent/skills/knowledge-graph/SKILL.md +60 -33
- package/.agent/skills/landing-page/SKILL.md +62 -21
- package/.agent/skills/lint-and-validate/SKILL.md +59 -81
- package/.agent/skills/llm-engineering/SKILL.md +59 -81
- package/.agent/skills/local-first/SKILL.md +59 -81
- package/.agent/skills/local-first-architecture/SKILL.md +77 -20
- package/.agent/skills/lottie-animation/SKILL.md +62 -20
- package/.agent/skills/marquee-loop/SKILL.md +62 -21
- package/.agent/skills/masked-reveal/SKILL.md +245 -50
- package/.agent/skills/mcp-builder/SKILL.md +59 -81
- package/.agent/skills/micro-interaction/SKILL.md +254 -57
- package/.agent/skills/mobile-design/SKILL.md +59 -79
- package/.agent/skills/monorepo-management/SKILL.md +59 -81
- package/.agent/skills/morphing-icons/SKILL.md +365 -46
- package/.agent/skills/motion-engineering/SKILL.md +66 -21
- package/.agent/skills/nextjs-react-expert/SKILL.md +82 -84
- package/.agent/skills/nodejs-best-practices/SKILL.md +81 -80
- package/.agent/skills/observability/SKILL.md +59 -81
- package/.agent/skills/opentelemetry-observability/SKILL.md +80 -14
- package/.agent/skills/page-transition-animation/SKILL.md +62 -21
- package/.agent/skills/parallel-agents/SKILL.md +60 -81
- package/.agent/skills/performance-profiling/SKILL.md +60 -81
- package/.agent/skills/plan-writing/SKILL.md +83 -88
- package/.agent/skills/platform-engineer/SKILL.md +59 -81
- package/.agent/skills/platform-engineering-opentofu/SKILL.md +80 -15
- package/.agent/skills/playwright-ai-e2e/SKILL.md +81 -15
- package/.agent/skills/playwright-best-practices/SKILL.md +60 -81
- package/.agent/skills/polish/SKILL.md +62 -21
- package/.agent/skills/powershell-windows/SKILL.md +59 -81
- package/.agent/skills/pricing-page/SKILL.md +62 -21
- package/.agent/skills/product-aware-heuristics/SKILL.md +73 -16
- package/.agent/skills/progressive-blur/SKILL.md +62 -21
- package/.agent/skills/project-idioms/SKILL.md +58 -84
- package/.agent/skills/property-based-testing/SKILL.md +81 -15
- package/.agent/skills/python-patterns/SKILL.md +59 -81
- package/.agent/skills/python-pro/SKILL.md +81 -83
- package/.agent/skills/quieter/SKILL.md +62 -21
- package/.agent/skills/react-doctor/SKILL.md +62 -21
- package/.agent/skills/react-specialist/SKILL.md +73 -82
- package/.agent/skills/readme-builder/SKILL.md +59 -81
- package/.agent/skills/realtime-patterns/SKILL.md +59 -81
- package/.agent/skills/red-team-tactics/SKILL.md +59 -81
- package/.agent/skills/redesign-skill/SKILL.md +62 -21
- package/.agent/skills/review-animations/SKILL.md +64 -30
- package/.agent/skills/rust-pro/SKILL.md +77 -78
- package/.agent/skills/seo-fundamentals/SKILL.md +59 -81
- package/.agent/skills/server-management/SKILL.md +59 -81
- package/.agent/skills/shadcn-ui-expert/SKILL.md +59 -81
- package/.agent/skills/shape/SKILL.md +63 -21
- package/.agent/skills/skill-creator/SKILL.md +80 -88
- package/.agent/skills/soft-skill/SKILL.md +62 -21
- package/.agent/skills/sounds-on-the-web/SKILL.md +62 -21
- package/.agent/skills/sql-pro/SKILL.md +93 -80
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +59 -81
- package/.agent/skills/svg-animation/SKILL.md +368 -46
- package/.agent/skills/swiftui-expert/SKILL.md +59 -81
- package/.agent/skills/swiss-design/SKILL.md +62 -21
- package/.agent/skills/system-design-pro/SKILL.md +64 -29
- package/.agent/skills/systematic-debugging/SKILL.md +70 -82
- package/.agent/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/.agent/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/.agent/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +59 -81
- package/.agent/skills/taste-skill/SKILL.md +62 -21
- package/.agent/skills/tdd-workflow/SKILL.md +107 -26
- package/.agent/skills/test-result-analyzer/SKILL.md +59 -82
- package/.agent/skills/testing-patterns/SKILL.md +60 -81
- package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +62 -23
- package/.agent/skills/thinking-protocol/SKILL.md +73 -18
- package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +62 -20
- package/.agent/skills/transitions-dev/SKILL.md +62 -20
- package/.agent/skills/trend-researcher/SKILL.md +58 -82
- package/.agent/skills/typescript-advanced/SKILL.md +69 -85
- package/.agent/skills/typeset/SKILL.md +62 -21
- package/.agent/skills/ui-reasoning-engine/SKILL.md +73 -16
- package/.agent/skills/ui-skill-packs/SKILL.md +69 -19
- package/.agent/skills/ui-skills-root/SKILL.md +65 -19
- package/.agent/skills/ui-ux-pro-max/SKILL.md +81 -15
- package/.agent/skills/ui-ux-researcher/SKILL.md +58 -82
- package/.agent/skills/vector-search-pgvector/SKILL.md +80 -14
- package/.agent/skills/verification-before-completion/SKILL.md +178 -0
- package/.agent/skills/vue-expert/SKILL.md +59 -77
- package/.agent/skills/vulnerability-scanner/SKILL.md +59 -79
- package/.agent/skills/web-accessibility-auditor/SKILL.md +59 -81
- package/.agent/skills/web-design-guidelines/SKILL.md +73 -15
- package/.agent/skills/web-quality-audit/SKILL.md +62 -21
- package/.agent/skills/webapp-testing/SKILL.md +60 -81
- package/.agent/skills/webgpu-performance/SKILL.md +60 -41
- package/.agent/skills/whimsy-injector/SKILL.md +59 -81
- package/.agent/skills/workflow-optimizer/SKILL.md +59 -80
- package/.agent/skills/zero-trust-passkeys/SKILL.md +80 -14
- package/.agent/templates/DESIGN.md +680 -160
- package/.agent/templates/sdd/implementer-prompt.md +62 -0
- package/.agent/templates/sdd/re-review-prompt.md +36 -0
- package/.agent/templates/sdd/task-reviewer-prompt.md +78 -0
- package/.agent/workflows/acf.md +4 -0
- package/.agent/workflows/api-tester.md +5 -0
- package/.agent/workflows/audit-live.md +52 -0
- package/.agent/workflows/audit.md +5 -0
- package/.agent/workflows/brainstorm.md +17 -1
- package/.agent/workflows/changelog.md +5 -0
- package/.agent/workflows/compare-web.md +35 -0
- package/.agent/workflows/context.md +100 -0
- package/.agent/workflows/contract.md +19 -0
- package/.agent/workflows/create.md +6 -1
- package/.agent/workflows/debug.md +5 -0
- package/.agent/workflows/deploy.md +6 -1
- package/.agent/workflows/enhance.md +6 -1
- package/.agent/workflows/fix-ci.md +5 -0
- package/.agent/workflows/fix.md +5 -0
- package/.agent/workflows/generate.md +5 -0
- package/.agent/workflows/marathon.md +6 -1
- package/.agent/workflows/migrate.md +5 -0
- package/.agent/workflows/minimal.md +4 -0
- package/.agent/workflows/orchestrate.md +6 -1
- package/.agent/workflows/performance-benchmarker.md +6 -1
- package/.agent/workflows/pipeline.md +5 -0
- package/.agent/workflows/plan.md +7 -2
- package/.agent/workflows/preview.md +6 -1
- package/.agent/workflows/refactor.md +6 -0
- package/.agent/workflows/review-ai.md +5 -0
- package/.agent/workflows/review.md +5 -0
- package/.agent/workflows/sdd.md +122 -0
- package/.agent/workflows/session.md +5 -0
- package/.agent/workflows/skill-enhancement-engine.md +88 -0
- package/.agent/workflows/status.md +4 -0
- package/.agent/workflows/super-prompt.md +103 -19
- package/.agent/workflows/swarm.md +6 -1
- package/.agent/workflows/test.md +6 -1
- package/.agent/workflows/tribunal-backend.md +5 -0
- package/.agent/workflows/tribunal-cicd.md +5 -0
- package/.agent/workflows/tribunal-database.md +5 -0
- package/.agent/workflows/tribunal-full.md +8 -0
- package/.agent/workflows/tribunal-mobile.md +5 -0
- package/.agent/workflows/tribunal-performance.md +5 -0
- package/.agent/workflows/tribunal-speed.md +5 -0
- package/.agent/workflows/tribunal-ui.md +7 -0
- package/.agents/plugins/marketplace.json +20 -0
- 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 +14 -0
- package/.claude-plugin/plugin.json +26 -0
- package/.codex-plugin/plugin.json +45 -0
- package/.cursor-plugin/plugin.json +26 -0
- package/.devin-plugin/plugin.json +14 -0
- package/.hermes-plugin/__init__.py +102 -0
- package/.hermes-plugin/plugin.yaml +6 -0
- package/.kimi-plugin/plugin.json +38 -0
- package/.opencode/INSTALL.md +41 -0
- package/.opencode/plugins/tribunal.js +101 -0
- package/.opencode/rules.md +258 -0
- package/.pi/extensions/tribunal.ts +133 -0
- package/AGENTS.md +91 -0
- package/CLAUDE.md +442 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +273 -251
- 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 +20 -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 +377 -355
- 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/esm/index.mjs +142 -142
- package/dist/index.d.ts +349 -343
- package/gemini-extension.json +6 -0
- package/hooks/hooks-cursor.json +10 -0
- package/hooks/hooks.json +10 -0
- package/hooks/session-start.js +77 -0
- package/marketplace.json +14 -0
- package/package.json +176 -146
- package/plugin.json +26 -0
- package/scripts/audit_skill_sdo.js +87 -0
- package/scripts/clean-pycache.js +42 -0
- package/scripts/context_compiler.js +944 -0
- package/scripts/modernize_skills.js +254 -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,203 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: webapp-testing
|
|
3
|
+
description: Use when Comprehensive Web Application Testing strategy. Test Pyramid, Vitest/Jest for unit logic, React Testing Library for component integrity, MSW (Mock Service Worker) for API layer simulation, and visual regression. Use when setting up testing environments or defining global test strategies across a web stack.
|
|
4
|
+
version: 5.0.0
|
|
5
|
+
last-updated: 2026-09-13
|
|
6
|
+
skills:
|
|
7
|
+
- testing-patterns
|
|
8
|
+
- playwright-best-practices
|
|
9
|
+
- tdd-workflow
|
|
10
|
+
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
11
|
+
scripts-binding:
|
|
12
|
+
- .agent/scripts/test_runner.js
|
|
13
|
+
- .agent/scripts/verify_all.js
|
|
14
|
+
- .agent/scripts/lint_runner.js
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Webapp Testing โ Full Stack Pipeline Mastery
|
|
18
|
+
|
|
19
|
+
## Mandatory Pre-Flight Context Inspection
|
|
20
|
+
|
|
21
|
+
Before generating, refactoring, or reviewing code in the `webapp-testing` domain, inspect these 5 critical parameters:
|
|
22
|
+
|
|
23
|
+
1. **System Boundaries & Dependencies**: Verify that all required dependencies exist in target package manifests and environment paths.
|
|
24
|
+
2. **Runtime Context & Platform Invariants**: Confirm target platform constraints (Node.js, Browser, Mobile OS, Edge runtime) before applying APIs.
|
|
25
|
+
3. **Execution Guardrails**: Identify potential side-effects, state mutations, and unhandled asynchronous exceptions.
|
|
26
|
+
4. **Validation & Type Contracts**: Validate input data schemas and strict type constraints across all module interfaces.
|
|
27
|
+
5. **Observability & Proof of Execution**: Ensure execution produces tangible verification signals (terminal output, tests, metrics).
|
|
28
|
+
|
|
29
|
+
## Activation Boundaries
|
|
30
|
+
|
|
31
|
+
- **Activate when:** Use when Comprehensive Web Application Testing strategy. Test Pyramid, Vitest/Jest for unit logic, React Testing Library for component integrity, MSW (Mock Service Worker) for API layer simulation, and visual regression. Use when setting up testing environments or defining global test strategies across a web stack.
|
|
32
|
+
- **DO NOT activate when:** The task falls outside the `webapp-testing` domain or is managed by a different dedicated specialist.
|
|
33
|
+
|
|
34
|
+
## ๐ Multi-Pass Execution Protocol
|
|
35
|
+
|
|
36
|
+
Execute all non-trivial tasks through this 7-pass cognitive loop:
|
|
37
|
+
|
|
38
|
+
| Pass | Phase | Core Action |
|
|
39
|
+
|:---|:---|:---|
|
|
40
|
+
| **Pass 1** | **Understand** | Deconstruct the user's explicit objective, implicit requirements, and platform constraints. |
|
|
41
|
+
| **Pass 2** | **Plan** | Decompose the task into smallest logical steps; map dependencies and required tool calls. |
|
|
42
|
+
| **Pass 3** | **Execute** | Implement the solution with production-grade craft, zero placeholders, and strict typing. |
|
|
43
|
+
| **Pass 4** | **Verify** | Run linters, unit tests, or compiler checks to validate structural correctness. |
|
|
44
|
+
| **Pass 5** | **Attack** | Perform an adversarial review searching for edge-case failures, race conditions, and traps. |
|
|
45
|
+
| **Pass 6** | **Improve** | Eliminate discovered friction, optimize performance, and harden error boundaries. |
|
|
46
|
+
| **Pass 7** | **Quality Gate** | Enforce Verification-Before-Completion (VBC) with concrete terminal proof before finalizing. |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## ๐ ๏ธ Technical Architecture & Reference Recipes
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## Hallucination Traps (Read First)
|
|
56
|
+
|
|
57
|
+
- โ Mocking everything in integration tests -> โ
Integration tests verify real interactions; mock only external services (APIs, DBs)
|
|
58
|
+
- โ Testing Library: using `getByTestId` as the primary selector -> โ
Prefer `getByRole`, `getByLabelText`, `getByText` for user-centric testing
|
|
59
|
+
- โ Writing E2E tests that depend on seed data -> โ
Each test should create its own data in setup and clean up in teardown
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 1. The Strategy (The Testing Trophy)
|
|
66
|
+
|
|
67
|
+
The traditional "Testing Pyramid" (lots of Unit, little E2E) is outdated for rich UI applications. Use the **Testing Trophy**:
|
|
68
|
+
|
|
69
|
+
1. **Static Analysis (10%)**: TypeScript, ESLint, Prettier (Catches typos and type mismatches instantly).
|
|
70
|
+
2. **Unit Tests (20%)**: Vitest (Tests complex pure functions: math, formatting, data mapping).
|
|
71
|
+
3. **Integration Tests (60%)**: React Testing Library + MSW (Tests components and network mock interactions together).
|
|
72
|
+
4. **End-to-End Tests (10%)**: Playwright (Tests the critical path: Login, Checkout, Account Creation on a real browser).
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 2. Integration Layer (React Testing Library + MSW)
|
|
77
|
+
|
|
78
|
+
Do not mock child components. Render the specific DOM tree and interact with it as a user would.
|
|
79
|
+
|
|
80
|
+
To prevent network calls, utilize Mock Service Worker (MSW) which intercepts requests at the network layer natively.
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
// โ BAD: Mocking implementation details
|
|
84
|
+
jest.mock('axios');
|
|
85
|
+
axios.get.mockResolvedValue({ data: { users: [] } });
|
|
86
|
+
|
|
87
|
+
// โ
GOOD: MSW (Mock Service Worker) network level interception
|
|
88
|
+
// The component functions EXACTLY as it would in production
|
|
89
|
+
import { http, HttpResponse } from 'msw';
|
|
90
|
+
import { setupServer } from 'msw/node';
|
|
91
|
+
|
|
92
|
+
export const handlers = [
|
|
93
|
+
http.get('/api/users', () => {
|
|
94
|
+
return HttpResponse.json([{ id: 1, name: 'John Appleseed' }]);
|
|
95
|
+
}),
|
|
96
|
+
];
|
|
97
|
+
const server = setupServer(...handlers);
|
|
98
|
+
|
|
99
|
+
beforeAll(() => server.listen());
|
|
100
|
+
afterEach(() => server.resetHandlers());
|
|
101
|
+
afterAll(() => server.close());
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Component Testing (RTL)
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
import { render, screen, waitFor } from '@testing-library/react';
|
|
108
|
+
import userEvent from '@testing-library/user-event';
|
|
109
|
+
|
|
110
|
+
test('Should load users and render names', async () => {
|
|
111
|
+
// userEvent closely replicates real browser physics (focusing, keystrokes)
|
|
112
|
+
const user = userEvent.setup();
|
|
113
|
+
|
|
114
|
+
render(<UserDashboard />);
|
|
115
|
+
|
|
116
|
+
// Initial State
|
|
117
|
+
expect(screen.getByText('Loading...')).toBeInTheDocument();
|
|
118
|
+
|
|
119
|
+
// Async Resolution (Auto-waits for the MSW mock to return)
|
|
120
|
+
const johnNode = await screen.findByText('John Appleseed');
|
|
121
|
+
expect(johnNode).toBeInTheDocument();
|
|
122
|
+
|
|
123
|
+
// Interaction
|
|
124
|
+
const deleteBtn = screen.getByRole('button', { name: "Delete John" });
|
|
125
|
+
await user.click(deleteBtn);
|
|
126
|
+
|
|
127
|
+
// Verification
|
|
128
|
+
expect(johnNode).not.toBeInTheDocument();
|
|
129
|
+
});
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## 3. Pure Unit Testing (Vitest)
|
|
135
|
+
|
|
136
|
+
Isolate business logic entirely from React.
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
// โ
Move complex logic OUT of the React component entirely
|
|
140
|
+
export function calculateTax(subtotal: number, state: string): number {
|
|
141
|
+
if (subtotal < 0) throw new Error('Subtotal cannot be negative');
|
|
142
|
+
if (state === 'CA') return subtotal * 0.0825;
|
|
143
|
+
return 0; // Default
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// โ
Test with extreme precision and coverage
|
|
147
|
+
import { describe, it, expect } from 'vitest';
|
|
148
|
+
|
|
149
|
+
describe('calculateTax()', () => {
|
|
150
|
+
it('applies CA tax correctly', () => {
|
|
151
|
+
expect(calculateTax(100, 'CA')).toBe(8.25);
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
it('throws on negative input', () => {
|
|
155
|
+
expect(() => calculateTax(-50, 'CA')).toThrowError('negative');
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## ๐จ Edge-Case & Failure Mode Matrix
|
|
163
|
+
|
|
164
|
+
| Scenario | Risk | Mitigation Strategy |
|
|
165
|
+
|:---|:---|:---|
|
|
166
|
+
| **Empty or Null Inputs** | Unhandled exception or unexpected rendering collapse | Enforce fallback guards, optional chaining, and explicit empty state handlers |
|
|
167
|
+
| **Network Timeout / Latency** | Hanging operations or duplicate side-effects | Implement bounded abort controllers, exponential backoff, and idempotency keys |
|
|
168
|
+
| **Concurrency / Race Conditions** | Stale state overwrite or inconsistent data mutations | Use atomic transactions, mutex locking, or cancel-on-resubmit controls |
|
|
169
|
+
| **Invalid Schema / Malformed Payload** | Downstream runtime errors or security injection | Validate boundary payloads with Zod/Pydantic schemas prior to execution |
|
|
170
|
+
| **Resource / Memory Saturation** | OOM errors, frame drops, or memory leaks | Clean up listeners, cancel active timers, and enforce pagination/virtualization |
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## ๐ค LLM-Specific Traps Table
|
|
175
|
+
|
|
176
|
+
| Anti-Pattern | What AI Commonly Does Wrong | What Is Actually Correct |
|
|
177
|
+
|:---|:---|:---|
|
|
178
|
+
| **Testing Implementation Details** | Asserting on private component state or internal helper functions | Assert on observable user behaviors, DOM roles, and network outcomes |
|
|
179
|
+
| **Flaky Async Assertion** | Using arbitrary setTimeout delays before asserting on asynchronous state | Use waitFor or findBy queries that poll with timeout bounds |
|
|
180
|
+
| **Shared Mutable State** | Reusing database records across concurrent test runners | Isolate test databases per worker or execute in rolled-back transactions |
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## ๐๏ธ Tribunal Verification & Guardrails
|
|
185
|
+
|
|
186
|
+
**Active Reviewers:** `test-engineer` ยท `qa-automation-engineer` ยท `logic-reviewer`
|
|
187
|
+
**Slash Command:** `/review` or `/tribunal-full`
|
|
188
|
+
|
|
189
|
+
### โ
Pre-Flight Self-Audit Checklist
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
โ
Do tests follow behavioral GIVEN/WHEN/THEN specifications?
|
|
193
|
+
โ
Are happy path, failure paths, and boundary conditions (0, null, max) covered?
|
|
194
|
+
โ
Are test mocks isolated and reset between successive suites?
|
|
195
|
+
โ
Do E2E locators rely on stable ARIA attributes instead of brittle CSS selectors?
|
|
196
|
+
โ
Did I verify test suite passes without flaky race conditions?
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
200
|
+
|
|
201
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
202
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
203
|
+
- โ
**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,173 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Skill: webapp-testing
|
|
4
|
+
Script: playwright_runner.py
|
|
5
|
+
Purpose: Run basic Playwright browser tests
|
|
6
|
+
Usage: python playwright_runner.py <url> [--screenshot]
|
|
7
|
+
Output: JSON with page info, health status, and optional screenshot path
|
|
8
|
+
Note: Requires playwright (pip install playwright && playwright install chromium)
|
|
9
|
+
Screenshots: Saved to system temp directory (auto-cleaned by OS)
|
|
10
|
+
"""
|
|
11
|
+
import sys
|
|
12
|
+
import json
|
|
13
|
+
import os
|
|
14
|
+
import tempfile
|
|
15
|
+
from datetime import datetime
|
|
16
|
+
|
|
17
|
+
# Fix Windows console encoding for Unicode output
|
|
18
|
+
try:
|
|
19
|
+
sys.stdout.reconfigure(encoding='utf-8', errors='replace')
|
|
20
|
+
sys.stderr.reconfigure(encoding='utf-8', errors='replace')
|
|
21
|
+
except AttributeError:
|
|
22
|
+
pass # Python < 3.7
|
|
23
|
+
|
|
24
|
+
try:
|
|
25
|
+
from playwright.sync_api import sync_playwright
|
|
26
|
+
PLAYWRIGHT_AVAILABLE = True
|
|
27
|
+
except ImportError:
|
|
28
|
+
PLAYWRIGHT_AVAILABLE = False
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def run_basic_test(url: str, take_screenshot: bool = False) -> dict:
|
|
32
|
+
"""Run basic browser test on URL."""
|
|
33
|
+
if not PLAYWRIGHT_AVAILABLE:
|
|
34
|
+
return {
|
|
35
|
+
"error": "Playwright not installed",
|
|
36
|
+
"fix": "pip install playwright && playwright install chromium"
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
result = {
|
|
40
|
+
"url": url,
|
|
41
|
+
"timestamp": datetime.now().isoformat(),
|
|
42
|
+
"status": "pending"
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
try:
|
|
46
|
+
with sync_playwright() as p:
|
|
47
|
+
browser = p.chromium.launch(headless=True)
|
|
48
|
+
context = browser.new_context(
|
|
49
|
+
viewport={"width": 1280, "height": 720},
|
|
50
|
+
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
|
|
51
|
+
)
|
|
52
|
+
page = context.new_page()
|
|
53
|
+
|
|
54
|
+
# Navigate
|
|
55
|
+
response = page.goto(url, wait_until="networkidle", timeout=30000)
|
|
56
|
+
|
|
57
|
+
# Basic info
|
|
58
|
+
result["page"] = {
|
|
59
|
+
"title": page.title(),
|
|
60
|
+
"url": page.url,
|
|
61
|
+
"status_code": response.status if response else None
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
# Health checks
|
|
65
|
+
result["health"] = {
|
|
66
|
+
"loaded": response.ok if response else False,
|
|
67
|
+
"has_title": bool(page.title()),
|
|
68
|
+
"has_h1": page.locator("h1").count() > 0,
|
|
69
|
+
"has_links": page.locator("a").count() > 0,
|
|
70
|
+
"has_images": page.locator("img").count() > 0
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
# Console errors
|
|
74
|
+
console_errors = []
|
|
75
|
+
page.on("console", lambda msg: console_errors.append(msg.text) if msg.type == "error" else None)
|
|
76
|
+
|
|
77
|
+
# Performance metrics
|
|
78
|
+
result["performance"] = {
|
|
79
|
+
"dom_content_loaded": page.evaluate("window.performance.timing.domContentLoadedEventEnd - window.performance.timing.navigationStart"),
|
|
80
|
+
"load_complete": page.evaluate("window.performance.timing.loadEventEnd - window.performance.timing.navigationStart")
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
# Screenshot - uses system temp directory (cross-platform, auto-cleaned)
|
|
84
|
+
if take_screenshot:
|
|
85
|
+
# Cross-platform: Windows=%TEMP%, Linux/macOS=/tmp
|
|
86
|
+
screenshot_dir = os.path.join(tempfile.gettempdir(), "maestro_screenshots")
|
|
87
|
+
os.makedirs(screenshot_dir, exist_ok=True)
|
|
88
|
+
screenshot_path = os.path.join(screenshot_dir, f"screenshot_{datetime.now().strftime('%Y%m%d_%H%M%S')}.png")
|
|
89
|
+
page.screenshot(path=screenshot_path, full_page=True)
|
|
90
|
+
result["screenshot"] = screenshot_path
|
|
91
|
+
result["screenshot_note"] = "Saved to temp directory (auto-cleaned by OS)"
|
|
92
|
+
|
|
93
|
+
# Element counts
|
|
94
|
+
result["elements"] = {
|
|
95
|
+
"links": page.locator("a").count(),
|
|
96
|
+
"buttons": page.locator("button").count(),
|
|
97
|
+
"inputs": page.locator("input").count(),
|
|
98
|
+
"images": page.locator("img").count(),
|
|
99
|
+
"forms": page.locator("form").count()
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
browser.close()
|
|
103
|
+
|
|
104
|
+
result["status"] = "success" if result["health"]["loaded"] else "failed"
|
|
105
|
+
result["summary"] = "[OK] Page loaded successfully" if result["status"] == "success" else "[X] Page failed to load"
|
|
106
|
+
|
|
107
|
+
except Exception as e:
|
|
108
|
+
result["status"] = "error"
|
|
109
|
+
result["error"] = str(e)
|
|
110
|
+
result["summary"] = f"[X] Error: {str(e)[:100]}"
|
|
111
|
+
|
|
112
|
+
return result
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def run_accessibility_check(url: str) -> dict:
|
|
116
|
+
"""Run basic accessibility check."""
|
|
117
|
+
if not PLAYWRIGHT_AVAILABLE:
|
|
118
|
+
return {"error": "Playwright not installed"}
|
|
119
|
+
|
|
120
|
+
result = {"url": url, "accessibility": {}}
|
|
121
|
+
|
|
122
|
+
try:
|
|
123
|
+
with sync_playwright() as p:
|
|
124
|
+
browser = p.chromium.launch(headless=True)
|
|
125
|
+
page = browser.new_page()
|
|
126
|
+
page.goto(url, wait_until="networkidle", timeout=30000)
|
|
127
|
+
|
|
128
|
+
# Basic a11y checks
|
|
129
|
+
result["accessibility"] = {
|
|
130
|
+
"images_with_alt": page.locator("img[alt]").count(),
|
|
131
|
+
"images_without_alt": page.locator("img:not([alt])").count(),
|
|
132
|
+
"buttons_with_label": page.locator("button[aria-label], button:has-text('')").count(),
|
|
133
|
+
"links_with_text": page.locator("a:has-text('')").count(),
|
|
134
|
+
"form_labels": page.locator("label").count(),
|
|
135
|
+
"headings": {
|
|
136
|
+
"h1": page.locator("h1").count(),
|
|
137
|
+
"h2": page.locator("h2").count(),
|
|
138
|
+
"h3": page.locator("h3").count()
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
browser.close()
|
|
143
|
+
result["status"] = "success"
|
|
144
|
+
|
|
145
|
+
except Exception as e:
|
|
146
|
+
result["status"] = "error"
|
|
147
|
+
result["error"] = str(e)
|
|
148
|
+
|
|
149
|
+
return result
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
if __name__ == "__main__":
|
|
153
|
+
if len(sys.argv) < 2:
|
|
154
|
+
print(json.dumps({
|
|
155
|
+
"error": "Usage: python playwright_runner.py <url> [--screenshot] [--a11y]",
|
|
156
|
+
"examples": [
|
|
157
|
+
"python playwright_runner.py https://example.com",
|
|
158
|
+
"python playwright_runner.py https://example.com --screenshot",
|
|
159
|
+
"python playwright_runner.py https://example.com --a11y"
|
|
160
|
+
]
|
|
161
|
+
}, indent=2))
|
|
162
|
+
sys.exit(1)
|
|
163
|
+
|
|
164
|
+
url = sys.argv[1]
|
|
165
|
+
take_screenshot = "--screenshot" in sys.argv
|
|
166
|
+
check_a11y = "--a11y" in sys.argv
|
|
167
|
+
|
|
168
|
+
if check_a11y:
|
|
169
|
+
result = run_accessibility_check(url)
|
|
170
|
+
else:
|
|
171
|
+
result = run_basic_test(url, take_screenshot)
|
|
172
|
+
|
|
173
|
+
print(json.dumps(result, indent=2))
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: webgpu-performance
|
|
3
|
+
description: Use when High-performance browser graphics and compute mastery. Transitioning from WebGL to WebGPU API, WGSL compute shaders, explicit GPU memory management, and browser-side tensor calculations.
|
|
4
|
+
version: 5.0.0
|
|
5
|
+
last-updated: 2026-09-13
|
|
6
|
+
skills:
|
|
7
|
+
- 60fps-animation
|
|
8
|
+
- fixing-motion-performance
|
|
9
|
+
- motion-engineering
|
|
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
|
+
# WebGPU Performance Mastery
|
|
17
|
+
|
|
18
|
+
## Mandatory Pre-Flight Context Inspection
|
|
19
|
+
|
|
20
|
+
Before generating, refactoring, or reviewing code in the `webgpu-performance` 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 High-performance browser graphics and compute mastery. Transitioning from WebGL to WebGPU API, WGSL compute shaders, explicit GPU memory management, and browser-side tensor calculations.
|
|
31
|
+
- **DO NOT activate when:** The task falls outside the `webgpu-performance` 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
|
+
## 1. Core Principles
|
|
55
|
+
|
|
56
|
+
- **Explicit > Implicit:** Unlike WebGL, WebGPU doesn't hide state. You must explicitly configure Pipelines, BindGroups, and CommandEncoders.
|
|
57
|
+
- **Compute First:** Leverage Compute Shaders (`@compute @workgroup_size(X, Y)`) for heavy array manipulation, physics, or ML tensor operations, keeping the CPU entirely free.
|
|
58
|
+
- **Buffer Alignment:** WGSL requires strict 4-byte or 16-byte alignment (`vec4<f32>`, `mat4x4<f32>`). Always pad structs exactly to prevent silent memory corruption.
|
|
59
|
+
|
|
60
|
+
## 2. WGSL Compute Shader Pattern
|
|
61
|
+
|
|
62
|
+
When performing parallel calculations (e.g., particle physics or ML matrix multiplication):
|
|
63
|
+
|
|
64
|
+
```wgsl
|
|
65
|
+
struct SystemData {
|
|
66
|
+
deltaTime: f32,
|
|
67
|
+
particleCount: u32,
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@group(0) @binding(0) var<uniform> data: SystemData;
|
|
71
|
+
@group(0) @binding(1) var<storage, read_write> particles: array<vec4<f32>>;
|
|
72
|
+
|
|
73
|
+
@compute @workgroup_size(64)
|
|
74
|
+
fn main(@builtin(global_invocation_id) global_id: vec3<u32>) {
|
|
75
|
+
let index = global_id.x;
|
|
76
|
+
if (index >= data.particleCount) { return; }
|
|
77
|
+
|
|
78
|
+
var pos = particles[index];
|
|
79
|
+
pos.y -= 9.8 * data.deltaTime; // Gravity
|
|
80
|
+
particles[index] = pos;
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## 3. WebGPU Execution Pipeline
|
|
85
|
+
|
|
86
|
+
To run the above compute shader from TypeScript:
|
|
87
|
+
|
|
88
|
+
1. **Initialize:** `navigator.gpu.requestAdapter()` -> `requestDevice()`.
|
|
89
|
+
2. **Create Buffers:** `device.createBuffer({ size, usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST })`.
|
|
90
|
+
3. **Write Data:** `device.queue.writeBuffer(buffer, 0, float32Array)`.
|
|
91
|
+
4. **Bind Group:** Group buffers into a `GPUBindGroup`.
|
|
92
|
+
5. **Command Encoder:**
|
|
93
|
+
```typescript
|
|
94
|
+
const encoder = device.createCommandEncoder();
|
|
95
|
+
const pass = encoder.beginComputePass();
|
|
96
|
+
pass.setPipeline(computePipeline);
|
|
97
|
+
pass.setBindGroup(0, bindGroup);
|
|
98
|
+
pass.dispatchWorkgroups(Math.ceil(count / 64));
|
|
99
|
+
pass.end();
|
|
100
|
+
device.queue.submit([encoder.finish()]);
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## 4. LLM Traps & Pre-Flight Checks
|
|
104
|
+
|
|
105
|
+
- **TRAP:** Assuming WebGPU works everywhere.
|
|
106
|
+
- **FIX:** Always feature-detect with `if (!navigator.gpu) { fallbackToWebGL(); }`.
|
|
107
|
+
- **TRAP:** Struct alignment issues in WGSL.
|
|
108
|
+
- **FIX:** Never use `vec3<f32>` inside arrays without padding. It behaves as 16-bytes anyway. Use `vec4<f32>` to be perfectly aligned.
|
|
109
|
+
- **TRAP:** Reading buffers back to the CPU synchronoulsy.
|
|
110
|
+
- **FIX:** Use `mapAsync(GPUMapMode.READ)` and await it. Do not block the main thread.
|
|
111
|
+
|
|
112
|
+
## Verification Protocol
|
|
113
|
+
|
|
114
|
+
Before submitting code, ensure:
|
|
115
|
+
|
|
116
|
+
1. Devices and adapters are properly null-checked.
|
|
117
|
+
2. WGSL workgroup sizes align with the dispatch sizes dynamically.
|
|
118
|
+
3. GPUBuffers used for compute have `GPUBufferUsage.STORAGE` flags.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## ๐จ Edge-Case & Failure Mode Matrix
|
|
123
|
+
|
|
124
|
+
| Scenario | Risk | Mitigation Strategy |
|
|
125
|
+
|:---|:---|:---|
|
|
126
|
+
| **Empty or Null Inputs** | Unhandled exception or unexpected rendering collapse | Enforce fallback guards, optional chaining, and explicit empty state handlers |
|
|
127
|
+
| **Network Timeout / Latency** | Hanging operations or duplicate side-effects | Implement bounded abort controllers, exponential backoff, and idempotency keys |
|
|
128
|
+
| **Concurrency / Race Conditions** | Stale state overwrite or inconsistent data mutations | Use atomic transactions, mutex locking, or cancel-on-resubmit controls |
|
|
129
|
+
| **Invalid Schema / Malformed Payload** | Downstream runtime errors or security injection | Validate boundary payloads with Zod/Pydantic schemas prior to execution |
|
|
130
|
+
| **Resource / Memory Saturation** | OOM errors, frame drops, or memory leaks | Clean up listeners, cancel active timers, and enforce pagination/virtualization |
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## ๐ค LLM-Specific Traps Table
|
|
135
|
+
|
|
136
|
+
| Anti-Pattern | What AI Commonly Does Wrong | What Is Actually Correct |
|
|
137
|
+
|:---|:---|:---|
|
|
138
|
+
| **Hallucinated Tool Capabilities** | Assuming an external library or CLI command exists without verification | Run a verification check or verify package.json before referencing tools |
|
|
139
|
+
| **Premature Completion Claim** | Declaring a task finished because code was generated without verification | Execute tests, linters, or terminal commands to provide concrete proof |
|
|
140
|
+
| **Context Bloat Dumping** | Pasting entire multi-thousand-line files into prompt context | Extract targeted excerpts, symbols, and signatures to preserve tokens |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## ๐๏ธ Tribunal Verification & Guardrails
|
|
145
|
+
|
|
146
|
+
**Active Reviewers:** `orchestrator` ยท `agent-organizer` ยท `logic-reviewer`
|
|
147
|
+
**Slash Command:** `/review` or `/tribunal-full`
|
|
148
|
+
|
|
149
|
+
### โ
Pre-Flight Self-Audit Checklist
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
โ
Did I deconstruct the root objective before proposing architecture?
|
|
153
|
+
โ
Did I identify dependencies, bottlenecks, and parallelizable sub-tasks?
|
|
154
|
+
โ
Did I avoid over-engineering and select the simplest effective pattern?
|
|
155
|
+
โ
Did I verify assumptions with concrete file reads instead of speculation?
|
|
156
|
+
โ
Did I establish measurable verification criteria before completion?
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
160
|
+
|
|
161
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
162
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
163
|
+
- โ
**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.
|