@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
|
@@ -1,251 +1,251 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Enforce TDD workflow for C++. Write GoogleTest tests first, then implement. Verify coverage with gcov/lcov.
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# C++ TDD Command
|
|
6
|
-
|
|
7
|
-
This command enforces test-driven development methodology for C++ code using GoogleTest/GoogleMock with CMake/CTest.
|
|
8
|
-
|
|
9
|
-
## What This Command Does
|
|
10
|
-
|
|
11
|
-
1. **Define Interfaces**: Scaffold class/function signatures first
|
|
12
|
-
2. **Write Tests**: Create comprehensive GoogleTest test cases (RED)
|
|
13
|
-
3. **Run Tests**: Verify tests fail for the right reason
|
|
14
|
-
4. **Implement Code**: Write minimal code to pass (GREEN)
|
|
15
|
-
5. **Refactor**: Improve while keeping tests green
|
|
16
|
-
6. **Check Coverage**: Ensure 80%+ coverage
|
|
17
|
-
|
|
18
|
-
## When to Use
|
|
19
|
-
|
|
20
|
-
Use `/cpp-test` when:
|
|
21
|
-
- Implementing new C++ functions or classes
|
|
22
|
-
- Adding test coverage to existing code
|
|
23
|
-
- Fixing bugs (write failing test first)
|
|
24
|
-
- Building critical business logic
|
|
25
|
-
- Learning TDD workflow in C++
|
|
26
|
-
|
|
27
|
-
## TDD Cycle
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
RED → Write failing GoogleTest test
|
|
31
|
-
GREEN → Implement minimal code to pass
|
|
32
|
-
REFACTOR → Improve code, tests stay green
|
|
33
|
-
REPEAT → Next test case
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Example Session
|
|
37
|
-
|
|
38
|
-
````
|
|
39
|
-
User: /cpp-test I need a function to validate email addresses
|
|
40
|
-
|
|
41
|
-
Agent:
|
|
42
|
-
# TDD Session: Email Validator
|
|
43
|
-
|
|
44
|
-
## Step 1: Define Interface
|
|
45
|
-
|
|
46
|
-
```cpp
|
|
47
|
-
// validator/email.hpp
|
|
48
|
-
#pragma once
|
|
49
|
-
#include <string>
|
|
50
|
-
#include <expected>
|
|
51
|
-
|
|
52
|
-
enum class EmailError {
|
|
53
|
-
Empty,
|
|
54
|
-
InvalidFormat
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
std::expected<void, EmailError> validate_email(const std::string& email);
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## Step 2: Write Tests (RED)
|
|
61
|
-
|
|
62
|
-
```cpp
|
|
63
|
-
// validator/email_test.cpp
|
|
64
|
-
#include <gtest/gtest.h>
|
|
65
|
-
#include "email.hpp"
|
|
66
|
-
|
|
67
|
-
TEST(ValidateEmail, AcceptsSimpleEmail) {
|
|
68
|
-
auto result = validate_email("user@example.com");
|
|
69
|
-
EXPECT_TRUE(result.has_value());
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
TEST(ValidateEmail, AcceptsSubdomain) {
|
|
73
|
-
EXPECT_TRUE(validate_email("user@mail.example.com").has_value());
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
TEST(ValidateEmail, AcceptsPlus) {
|
|
77
|
-
EXPECT_TRUE(validate_email("user+tag@example.com").has_value());
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
TEST(ValidateEmail, RejectsEmpty) {
|
|
81
|
-
auto result = validate_email("");
|
|
82
|
-
ASSERT_FALSE(result.has_value());
|
|
83
|
-
EXPECT_EQ(result.error(), EmailError::Empty);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
TEST(ValidateEmail, RejectsNoAtSign) {
|
|
87
|
-
EXPECT_FALSE(validate_email("userexample.com").has_value());
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
TEST(ValidateEmail, RejectsNoDomain) {
|
|
91
|
-
EXPECT_FALSE(validate_email("user@").has_value());
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
TEST(ValidateEmail, RejectsNoLocalPart) {
|
|
95
|
-
EXPECT_FALSE(validate_email("@example.com").has_value());
|
|
96
|
-
}
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Step 3: Run Tests - Verify FAIL
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
$ cmake --build build && ctest --test-dir build --output-on-failure
|
|
103
|
-
|
|
104
|
-
1/1 Test #1: email_validator_test .....***Failed
|
|
105
|
-
--- undefined reference to `validate_email`
|
|
106
|
-
|
|
107
|
-
FAIL
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
✓ Tests fail as expected (unimplemented).
|
|
111
|
-
|
|
112
|
-
## Step 4: Implement Minimal Code (GREEN)
|
|
113
|
-
|
|
114
|
-
```cpp
|
|
115
|
-
// validator/email.cpp
|
|
116
|
-
#include "email.hpp"
|
|
117
|
-
#include <regex>
|
|
118
|
-
|
|
119
|
-
std::expected<void, EmailError> validate_email(const std::string& email) {
|
|
120
|
-
if (email.empty()) {
|
|
121
|
-
return std::unexpected(EmailError::Empty);
|
|
122
|
-
}
|
|
123
|
-
static const std::regex pattern(R"([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})");
|
|
124
|
-
if (!std::regex_match(email, pattern)) {
|
|
125
|
-
return std::unexpected(EmailError::InvalidFormat);
|
|
126
|
-
}
|
|
127
|
-
return {};
|
|
128
|
-
}
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
## Step 5: Run Tests - Verify PASS
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
$ cmake --build build && ctest --test-dir build --output-on-failure
|
|
135
|
-
|
|
136
|
-
1/1 Test #1: email_validator_test ..... Passed 0.01 sec
|
|
137
|
-
|
|
138
|
-
100% tests passed.
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
✓ All tests passing!
|
|
142
|
-
|
|
143
|
-
## Step 6: Check Coverage
|
|
144
|
-
|
|
145
|
-
```bash
|
|
146
|
-
$ cmake -DCMAKE_CXX_FLAGS="--coverage" -B build && cmake --build build
|
|
147
|
-
$ ctest --test-dir build
|
|
148
|
-
$ lcov --capture --directory build --output-file coverage.info
|
|
149
|
-
$ lcov --list coverage.info
|
|
150
|
-
|
|
151
|
-
validator/email.cpp | 100%
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
✓ Coverage: 100%
|
|
155
|
-
|
|
156
|
-
## TDD Complete!
|
|
157
|
-
````
|
|
158
|
-
|
|
159
|
-
## Test Patterns
|
|
160
|
-
|
|
161
|
-
### Basic Tests
|
|
162
|
-
```cpp
|
|
163
|
-
TEST(SuiteName, TestName) {
|
|
164
|
-
EXPECT_EQ(add(2, 3), 5);
|
|
165
|
-
EXPECT_NE(result, nullptr);
|
|
166
|
-
EXPECT_TRUE(is_valid);
|
|
167
|
-
EXPECT_THROW(func(), std::invalid_argument);
|
|
168
|
-
}
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### Fixtures
|
|
172
|
-
```cpp
|
|
173
|
-
class DatabaseTest : public ::testing::Test {
|
|
174
|
-
protected:
|
|
175
|
-
void SetUp() override { db_ = create_test_db(); }
|
|
176
|
-
void TearDown() override { db_.reset(); }
|
|
177
|
-
std::unique_ptr<Database> db_;
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
TEST_F(DatabaseTest, InsertsRecord) {
|
|
181
|
-
db_->insert("key", "value");
|
|
182
|
-
EXPECT_EQ(db_->get("key"), "value");
|
|
183
|
-
}
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
### Parameterized Tests
|
|
187
|
-
```cpp
|
|
188
|
-
class PrimeTest : public ::testing::TestWithParam<std::pair<int, bool>> {};
|
|
189
|
-
|
|
190
|
-
TEST_P(PrimeTest, ChecksPrimality) {
|
|
191
|
-
auto [input, expected] = GetParam();
|
|
192
|
-
EXPECT_EQ(is_prime(input), expected);
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
INSTANTIATE_TEST_SUITE_P(Primes, PrimeTest, ::testing::Values(
|
|
196
|
-
std::make_pair(2, true),
|
|
197
|
-
std::make_pair(4, false),
|
|
198
|
-
std::make_pair(7, true)
|
|
199
|
-
));
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
## Coverage Commands
|
|
203
|
-
|
|
204
|
-
```bash
|
|
205
|
-
# Build with coverage
|
|
206
|
-
cmake -DCMAKE_CXX_FLAGS="--coverage" -DCMAKE_EXE_LINKER_FLAGS="--coverage" -B build
|
|
207
|
-
|
|
208
|
-
# Run tests
|
|
209
|
-
cmake --build build && ctest --test-dir build
|
|
210
|
-
|
|
211
|
-
# Generate coverage report
|
|
212
|
-
lcov --capture --directory build --output-file coverage.info
|
|
213
|
-
lcov --remove coverage.info '/usr/*' --output-file coverage.info
|
|
214
|
-
genhtml coverage.info --output-directory coverage_html
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
## Coverage Targets
|
|
218
|
-
|
|
219
|
-
| Code Type | Target |
|
|
220
|
-
|-----------|--------|
|
|
221
|
-
| Critical business logic | 100% |
|
|
222
|
-
| Public APIs | 90%+ |
|
|
223
|
-
| General code | 80%+ |
|
|
224
|
-
| Generated code | Exclude |
|
|
225
|
-
|
|
226
|
-
## TDD Best Practices
|
|
227
|
-
|
|
228
|
-
**DO:**
|
|
229
|
-
- Write test FIRST, before any implementation
|
|
230
|
-
- Run tests after each change
|
|
231
|
-
- Use `EXPECT_*` (continues) over `ASSERT_*` (stops) when appropriate
|
|
232
|
-
- Test behavior, not implementation details
|
|
233
|
-
- Include edge cases (empty, null, max values, boundary conditions)
|
|
234
|
-
|
|
235
|
-
**DON'T:**
|
|
236
|
-
- Write implementation before tests
|
|
237
|
-
- Skip the RED phase
|
|
238
|
-
- Test private methods directly (test through public API)
|
|
239
|
-
- Use `sleep` in tests
|
|
240
|
-
- Ignore flaky tests
|
|
241
|
-
|
|
242
|
-
## Related Commands
|
|
243
|
-
|
|
244
|
-
- `/cpp-build` - Fix build errors
|
|
245
|
-
- `/cpp-review` - Review code after implementation
|
|
246
|
-
- `/verify` - Run full verification loop
|
|
247
|
-
|
|
248
|
-
## Related
|
|
249
|
-
|
|
250
|
-
- Skill: `skills/cpp-testing/`
|
|
251
|
-
- Skill: `skills/tdd-workflow/`
|
|
1
|
+
---
|
|
2
|
+
description: Enforce TDD workflow for C++. Write GoogleTest tests first, then implement. Verify coverage with gcov/lcov.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# C++ TDD Command
|
|
6
|
+
|
|
7
|
+
This command enforces test-driven development methodology for C++ code using GoogleTest/GoogleMock with CMake/CTest.
|
|
8
|
+
|
|
9
|
+
## What This Command Does
|
|
10
|
+
|
|
11
|
+
1. **Define Interfaces**: Scaffold class/function signatures first
|
|
12
|
+
2. **Write Tests**: Create comprehensive GoogleTest test cases (RED)
|
|
13
|
+
3. **Run Tests**: Verify tests fail for the right reason
|
|
14
|
+
4. **Implement Code**: Write minimal code to pass (GREEN)
|
|
15
|
+
5. **Refactor**: Improve while keeping tests green
|
|
16
|
+
6. **Check Coverage**: Ensure 80%+ coverage
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
Use `/cpp-test` when:
|
|
21
|
+
- Implementing new C++ functions or classes
|
|
22
|
+
- Adding test coverage to existing code
|
|
23
|
+
- Fixing bugs (write failing test first)
|
|
24
|
+
- Building critical business logic
|
|
25
|
+
- Learning TDD workflow in C++
|
|
26
|
+
|
|
27
|
+
## TDD Cycle
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
RED → Write failing GoogleTest test
|
|
31
|
+
GREEN → Implement minimal code to pass
|
|
32
|
+
REFACTOR → Improve code, tests stay green
|
|
33
|
+
REPEAT → Next test case
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Example Session
|
|
37
|
+
|
|
38
|
+
````
|
|
39
|
+
User: /cpp-test I need a function to validate email addresses
|
|
40
|
+
|
|
41
|
+
Agent:
|
|
42
|
+
# TDD Session: Email Validator
|
|
43
|
+
|
|
44
|
+
## Step 1: Define Interface
|
|
45
|
+
|
|
46
|
+
```cpp
|
|
47
|
+
// validator/email.hpp
|
|
48
|
+
#pragma once
|
|
49
|
+
#include <string>
|
|
50
|
+
#include <expected>
|
|
51
|
+
|
|
52
|
+
enum class EmailError {
|
|
53
|
+
Empty,
|
|
54
|
+
InvalidFormat
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
std::expected<void, EmailError> validate_email(const std::string& email);
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Step 2: Write Tests (RED)
|
|
61
|
+
|
|
62
|
+
```cpp
|
|
63
|
+
// validator/email_test.cpp
|
|
64
|
+
#include <gtest/gtest.h>
|
|
65
|
+
#include "email.hpp"
|
|
66
|
+
|
|
67
|
+
TEST(ValidateEmail, AcceptsSimpleEmail) {
|
|
68
|
+
auto result = validate_email("user@example.com");
|
|
69
|
+
EXPECT_TRUE(result.has_value());
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
TEST(ValidateEmail, AcceptsSubdomain) {
|
|
73
|
+
EXPECT_TRUE(validate_email("user@mail.example.com").has_value());
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
TEST(ValidateEmail, AcceptsPlus) {
|
|
77
|
+
EXPECT_TRUE(validate_email("user+tag@example.com").has_value());
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
TEST(ValidateEmail, RejectsEmpty) {
|
|
81
|
+
auto result = validate_email("");
|
|
82
|
+
ASSERT_FALSE(result.has_value());
|
|
83
|
+
EXPECT_EQ(result.error(), EmailError::Empty);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
TEST(ValidateEmail, RejectsNoAtSign) {
|
|
87
|
+
EXPECT_FALSE(validate_email("userexample.com").has_value());
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
TEST(ValidateEmail, RejectsNoDomain) {
|
|
91
|
+
EXPECT_FALSE(validate_email("user@").has_value());
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
TEST(ValidateEmail, RejectsNoLocalPart) {
|
|
95
|
+
EXPECT_FALSE(validate_email("@example.com").has_value());
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Step 3: Run Tests - Verify FAIL
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
$ cmake --build build && ctest --test-dir build --output-on-failure
|
|
103
|
+
|
|
104
|
+
1/1 Test #1: email_validator_test .....***Failed
|
|
105
|
+
--- undefined reference to `validate_email`
|
|
106
|
+
|
|
107
|
+
FAIL
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
✓ Tests fail as expected (unimplemented).
|
|
111
|
+
|
|
112
|
+
## Step 4: Implement Minimal Code (GREEN)
|
|
113
|
+
|
|
114
|
+
```cpp
|
|
115
|
+
// validator/email.cpp
|
|
116
|
+
#include "email.hpp"
|
|
117
|
+
#include <regex>
|
|
118
|
+
|
|
119
|
+
std::expected<void, EmailError> validate_email(const std::string& email) {
|
|
120
|
+
if (email.empty()) {
|
|
121
|
+
return std::unexpected(EmailError::Empty);
|
|
122
|
+
}
|
|
123
|
+
static const std::regex pattern(R"([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})");
|
|
124
|
+
if (!std::regex_match(email, pattern)) {
|
|
125
|
+
return std::unexpected(EmailError::InvalidFormat);
|
|
126
|
+
}
|
|
127
|
+
return {};
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Step 5: Run Tests - Verify PASS
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
$ cmake --build build && ctest --test-dir build --output-on-failure
|
|
135
|
+
|
|
136
|
+
1/1 Test #1: email_validator_test ..... Passed 0.01 sec
|
|
137
|
+
|
|
138
|
+
100% tests passed.
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
✓ All tests passing!
|
|
142
|
+
|
|
143
|
+
## Step 6: Check Coverage
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
$ cmake -DCMAKE_CXX_FLAGS="--coverage" -B build && cmake --build build
|
|
147
|
+
$ ctest --test-dir build
|
|
148
|
+
$ lcov --capture --directory build --output-file coverage.info
|
|
149
|
+
$ lcov --list coverage.info
|
|
150
|
+
|
|
151
|
+
validator/email.cpp | 100%
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
✓ Coverage: 100%
|
|
155
|
+
|
|
156
|
+
## TDD Complete!
|
|
157
|
+
````
|
|
158
|
+
|
|
159
|
+
## Test Patterns
|
|
160
|
+
|
|
161
|
+
### Basic Tests
|
|
162
|
+
```cpp
|
|
163
|
+
TEST(SuiteName, TestName) {
|
|
164
|
+
EXPECT_EQ(add(2, 3), 5);
|
|
165
|
+
EXPECT_NE(result, nullptr);
|
|
166
|
+
EXPECT_TRUE(is_valid);
|
|
167
|
+
EXPECT_THROW(func(), std::invalid_argument);
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Fixtures
|
|
172
|
+
```cpp
|
|
173
|
+
class DatabaseTest : public ::testing::Test {
|
|
174
|
+
protected:
|
|
175
|
+
void SetUp() override { db_ = create_test_db(); }
|
|
176
|
+
void TearDown() override { db_.reset(); }
|
|
177
|
+
std::unique_ptr<Database> db_;
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
TEST_F(DatabaseTest, InsertsRecord) {
|
|
181
|
+
db_->insert("key", "value");
|
|
182
|
+
EXPECT_EQ(db_->get("key"), "value");
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Parameterized Tests
|
|
187
|
+
```cpp
|
|
188
|
+
class PrimeTest : public ::testing::TestWithParam<std::pair<int, bool>> {};
|
|
189
|
+
|
|
190
|
+
TEST_P(PrimeTest, ChecksPrimality) {
|
|
191
|
+
auto [input, expected] = GetParam();
|
|
192
|
+
EXPECT_EQ(is_prime(input), expected);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
INSTANTIATE_TEST_SUITE_P(Primes, PrimeTest, ::testing::Values(
|
|
196
|
+
std::make_pair(2, true),
|
|
197
|
+
std::make_pair(4, false),
|
|
198
|
+
std::make_pair(7, true)
|
|
199
|
+
));
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Coverage Commands
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# Build with coverage
|
|
206
|
+
cmake -DCMAKE_CXX_FLAGS="--coverage" -DCMAKE_EXE_LINKER_FLAGS="--coverage" -B build
|
|
207
|
+
|
|
208
|
+
# Run tests
|
|
209
|
+
cmake --build build && ctest --test-dir build
|
|
210
|
+
|
|
211
|
+
# Generate coverage report
|
|
212
|
+
lcov --capture --directory build --output-file coverage.info
|
|
213
|
+
lcov --remove coverage.info '/usr/*' --output-file coverage.info
|
|
214
|
+
genhtml coverage.info --output-directory coverage_html
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Coverage Targets
|
|
218
|
+
|
|
219
|
+
| Code Type | Target |
|
|
220
|
+
|-----------|--------|
|
|
221
|
+
| Critical business logic | 100% |
|
|
222
|
+
| Public APIs | 90%+ |
|
|
223
|
+
| General code | 80%+ |
|
|
224
|
+
| Generated code | Exclude |
|
|
225
|
+
|
|
226
|
+
## TDD Best Practices
|
|
227
|
+
|
|
228
|
+
**DO:**
|
|
229
|
+
- Write test FIRST, before any implementation
|
|
230
|
+
- Run tests after each change
|
|
231
|
+
- Use `EXPECT_*` (continues) over `ASSERT_*` (stops) when appropriate
|
|
232
|
+
- Test behavior, not implementation details
|
|
233
|
+
- Include edge cases (empty, null, max values, boundary conditions)
|
|
234
|
+
|
|
235
|
+
**DON'T:**
|
|
236
|
+
- Write implementation before tests
|
|
237
|
+
- Skip the RED phase
|
|
238
|
+
- Test private methods directly (test through public API)
|
|
239
|
+
- Use `sleep` in tests
|
|
240
|
+
- Ignore flaky tests
|
|
241
|
+
|
|
242
|
+
## Related Commands
|
|
243
|
+
|
|
244
|
+
- `/cpp-build` - Fix build errors
|
|
245
|
+
- `/cpp-review` - Review code after implementation
|
|
246
|
+
- `/verify` - Run full verification loop
|
|
247
|
+
|
|
248
|
+
## Related
|
|
249
|
+
|
|
250
|
+
- Skill: `skills/cpp-testing/`
|
|
251
|
+
- Skill: `skills/tdd-workflow/`
|
|
@@ -1,92 +1,23 @@
|
|
|
1
|
-
---
|
|
2
|
-
description:
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# DevFleet
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
## Workflow
|
|
25
|
-
|
|
26
|
-
1. **Plan the project** from the user's description:
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
mcp__devfleet__plan_project(prompt="<user's description>")
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
This returns a project with chained missions. Show the user:
|
|
33
|
-
- Project name and ID
|
|
34
|
-
- Each mission: title, type, dependencies
|
|
35
|
-
- The dependency DAG (which missions block which)
|
|
36
|
-
|
|
37
|
-
2. **Wait for user approval** before dispatching. Show the plan clearly.
|
|
38
|
-
|
|
39
|
-
3. **Dispatch the first mission** (the one with empty `depends_on`):
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
mcp__devfleet__dispatch_mission(mission_id="<first_mission_id>")
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
The remaining missions auto-dispatch as their dependencies complete (because `plan_project` creates them with `auto_dispatch=true`). When manually creating missions with `create_mission`, you must explicitly set `auto_dispatch=true` for this behavior.
|
|
46
|
-
|
|
47
|
-
4. **Monitor progress** — check what's running:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
mcp__devfleet__get_dashboard()
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Or check a specific mission:
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
mcp__devfleet__get_mission_status(mission_id="<id>")
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Prefer polling with `get_mission_status` over `wait_for_mission` for long-running missions, so the user sees progress updates.
|
|
60
|
-
|
|
61
|
-
5. **Read the report** for each completed mission:
|
|
62
|
-
|
|
63
|
-
```
|
|
64
|
-
mcp__devfleet__get_report(mission_id="<mission_id>")
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Call this for every mission that reached a terminal state. Reports contain: files_changed, what_done, what_open, what_tested, what_untested, next_steps, errors_encountered.
|
|
68
|
-
|
|
69
|
-
## All Available Tools
|
|
70
|
-
|
|
71
|
-
| Tool | Purpose |
|
|
72
|
-
|------|---------|
|
|
73
|
-
| `plan_project(prompt)` | AI breaks description into chained missions with `auto_dispatch=true` |
|
|
74
|
-
| `create_project(name, path?, description?)` | Create a project manually, returns `project_id` |
|
|
75
|
-
| `create_mission(project_id, title, prompt, depends_on?, auto_dispatch?)` | Add a mission. `depends_on` is a list of mission ID strings. |
|
|
76
|
-
| `dispatch_mission(mission_id, model?, max_turns?)` | Start an agent |
|
|
77
|
-
| `cancel_mission(mission_id)` | Stop a running agent |
|
|
78
|
-
| `wait_for_mission(mission_id, timeout_seconds?)` | Block until done (prefer polling for long tasks) |
|
|
79
|
-
| `get_mission_status(mission_id)` | Check progress without blocking |
|
|
80
|
-
| `get_report(mission_id)` | Read structured report |
|
|
81
|
-
| `get_dashboard()` | System overview |
|
|
82
|
-
| `list_projects()` | Browse projects |
|
|
83
|
-
| `list_missions(project_id, status?)` | List missions |
|
|
84
|
-
|
|
85
|
-
## Guidelines
|
|
86
|
-
|
|
87
|
-
- Always confirm the plan before dispatching unless the user said "go ahead"
|
|
88
|
-
- Include mission titles and IDs when reporting status
|
|
89
|
-
- If a mission fails, read its report to understand errors before retrying
|
|
90
|
-
- Agent concurrency is configurable (default: 3). Excess missions queue and auto-dispatch as slots free up. Check `get_dashboard()` for slot availability.
|
|
91
|
-
- Dependencies form a DAG — never create circular dependencies
|
|
92
|
-
- Each agent auto-merges its worktree on completion. If a merge conflict occurs, the changes remain on the worktree branch for manual resolution.
|
|
1
|
+
---
|
|
2
|
+
description: Legacy slash-entry shim for the claude-devfleet skill. Prefer the skill directly.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DevFleet (Legacy Shim)
|
|
6
|
+
|
|
7
|
+
Use this only if you still call `/devfleet`. The maintained workflow lives in `skills/claude-devfleet/SKILL.md`.
|
|
8
|
+
|
|
9
|
+
## Canonical Surface
|
|
10
|
+
|
|
11
|
+
- Prefer the `claude-devfleet` skill directly.
|
|
12
|
+
- Keep this file only as a compatibility entry point while command-first usage is retired.
|
|
13
|
+
|
|
14
|
+
## Arguments
|
|
15
|
+
|
|
16
|
+
`$ARGUMENTS`
|
|
17
|
+
|
|
18
|
+
## Delegation
|
|
19
|
+
|
|
20
|
+
Apply the `claude-devfleet` skill.
|
|
21
|
+
- Plan from the user's description, show the DAG, and get approval before dispatch unless the user already said to proceed.
|
|
22
|
+
- Prefer polling status over blocking waits for long missions.
|
|
23
|
+
- Report mission IDs, files changed, failures, and next steps from structured mission reports.
|
package/.agent/workflows/docs.md
CHANGED
|
@@ -1,31 +1,23 @@
|
|
|
1
|
-
---
|
|
2
|
-
description:
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
1. **Resolve library ID** — Call the Context7 tool `resolve-library-id` with the library name and the user's question to get a Context7-compatible library ID (e.g. `/vercel/next.js`).
|
|
26
|
-
2. **Query docs** — Call `query-docs` with that library ID and the user's question.
|
|
27
|
-
3. **Summarize** — Return a concise answer and include relevant code examples from the fetched documentation. Mention the library (and version if relevant).
|
|
28
|
-
|
|
29
|
-
## Output
|
|
30
|
-
|
|
31
|
-
The user receives a short, accurate answer backed by current docs, plus any code snippets that help. If Context7 is not available, say so and answer from training data with a note that docs may be outdated.
|
|
1
|
+
---
|
|
2
|
+
description: Legacy slash-entry shim for the documentation-lookup skill. Prefer the skill directly.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Docs Command (Legacy Shim)
|
|
6
|
+
|
|
7
|
+
Use this only if you still reach for `/docs`. The maintained workflow lives in `skills/documentation-lookup/SKILL.md`.
|
|
8
|
+
|
|
9
|
+
## Canonical Surface
|
|
10
|
+
|
|
11
|
+
- Prefer the `documentation-lookup` skill directly.
|
|
12
|
+
- Keep this file only as a compatibility entry point.
|
|
13
|
+
|
|
14
|
+
## Arguments
|
|
15
|
+
|
|
16
|
+
`$ARGUMENTS`
|
|
17
|
+
|
|
18
|
+
## Delegation
|
|
19
|
+
|
|
20
|
+
Apply the `documentation-lookup` skill.
|
|
21
|
+
- If the library or the question is missing, ask for the missing part.
|
|
22
|
+
- Use live documentation through Context7 instead of training data.
|
|
23
|
+
- Return only the current answer and the minimum code/example surface needed.
|