@heyai-rules/pilo-masterkit 1.2.2 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/agents/architect.md +211 -211
- package/.agent/agents/build-error-resolver.md +114 -114
- package/.agent/agents/chief-of-staff.md +151 -151
- package/.agent/agents/code-reviewer.md +237 -237
- package/.agent/agents/cpp-build-resolver.md +90 -90
- package/.agent/agents/cpp-reviewer.md +72 -72
- package/.agent/agents/csharp-reviewer.md +101 -0
- package/.agent/agents/dart-build-resolver.md +201 -0
- package/.agent/agents/database-reviewer.md +91 -91
- package/.agent/agents/doc-updater.md +107 -107
- package/.agent/agents/docs-lookup.md +68 -68
- package/.agent/agents/e2e-runner.md +107 -107
- package/.agent/agents/flutter-reviewer.md +243 -243
- package/.agent/agents/gan-evaluator.md +209 -0
- package/.agent/agents/gan-generator.md +131 -0
- package/.agent/agents/gan-planner.md +99 -0
- package/.agent/agents/go-build-resolver.md +94 -94
- package/.agent/agents/go-reviewer.md +76 -76
- package/.agent/agents/harness-optimizer.md +35 -35
- package/.agent/agents/healthcare-reviewer.md +83 -0
- package/.agent/agents/java-build-resolver.md +153 -153
- package/.agent/agents/java-reviewer.md +92 -92
- package/.agent/agents/kotlin-build-resolver.md +118 -118
- package/.agent/agents/kotlin-reviewer.md +159 -159
- package/.agent/agents/loop-operator.md +36 -36
- package/.agent/agents/opensource-forker.md +198 -0
- package/.agent/agents/opensource-packager.md +249 -0
- package/.agent/agents/opensource-sanitizer.md +188 -0
- package/.agent/agents/performance-optimizer.md +392 -133
- package/.agent/agents/personas/athena-agent/agent.json +10 -0
- package/.agent/agents/personas/athena-agent/athena-backend-logic-architecture-profile.md +189 -0
- package/.agent/agents/personas/athena-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/athena-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/athena-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/athena-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/athena-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/athena-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/da-vinci-agent/agent.json +10 -0
- package/.agent/agents/personas/da-vinci-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/da-vinci-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/da-vinci-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/da-vinci-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/da-vinci-agent/da-vinci-frontend-ui-ux-design-profile.md +189 -0
- package/.agent/agents/personas/da-vinci-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/da-vinci-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/duong-tang-agent/agent.json +10 -0
- package/.agent/agents/personas/duong-tang-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/duong-tang-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/duong-tang-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/duong-tang-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/duong-tang-agent/tang-monk-quality-testing-documentation-profile.md +189 -0
- package/.agent/agents/personas/duong-tang-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/duong-tang-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/gia-cat-luong-agent/agent.json +10 -0
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/gia-cat-luong-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/gia-cat-luong-agent/kongming-research-strategy-analysis-profile.md +189 -0
- package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/mihata-agent/agent.json +10 -0
- package/.agent/agents/personas/mihata-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/mihata-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/mihata-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/mihata-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/mihata-agent/mihata-multi-agent-orchestration-profile.md +189 -0
- package/.agent/agents/personas/mihata-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/mihata-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/tesla-agent/agent.json +10 -0
- package/.agent/agents/personas/tesla-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/tesla-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/tesla-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/tesla-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/tesla-agent/tesla-fullstack-system-optimization-profile.md +189 -0
- package/.agent/agents/personas/tesla-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/tesla-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/tu-ma-y-agent/agent.json +10 -0
- package/.agent/agents/personas/tu-ma-y-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/tu-ma-y-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/tu-ma-y-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/tu-ma-y-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/tu-ma-y-agent/simayi-feasibility-risk-control-profile.md +189 -0
- package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/venti-agent/agent.json +10 -0
- package/.agent/agents/personas/venti-agent/context-files/agents.md +55 -0
- package/.agent/agents/personas/venti-agent/context-files/identity.md +23 -0
- package/.agent/agents/personas/venti-agent/context-files/soul.md +51 -0
- package/.agent/agents/personas/venti-agent/context-files/user-predefined.md +15 -0
- package/.agent/agents/personas/venti-agent/user-context-files/system/bootstrap.md +37 -0
- package/.agent/agents/personas/venti-agent/user-context-files/system/user.md +45 -0
- package/.agent/agents/personas/venti-agent/venti-learning-communication-mentoring-profile.md +189 -0
- package/.agent/agents/planner.md +212 -212
- package/.agent/agents/python-reviewer.md +98 -98
- package/.agent/agents/pytorch-build-resolver.md +120 -120
- package/.agent/agents/refactor-cleaner.md +85 -85
- package/.agent/agents/rust-build-resolver.md +148 -148
- package/.agent/agents/rust-reviewer.md +94 -94
- package/.agent/agents/security-reviewer.md +108 -108
- package/.agent/agents/tdd-guide.md +91 -91
- package/.agent/agents/typescript-reviewer.md +112 -112
- package/.agent/contexts/dev.md +20 -0
- package/.agent/contexts/research.md +26 -0
- package/.agent/contexts/review.md +22 -0
- package/.agent/hooks/hooks.json +395 -0
- package/.agent/hooks/readme.md +222 -0
- package/.agent/mcp-configs/mcp-servers.json +181 -0
- package/.agent/rules/common/agents.md +50 -0
- package/.agent/rules/common/code-review.md +124 -0
- package/.agent/rules/common/coding-style.md +48 -0
- package/.agent/rules/common/development-workflow.md +44 -0
- package/.agent/rules/common/git-workflow.md +24 -0
- package/.agent/rules/common/hooks.md +30 -0
- package/.agent/rules/common/patterns.md +31 -0
- package/.agent/rules/common/performance.md +55 -0
- package/.agent/rules/common/security.md +29 -0
- package/.agent/rules/common/testing.md +29 -0
- package/.agent/rules/cpp/coding-style.md +44 -0
- package/.agent/rules/cpp/hooks.md +39 -0
- package/.agent/rules/cpp/patterns.md +51 -0
- package/.agent/rules/cpp/security.md +51 -0
- package/.agent/rules/cpp/testing.md +44 -0
- package/.agent/rules/csharp/coding-style.md +72 -0
- package/.agent/rules/csharp/hooks.md +25 -0
- package/.agent/rules/csharp/patterns.md +50 -0
- package/.agent/rules/csharp/security.md +58 -0
- package/.agent/rules/csharp/testing.md +46 -0
- package/.agent/rules/dart/coding-style.md +159 -0
- package/.agent/rules/dart/hooks.md +66 -0
- package/.agent/rules/dart/patterns.md +261 -0
- package/.agent/rules/dart/security.md +135 -0
- package/.agent/rules/dart/testing.md +215 -0
- package/.agent/rules/golang/coding-style.md +32 -0
- package/.agent/rules/golang/hooks.md +17 -0
- package/.agent/rules/golang/patterns.md +45 -0
- package/.agent/rules/golang/security.md +34 -0
- package/.agent/rules/golang/testing.md +31 -0
- package/.agent/rules/java/coding-style.md +114 -0
- package/.agent/rules/java/hooks.md +18 -0
- package/.agent/rules/java/patterns.md +146 -0
- package/.agent/rules/java/security.md +100 -0
- package/.agent/rules/java/testing.md +131 -0
- package/.agent/rules/kotlin/coding-style.md +86 -0
- package/.agent/rules/kotlin/hooks.md +17 -0
- package/.agent/rules/kotlin/patterns.md +146 -0
- package/.agent/rules/kotlin/security.md +82 -0
- package/.agent/rules/kotlin/testing.md +128 -0
- package/.agent/rules/perl/coding-style.md +46 -0
- package/.agent/rules/perl/hooks.md +22 -0
- package/.agent/rules/perl/patterns.md +76 -0
- package/.agent/rules/perl/security.md +69 -0
- package/.agent/rules/perl/testing.md +54 -0
- package/.agent/rules/php/coding-style.md +40 -0
- package/.agent/rules/php/hooks.md +24 -0
- package/.agent/rules/php/patterns.md +33 -0
- package/.agent/rules/php/security.md +37 -0
- package/.agent/rules/php/testing.md +39 -0
- package/.agent/rules/python/coding-style.md +42 -0
- package/.agent/rules/python/hooks.md +19 -0
- package/.agent/rules/python/patterns.md +39 -0
- package/.agent/rules/python/security.md +30 -0
- package/.agent/rules/python/testing.md +38 -0
- package/.agent/rules/readme.md +111 -0
- package/.agent/rules/rust/coding-style.md +151 -0
- package/.agent/rules/rust/hooks.md +16 -0
- package/.agent/rules/rust/patterns.md +168 -0
- package/.agent/rules/rust/security.md +141 -0
- package/.agent/rules/rust/testing.md +154 -0
- package/.agent/rules/swift/coding-style.md +47 -0
- package/.agent/rules/swift/hooks.md +20 -0
- package/.agent/rules/swift/patterns.md +66 -0
- package/.agent/rules/swift/security.md +33 -0
- package/.agent/rules/swift/testing.md +45 -0
- package/.agent/rules/typescript/coding-style.md +199 -0
- package/.agent/rules/typescript/hooks.md +22 -0
- package/.agent/rules/typescript/patterns.md +52 -0
- package/.agent/rules/typescript/security.md +28 -0
- package/.agent/rules/typescript/testing.md +18 -0
- package/.agent/rules/web/coding-style.md +96 -0
- package/.agent/rules/web/design-quality.md +63 -0
- package/.agent/rules/web/hooks.md +120 -0
- package/.agent/rules/web/patterns.md +79 -0
- package/.agent/rules/web/performance.md +64 -0
- package/.agent/rules/web/security.md +57 -0
- package/.agent/rules/web/testing.md +55 -0
- package/.agent/rules/zh/agents.md +50 -0
- package/.agent/rules/zh/code-review.md +124 -0
- package/.agent/rules/zh/coding-style.md +48 -0
- package/.agent/rules/zh/development-workflow.md +44 -0
- package/.agent/rules/zh/git-workflow.md +24 -0
- package/.agent/rules/zh/hooks.md +30 -0
- package/.agent/rules/zh/patterns.md +31 -0
- package/.agent/rules/zh/performance.md +55 -0
- package/.agent/rules/zh/readme.md +108 -0
- package/.agent/rules/zh/security.md +29 -0
- package/.agent/rules/zh/testing.md +29 -0
- package/.agent/skills/agent-eval/SKILL.md +145 -0
- package/.agent/skills/agent-harness-construction/SKILL.md +73 -0
- package/.agent/skills/agent-payment-x402/SKILL.md +178 -0
- package/.agent/skills/agentic-engineering/SKILL.md +63 -0
- package/.agent/skills/ai-first-engineering/SKILL.md +51 -0
- package/.agent/skills/ai-regression-testing/SKILL.md +385 -0
- package/.agent/skills/android-clean-architecture/SKILL.md +339 -0
- package/.agent/skills/api-design/SKILL.md +523 -0
- package/.agent/skills/architecture-decision-records/SKILL.md +179 -0
- package/.agent/skills/article-writing/SKILL.md +79 -0
- package/.agent/skills/autonomous-agent-harness/SKILL.md +267 -0
- package/.agent/skills/autonomous-loops/SKILL.md +610 -0
- package/.agent/skills/backend-patterns/SKILL.md +598 -0
- package/.agent/skills/benchmark/SKILL.md +93 -0
- package/.agent/skills/blueprint/SKILL.md +105 -0
- package/.agent/skills/brand-voice/SKILL.md +97 -0
- package/.agent/skills/brand-voice/references/voice-profile-schema.md +55 -0
- package/.agent/skills/browser-qa/SKILL.md +87 -0
- package/.agent/skills/bun-runtime/SKILL.md +84 -0
- package/.agent/skills/canary-watch/SKILL.md +99 -0
- package/.agent/skills/carrier-relationship-management/SKILL.md +212 -0
- package/.agent/skills/ck/SKILL.md +147 -0
- package/.agent/skills/ck/commands/forget.mjs +44 -0
- package/.agent/skills/ck/commands/info.mjs +24 -0
- package/.agent/skills/ck/commands/init.mjs +143 -0
- package/.agent/skills/ck/commands/list.mjs +40 -0
- package/.agent/skills/ck/commands/migrate.mjs +202 -0
- package/.agent/skills/ck/commands/resume.mjs +36 -0
- package/.agent/skills/ck/commands/save.mjs +210 -0
- package/.agent/skills/ck/commands/shared.mjs +387 -0
- package/.agent/skills/ck/hooks/session-start.mjs +224 -0
- package/.agent/skills/claude-api/SKILL.md +337 -0
- package/.agent/skills/claude-devfleet/SKILL.md +103 -0
- package/.agent/skills/click-path-audit/SKILL.md +244 -0
- package/.agent/skills/clickhouse-io/SKILL.md +439 -0
- package/.agent/skills/codebase-onboarding/SKILL.md +233 -0
- package/.agent/skills/coding-standards/SKILL.md +530 -0
- package/.agent/skills/compose-multiplatform-patterns/SKILL.md +299 -0
- package/.agent/skills/configure-ecc/SKILL.md +367 -0
- package/.agent/skills/connections-optimizer/SKILL.md +189 -0
- package/.agent/skills/content-engine/SKILL.md +131 -0
- package/.agent/skills/content-hash-cache-pattern/SKILL.md +161 -0
- package/.agent/skills/context-budget/SKILL.md +135 -0
- package/.agent/skills/continuous-agent-loop/SKILL.md +45 -0
- package/.agent/skills/continuous-learning/SKILL.md +119 -0
- package/.agent/skills/continuous-learning/config.json +18 -0
- package/.agent/skills/continuous-learning/evaluate-session.sh +69 -0
- package/.agent/skills/continuous-learning-v2/SKILL.md +365 -0
- package/.agent/skills/continuous-learning-v2/agents/observer-loop.sh +271 -0
- package/.agent/skills/continuous-learning-v2/agents/observer.md +198 -0
- package/.agent/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
- package/.agent/skills/continuous-learning-v2/agents/start-observer.sh +244 -0
- package/.agent/skills/continuous-learning-v2/config.json +8 -0
- package/.agent/skills/continuous-learning-v2/hooks/observe.sh +428 -0
- package/.agent/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
- package/.agent/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
- package/.agent/skills/continuous-learning-v2/scripts/test-parse-instinct.py +984 -0
- package/.agent/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/.agent/skills/cpp-coding-standards/SKILL.md +723 -0
- package/.agent/skills/cpp-testing/SKILL.md +324 -0
- package/.agent/skills/crosspost/SKILL.md +111 -0
- package/.agent/skills/csharp-testing/SKILL.md +321 -0
- package/.agent/skills/customer-billing-ops/SKILL.md +140 -0
- package/.agent/skills/customs-trade-compliance/SKILL.md +263 -0
- package/.agent/skills/dart-flutter-patterns/SKILL.md +563 -0
- package/.agent/skills/data-scraper-agent/SKILL.md +764 -0
- package/.agent/skills/database-migrations/SKILL.md +429 -0
- package/.agent/skills/deep-research/SKILL.md +155 -0
- package/.agent/skills/deployment-patterns/SKILL.md +427 -0
- package/.agent/skills/design-system/SKILL.md +82 -0
- package/.agent/skills/django-patterns/SKILL.md +734 -0
- package/.agent/skills/django-security/SKILL.md +593 -0
- package/.agent/skills/django-tdd/SKILL.md +729 -0
- package/.agent/skills/django-verification/SKILL.md +469 -0
- package/.agent/skills/dmux-workflows/SKILL.md +191 -0
- package/.agent/skills/docker-patterns/SKILL.md +364 -0
- package/.agent/skills/documentation-lookup/SKILL.md +90 -0
- package/.agent/skills/dotnet-patterns/SKILL.md +321 -0
- package/.agent/skills/e2e-testing/SKILL.md +326 -0
- package/.agent/skills/energy-procurement/SKILL.md +228 -0
- package/.agent/skills/enterprise-agent-ops/SKILL.md +50 -0
- package/.agent/skills/eval-harness/SKILL.md +270 -0
- package/.agent/skills/exa-search/SKILL.md +103 -0
- package/.agent/skills/fal-ai-media/SKILL.md +284 -0
- package/.agent/skills/flutter-dart-code-review/SKILL.md +435 -0
- package/.agent/skills/foundation-models-on-device/SKILL.md +243 -0
- package/.agent/skills/frontend-patterns/SKILL.md +642 -0
- package/.agent/skills/frontend-slides/SKILL.md +184 -0
- package/.agent/skills/frontend-slides/style-presets.md +330 -0
- package/.agent/skills/gan-style-harness/SKILL.md +278 -0
- package/.agent/skills/git-workflow/SKILL.md +715 -0
- package/.agent/skills/golang-patterns/SKILL.md +674 -0
- package/.agent/skills/golang-testing/SKILL.md +720 -0
- package/.agent/skills/google-workspace-ops/SKILL.md +95 -0
- package/.agent/skills/healthcare-cdss-patterns/SKILL.md +245 -0
- package/.agent/skills/healthcare-emr-patterns/SKILL.md +159 -0
- package/.agent/skills/healthcare-eval-harness/SKILL.md +207 -0
- package/.agent/skills/healthcare-phi-compliance/SKILL.md +145 -0
- package/.agent/skills/hexagonal-architecture/SKILL.md +276 -0
- package/.agent/skills/inventory-demand-planning/SKILL.md +247 -0
- package/.agent/skills/investor-materials/SKILL.md +96 -0
- package/.agent/skills/investor-outreach/SKILL.md +91 -0
- package/.agent/skills/iterative-retrieval/SKILL.md +211 -0
- package/.agent/skills/java-coding-standards/SKILL.md +147 -0
- package/.agent/skills/jira-integration/SKILL.md +293 -0
- package/.agent/skills/jpa-patterns/SKILL.md +151 -0
- package/.agent/skills/kotlin-coroutines-flows/SKILL.md +284 -0
- package/.agent/skills/kotlin-exposed-patterns/SKILL.md +719 -0
- package/.agent/skills/kotlin-ktor-patterns/SKILL.md +689 -0
- package/.agent/skills/kotlin-patterns/SKILL.md +711 -0
- package/.agent/skills/kotlin-testing/SKILL.md +824 -0
- package/.agent/skills/laravel-patterns/SKILL.md +415 -0
- package/.agent/skills/laravel-plugin-discovery/SKILL.md +229 -0
- package/.agent/skills/laravel-security/SKILL.md +285 -0
- package/.agent/skills/laravel-tdd/SKILL.md +283 -0
- package/.agent/skills/laravel-verification/SKILL.md +179 -0
- package/.agent/skills/lead-intelligence/SKILL.md +321 -0
- package/.agent/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
- package/.agent/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
- package/.agent/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
- package/.agent/skills/lead-intelligence/agents/signal-scorer.md +60 -0
- package/.agent/skills/liquid-glass-design/SKILL.md +279 -0
- package/.agent/skills/logistics-exception-management/SKILL.md +222 -0
- package/.agent/skills/manim-video/SKILL.md +89 -0
- package/.agent/skills/manim-video/assets/network-graph-scene.py +52 -0
- package/.agent/skills/market-research/SKILL.md +75 -0
- package/.agent/skills/mcp-builder/SKILL.md +173 -113
- package/.agent/skills/mcp-builder/license.txt +202 -0
- package/.agent/skills/mcp-builder/reference/evaluation.md +602 -0
- package/.agent/skills/mcp-builder/reference/mcp-best-practices.md +249 -0
- package/.agent/skills/mcp-builder/reference/node-mcp-server.md +970 -0
- package/.agent/skills/mcp-builder/reference/python-mcp-server.md +719 -0
- package/.agent/skills/mcp-builder/scripts/connections.py +151 -0
- package/.agent/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/.agent/skills/mcp-builder/scripts/example-evaluation.xml +22 -0
- package/.agent/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/.agent/skills/mcp-server-patterns/SKILL.md +67 -0
- package/.agent/skills/nanoclaw-repl/SKILL.md +33 -0
- package/.agent/skills/nestjs-patterns/SKILL.md +230 -0
- package/.agent/skills/nextjs-turbopack/SKILL.md +44 -0
- package/.agent/skills/nutrient-document-processing/SKILL.md +167 -0
- package/.agent/skills/nuxt4-patterns/SKILL.md +100 -0
- package/.agent/skills/openclaw-persona-forge/SKILL.md +296 -0
- package/.agent/skills/openclaw-persona-forge/gacha.py +224 -0
- package/.agent/skills/openclaw-persona-forge/gacha.sh +5 -0
- package/.agent/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
- package/.agent/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
- package/.agent/skills/openclaw-persona-forge/references/error-handling.md +53 -0
- package/.agent/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
- package/.agent/skills/openclaw-persona-forge/references/naming-system.md +39 -0
- package/.agent/skills/openclaw-persona-forge/references/output-template.md +166 -0
- package/.agent/skills/opensource-pipeline/SKILL.md +255 -0
- package/.agent/skills/perl-patterns/SKILL.md +504 -0
- package/.agent/skills/perl-security/SKILL.md +503 -0
- package/.agent/skills/perl-testing/SKILL.md +475 -0
- package/.agent/skills/plankton-code-quality/SKILL.md +236 -0
- package/.agent/skills/postgres-patterns/SKILL.md +147 -0
- package/.agent/skills/product-lens/SKILL.md +85 -0
- package/.agent/skills/production-scheduling/SKILL.md +238 -0
- package/.agent/skills/project-flow-ops/SKILL.md +111 -0
- package/.agent/skills/project-guidelines-example/SKILL.md +349 -0
- package/.agent/skills/prompt-optimizer/SKILL.md +397 -0
- package/.agent/skills/python-patterns/SKILL.md +622 -313
- package/.agent/skills/python-testing/SKILL.md +816 -0
- package/.agent/skills/pytorch-patterns/SKILL.md +396 -0
- package/.agent/skills/quality-nonconformance/SKILL.md +260 -0
- package/.agent/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
- package/.agent/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
- package/.agent/skills/remotion-video-creation/SKILL.md +43 -0
- package/.agent/skills/remotion-video-creation/rules/3d.md +86 -0
- package/.agent/skills/remotion-video-creation/rules/animations.md +29 -0
- package/.agent/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
- package/.agent/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.agent/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.agent/skills/remotion-video-creation/rules/assets.md +78 -0
- package/.agent/skills/remotion-video-creation/rules/audio.md +172 -0
- package/.agent/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
- package/.agent/skills/remotion-video-creation/rules/can-decode.md +75 -0
- package/.agent/skills/remotion-video-creation/rules/charts.md +58 -0
- package/.agent/skills/remotion-video-creation/rules/compositions.md +146 -0
- package/.agent/skills/remotion-video-creation/rules/display-captions.md +126 -0
- package/.agent/skills/remotion-video-creation/rules/extract-frames.md +229 -0
- package/.agent/skills/remotion-video-creation/rules/fonts.md +152 -0
- package/.agent/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
- package/.agent/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
- package/.agent/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
- package/.agent/skills/remotion-video-creation/rules/gifs.md +138 -0
- package/.agent/skills/remotion-video-creation/rules/images.md +130 -0
- package/.agent/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
- package/.agent/skills/remotion-video-creation/rules/lottie.md +67 -0
- package/.agent/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
- package/.agent/skills/remotion-video-creation/rules/measuring-text.md +143 -0
- package/.agent/skills/remotion-video-creation/rules/sequencing.md +106 -0
- package/.agent/skills/remotion-video-creation/rules/tailwind.md +11 -0
- package/.agent/skills/remotion-video-creation/rules/text-animations.md +20 -0
- package/.agent/skills/remotion-video-creation/rules/timing.md +179 -0
- package/.agent/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
- package/.agent/skills/remotion-video-creation/rules/transitions.md +122 -0
- package/.agent/skills/remotion-video-creation/rules/trimming.md +52 -0
- package/.agent/skills/remotion-video-creation/rules/videos.md +171 -0
- package/.agent/skills/repo-scan/SKILL.md +78 -0
- package/.agent/skills/returns-reverse-logistics/SKILL.md +240 -0
- package/.agent/skills/rules-distill/SKILL.md +264 -0
- package/.agent/skills/rules-distill/scripts/scan-rules.sh +58 -0
- package/.agent/skills/rules-distill/scripts/scan-skills.sh +129 -0
- package/.agent/skills/rust-patterns/SKILL.md +499 -0
- package/.agent/skills/rust-testing/SKILL.md +500 -0
- package/.agent/skills/safety-guard/SKILL.md +75 -0
- package/.agent/skills/santa-method/SKILL.md +306 -0
- package/.agent/skills/search-first/SKILL.md +161 -0
- package/.agent/skills/security-review/SKILL.md +495 -0
- package/.agent/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/.agent/skills/security-scan/SKILL.md +165 -0
- package/.agent/skills/skill-comply/SKILL.md +58 -0
- package/.agent/skills/skill-comply/fixtures/compliant-trace.jsonl +5 -0
- package/.agent/skills/skill-comply/fixtures/noncompliant-trace.jsonl +3 -0
- package/.agent/skills/skill-comply/fixtures/tdd-spec.yaml +44 -0
- package/.agent/skills/skill-comply/prompts/classifier.md +24 -0
- package/.agent/skills/skill-comply/prompts/scenario-generator.md +62 -0
- package/.agent/skills/skill-comply/prompts/spec-generator.md +42 -0
- package/.agent/skills/skill-comply/pyproject.toml +15 -0
- package/.agent/skills/skill-comply/scripts/classifier.py +85 -0
- package/.agent/skills/skill-comply/scripts/grader.py +122 -0
- package/.agent/skills/skill-comply/scripts/init.py +0 -0
- package/.agent/skills/skill-comply/scripts/parser.py +107 -0
- package/.agent/skills/skill-comply/scripts/report.py +170 -0
- package/.agent/skills/skill-comply/scripts/run.py +127 -0
- package/.agent/skills/skill-comply/scripts/runner.py +161 -0
- package/.agent/skills/skill-comply/scripts/scenario-generator.py +70 -0
- package/.agent/skills/skill-comply/scripts/spec-generator.py +72 -0
- package/.agent/skills/skill-comply/scripts/utils.py +13 -0
- package/.agent/skills/skill-comply/tests/test-grader.py +137 -0
- package/.agent/skills/skill-comply/tests/test-parser.py +90 -0
- package/.agent/skills/skill-creator/SKILL.md +485 -0
- package/.agent/skills/skill-creator/agents/analyzer.md +274 -0
- package/.agent/skills/skill-creator/agents/comparator.md +202 -0
- package/.agent/skills/skill-creator/agents/grader.md +223 -0
- package/.agent/skills/skill-creator/assets/eval-review.html +146 -0
- package/.agent/skills/skill-creator/eval-viewer/generate-review.py +471 -0
- package/.agent/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.agent/skills/skill-creator/license.txt +202 -0
- package/.agent/skills/skill-creator/references/schemas.md +430 -0
- package/.agent/skills/skill-creator/scripts/aggregate-benchmark.py +401 -0
- package/.agent/skills/skill-creator/scripts/generate-report.py +326 -0
- package/.agent/skills/skill-creator/scripts/improve-description.py +247 -0
- package/.agent/skills/skill-creator/scripts/init.py +0 -0
- package/.agent/skills/skill-creator/scripts/package-skill.py +136 -0
- package/.agent/skills/skill-creator/scripts/quick-validate.py +103 -0
- package/.agent/skills/skill-creator/scripts/run-eval.py +310 -0
- package/.agent/skills/skill-creator/scripts/run-loop.py +328 -0
- package/.agent/skills/skill-creator/scripts/utils.py +47 -0
- package/.agent/skills/skill-stocktake/SKILL.md +193 -0
- package/.agent/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
- package/.agent/skills/skill-stocktake/scripts/save-results.sh +56 -0
- package/.agent/skills/skill-stocktake/scripts/scan.sh +170 -0
- package/.agent/skills/social-graph-ranker/SKILL.md +154 -0
- package/.agent/skills/springboot-patterns/SKILL.md +314 -0
- package/.agent/skills/springboot-security/SKILL.md +272 -0
- package/.agent/skills/springboot-tdd/SKILL.md +158 -0
- package/.agent/skills/springboot-verification/SKILL.md +231 -0
- package/.agent/skills/strategic-compact/SKILL.md +131 -0
- package/.agent/skills/strategic-compact/suggest-compact.sh +54 -0
- package/.agent/skills/swift-actor-persistence/SKILL.md +143 -0
- package/.agent/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/.agent/skills/swift-protocol-di-testing/SKILL.md +190 -0
- package/.agent/skills/swiftui-patterns/SKILL.md +259 -0
- package/.agent/skills/tdd-workflow/SKILL.md +412 -98
- package/.agent/skills/team-builder/SKILL.md +168 -0
- package/.agent/skills/token-budget-advisor/SKILL.md +133 -0
- package/.agent/skills/ui-demo/SKILL.md +465 -0
- package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -26
- package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -97
- package/.agent/skills/ui-ux-pro-max/data/landing.csv +28 -28
- package/.agent/skills/ui-ux-pro-max/data/products.csv +96 -96
- package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
- package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/.agent/skills/ui-ux-pro-max/data/styles.csv +68 -68
- package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
- package/.agent/skills/ui-ux-pro-max/scripts/search.py +114 -114
- package/.agent/skills/verification-loop/SKILL.md +126 -0
- package/.agent/skills/video-editing/SKILL.md +310 -0
- package/.agent/skills/videodb/SKILL.md +374 -0
- package/.agent/skills/videodb/reference/api-reference.md +550 -0
- package/.agent/skills/videodb/reference/capture-reference.md +407 -0
- package/.agent/skills/videodb/reference/capture.md +101 -0
- package/.agent/skills/videodb/reference/editor.md +443 -0
- package/.agent/skills/videodb/reference/generative.md +331 -0
- package/.agent/skills/videodb/reference/rtstream-reference.md +564 -0
- package/.agent/skills/videodb/reference/rtstream.md +65 -0
- package/.agent/skills/videodb/reference/search.md +230 -0
- package/.agent/skills/videodb/reference/streaming.md +406 -0
- package/.agent/skills/videodb/reference/use-cases.md +118 -0
- package/.agent/skills/videodb/scripts/ws-listener.py +282 -0
- package/.agent/skills/visa-doc-translate/SKILL.md +117 -0
- package/.agent/skills/visa-doc-translate/readme.md +86 -0
- package/.agent/skills/workspace-surface-audit/SKILL.md +125 -0
- package/.agent/skills/x-api/SKILL.md +230 -0
- package/.agent/tasks/two-track-merge-contract.md +29 -0
- package/.agent/workflows/aside.md +164 -164
- package/.agent/workflows/build-fix.md +62 -62
- package/.agent/workflows/checkpoint.md +74 -74
- package/.agent/workflows/claw.md +23 -51
- package/.agent/workflows/clean-memory.md +34 -0
- package/.agent/workflows/code-review.md +289 -40
- package/.agent/workflows/context-budget.md +23 -29
- package/.agent/workflows/cpp-build.md +173 -173
- package/.agent/workflows/cpp-review.md +132 -132
- package/.agent/workflows/cpp-test.md +251 -251
- package/.agent/workflows/devfleet.md +23 -92
- package/.agent/workflows/docs.md +23 -31
- package/.agent/workflows/e2e.md +268 -365
- package/.agent/workflows/eval.md +23 -120
- package/.agent/workflows/evolve.md +178 -178
- package/.agent/workflows/flutter-build.md +164 -0
- package/.agent/workflows/flutter-review.md +116 -0
- package/.agent/workflows/flutter-test.md +144 -0
- package/.agent/workflows/gan-build.md +99 -0
- package/.agent/workflows/gan-design.md +35 -0
- package/.agent/workflows/go-build.md +183 -183
- package/.agent/workflows/go-review.md +148 -148
- package/.agent/workflows/go-test.md +268 -268
- package/.agent/workflows/gradle-build.md +70 -70
- package/.agent/workflows/harness-audit.md +73 -71
- package/.agent/workflows/instinct-export.md +66 -66
- package/.agent/workflows/instinct-import.md +114 -114
- package/.agent/workflows/instinct-status.md +59 -59
- package/.agent/workflows/jira.md +106 -0
- package/.agent/workflows/kotlin-build.md +174 -174
- package/.agent/workflows/kotlin-review.md +140 -140
- package/.agent/workflows/kotlin-test.md +312 -312
- package/.agent/workflows/learn-eval.md +116 -116
- package/.agent/workflows/learn.md +70 -70
- package/.agent/workflows/loop-start.md +32 -32
- package/.agent/workflows/loop-status.md +24 -24
- package/.agent/workflows/model-route.md +26 -26
- package/.agent/workflows/multi-backend.md +158 -158
- package/.agent/workflows/multi-execute.md +315 -315
- package/.agent/workflows/multi-frontend.md +158 -158
- package/.agent/workflows/multi-plan.md +268 -268
- package/.agent/workflows/multi-workflow.md +191 -191
- package/.agent/workflows/orchestrate.md +135 -231
- package/.agent/workflows/plan.md +117 -115
- package/.agent/workflows/pm2.md +272 -272
- package/.agent/workflows/projects.md +39 -39
- package/.agent/workflows/promote.md +41 -41
- package/.agent/workflows/prompt-optimize.md +23 -38
- package/.agent/workflows/prp-commit.md +112 -0
- package/.agent/workflows/prp-implement.md +385 -0
- package/.agent/workflows/prp-plan.md +502 -0
- package/.agent/workflows/prp-pr.md +184 -0
- package/.agent/workflows/prp-prd.md +447 -0
- package/.agent/workflows/prune.md +31 -31
- package/.agent/workflows/python-review.md +297 -297
- package/.agent/workflows/quality-gate.md +29 -29
- package/.agent/workflows/refactor-clean.md +80 -80
- package/.agent/workflows/resume-session.md +156 -156
- package/.agent/workflows/rules-distill.md +20 -11
- package/.agent/workflows/rust-build.md +187 -187
- package/.agent/workflows/rust-review.md +142 -142
- package/.agent/workflows/rust-test.md +308 -308
- package/.agent/workflows/santa-loop.md +175 -0
- package/.agent/workflows/save-session.md +275 -275
- package/.agent/workflows/sessions.md +333 -333
- package/.agent/workflows/setup-pm.md +80 -80
- package/.agent/workflows/skill-create.md +174 -174
- package/.agent/workflows/skill-health.md +54 -54
- package/.agent/workflows/tdd.md +231 -328
- package/.agent/workflows/test-coverage.md +69 -69
- package/.agent/workflows/update-codemaps.md +72 -72
- package/.agent/workflows/update-docs.md +84 -84
- package/.agent/workflows/verify.md +23 -59
- package/LICENSE +176 -176
- package/README.md +28 -20
- package/RELEASE.md +32 -36
- package/package.json +87 -79
- package/scripts/release-check.js +55 -55
- package/src/bin/cli.js +399 -53
- package/src/lib/installer.js +360 -114
- package/src/lib/manifests/stacks.js +122 -0
- package/src/lib/slash-commands.js +28 -0
- package/src/templates/claude/CLAUDE.en.md +42 -0
- package/src/templates/claude/CLAUDE.md +42 -0
- package/src/templates/claude/CLAUDE.vi.md +42 -0
- package/src/templates/codex/AGENTS.en.md +40 -0
- package/src/templates/codex/AGENTS.md +40 -0
- package/src/templates/codex/AGENTS.vi.md +40 -0
- package/src/templates/cursor/pilo-masterkit.mdc +20 -0
- package/src/templates/gemini/GEMINI.en.md +56 -0
- package/src/templates/gemini/GEMINI.md +56 -0
- package/src/templates/gemini/GEMINI.vi.md +56 -0
- package/src/templates/github/copilot-instructions.md +16 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Review Flutter/Dart code for idiomatic patterns, widget best practices, state management, performance, accessibility, and security. Invokes the flutter-reviewer agent.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Flutter Code Review
|
|
6
|
+
|
|
7
|
+
This command invokes the **flutter-reviewer** agent to review Flutter/Dart code changes.
|
|
8
|
+
|
|
9
|
+
## What This Command Does
|
|
10
|
+
|
|
11
|
+
1. **Gather Context**: Review `git diff --staged` and `git diff`
|
|
12
|
+
2. **Inspect Project**: Check `pubspec.yaml`, `analysis_options.yaml`, state management solution
|
|
13
|
+
3. **Security Pre-scan**: Check for hardcoded secrets and critical security issues
|
|
14
|
+
4. **Full Review**: Apply the complete review checklist
|
|
15
|
+
5. **Report Findings**: Output issues grouped by severity with fix guidance
|
|
16
|
+
|
|
17
|
+
## Prerequisites
|
|
18
|
+
|
|
19
|
+
Before running `/flutter-review`, ensure:
|
|
20
|
+
1. **Build passes** — run `/flutter-build` first; a review on broken code is incomplete
|
|
21
|
+
2. **Tests pass** — run `/flutter-test` to confirm no regressions
|
|
22
|
+
3. **No merge conflicts** — resolve all conflicts so the diff reflects only intentional changes
|
|
23
|
+
4. **`flutter analyze` is clean** — fix analyzer warnings before review
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
|
|
27
|
+
Use `/flutter-review` when:
|
|
28
|
+
- Before submitting a PR with Flutter/Dart changes (after build and tests pass)
|
|
29
|
+
- After implementing a new feature to catch issues early
|
|
30
|
+
- When reviewing someone else's Flutter code
|
|
31
|
+
- To audit a widget, state management component, or service class
|
|
32
|
+
- Before a production release
|
|
33
|
+
|
|
34
|
+
## Review Areas
|
|
35
|
+
|
|
36
|
+
| Area | Severity |
|
|
37
|
+
|------|----------|
|
|
38
|
+
| Hardcoded secrets, cleartext HTTP | CRITICAL |
|
|
39
|
+
| Architecture violations, state management anti-patterns | CRITICAL |
|
|
40
|
+
| Widget rebuild issues, resource leaks | HIGH |
|
|
41
|
+
| Missing `dispose()`, `BuildContext` after await | HIGH |
|
|
42
|
+
| Dart null safety, missing error/loading states | HIGH |
|
|
43
|
+
| Const propagation, widget composition | HIGH |
|
|
44
|
+
| Performance: expensive work in `build()` | HIGH |
|
|
45
|
+
| Accessibility, semantic labels | MEDIUM |
|
|
46
|
+
| Missing tests for state transitions | HIGH |
|
|
47
|
+
| Hardcoded strings (l10n) | MEDIUM |
|
|
48
|
+
| Pub dependency hygiene | LOW |
|
|
49
|
+
|
|
50
|
+
## Example Session
|
|
51
|
+
|
|
52
|
+
````text
|
|
53
|
+
User: /flutter-review
|
|
54
|
+
|
|
55
|
+
Agent:
|
|
56
|
+
# Flutter Code Review
|
|
57
|
+
|
|
58
|
+
## Context
|
|
59
|
+
|
|
60
|
+
Changed files:
|
|
61
|
+
- lib/features/auth/presentation/login_page.dart
|
|
62
|
+
- lib/features/auth/data/auth_repository_impl.dart
|
|
63
|
+
|
|
64
|
+
State management: Riverpod (detected from pubspec.yaml)
|
|
65
|
+
Architecture: feature-first
|
|
66
|
+
|
|
67
|
+
## Security Pre-scan
|
|
68
|
+
|
|
69
|
+
✓ No hardcoded secrets detected
|
|
70
|
+
✓ No cleartext HTTP calls
|
|
71
|
+
|
|
72
|
+
## Review Findings
|
|
73
|
+
|
|
74
|
+
[HIGH] BuildContext used after async gap without mounted check
|
|
75
|
+
File: lib/features/auth/presentation/login_page.dart:67
|
|
76
|
+
Issue: `context.go('/home')` called after `await auth.login(...)` with no `mounted` check.
|
|
77
|
+
Fix: Add `if (!context.mounted) return;` before any navigation after awaits (Flutter 3.7+).
|
|
78
|
+
|
|
79
|
+
[HIGH] AsyncValue error state not handled
|
|
80
|
+
File: lib/features/auth/presentation/login_page.dart:42
|
|
81
|
+
Issue: `ref.watch(authProvider)` switches on loading/data but has no `error` branch.
|
|
82
|
+
Fix: Add error case to the switch expression or `when()` call to show a user-facing error message.
|
|
83
|
+
|
|
84
|
+
[MEDIUM] Hardcoded string not localized
|
|
85
|
+
File: lib/features/auth/presentation/login_page.dart:89
|
|
86
|
+
Issue: `Text('Login')` — user-visible string not using localization system.
|
|
87
|
+
Fix: Use the project's l10n accessor: `Text(context.l10n.loginButton)`.
|
|
88
|
+
|
|
89
|
+
## Review Summary
|
|
90
|
+
|
|
91
|
+
| Severity | Count | Status |
|
|
92
|
+
|----------|-------|--------|
|
|
93
|
+
| CRITICAL | 0 | pass |
|
|
94
|
+
| HIGH | 2 | block |
|
|
95
|
+
| MEDIUM | 1 | info |
|
|
96
|
+
| LOW | 0 | note |
|
|
97
|
+
|
|
98
|
+
Verdict: BLOCK — HIGH issues must be fixed before merge.
|
|
99
|
+
````
|
|
100
|
+
|
|
101
|
+
## Approval Criteria
|
|
102
|
+
|
|
103
|
+
- **Approve**: No CRITICAL or HIGH issues
|
|
104
|
+
- **Block**: Any CRITICAL or HIGH issues must be fixed before merge
|
|
105
|
+
|
|
106
|
+
## Related Commands
|
|
107
|
+
|
|
108
|
+
- `/flutter-build` — Fix build errors first
|
|
109
|
+
- `/flutter-test` — Run tests before reviewing
|
|
110
|
+
- `/code-review` — General code review (language-agnostic)
|
|
111
|
+
|
|
112
|
+
## Related
|
|
113
|
+
|
|
114
|
+
- Agent: `agents/flutter-reviewer.md`
|
|
115
|
+
- Skill: `skills/flutter-dart-code-review/`
|
|
116
|
+
- Rules: `rules/dart/`
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Run Flutter/Dart tests, report failures, and incrementally fix test issues. Covers unit, widget, golden, and integration tests.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Flutter Test
|
|
6
|
+
|
|
7
|
+
This command runs the Flutter test suite and reports results. When failures occur, it diagnoses and fixes issues incrementally.
|
|
8
|
+
|
|
9
|
+
## What This Command Does
|
|
10
|
+
|
|
11
|
+
1. **Run Tests**: Execute `flutter test` (or scope to changed files)
|
|
12
|
+
2. **Parse Failures**: Identify failing tests by type and cause
|
|
13
|
+
3. **Fix Incrementally**: One failure at a time where possible
|
|
14
|
+
4. **Verify**: Re-run after each fix
|
|
15
|
+
5. **Report**: Show coverage summary and remaining failures
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
|
|
19
|
+
Use `/flutter-test` when:
|
|
20
|
+
- After implementing a feature to verify nothing broke
|
|
21
|
+
- After running `/flutter-build` to ensure tests pass
|
|
22
|
+
- To check test coverage on new code
|
|
23
|
+
- When a specific test file is failing
|
|
24
|
+
- Before submitting a PR
|
|
25
|
+
|
|
26
|
+
## Commands Run
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Run all tests
|
|
30
|
+
flutter test 2>&1
|
|
31
|
+
|
|
32
|
+
# Run with coverage
|
|
33
|
+
flutter test --coverage 2>&1
|
|
34
|
+
|
|
35
|
+
# Run specific test file
|
|
36
|
+
flutter test test/unit/domain/usecases/get_user_test.dart 2>&1
|
|
37
|
+
|
|
38
|
+
# Run tests matching a name pattern
|
|
39
|
+
flutter test --name "CartBloc" 2>&1
|
|
40
|
+
|
|
41
|
+
# Run integration tests (requires device/emulator)
|
|
42
|
+
flutter test integration_test/ 2>&1
|
|
43
|
+
|
|
44
|
+
# Update golden files when intentional visual changes are made
|
|
45
|
+
flutter test --update-goldens 2>&1
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Example Session
|
|
49
|
+
|
|
50
|
+
````text
|
|
51
|
+
User: /flutter-test
|
|
52
|
+
|
|
53
|
+
Agent:
|
|
54
|
+
# Flutter Test Run
|
|
55
|
+
|
|
56
|
+
## Test Execution
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
$ flutter test
|
|
60
|
+
00:05 +42 -2: Some tests failed.
|
|
61
|
+
|
|
62
|
+
FAILED: test/unit/data/user_repository_test.dart
|
|
63
|
+
UserRepository getById
|
|
64
|
+
returns null when user not found
|
|
65
|
+
Expected: null
|
|
66
|
+
Actual: User(id: 'test-id', name: 'Test User')
|
|
67
|
+
|
|
68
|
+
FAILED: test/widget/cart_page_test.dart
|
|
69
|
+
CartPage
|
|
70
|
+
shows empty state when cart is empty
|
|
71
|
+
Expected: exactly one widget with text 'Your cart is empty'
|
|
72
|
+
Found: no widget with text 'Your cart is empty'
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Fix 1: Repository Test
|
|
76
|
+
|
|
77
|
+
File: test/unit/data/user_repository_test.dart
|
|
78
|
+
Failure: `getById` returns a user when it should return null for missing ID
|
|
79
|
+
|
|
80
|
+
Root cause: Test setup adds a user with ID 'test-id' but queries with 'missing-id'.
|
|
81
|
+
Fix: Updated test to query with 'missing-id' — setup was correct, query was wrong.
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
$ flutter test test/unit/data/user_repository_test.dart
|
|
85
|
+
1 test passed.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Fix 2: Widget Test
|
|
89
|
+
|
|
90
|
+
File: test/widget/cart_page_test.dart
|
|
91
|
+
Failure: Empty state text widget not found
|
|
92
|
+
|
|
93
|
+
Root cause: Empty state message was renamed from 'Your cart is empty' to 'Cart is empty' in the widget.
|
|
94
|
+
Fix: Updated test string to match current widget copy.
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
$ flutter test test/widget/cart_page_test.dart
|
|
98
|
+
1 test passed.
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Final Run
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
$ flutter test --coverage
|
|
105
|
+
All 44 tests passed.
|
|
106
|
+
Coverage: 84.2% (target: 80%)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Summary
|
|
110
|
+
|
|
111
|
+
| Metric | Value |
|
|
112
|
+
|--------|-------|
|
|
113
|
+
| Total tests | 44 |
|
|
114
|
+
| Passed | 44 |
|
|
115
|
+
| Failed | 0 |
|
|
116
|
+
| Coverage | 84.2% |
|
|
117
|
+
|
|
118
|
+
Test Status: PASS ✓
|
|
119
|
+
````
|
|
120
|
+
|
|
121
|
+
## Common Test Failures
|
|
122
|
+
|
|
123
|
+
| Failure | Typical Fix |
|
|
124
|
+
|---------|-------------|
|
|
125
|
+
| `Expected: <X> Actual: <Y>` | Update assertion or fix implementation |
|
|
126
|
+
| `Widget not found` | Fix finder selector or update test after widget rename |
|
|
127
|
+
| `Golden file not found` | Run `flutter test --update-goldens` to generate |
|
|
128
|
+
| `Golden mismatch` | Inspect diff; run `--update-goldens` if change was intentional |
|
|
129
|
+
| `MissingPluginException` | Mock platform channel in test setup |
|
|
130
|
+
| `LateInitializationError` | Initialize `late` fields in `setUp()` |
|
|
131
|
+
| `pumpAndSettle timed out` | Replace with explicit `pump(Duration)` calls |
|
|
132
|
+
|
|
133
|
+
## Related Commands
|
|
134
|
+
|
|
135
|
+
- `/flutter-build` — Fix build errors before running tests
|
|
136
|
+
- `/flutter-review` — Review code after tests pass
|
|
137
|
+
- `/tdd` — Test-driven development workflow
|
|
138
|
+
|
|
139
|
+
## Related
|
|
140
|
+
|
|
141
|
+
- Agent: `agents/flutter-reviewer.md`
|
|
142
|
+
- Agent: `agents/dart-build-resolver.md`
|
|
143
|
+
- Skill: `skills/flutter-dart-code-review/`
|
|
144
|
+
- Rules: `rules/dart/testing.md`
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
Parse the following from $ARGUMENTS:
|
|
2
|
+
1. `brief` — the user's one-line description of what to build
|
|
3
|
+
2. `--max-iterations N` — (optional, default 15) maximum generator-evaluator cycles
|
|
4
|
+
3. `--pass-threshold N` — (optional, default 7.0) weighted score to pass
|
|
5
|
+
4. `--skip-planner` — (optional) skip planner, assume spec.md already exists
|
|
6
|
+
5. `--eval-mode MODE` — (optional, default "playwright") one of: playwright, screenshot, code-only
|
|
7
|
+
|
|
8
|
+
## GAN-Style Harness Build
|
|
9
|
+
|
|
10
|
+
This command orchestrates a three-agent build loop inspired by Anthropic's March 2026 harness design paper.
|
|
11
|
+
|
|
12
|
+
### Phase 0: Setup
|
|
13
|
+
1. Create `gan-harness/` directory in project root
|
|
14
|
+
2. Create subdirectories: `gan-harness/feedback/`, `gan-harness/screenshots/`
|
|
15
|
+
3. Initialize git if not already initialized
|
|
16
|
+
4. Log start time and configuration
|
|
17
|
+
|
|
18
|
+
### Phase 1: Planning (Planner Agent)
|
|
19
|
+
Unless `--skip-planner` is set:
|
|
20
|
+
1. Launch the `gan-planner` agent via Task tool with the user's brief
|
|
21
|
+
2. Wait for it to produce `gan-harness/spec.md` and `gan-harness/eval-rubric.md`
|
|
22
|
+
3. Display the spec summary to the user
|
|
23
|
+
4. Proceed to Phase 2
|
|
24
|
+
|
|
25
|
+
### Phase 2: Generator-Evaluator Loop
|
|
26
|
+
```
|
|
27
|
+
iteration = 1
|
|
28
|
+
while iteration <= max_iterations:
|
|
29
|
+
|
|
30
|
+
# GENERATE
|
|
31
|
+
Launch gan-generator agent via Task tool:
|
|
32
|
+
- Read spec.md
|
|
33
|
+
- If iteration > 1: read feedback/feedback-{iteration-1}.md
|
|
34
|
+
- Build/improve the application
|
|
35
|
+
- Ensure dev server is running
|
|
36
|
+
- Commit changes
|
|
37
|
+
|
|
38
|
+
# Wait for generator to finish
|
|
39
|
+
|
|
40
|
+
# EVALUATE
|
|
41
|
+
Launch gan-evaluator agent via Task tool:
|
|
42
|
+
- Read eval-rubric.md and spec.md
|
|
43
|
+
- Test the live application (mode: playwright/screenshot/code-only)
|
|
44
|
+
- Score against rubric
|
|
45
|
+
- Write feedback to feedback/feedback-{iteration}.md
|
|
46
|
+
|
|
47
|
+
# Wait for evaluator to finish
|
|
48
|
+
|
|
49
|
+
# CHECK SCORE
|
|
50
|
+
Read feedback/feedback-{iteration}.md
|
|
51
|
+
Extract weighted total score
|
|
52
|
+
|
|
53
|
+
if score >= pass_threshold:
|
|
54
|
+
Log "PASSED at iteration {iteration} with score {score}"
|
|
55
|
+
Break
|
|
56
|
+
|
|
57
|
+
if iteration >= 3 and score has not improved in last 2 iterations:
|
|
58
|
+
Log "PLATEAU detected — stopping early"
|
|
59
|
+
Break
|
|
60
|
+
|
|
61
|
+
iteration += 1
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Phase 3: Summary
|
|
65
|
+
1. Read all feedback files
|
|
66
|
+
2. Display final scores and iteration history
|
|
67
|
+
3. Show score progression: `iteration 1: 4.2 → iteration 2: 5.8 → ... → iteration N: 7.5`
|
|
68
|
+
4. List any remaining issues from the final evaluation
|
|
69
|
+
5. Report total time and estimated cost
|
|
70
|
+
|
|
71
|
+
### Output
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
## GAN Harness Build Report
|
|
75
|
+
|
|
76
|
+
**Brief:** [original prompt]
|
|
77
|
+
**Result:** PASS/FAIL
|
|
78
|
+
**Iterations:** N / max
|
|
79
|
+
**Final Score:** X.X / 10
|
|
80
|
+
|
|
81
|
+
### Score Progression
|
|
82
|
+
| Iter | Design | Originality | Craft | Functionality | Total |
|
|
83
|
+
|------|--------|-------------|-------|---------------|-------|
|
|
84
|
+
| 1 | ... | ... | ... | ... | X.X |
|
|
85
|
+
| 2 | ... | ... | ... | ... | X.X |
|
|
86
|
+
| N | ... | ... | ... | ... | X.X |
|
|
87
|
+
|
|
88
|
+
### Remaining Issues
|
|
89
|
+
- [Any issues from final evaluation]
|
|
90
|
+
|
|
91
|
+
### Files Created
|
|
92
|
+
- gan-harness/spec.md
|
|
93
|
+
- gan-harness/eval-rubric.md
|
|
94
|
+
- gan-harness/feedback/feedback-001.md through feedback-NNN.md
|
|
95
|
+
- gan-harness/generator-state.md
|
|
96
|
+
- gan-harness/build-report.md
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Write the full report to `gan-harness/build-report.md`.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
Parse the following from $ARGUMENTS:
|
|
2
|
+
1. `brief` — the user's description of the design to create
|
|
3
|
+
2. `--max-iterations N` — (optional, default 10) maximum design-evaluate cycles
|
|
4
|
+
3. `--pass-threshold N` — (optional, default 7.5) weighted score to pass (higher default for design)
|
|
5
|
+
|
|
6
|
+
## GAN-Style Design Harness
|
|
7
|
+
|
|
8
|
+
A two-agent loop (Generator + Evaluator) focused on frontend design quality. No planner — the brief IS the spec.
|
|
9
|
+
|
|
10
|
+
This is the same mode Anthropic used for their frontend design experiments, where they saw creative breakthroughs like the 3D Dutch art museum with CSS perspective and doorway navigation.
|
|
11
|
+
|
|
12
|
+
### Setup
|
|
13
|
+
1. Create `gan-harness/` directory
|
|
14
|
+
2. Write the brief directly as `gan-harness/spec.md`
|
|
15
|
+
3. Write a design-focused `gan-harness/eval-rubric.md` with extra weight on Design Quality and Originality
|
|
16
|
+
|
|
17
|
+
### Design-Specific Eval Rubric
|
|
18
|
+
```markdown
|
|
19
|
+
### Design Quality (weight: 0.35)
|
|
20
|
+
### Originality (weight: 0.30)
|
|
21
|
+
### Craft (weight: 0.25)
|
|
22
|
+
### Functionality (weight: 0.10)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Note: Originality weight is higher (0.30 vs 0.20) to push for creative breakthroughs. Functionality weight is lower since design mode focuses on visual quality.
|
|
26
|
+
|
|
27
|
+
### Loop
|
|
28
|
+
Same as `/project:gan-build` Phase 2, but:
|
|
29
|
+
- Skip the planner
|
|
30
|
+
- Use the design-focused rubric
|
|
31
|
+
- Generator prompt emphasizes visual quality over feature completeness
|
|
32
|
+
- Evaluator prompt emphasizes "would this win a design award?" over "do all features work?"
|
|
33
|
+
|
|
34
|
+
### Key Difference from gan-build
|
|
35
|
+
The Generator is told: "Your PRIMARY goal is visual excellence. A stunning half-finished app beats a functional ugly one. Push for creative leaps — unusual layouts, custom animations, distinctive color work."
|