aigroup-workflow 2.2.0 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/fix-build.md +10 -5
- package/.claude/commands/init-project.md +13 -8
- package/.claude/commands/plan.md +15 -8
- package/.claude/commands/review.md +12 -6
- package/.claude/commands/tdd.md +11 -5
- package/.claude/commands/workflow-start.md +20 -11
- package/.claude/settings.json +28 -0
- package/.codex/agents/architect.toml +207 -0
- package/.codex/agents/build-error-resolver.toml +110 -0
- package/.codex/agents/code-reviewer.toml +233 -0
- package/.codex/agents/doc-updater.toml +103 -0
- package/.codex/agents/e2e-runner.toml +103 -0
- package/.codex/agents/get-current-datetime.toml +23 -0
- package/.codex/agents/init-architect.toml +181 -0
- package/.codex/agents/planner.toml +208 -0
- package/.codex/agents/refactor-cleaner.toml +81 -0
- package/.codex/agents/rust-reviewer.toml +90 -0
- package/.codex/agents/security-reviewer.toml +104 -0
- package/.codex/agents/tdd-guide.toml +87 -0
- package/AGENTS.md +2 -2
- package/CLAUDE.md +23 -1
- package/LICENSE +20 -20
- package/README.md +333 -333
- package/agents/a11y-architect.md +141 -141
- package/agents/architect.md +211 -211
- package/agents/build-error-resolver.md +114 -114
- package/agents/chief-of-staff.md +151 -151
- package/agents/code-architect.md +71 -71
- package/agents/code-explorer.md +69 -69
- package/agents/code-reviewer.md +237 -237
- package/agents/code-simplifier.md +47 -47
- package/agents/comment-analyzer.md +45 -45
- package/agents/conversation-analyzer.md +52 -52
- package/agents/cpp-build-resolver.md +90 -90
- package/agents/cpp-reviewer.md +72 -72
- package/agents/csharp-reviewer.md +101 -101
- package/agents/dart-build-resolver.md +201 -201
- package/agents/database-reviewer.md +91 -91
- package/agents/doc-updater.md +107 -107
- package/agents/docs-lookup.md +68 -68
- package/agents/e2e-runner.md +107 -107
- package/agents/flutter-reviewer.md +243 -243
- package/agents/gan-evaluator.md +209 -209
- package/agents/gan-generator.md +131 -131
- package/agents/gan-planner.md +99 -99
- package/agents/get-current-datetime.md +26 -26
- package/agents/go-build-resolver.md +94 -94
- package/agents/go-reviewer.md +76 -76
- package/agents/harness-optimizer.md +35 -35
- package/agents/healthcare-reviewer.md +83 -83
- package/agents/java-build-resolver.md +153 -153
- package/agents/java-reviewer.md +92 -92
- package/agents/kotlin-build-resolver.md +118 -118
- package/agents/kotlin-reviewer.md +159 -159
- package/agents/loop-operator.md +36 -36
- package/agents/opensource-forker.md +198 -198
- package/agents/opensource-packager.md +249 -249
- package/agents/opensource-sanitizer.md +188 -188
- package/agents/performance-optimizer.md +446 -446
- package/agents/planner.md +212 -212
- package/agents/pr-test-analyzer.md +45 -45
- package/agents/python-reviewer.md +98 -98
- package/agents/pytorch-build-resolver.md +120 -120
- package/agents/refactor-cleaner.md +85 -85
- package/agents/rust-build-resolver.md +148 -148
- package/agents/rust-reviewer.md +94 -94
- package/agents/security-reviewer.md +108 -108
- package/agents/seo-specialist.md +59 -59
- package/agents/silent-failure-hunter.md +50 -50
- package/agents/tdd-guide.md +91 -91
- package/agents/type-design-analyzer.md +41 -41
- package/agents/typescript-reviewer.md +112 -112
- package/cli/commands/update.mjs +1 -1
- package/cli/utils/scaffold.mjs +53 -0
- package/docs/rules/agents.md +166 -50
- package/docs/rules/cpp/coding-style.md +44 -44
- package/docs/rules/cpp/hooks.md +39 -39
- package/docs/rules/cpp/patterns.md +51 -51
- package/docs/rules/cpp/security.md +51 -51
- package/docs/rules/cpp/testing.md +44 -44
- package/docs/rules/csharp/coding-style.md +72 -72
- package/docs/rules/csharp/hooks.md +25 -25
- package/docs/rules/csharp/patterns.md +50 -50
- package/docs/rules/csharp/security.md +58 -58
- package/docs/rules/csharp/testing.md +46 -46
- package/docs/rules/dart/coding-style.md +159 -159
- package/docs/rules/dart/hooks.md +66 -66
- package/docs/rules/dart/patterns.md +261 -261
- package/docs/rules/dart/security.md +135 -135
- package/docs/rules/dart/testing.md +215 -215
- package/docs/rules/golang/coding-style.md +32 -32
- package/docs/rules/golang/hooks.md +17 -17
- package/docs/rules/golang/patterns.md +45 -45
- package/docs/rules/golang/security.md +34 -34
- package/docs/rules/golang/testing.md +31 -31
- package/docs/rules/java/coding-style.md +114 -114
- package/docs/rules/java/hooks.md +18 -18
- package/docs/rules/java/patterns.md +146 -146
- package/docs/rules/java/security.md +100 -100
- package/docs/rules/java/testing.md +131 -131
- package/docs/rules/kotlin/coding-style.md +86 -86
- package/docs/rules/kotlin/hooks.md +17 -17
- package/docs/rules/kotlin/patterns.md +146 -146
- package/docs/rules/kotlin/security.md +82 -82
- package/docs/rules/kotlin/testing.md +128 -128
- package/docs/rules/perl/coding-style.md +46 -46
- package/docs/rules/perl/hooks.md +22 -22
- package/docs/rules/perl/patterns.md +76 -76
- package/docs/rules/perl/security.md +69 -69
- package/docs/rules/perl/testing.md +54 -54
- package/docs/rules/php/coding-style.md +40 -40
- package/docs/rules/php/hooks.md +24 -24
- package/docs/rules/php/patterns.md +33 -33
- package/docs/rules/php/security.md +37 -37
- package/docs/rules/php/testing.md +39 -39
- package/docs/rules/python/coding-style.md +42 -42
- package/docs/rules/python/hooks.md +19 -19
- package/docs/rules/python/patterns.md +39 -39
- package/docs/rules/python/security.md +30 -30
- package/docs/rules/python/testing.md +38 -38
- package/docs/rules/rust/coding-style.md +151 -151
- package/docs/rules/rust/hooks.md +16 -16
- package/docs/rules/rust/patterns.md +168 -168
- package/docs/rules/rust/security.md +141 -141
- package/docs/rules/rust/testing.md +154 -154
- package/docs/rules/swift/coding-style.md +47 -47
- package/docs/rules/swift/hooks.md +20 -20
- package/docs/rules/swift/patterns.md +66 -66
- package/docs/rules/swift/security.md +33 -33
- package/docs/rules/swift/testing.md +45 -45
- package/docs/rules/typescript/coding-style.md +199 -199
- package/docs/rules/typescript/hooks.md +22 -22
- package/docs/rules/typescript/patterns.md +52 -52
- package/docs/rules/typescript/security.md +28 -28
- package/docs/rules/typescript/testing.md +18 -18
- package/docs/rules/web/coding-style.md +96 -96
- package/docs/rules/web/design-quality.md +62 -62
- package/docs/rules/web/hooks.md +120 -120
- package/docs/rules/web/patterns.md +79 -79
- package/docs/rules/web/performance.md +64 -64
- package/docs/rules/web/security.md +57 -57
- package/docs/rules/web/testing.md +55 -55
- package/docs/templates/README.md +36 -36
- package/docs/templates/ai-project-final.md +124 -124
- package/docs/templates/ai-project.md +105 -105
- package/docs/templates/api.md +157 -157
- package/docs/templates/bug.md +62 -62
- package/docs/templates/code-review.md +87 -87
- package/docs/templates/generic.md +116 -116
- package/docs/templates/implementation-plan.md +1 -1
- package/docs/templates/meeting.md +68 -68
- package/docs/templates/prd.md +98 -98
- package/docs/templates/ui.md +134 -134
- package/docs/workflow-pipeline.md +11 -10
- package/package.json +40 -39
- package/scripts/hooks/checks/orchestration-artifacts.cjs +28 -23
- package/scripts/hooks/checks/workflow-state.cjs +4 -5
- package/scripts/orchestration/lib/orchestrator.cjs +344 -117
- package/scripts/orchestration/lib/validate.cjs +145 -0
- package/scripts/orchestration/session.cjs +88 -44
- package/skills/SUPERPOWERS-LICENSE +21 -21
- package/skills/ai-ml/fine-tuning-expert/SKILL.md +162 -162
- package/skills/ai-ml/fine-tuning-expert/references/dataset-preparation.md +540 -540
- package/skills/ai-ml/fine-tuning-expert/references/deployment-optimization.md +673 -673
- package/skills/ai-ml/fine-tuning-expert/references/evaluation-metrics.md +597 -597
- package/skills/ai-ml/fine-tuning-expert/references/hyperparameter-tuning.md +565 -565
- package/skills/ai-ml/fine-tuning-expert/references/lora-peft.md +347 -347
- package/skills/ai-ml/ml-pipeline/SKILL.md +159 -159
- package/skills/ai-ml/ml-pipeline/references/experiment-tracking.md +833 -833
- package/skills/ai-ml/ml-pipeline/references/feature-engineering.md +631 -631
- package/skills/ai-ml/ml-pipeline/references/model-validation.md +978 -978
- package/skills/ai-ml/ml-pipeline/references/pipeline-orchestration.md +907 -907
- package/skills/ai-ml/ml-pipeline/references/training-pipelines.md +782 -782
- package/skills/ai-ml/rag-architect/SKILL.md +194 -194
- package/skills/ai-ml/rag-architect/references/chunking-strategies.md +878 -878
- package/skills/ai-ml/rag-architect/references/embedding-models.md +561 -561
- package/skills/ai-ml/rag-architect/references/rag-evaluation.md +833 -833
- package/skills/ai-ml/rag-architect/references/retrieval-optimization.md +795 -795
- package/skills/ai-ml/rag-architect/references/vector-databases.md +589 -589
- package/skills/ai-ml/spark-engineer/SKILL.md +148 -148
- package/skills/ai-ml/spark-engineer/references/partitioning-caching.md +543 -543
- package/skills/ai-ml/spark-engineer/references/performance-tuning.md +544 -544
- package/skills/ai-ml/spark-engineer/references/rdd-operations.md +599 -599
- package/skills/ai-ml/spark-engineer/references/spark-sql-dataframes.md +474 -474
- package/skills/ai-ml/spark-engineer/references/streaming-patterns.md +786 -786
- package/skills/backend/api-designer/SKILL.md +217 -217
- package/skills/backend/api-designer/references/error-handling.md +541 -541
- package/skills/backend/api-designer/references/openapi.md +824 -824
- package/skills/backend/api-designer/references/pagination.md +494 -494
- package/skills/backend/api-designer/references/rest-patterns.md +335 -335
- package/skills/backend/api-designer/references/versioning.md +391 -391
- package/skills/backend/architecture-designer/SKILL.md +117 -117
- package/skills/backend/architecture-designer/references/adr-template.md +116 -116
- package/skills/backend/architecture-designer/references/architecture-patterns.md +111 -111
- package/skills/backend/architecture-designer/references/database-selection.md +102 -102
- package/skills/backend/architecture-designer/references/nfr-checklist.md +112 -112
- package/skills/backend/architecture-designer/references/system-design.md +100 -100
- package/skills/backend/code-documenter/SKILL.md +147 -147
- package/skills/backend/code-documenter/references/api-docs-fastapi-django.md +166 -166
- package/skills/backend/code-documenter/references/api-docs-nestjs-express.md +220 -220
- package/skills/backend/code-documenter/references/coverage-reports.md +125 -125
- package/skills/backend/code-documenter/references/documentation-systems.md +333 -333
- package/skills/backend/code-documenter/references/interactive-api-docs.md +531 -531
- package/skills/backend/code-documenter/references/python-docstrings.md +121 -121
- package/skills/backend/code-documenter/references/typescript-jsdoc.md +145 -145
- package/skills/backend/code-documenter/references/user-guides-tutorials.md +530 -530
- package/skills/backend/debugging-wizard/SKILL.md +105 -105
- package/skills/backend/debugging-wizard/references/common-patterns.md +132 -132
- package/skills/backend/debugging-wizard/references/debugging-tools.md +140 -140
- package/skills/backend/debugging-wizard/references/quick-fixes.md +177 -177
- package/skills/backend/debugging-wizard/references/strategies.md +142 -142
- package/skills/backend/debugging-wizard/references/systematic-debugging.md +367 -367
- package/skills/backend/feature-forge/SKILL.md +98 -98
- package/skills/backend/feature-forge/references/acceptance-criteria.md +104 -104
- package/skills/backend/feature-forge/references/ears-syntax.md +99 -99
- package/skills/backend/feature-forge/references/interview-questions.md +150 -150
- package/skills/backend/feature-forge/references/pre-discovery-subagents.md +54 -54
- package/skills/backend/feature-forge/references/specification-template.md +103 -103
- package/skills/backend/fullstack-guardian/SKILL.md +105 -105
- package/skills/backend/fullstack-guardian/references/api-design-standards.md +307 -307
- package/skills/backend/fullstack-guardian/references/architecture-decisions.md +350 -350
- package/skills/backend/fullstack-guardian/references/backend-patterns.md +237 -237
- package/skills/backend/fullstack-guardian/references/common-patterns.md +134 -134
- package/skills/backend/fullstack-guardian/references/deliverables-checklist.md +354 -354
- package/skills/backend/fullstack-guardian/references/design-template.md +91 -91
- package/skills/backend/fullstack-guardian/references/error-handling.md +135 -135
- package/skills/backend/fullstack-guardian/references/frontend-patterns.md +340 -340
- package/skills/backend/fullstack-guardian/references/integration-patterns.md +333 -333
- package/skills/backend/fullstack-guardian/references/security-checklist.md +106 -106
- package/skills/backend/graphql-architect/SKILL.md +146 -146
- package/skills/backend/graphql-architect/references/federation.md +418 -418
- package/skills/backend/graphql-architect/references/migration-from-rest.md +1141 -1141
- package/skills/backend/graphql-architect/references/resolvers.md +425 -425
- package/skills/backend/graphql-architect/references/schema-design.md +393 -393
- package/skills/backend/graphql-architect/references/security.md +569 -569
- package/skills/backend/graphql-architect/references/subscriptions.md +510 -510
- package/skills/backend/legacy-modernizer/SKILL.md +137 -137
- package/skills/backend/legacy-modernizer/references/legacy-testing.md +381 -381
- package/skills/backend/legacy-modernizer/references/migration-strategies.md +423 -423
- package/skills/backend/legacy-modernizer/references/refactoring-patterns.md +395 -395
- package/skills/backend/legacy-modernizer/references/strangler-fig-pattern.md +281 -281
- package/skills/backend/legacy-modernizer/references/system-assessment.md +487 -487
- package/skills/backend/microservices-architect/SKILL.md +164 -164
- package/skills/backend/microservices-architect/references/communication.md +499 -499
- package/skills/backend/microservices-architect/references/data.md +721 -721
- package/skills/backend/microservices-architect/references/decomposition.md +344 -344
- package/skills/backend/microservices-architect/references/observability.md +805 -805
- package/skills/backend/microservices-architect/references/patterns.md +603 -603
- package/skills/database/database-optimizer/SKILL.md +147 -147
- package/skills/database/database-optimizer/references/index-strategies.md +331 -331
- package/skills/database/database-optimizer/references/monitoring-analysis.md +501 -501
- package/skills/database/database-optimizer/references/mysql-tuning.md +452 -452
- package/skills/database/database-optimizer/references/postgresql-tuning.md +413 -413
- package/skills/database/database-optimizer/references/query-optimization.md +251 -251
- package/skills/database/postgres-pro/SKILL.md +152 -152
- package/skills/database/postgres-pro/references/extensions.md +404 -404
- package/skills/database/postgres-pro/references/jsonb.md +321 -321
- package/skills/database/postgres-pro/references/maintenance.md +481 -481
- package/skills/database/postgres-pro/references/performance.md +265 -265
- package/skills/database/postgres-pro/references/replication.md +446 -446
- package/skills/database/sql-pro/SKILL.md +129 -129
- package/skills/database/sql-pro/references/database-design.md +402 -402
- package/skills/database/sql-pro/references/dialect-differences.md +419 -419
- package/skills/database/sql-pro/references/optimization.md +384 -384
- package/skills/database/sql-pro/references/query-patterns.md +285 -285
- package/skills/database/sql-pro/references/window-functions.md +328 -328
- package/skills/dotnet/csharp-developer/SKILL.md +125 -125
- package/skills/dotnet/csharp-developer/references/aspnet-core.md +394 -394
- package/skills/dotnet/csharp-developer/references/blazor.md +553 -553
- package/skills/dotnet/csharp-developer/references/entity-framework.md +409 -409
- package/skills/dotnet/csharp-developer/references/modern-csharp.md +248 -248
- package/skills/dotnet/csharp-developer/references/performance.md +498 -498
- package/skills/dotnet/dotnet-core-expert/SKILL.md +138 -138
- package/skills/dotnet/dotnet-core-expert/references/authentication.md +546 -546
- package/skills/dotnet/dotnet-core-expert/references/clean-architecture.md +455 -455
- package/skills/dotnet/dotnet-core-expert/references/cloud-native.md +548 -548
- package/skills/dotnet/dotnet-core-expert/references/entity-framework.md +440 -440
- package/skills/dotnet/dotnet-core-expert/references/minimal-apis.md +319 -319
- package/skills/frontend/angular-architect/SKILL.md +152 -152
- package/skills/frontend/angular-architect/references/components.md +297 -297
- package/skills/frontend/angular-architect/references/ngrx.md +401 -401
- package/skills/frontend/angular-architect/references/routing.md +361 -361
- package/skills/frontend/angular-architect/references/rxjs.md +319 -319
- package/skills/frontend/angular-architect/references/testing.md +405 -405
- package/skills/frontend/design-commands/design.md +91 -91
- package/skills/frontend/design-commands/handoff.md +97 -97
- package/skills/frontend/design-commands/prototype.md +120 -120
- package/skills/frontend/design-commands/spec.md +160 -160
- package/skills/frontend/design-commands/style.md +78 -78
- package/skills/frontend/flutter-expert/SKILL.md +138 -138
- package/skills/frontend/flutter-expert/references/bloc-state.md +259 -259
- package/skills/frontend/flutter-expert/references/gorouter-navigation.md +119 -119
- package/skills/frontend/flutter-expert/references/performance.md +99 -99
- package/skills/frontend/flutter-expert/references/project-structure.md +118 -118
- package/skills/frontend/flutter-expert/references/riverpod-state.md +130 -130
- package/skills/frontend/flutter-expert/references/widget-patterns.md +123 -123
- package/skills/frontend/nextjs-developer/SKILL.md +143 -143
- package/skills/frontend/nextjs-developer/references/app-router.md +311 -311
- package/skills/frontend/nextjs-developer/references/data-fetching.md +482 -482
- package/skills/frontend/nextjs-developer/references/deployment.md +545 -545
- package/skills/frontend/nextjs-developer/references/server-actions.md +462 -462
- package/skills/frontend/nextjs-developer/references/server-components.md +384 -384
- package/skills/frontend/react-expert/SKILL.md +149 -149
- package/skills/frontend/react-expert/references/hooks-patterns.md +162 -162
- package/skills/frontend/react-expert/references/migration-class-to-modern.md +1119 -1119
- package/skills/frontend/react-expert/references/performance.md +168 -168
- package/skills/frontend/react-expert/references/react-19-features.md +174 -174
- package/skills/frontend/react-expert/references/server-components.md +143 -143
- package/skills/frontend/react-expert/references/state-management.md +171 -171
- package/skills/frontend/react-expert/references/testing-react.md +174 -174
- package/skills/frontend/react-native-expert/SKILL.md +185 -185
- package/skills/frontend/react-native-expert/references/expo-router.md +187 -187
- package/skills/frontend/react-native-expert/references/list-optimization.md +204 -204
- package/skills/frontend/react-native-expert/references/platform-handling.md +188 -188
- package/skills/frontend/react-native-expert/references/project-structure.md +171 -171
- package/skills/frontend/react-native-expert/references/storage-hooks.md +173 -173
- package/skills/frontend/senior-frontend/SKILL.md +477 -477
- package/skills/frontend/senior-frontend/references/frontend_best_practices.md +806 -806
- package/skills/frontend/senior-frontend/references/nextjs_optimization_guide.md +724 -724
- package/skills/frontend/senior-frontend/references/react_patterns.md +746 -746
- package/skills/frontend/senior-frontend/scripts/bundle_analyzer.py +407 -407
- package/skills/frontend/senior-frontend/scripts/component_generator.py +329 -329
- package/skills/frontend/senior-frontend/scripts/frontend_scaffolder.py +1005 -1005
- package/skills/frontend/ui-ux-pro-max/SKILL.md +386 -386
- package/skills/frontend/ui-ux-pro-max/data/charts.csv +26 -26
- package/skills/frontend/ui-ux-pro-max/data/colors.csv +97 -97
- package/skills/frontend/ui-ux-pro-max/data/icons.csv +101 -101
- package/skills/frontend/ui-ux-pro-max/data/landing.csv +31 -31
- package/skills/frontend/ui-ux-pro-max/data/products.csv +96 -96
- package/skills/frontend/ui-ux-pro-max/data/react-performance.csv +45 -45
- package/skills/frontend/ui-ux-pro-max/data/stacks/astro.csv +54 -54
- package/skills/frontend/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
- package/skills/frontend/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
- package/skills/frontend/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
- package/skills/frontend/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
- package/skills/frontend/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
- package/skills/frontend/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
- package/skills/frontend/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
- package/skills/frontend/ui-ux-pro-max/data/stacks/react.csv +54 -54
- package/skills/frontend/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
- package/skills/frontend/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
- package/skills/frontend/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
- package/skills/frontend/ui-ux-pro-max/data/stacks/vue.csv +50 -50
- package/skills/frontend/ui-ux-pro-max/data/styles.csv +68 -68
- package/skills/frontend/ui-ux-pro-max/data/typography.csv +57 -57
- package/skills/frontend/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
- package/skills/frontend/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
- package/skills/frontend/ui-ux-pro-max/data/web-interface.csv +31 -31
- package/skills/frontend/ui-ux-pro-max/scripts/core.py +253 -253
- package/skills/frontend/ui-ux-pro-max/scripts/design_system.py +1067 -1067
- package/skills/frontend/ui-ux-pro-max/scripts/search.py +114 -114
- package/skills/frontend/vue-expert/SKILL.md +98 -98
- package/skills/frontend/vue-expert/references/build-tooling.md +480 -480
- package/skills/frontend/vue-expert/references/components.md +448 -448
- package/skills/frontend/vue-expert/references/composition-api.md +299 -299
- package/skills/frontend/vue-expert/references/mobile-hybrid.md +636 -636
- package/skills/frontend/vue-expert/references/nuxt.md +669 -669
- package/skills/frontend/vue-expert/references/state-management.md +449 -449
- package/skills/frontend/vue-expert/references/typescript.md +584 -584
- package/skills/frontend/vue-expert-js/SKILL.md +167 -167
- package/skills/frontend/vue-expert-js/references/component-architecture.md +219 -219
- package/skills/frontend/vue-expert-js/references/composables-patterns.md +183 -183
- package/skills/frontend/vue-expert-js/references/jsdoc-typing.md +535 -535
- package/skills/frontend/vue-expert-js/references/state-management.md +249 -249
- package/skills/frontend/vue-expert-js/references/testing-patterns.md +237 -237
- package/skills/go-rust-cpp/cpp-pro/SKILL.md +115 -115
- package/skills/go-rust-cpp/cpp-pro/references/build-tooling.md +440 -440
- package/skills/go-rust-cpp/cpp-pro/references/concurrency.md +437 -437
- package/skills/go-rust-cpp/cpp-pro/references/memory-performance.md +397 -397
- package/skills/go-rust-cpp/cpp-pro/references/modern-cpp.md +304 -304
- package/skills/go-rust-cpp/cpp-pro/references/templates.md +357 -357
- package/skills/go-rust-cpp/golang-pro/SKILL.md +122 -122
- package/skills/go-rust-cpp/golang-pro/references/concurrency.md +329 -329
- package/skills/go-rust-cpp/golang-pro/references/generics.md +442 -442
- package/skills/go-rust-cpp/golang-pro/references/interfaces.md +432 -432
- package/skills/go-rust-cpp/golang-pro/references/project-structure.md +477 -477
- package/skills/go-rust-cpp/golang-pro/references/testing.md +451 -451
- package/skills/go-rust-cpp/rust-engineer/SKILL.md +167 -167
- package/skills/go-rust-cpp/rust-engineer/references/async.md +458 -458
- package/skills/go-rust-cpp/rust-engineer/references/error-handling.md +334 -334
- package/skills/go-rust-cpp/rust-engineer/references/ownership.md +278 -278
- package/skills/go-rust-cpp/rust-engineer/references/testing.md +470 -470
- package/skills/go-rust-cpp/rust-engineer/references/traits.md +413 -413
- package/skills/infra/cli-developer/SKILL.md +113 -113
- package/skills/infra/cli-developer/references/design-patterns.md +221 -221
- package/skills/infra/cli-developer/references/go-cli.md +540 -540
- package/skills/infra/cli-developer/references/node-cli.md +383 -383
- package/skills/infra/cli-developer/references/python-cli.md +422 -422
- package/skills/infra/cli-developer/references/ux-patterns.md +448 -448
- package/skills/infra/cloud-architect/SKILL.md +216 -216
- package/skills/infra/cloud-architect/references/aws.md +394 -394
- package/skills/infra/cloud-architect/references/azure.md +562 -562
- package/skills/infra/cloud-architect/references/cost.md +582 -582
- package/skills/infra/cloud-architect/references/gcp.md +633 -633
- package/skills/infra/cloud-architect/references/multi-cloud.md +483 -483
- package/skills/infra/devops-engineer/SKILL.md +144 -144
- package/skills/infra/devops-engineer/references/deployment-strategies.md +241 -241
- package/skills/infra/devops-engineer/references/docker-patterns.md +113 -113
- package/skills/infra/devops-engineer/references/github-actions.md +139 -139
- package/skills/infra/devops-engineer/references/incident-response.md +331 -331
- package/skills/infra/devops-engineer/references/kubernetes.md +154 -154
- package/skills/infra/devops-engineer/references/platform-engineering.md +417 -417
- package/skills/infra/devops-engineer/references/release-automation.md +527 -527
- package/skills/infra/devops-engineer/references/terraform-iac.md +141 -141
- package/skills/infra/kubernetes-specialist/SKILL.md +241 -241
- package/skills/infra/kubernetes-specialist/references/configuration.md +452 -452
- package/skills/infra/kubernetes-specialist/references/cost-optimization.md +458 -458
- package/skills/infra/kubernetes-specialist/references/custom-operators.md +563 -563
- package/skills/infra/kubernetes-specialist/references/gitops.md +530 -530
- package/skills/infra/kubernetes-specialist/references/helm-charts.md +912 -912
- package/skills/infra/kubernetes-specialist/references/multi-cluster.md +507 -507
- package/skills/infra/kubernetes-specialist/references/networking.md +447 -447
- package/skills/infra/kubernetes-specialist/references/service-mesh.md +459 -459
- package/skills/infra/kubernetes-specialist/references/storage.md +535 -535
- package/skills/infra/kubernetes-specialist/references/troubleshooting.md +414 -414
- package/skills/infra/kubernetes-specialist/references/workloads.md +377 -377
- package/skills/infra/mcp-developer/SKILL.md +143 -143
- package/skills/infra/mcp-developer/references/protocol.md +244 -244
- package/skills/infra/mcp-developer/references/python-sdk.md +367 -367
- package/skills/infra/mcp-developer/references/resources.md +554 -554
- package/skills/infra/mcp-developer/references/tools.md +480 -480
- package/skills/infra/mcp-developer/references/typescript-sdk.md +350 -350
- package/skills/infra/monitoring-expert/SKILL.md +176 -176
- package/skills/infra/monitoring-expert/references/alerting-rules.md +141 -141
- package/skills/infra/monitoring-expert/references/application-profiling.md +331 -331
- package/skills/infra/monitoring-expert/references/capacity-planning.md +344 -344
- package/skills/infra/monitoring-expert/references/dashboards.md +126 -126
- package/skills/infra/monitoring-expert/references/opentelemetry.md +123 -123
- package/skills/infra/monitoring-expert/references/performance-testing.md +269 -269
- package/skills/infra/monitoring-expert/references/prometheus-metrics.md +136 -136
- package/skills/infra/monitoring-expert/references/structured-logging.md +142 -142
- package/skills/infra/sre-engineer/SKILL.md +181 -181
- package/skills/infra/sre-engineer/references/automation-toil.md +492 -492
- package/skills/infra/sre-engineer/references/error-budget-policy.md +334 -334
- package/skills/infra/sre-engineer/references/incident-chaos.md +576 -576
- package/skills/infra/sre-engineer/references/monitoring-alerting.md +424 -424
- package/skills/infra/sre-engineer/references/slo-sli-management.md +238 -238
- package/skills/infra/terraform-engineer/SKILL.md +143 -143
- package/skills/infra/terraform-engineer/references/best-practices.md +583 -583
- package/skills/infra/terraform-engineer/references/module-patterns.md +297 -297
- package/skills/infra/terraform-engineer/references/providers.md +452 -452
- package/skills/infra/terraform-engineer/references/state-management.md +371 -371
- package/skills/infra/terraform-engineer/references/testing.md +486 -486
- package/skills/infra/websocket-engineer/SKILL.md +168 -168
- package/skills/infra/websocket-engineer/references/alternatives.md +391 -391
- package/skills/infra/websocket-engineer/references/patterns.md +400 -400
- package/skills/infra/websocket-engineer/references/protocol.md +195 -195
- package/skills/infra/websocket-engineer/references/scaling.md +333 -333
- package/skills/infra/websocket-engineer/references/security.md +474 -474
- package/skills/java/java-architect/SKILL.md +132 -132
- package/skills/java/java-architect/references/jpa-optimization.md +393 -393
- package/skills/java/java-architect/references/reactive-webflux.md +356 -356
- package/skills/java/java-architect/references/spring-boot-setup.md +269 -269
- package/skills/java/java-architect/references/spring-security.md +445 -445
- package/skills/java/java-architect/references/testing-patterns.md +500 -500
- package/skills/java/kotlin-specialist/SKILL.md +147 -147
- package/skills/java/kotlin-specialist/references/android-compose.md +419 -419
- package/skills/java/kotlin-specialist/references/coroutines-flow.md +276 -276
- package/skills/java/kotlin-specialist/references/dsl-idioms.md +421 -421
- package/skills/java/kotlin-specialist/references/ktor-server.md +426 -426
- package/skills/java/kotlin-specialist/references/multiplatform-kmp.md +380 -380
- package/skills/java/spring-boot-engineer/SKILL.md +195 -195
- package/skills/java/spring-boot-engineer/references/cloud.md +498 -498
- package/skills/java/spring-boot-engineer/references/data.md +381 -381
- package/skills/java/spring-boot-engineer/references/security.md +459 -459
- package/skills/java/spring-boot-engineer/references/testing.md +545 -545
- package/skills/java/spring-boot-engineer/references/web.md +295 -295
- package/skills/javascript/javascript-pro/SKILL.md +132 -132
- package/skills/javascript/javascript-pro/references/async-patterns.md +334 -334
- package/skills/javascript/javascript-pro/references/browser-apis.md +398 -398
- package/skills/javascript/javascript-pro/references/modern-syntax.md +272 -272
- package/skills/javascript/javascript-pro/references/modules.md +357 -357
- package/skills/javascript/javascript-pro/references/node-essentials.md +471 -471
- package/skills/javascript/nestjs-expert/SKILL.md +206 -206
- package/skills/javascript/nestjs-expert/references/authentication.md +166 -166
- package/skills/javascript/nestjs-expert/references/controllers-routing.md +111 -111
- package/skills/javascript/nestjs-expert/references/dtos-validation.md +153 -153
- package/skills/javascript/nestjs-expert/references/migration-from-express.md +1237 -1237
- package/skills/javascript/nestjs-expert/references/services-di.md +140 -140
- package/skills/javascript/nestjs-expert/references/testing-patterns.md +186 -186
- package/skills/javascript/typescript-pro/SKILL.md +145 -145
- package/skills/javascript/typescript-pro/references/advanced-types.md +259 -259
- package/skills/javascript/typescript-pro/references/configuration.md +445 -445
- package/skills/javascript/typescript-pro/references/patterns.md +484 -484
- package/skills/javascript/typescript-pro/references/type-guards.md +352 -352
- package/skills/javascript/typescript-pro/references/utility-types.md +329 -329
- package/skills/php/laravel-specialist/SKILL.md +262 -262
- package/skills/php/laravel-specialist/references/eloquent.md +351 -351
- package/skills/php/laravel-specialist/references/livewire.md +512 -512
- package/skills/php/laravel-specialist/references/queues.md +423 -423
- package/skills/php/laravel-specialist/references/routing.md +362 -362
- package/skills/php/laravel-specialist/references/testing.md +522 -522
- package/skills/php/php-pro/SKILL.md +206 -206
- package/skills/php/php-pro/references/async-patterns.md +412 -412
- package/skills/php/php-pro/references/laravel-patterns.md +377 -377
- package/skills/php/php-pro/references/modern-php-features.md +323 -323
- package/skills/php/php-pro/references/symfony-patterns.md +466 -466
- package/skills/php/php-pro/references/testing-quality.md +466 -466
- package/skills/product/competitive-analysis/SKILL.md +257 -257
- package/skills/product/meeting-notes/SKILL.md +266 -266
- package/skills/product/prd-template/SKILL.md +150 -150
- package/skills/product/stakeholder-update/SKILL.md +225 -225
- package/skills/product/user-research-synthesis/SKILL.md +235 -235
- package/skills/python/django-expert/SKILL.md +162 -162
- package/skills/python/django-expert/references/authentication.md +145 -145
- package/skills/python/django-expert/references/drf-serializers.md +148 -148
- package/skills/python/django-expert/references/models-orm.md +151 -151
- package/skills/python/django-expert/references/testing-django.md +204 -204
- package/skills/python/django-expert/references/viewsets-views.md +153 -153
- package/skills/python/fastapi-expert/SKILL.md +185 -185
- package/skills/python/fastapi-expert/references/async-sqlalchemy.md +146 -146
- package/skills/python/fastapi-expert/references/authentication.md +159 -159
- package/skills/python/fastapi-expert/references/endpoints-routing.md +142 -142
- package/skills/python/fastapi-expert/references/migration-from-django.md +996 -996
- package/skills/python/fastapi-expert/references/pydantic-v2.md +135 -135
- package/skills/python/fastapi-expert/references/testing-async.md +159 -159
- package/skills/python/pandas-pro/SKILL.md +178 -178
- package/skills/python/pandas-pro/references/aggregation-groupby.md +545 -545
- package/skills/python/pandas-pro/references/data-cleaning.md +500 -500
- package/skills/python/pandas-pro/references/dataframe-operations.md +420 -420
- package/skills/python/pandas-pro/references/merging-joining.md +596 -596
- package/skills/python/pandas-pro/references/performance-optimization.md +597 -597
- package/skills/python/python-pro/SKILL.md +177 -177
- package/skills/python/python-pro/references/async-patterns.md +356 -356
- package/skills/python/python-pro/references/packaging.md +460 -460
- package/skills/python/python-pro/references/standard-library.md +378 -378
- package/skills/python/python-pro/references/testing.md +404 -404
- package/skills/python/python-pro/references/type-system.md +290 -290
- package/skills/quality/chaos-engineer/SKILL.md +182 -182
- package/skills/quality/chaos-engineer/references/chaos-tools.md +511 -511
- package/skills/quality/chaos-engineer/references/experiment-design.md +229 -229
- package/skills/quality/chaos-engineer/references/game-days.md +434 -434
- package/skills/quality/chaos-engineer/references/infrastructure-chaos.md +348 -348
- package/skills/quality/chaos-engineer/references/kubernetes-chaos.md +432 -432
- package/skills/quality/code-reviewer/SKILL.md +119 -119
- package/skills/quality/code-reviewer/references/common-issues.md +142 -142
- package/skills/quality/code-reviewer/references/feedback-examples.md +144 -144
- package/skills/quality/code-reviewer/references/receiving-feedback.md +238 -238
- package/skills/quality/code-reviewer/references/report-template.md +109 -109
- package/skills/quality/code-reviewer/references/review-checklist.md +88 -88
- package/skills/quality/code-reviewer/references/spec-compliance-review.md +258 -258
- package/skills/quality/playwright-expert/SKILL.md +169 -169
- package/skills/quality/playwright-expert/references/api-mocking.md +140 -140
- package/skills/quality/playwright-expert/references/configuration.md +155 -155
- package/skills/quality/playwright-expert/references/debugging-flaky.md +150 -150
- package/skills/quality/playwright-expert/references/page-object-model.md +152 -152
- package/skills/quality/playwright-expert/references/selectors-locators.md +119 -119
- package/skills/quality/secure-code-guardian/SKILL.md +191 -191
- package/skills/quality/secure-code-guardian/references/authentication.md +136 -136
- package/skills/quality/secure-code-guardian/references/input-validation.md +146 -146
- package/skills/quality/secure-code-guardian/references/owasp-prevention.md +135 -135
- package/skills/quality/secure-code-guardian/references/security-headers.md +133 -133
- package/skills/quality/secure-code-guardian/references/xss-csrf.md +157 -157
- package/skills/quality/security-reviewer/SKILL.md +103 -103
- package/skills/quality/security-reviewer/references/infrastructure-security.md +268 -268
- package/skills/quality/security-reviewer/references/penetration-testing.md +268 -268
- package/skills/quality/security-reviewer/references/report-template.md +170 -170
- package/skills/quality/security-reviewer/references/sast-tools.md +117 -117
- package/skills/quality/security-reviewer/references/secret-scanning.md +125 -125
- package/skills/quality/security-reviewer/references/vulnerability-patterns.md +152 -152
- package/skills/quality/senior-qa/README.md +196 -196
- package/skills/quality/senior-qa/SKILL.md +399 -399
- package/skills/quality/senior-qa/references/qa_best_practices.md +964 -964
- package/skills/quality/senior-qa/references/test_automation_patterns.md +1009 -1009
- package/skills/quality/senior-qa/references/testing_strategies.md +649 -649
- package/skills/quality/senior-qa/scripts/coverage_analyzer.py +836 -836
- package/skills/quality/senior-qa/scripts/e2e_test_scaffolder.py +820 -820
- package/skills/quality/senior-qa/scripts/test_suite_generator.py +605 -605
- package/skills/quality/tdd-guide/HOW_TO_USE.md +313 -313
- package/skills/quality/tdd-guide/README.md +680 -680
- package/skills/quality/tdd-guide/SKILL.md +122 -122
- package/skills/quality/tdd-guide/assets/expected_output.json +77 -77
- package/skills/quality/tdd-guide/assets/sample_input_python.json +39 -39
- package/skills/quality/tdd-guide/assets/sample_input_typescript.json +36 -36
- package/skills/quality/tdd-guide/references/ci-integration.md +195 -195
- package/skills/quality/tdd-guide/references/framework-guide.md +206 -206
- package/skills/quality/tdd-guide/references/tdd-best-practices.md +128 -128
- package/skills/quality/tdd-guide/scripts/coverage_analyzer.py +434 -434
- package/skills/quality/tdd-guide/scripts/fixture_generator.py +440 -440
- package/skills/quality/tdd-guide/scripts/format_detector.py +384 -384
- package/skills/quality/tdd-guide/scripts/framework_adapter.py +428 -428
- package/skills/quality/tdd-guide/scripts/metrics_calculator.py +456 -456
- package/skills/quality/tdd-guide/scripts/output_formatter.py +354 -354
- package/skills/quality/tdd-guide/scripts/tdd_workflow.py +474 -474
- package/skills/quality/tdd-guide/scripts/test_generator.py +438 -438
- package/skills/quality/test-master/SKILL.md +94 -94
- package/skills/quality/test-master/references/automation-frameworks.md +294 -294
- package/skills/quality/test-master/references/e2e-testing.md +128 -128
- package/skills/quality/test-master/references/integration-testing.md +120 -120
- package/skills/quality/test-master/references/performance-testing.md +118 -118
- package/skills/quality/test-master/references/qa-methodology.md +247 -247
- package/skills/quality/test-master/references/security-testing.md +127 -127
- package/skills/quality/test-master/references/tdd-iron-laws.md +174 -174
- package/skills/quality/test-master/references/test-reports.md +104 -104
- package/skills/quality/test-master/references/testing-anti-patterns.md +231 -231
- package/skills/quality/test-master/references/unit-testing.md +113 -113
- package/skills/ruby/rails-expert/SKILL.md +154 -154
- package/skills/ruby/rails-expert/references/active-record.md +244 -244
- package/skills/ruby/rails-expert/references/api-development.md +401 -401
- package/skills/ruby/rails-expert/references/background-jobs.md +272 -272
- package/skills/ruby/rails-expert/references/hotwire-turbo.md +228 -228
- package/skills/ruby/rails-expert/references/rspec-testing.md +367 -367
- package/skills/swift/swift-expert/SKILL.md +163 -163
- package/skills/swift/swift-expert/references/async-concurrency.md +360 -360
- package/skills/swift/swift-expert/references/memory-performance.md +377 -377
- package/skills/swift/swift-expert/references/protocol-oriented.md +354 -354
- package/skills/swift/swift-expert/references/swiftui-patterns.md +291 -291
- package/skills/swift/swift-expert/references/testing-patterns.md +399 -399
- package/skills/workflow/brainstorming/SKILL.md +164 -164
- package/skills/workflow/brainstorming/scripts/frame-template.html +214 -214
- package/skills/workflow/brainstorming/scripts/helper.js +88 -88
- package/skills/workflow/brainstorming/scripts/server.cjs +354 -354
- package/skills/workflow/brainstorming/scripts/start-server.sh +148 -148
- package/skills/workflow/brainstorming/scripts/stop-server.sh +56 -56
- package/skills/workflow/brainstorming/spec-document-reviewer-prompt.md +49 -49
- package/skills/workflow/brainstorming/visual-companion.md +287 -287
- package/skills/workflow/documentation/SKILL.md +45 -45
- package/skills/workflow/entropy-management/SKILL.md +115 -115
- package/skills/workflow/executing-plans/SKILL.md +70 -70
- package/skills/workflow/finishing-a-development-branch/SKILL.md +200 -200
- package/skills/workflow/receiving-code-review/SKILL.md +213 -213
- package/skills/workflow/requesting-code-review/SKILL.md +105 -105
- package/skills/workflow/requesting-code-review/code-reviewer.md +146 -146
- package/skills/workflow/requirement-engineering/SKILL.md +111 -111
- package/skills/workflow/systematic-debugging/CREATION-LOG.md +119 -119
- package/skills/workflow/systematic-debugging/SKILL.md +296 -296
- package/skills/workflow/systematic-debugging/condition-based-waiting-example.ts +158 -158
- package/skills/workflow/systematic-debugging/condition-based-waiting.md +115 -115
- package/skills/workflow/systematic-debugging/defense-in-depth.md +122 -122
- package/skills/workflow/systematic-debugging/find-polluter.sh +63 -63
- package/skills/workflow/systematic-debugging/root-cause-tracing.md +169 -169
- package/skills/workflow/systematic-debugging/test-academic.md +14 -14
- package/skills/workflow/systematic-debugging/test-pressure-1.md +58 -58
- package/skills/workflow/systematic-debugging/test-pressure-2.md +68 -68
- package/skills/workflow/systematic-debugging/test-pressure-3.md +69 -69
- package/skills/workflow/using-git-worktrees/SKILL.md +218 -218
- package/skills/workflow/verification-before-completion/SKILL.md +139 -139
- package/skills/workflow/writing-plans/SKILL.md +151 -151
- package/skills/workflow/writing-plans/plan-document-reviewer-prompt.md +49 -49
- package/skills/workflow/writing-skills/SKILL.md +655 -655
- package/skills/workflow/writing-skills/anthropic-best-practices.md +1150 -1150
- package/skills/workflow/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -189
- package/skills/workflow/writing-skills/persuasion-principles.md +187 -187
- package/skills/workflow/writing-skills/render-graphs.js +168 -168
- package/skills/workflow/writing-skills/testing-skills-with-subagents.md +384 -384
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: type-design-analyzer
|
|
3
|
-
description: Analyze type design for encapsulation, invariant expression, usefulness, and enforcement.
|
|
4
|
-
model: sonnet
|
|
5
|
-
tools: [Read, Grep, Glob, Bash]
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Type Design Analyzer Agent
|
|
9
|
-
|
|
10
|
-
You evaluate whether types make illegal states harder or impossible to represent.
|
|
11
|
-
|
|
12
|
-
## Evaluation Criteria
|
|
13
|
-
|
|
14
|
-
### 1. Encapsulation
|
|
15
|
-
|
|
16
|
-
- are internal details hidden
|
|
17
|
-
- can invariants be violated from outside
|
|
18
|
-
|
|
19
|
-
### 2. Invariant Expression
|
|
20
|
-
|
|
21
|
-
- do the types encode business rules
|
|
22
|
-
- are impossible states prevented at the type level
|
|
23
|
-
|
|
24
|
-
### 3. Invariant Usefulness
|
|
25
|
-
|
|
26
|
-
- do these invariants prevent real bugs
|
|
27
|
-
- are they aligned with the domain
|
|
28
|
-
|
|
29
|
-
### 4. Enforcement
|
|
30
|
-
|
|
31
|
-
- are invariants enforced by the type system
|
|
32
|
-
- are there easy escape hatches
|
|
33
|
-
|
|
34
|
-
## Output Format
|
|
35
|
-
|
|
36
|
-
For each type reviewed:
|
|
37
|
-
|
|
38
|
-
- type name and location
|
|
39
|
-
- scores for the four dimensions
|
|
40
|
-
- overall assessment
|
|
41
|
-
- specific improvement suggestions
|
|
1
|
+
---
|
|
2
|
+
name: type-design-analyzer
|
|
3
|
+
description: Analyze type design for encapsulation, invariant expression, usefulness, and enforcement.
|
|
4
|
+
model: sonnet
|
|
5
|
+
tools: [Read, Grep, Glob, Bash]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Type Design Analyzer Agent
|
|
9
|
+
|
|
10
|
+
You evaluate whether types make illegal states harder or impossible to represent.
|
|
11
|
+
|
|
12
|
+
## Evaluation Criteria
|
|
13
|
+
|
|
14
|
+
### 1. Encapsulation
|
|
15
|
+
|
|
16
|
+
- are internal details hidden
|
|
17
|
+
- can invariants be violated from outside
|
|
18
|
+
|
|
19
|
+
### 2. Invariant Expression
|
|
20
|
+
|
|
21
|
+
- do the types encode business rules
|
|
22
|
+
- are impossible states prevented at the type level
|
|
23
|
+
|
|
24
|
+
### 3. Invariant Usefulness
|
|
25
|
+
|
|
26
|
+
- do these invariants prevent real bugs
|
|
27
|
+
- are they aligned with the domain
|
|
28
|
+
|
|
29
|
+
### 4. Enforcement
|
|
30
|
+
|
|
31
|
+
- are invariants enforced by the type system
|
|
32
|
+
- are there easy escape hatches
|
|
33
|
+
|
|
34
|
+
## Output Format
|
|
35
|
+
|
|
36
|
+
For each type reviewed:
|
|
37
|
+
|
|
38
|
+
- type name and location
|
|
39
|
+
- scores for the four dimensions
|
|
40
|
+
- overall assessment
|
|
41
|
+
- specific improvement suggestions
|
|
@@ -1,112 +1,112 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: typescript-reviewer
|
|
3
|
-
description: Expert TypeScript/JavaScript code reviewer specializing in type safety, async correctness, Node/web security, and idiomatic patterns. Use for all TypeScript and JavaScript code changes. MUST BE USED for TypeScript/JavaScript projects.
|
|
4
|
-
tools: ["Read", "Grep", "Glob", "Bash"]
|
|
5
|
-
model: sonnet
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are a senior TypeScript engineer ensuring high standards of type-safe, idiomatic TypeScript and JavaScript.
|
|
9
|
-
|
|
10
|
-
When invoked:
|
|
11
|
-
1. Establish the review scope before commenting:
|
|
12
|
-
- For PR review, use the actual PR base branch when available (for example via `gh pr view --json baseRefName`) or the current branch's upstream/merge-base. Do not hard-code `main`.
|
|
13
|
-
- For local review, prefer `git diff --staged` and `git diff` first.
|
|
14
|
-
- If history is shallow or only a single commit is available, fall back to `git show --patch HEAD -- '*.ts' '*.tsx' '*.js' '*.jsx'` so you still inspect code-level changes.
|
|
15
|
-
2. Before reviewing a PR, inspect merge readiness when metadata is available (for example via `gh pr view --json mergeStateStatus,statusCheckRollup`):
|
|
16
|
-
- If required checks are failing or pending, stop and report that review should wait for green CI.
|
|
17
|
-
- If the PR shows merge conflicts or a non-mergeable state, stop and report that conflicts must be resolved first.
|
|
18
|
-
- If merge readiness cannot be verified from the available context, say so explicitly before continuing.
|
|
19
|
-
3. Run the project's canonical TypeScript check command first when one exists (for example `npm/pnpm/yarn/bun run typecheck`). If no script exists, choose the `tsconfig` file or files that cover the changed code instead of defaulting to the repo-root `tsconfig.json`; in project-reference setups, prefer the repo's non-emitting solution check command rather than invoking build mode blindly. Otherwise use `tsc --noEmit -p <relevant-config>`. Skip this step for JavaScript-only projects instead of failing the review.
|
|
20
|
-
4. Run `eslint . --ext .ts,.tsx,.js,.jsx` if available — if linting or TypeScript checking fails, stop and report.
|
|
21
|
-
5. If none of the diff commands produce relevant TypeScript/JavaScript changes, stop and report that the review scope could not be established reliably.
|
|
22
|
-
6. Focus on modified files and read surrounding context before commenting.
|
|
23
|
-
7. Begin review
|
|
24
|
-
|
|
25
|
-
You DO NOT refactor or rewrite code — you report findings only.
|
|
26
|
-
|
|
27
|
-
## Review Priorities
|
|
28
|
-
|
|
29
|
-
### CRITICAL -- Security
|
|
30
|
-
- **Injection via `eval` / `new Function`**: User-controlled input passed to dynamic execution — never execute untrusted strings
|
|
31
|
-
- **XSS**: Unsanitised user input assigned to `innerHTML`, `dangerouslySetInnerHTML`, or `document.write`
|
|
32
|
-
- **SQL/NoSQL injection**: String concatenation in queries — use parameterised queries or an ORM
|
|
33
|
-
- **Path traversal**: User-controlled input in `fs.readFile`, `path.join` without `path.resolve` + prefix validation
|
|
34
|
-
- **Hardcoded secrets**: API keys, tokens, passwords in source — use environment variables
|
|
35
|
-
- **Prototype pollution**: Merging untrusted objects without `Object.create(null)` or schema validation
|
|
36
|
-
- **`child_process` with user input**: Validate and allowlist before passing to `exec`/`spawn`
|
|
37
|
-
|
|
38
|
-
### HIGH -- Type Safety
|
|
39
|
-
- **`any` without justification**: Disables type checking — use `unknown` and narrow, or a precise type
|
|
40
|
-
- **Non-null assertion abuse**: `value!` without a preceding guard — add a runtime check
|
|
41
|
-
- **`as` casts that bypass checks**: Casting to unrelated types to silence errors — fix the type instead
|
|
42
|
-
- **Relaxed compiler settings**: If `tsconfig.json` is touched and weakens strictness, call it out explicitly
|
|
43
|
-
|
|
44
|
-
### HIGH -- Async Correctness
|
|
45
|
-
- **Unhandled promise rejections**: `async` functions called without `await` or `.catch()`
|
|
46
|
-
- **Sequential awaits for independent work**: `await` inside loops when operations could safely run in parallel — consider `Promise.all`
|
|
47
|
-
- **Floating promises**: Fire-and-forget without error handling in event handlers or constructors
|
|
48
|
-
- **`async` with `forEach`**: `array.forEach(async fn)` does not await — use `for...of` or `Promise.all`
|
|
49
|
-
|
|
50
|
-
### HIGH -- Error Handling
|
|
51
|
-
- **Swallowed errors**: Empty `catch` blocks or `catch (e) {}` with no action
|
|
52
|
-
- **`JSON.parse` without try/catch**: Throws on invalid input — always wrap
|
|
53
|
-
- **Throwing non-Error objects**: `throw "message"` — always `throw new Error("message")`
|
|
54
|
-
- **Missing error boundaries**: React trees without `<ErrorBoundary>` around async/data-fetching subtrees
|
|
55
|
-
|
|
56
|
-
### HIGH -- Idiomatic Patterns
|
|
57
|
-
- **Mutable shared state**: Module-level mutable variables — prefer immutable data and pure functions
|
|
58
|
-
- **`var` usage**: Use `const` by default, `let` when reassignment is needed
|
|
59
|
-
- **Implicit `any` from missing return types**: Public functions should have explicit return types
|
|
60
|
-
- **Callback-style async**: Mixing callbacks with `async/await` — standardise on promises
|
|
61
|
-
- **`==` instead of `===`**: Use strict equality throughout
|
|
62
|
-
|
|
63
|
-
### HIGH -- Node.js Specifics
|
|
64
|
-
- **Synchronous fs in request handlers**: `fs.readFileSync` blocks the event loop — use async variants
|
|
65
|
-
- **Missing input validation at boundaries**: No schema validation (zod, joi, yup) on external data
|
|
66
|
-
- **Unvalidated `process.env` access**: Access without fallback or startup validation
|
|
67
|
-
- **`require()` in ESM context**: Mixing module systems without clear intent
|
|
68
|
-
|
|
69
|
-
### MEDIUM -- React / Next.js (when applicable)
|
|
70
|
-
- **Missing dependency arrays**: `useEffect`/`useCallback`/`useMemo` with incomplete deps — use exhaustive-deps lint rule
|
|
71
|
-
- **State mutation**: Mutating state directly instead of returning new objects
|
|
72
|
-
- **Key prop using index**: `key={index}` in dynamic lists — use stable unique IDs
|
|
73
|
-
- **`useEffect` for derived state**: Compute derived values during render, not in effects
|
|
74
|
-
- **Server/client boundary leaks**: Importing server-only modules into client components in Next.js
|
|
75
|
-
|
|
76
|
-
### MEDIUM -- Performance
|
|
77
|
-
- **Object/array creation in render**: Inline objects as props cause unnecessary re-renders — hoist or memoize
|
|
78
|
-
- **N+1 queries**: Database or API calls inside loops — batch or use `Promise.all`
|
|
79
|
-
- **Missing `React.memo` / `useMemo`**: Expensive computations or components re-running on every render
|
|
80
|
-
- **Large bundle imports**: `import _ from 'lodash'` — use named imports or tree-shakeable alternatives
|
|
81
|
-
|
|
82
|
-
### MEDIUM -- Best Practices
|
|
83
|
-
- **`console.log` left in production code**: Use a structured logger
|
|
84
|
-
- **Magic numbers/strings**: Use named constants or enums
|
|
85
|
-
- **Deep optional chaining without fallback**: `a?.b?.c?.d` with no default — add `?? fallback`
|
|
86
|
-
- **Inconsistent naming**: camelCase for variables/functions, PascalCase for types/classes/components
|
|
87
|
-
|
|
88
|
-
## Diagnostic Commands
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
npm run typecheck --if-present # Canonical TypeScript check when the project defines one
|
|
92
|
-
tsc --noEmit -p <relevant-config> # Fallback type check for the tsconfig that owns the changed files
|
|
93
|
-
eslint . --ext .ts,.tsx,.js,.jsx # Linting
|
|
94
|
-
prettier --check . # Format check
|
|
95
|
-
npm audit # Dependency vulnerabilities (or the equivalent yarn/pnpm/bun audit command)
|
|
96
|
-
vitest run # Tests (Vitest)
|
|
97
|
-
jest --ci # Tests (Jest)
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
## Approval Criteria
|
|
101
|
-
|
|
102
|
-
- **Approve**: No CRITICAL or HIGH issues
|
|
103
|
-
- **Warning**: MEDIUM issues only (can merge with caution)
|
|
104
|
-
- **Block**: CRITICAL or HIGH issues found
|
|
105
|
-
|
|
106
|
-
## Reference
|
|
107
|
-
|
|
108
|
-
This repo does not yet ship a dedicated `typescript-patterns` skill. For detailed TypeScript and JavaScript patterns, use `coding-standards` plus `frontend-patterns` or `backend-patterns` based on the code being reviewed.
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
Review with the mindset: "Would this code pass review at a top TypeScript shop or well-maintained open-source project?"
|
|
1
|
+
---
|
|
2
|
+
name: typescript-reviewer
|
|
3
|
+
description: Expert TypeScript/JavaScript code reviewer specializing in type safety, async correctness, Node/web security, and idiomatic patterns. Use for all TypeScript and JavaScript code changes. MUST BE USED for TypeScript/JavaScript projects.
|
|
4
|
+
tools: ["Read", "Grep", "Glob", "Bash"]
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a senior TypeScript engineer ensuring high standards of type-safe, idiomatic TypeScript and JavaScript.
|
|
9
|
+
|
|
10
|
+
When invoked:
|
|
11
|
+
1. Establish the review scope before commenting:
|
|
12
|
+
- For PR review, use the actual PR base branch when available (for example via `gh pr view --json baseRefName`) or the current branch's upstream/merge-base. Do not hard-code `main`.
|
|
13
|
+
- For local review, prefer `git diff --staged` and `git diff` first.
|
|
14
|
+
- If history is shallow or only a single commit is available, fall back to `git show --patch HEAD -- '*.ts' '*.tsx' '*.js' '*.jsx'` so you still inspect code-level changes.
|
|
15
|
+
2. Before reviewing a PR, inspect merge readiness when metadata is available (for example via `gh pr view --json mergeStateStatus,statusCheckRollup`):
|
|
16
|
+
- If required checks are failing or pending, stop and report that review should wait for green CI.
|
|
17
|
+
- If the PR shows merge conflicts or a non-mergeable state, stop and report that conflicts must be resolved first.
|
|
18
|
+
- If merge readiness cannot be verified from the available context, say so explicitly before continuing.
|
|
19
|
+
3. Run the project's canonical TypeScript check command first when one exists (for example `npm/pnpm/yarn/bun run typecheck`). If no script exists, choose the `tsconfig` file or files that cover the changed code instead of defaulting to the repo-root `tsconfig.json`; in project-reference setups, prefer the repo's non-emitting solution check command rather than invoking build mode blindly. Otherwise use `tsc --noEmit -p <relevant-config>`. Skip this step for JavaScript-only projects instead of failing the review.
|
|
20
|
+
4. Run `eslint . --ext .ts,.tsx,.js,.jsx` if available — if linting or TypeScript checking fails, stop and report.
|
|
21
|
+
5. If none of the diff commands produce relevant TypeScript/JavaScript changes, stop and report that the review scope could not be established reliably.
|
|
22
|
+
6. Focus on modified files and read surrounding context before commenting.
|
|
23
|
+
7. Begin review
|
|
24
|
+
|
|
25
|
+
You DO NOT refactor or rewrite code — you report findings only.
|
|
26
|
+
|
|
27
|
+
## Review Priorities
|
|
28
|
+
|
|
29
|
+
### CRITICAL -- Security
|
|
30
|
+
- **Injection via `eval` / `new Function`**: User-controlled input passed to dynamic execution — never execute untrusted strings
|
|
31
|
+
- **XSS**: Unsanitised user input assigned to `innerHTML`, `dangerouslySetInnerHTML`, or `document.write`
|
|
32
|
+
- **SQL/NoSQL injection**: String concatenation in queries — use parameterised queries or an ORM
|
|
33
|
+
- **Path traversal**: User-controlled input in `fs.readFile`, `path.join` without `path.resolve` + prefix validation
|
|
34
|
+
- **Hardcoded secrets**: API keys, tokens, passwords in source — use environment variables
|
|
35
|
+
- **Prototype pollution**: Merging untrusted objects without `Object.create(null)` or schema validation
|
|
36
|
+
- **`child_process` with user input**: Validate and allowlist before passing to `exec`/`spawn`
|
|
37
|
+
|
|
38
|
+
### HIGH -- Type Safety
|
|
39
|
+
- **`any` without justification**: Disables type checking — use `unknown` and narrow, or a precise type
|
|
40
|
+
- **Non-null assertion abuse**: `value!` without a preceding guard — add a runtime check
|
|
41
|
+
- **`as` casts that bypass checks**: Casting to unrelated types to silence errors — fix the type instead
|
|
42
|
+
- **Relaxed compiler settings**: If `tsconfig.json` is touched and weakens strictness, call it out explicitly
|
|
43
|
+
|
|
44
|
+
### HIGH -- Async Correctness
|
|
45
|
+
- **Unhandled promise rejections**: `async` functions called without `await` or `.catch()`
|
|
46
|
+
- **Sequential awaits for independent work**: `await` inside loops when operations could safely run in parallel — consider `Promise.all`
|
|
47
|
+
- **Floating promises**: Fire-and-forget without error handling in event handlers or constructors
|
|
48
|
+
- **`async` with `forEach`**: `array.forEach(async fn)` does not await — use `for...of` or `Promise.all`
|
|
49
|
+
|
|
50
|
+
### HIGH -- Error Handling
|
|
51
|
+
- **Swallowed errors**: Empty `catch` blocks or `catch (e) {}` with no action
|
|
52
|
+
- **`JSON.parse` without try/catch**: Throws on invalid input — always wrap
|
|
53
|
+
- **Throwing non-Error objects**: `throw "message"` — always `throw new Error("message")`
|
|
54
|
+
- **Missing error boundaries**: React trees without `<ErrorBoundary>` around async/data-fetching subtrees
|
|
55
|
+
|
|
56
|
+
### HIGH -- Idiomatic Patterns
|
|
57
|
+
- **Mutable shared state**: Module-level mutable variables — prefer immutable data and pure functions
|
|
58
|
+
- **`var` usage**: Use `const` by default, `let` when reassignment is needed
|
|
59
|
+
- **Implicit `any` from missing return types**: Public functions should have explicit return types
|
|
60
|
+
- **Callback-style async**: Mixing callbacks with `async/await` — standardise on promises
|
|
61
|
+
- **`==` instead of `===`**: Use strict equality throughout
|
|
62
|
+
|
|
63
|
+
### HIGH -- Node.js Specifics
|
|
64
|
+
- **Synchronous fs in request handlers**: `fs.readFileSync` blocks the event loop — use async variants
|
|
65
|
+
- **Missing input validation at boundaries**: No schema validation (zod, joi, yup) on external data
|
|
66
|
+
- **Unvalidated `process.env` access**: Access without fallback or startup validation
|
|
67
|
+
- **`require()` in ESM context**: Mixing module systems without clear intent
|
|
68
|
+
|
|
69
|
+
### MEDIUM -- React / Next.js (when applicable)
|
|
70
|
+
- **Missing dependency arrays**: `useEffect`/`useCallback`/`useMemo` with incomplete deps — use exhaustive-deps lint rule
|
|
71
|
+
- **State mutation**: Mutating state directly instead of returning new objects
|
|
72
|
+
- **Key prop using index**: `key={index}` in dynamic lists — use stable unique IDs
|
|
73
|
+
- **`useEffect` for derived state**: Compute derived values during render, not in effects
|
|
74
|
+
- **Server/client boundary leaks**: Importing server-only modules into client components in Next.js
|
|
75
|
+
|
|
76
|
+
### MEDIUM -- Performance
|
|
77
|
+
- **Object/array creation in render**: Inline objects as props cause unnecessary re-renders — hoist or memoize
|
|
78
|
+
- **N+1 queries**: Database or API calls inside loops — batch or use `Promise.all`
|
|
79
|
+
- **Missing `React.memo` / `useMemo`**: Expensive computations or components re-running on every render
|
|
80
|
+
- **Large bundle imports**: `import _ from 'lodash'` — use named imports or tree-shakeable alternatives
|
|
81
|
+
|
|
82
|
+
### MEDIUM -- Best Practices
|
|
83
|
+
- **`console.log` left in production code**: Use a structured logger
|
|
84
|
+
- **Magic numbers/strings**: Use named constants or enums
|
|
85
|
+
- **Deep optional chaining without fallback**: `a?.b?.c?.d` with no default — add `?? fallback`
|
|
86
|
+
- **Inconsistent naming**: camelCase for variables/functions, PascalCase for types/classes/components
|
|
87
|
+
|
|
88
|
+
## Diagnostic Commands
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npm run typecheck --if-present # Canonical TypeScript check when the project defines one
|
|
92
|
+
tsc --noEmit -p <relevant-config> # Fallback type check for the tsconfig that owns the changed files
|
|
93
|
+
eslint . --ext .ts,.tsx,.js,.jsx # Linting
|
|
94
|
+
prettier --check . # Format check
|
|
95
|
+
npm audit # Dependency vulnerabilities (or the equivalent yarn/pnpm/bun audit command)
|
|
96
|
+
vitest run # Tests (Vitest)
|
|
97
|
+
jest --ci # Tests (Jest)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Approval Criteria
|
|
101
|
+
|
|
102
|
+
- **Approve**: No CRITICAL or HIGH issues
|
|
103
|
+
- **Warning**: MEDIUM issues only (can merge with caution)
|
|
104
|
+
- **Block**: CRITICAL or HIGH issues found
|
|
105
|
+
|
|
106
|
+
## Reference
|
|
107
|
+
|
|
108
|
+
This repo does not yet ship a dedicated `typescript-patterns` skill. For detailed TypeScript and JavaScript patterns, use `coding-standards` plus `frontend-patterns` or `backend-patterns` based on the code being reviewed.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
Review with the mindset: "Would this code pass review at a top TypeScript shop or well-maintained open-source project?"
|
package/cli/commands/update.mjs
CHANGED
|
@@ -31,7 +31,7 @@ export async function update(ctx) {
|
|
|
31
31
|
log.step('更新范围')
|
|
32
32
|
log.dim('将覆盖更新:')
|
|
33
33
|
log.dim(' • scripts/harness/*(传感器脚本)')
|
|
34
|
-
log.dim(' • 已启用 harness 的适配层(.claude/ 或 .codex
|
|
34
|
+
log.dim(' • 已启用 harness 的适配层(.claude/ 或 .codex/,settings.json 仅合并必要项)')
|
|
35
35
|
log.dim(' • 已选模块下的 skill 目录')
|
|
36
36
|
log.dim(' • docs/(主源文档)+ manifests/')
|
|
37
37
|
log.dim('')
|
package/cli/utils/scaffold.mjs
CHANGED
|
@@ -73,6 +73,8 @@ export const CLAUDE_CORE_FILES = [
|
|
|
73
73
|
'.claude-plugin/plugin.json',
|
|
74
74
|
]
|
|
75
75
|
|
|
76
|
+
const CLAUDE_SETTINGS_FILE = '.claude/settings.json'
|
|
77
|
+
|
|
76
78
|
/** Codex 适配层(config + 3 个 Codex 原生 persona TOML + plugin 元数据 + 入口) */
|
|
77
79
|
export const CODEX_CORE_FILES = [
|
|
78
80
|
'AGENTS.md',
|
|
@@ -240,6 +242,55 @@ export function processTemplate(filePath, variables) {
|
|
|
240
242
|
writeFileSync(filePath, content, 'utf-8')
|
|
241
243
|
}
|
|
242
244
|
|
|
245
|
+
function readJsonMaybe(path) {
|
|
246
|
+
if (!existsSync(path)) return null
|
|
247
|
+
try {
|
|
248
|
+
return JSON.parse(readFileSync(path, 'utf-8'))
|
|
249
|
+
} catch {
|
|
250
|
+
return null
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
function mergeUnique(first = [], second = []) {
|
|
255
|
+
return [...new Set([...first, ...second])]
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Merge Claude settings instead of overwriting user permissions.
|
|
260
|
+
* This enables experimental Agent Teams while preserving project-specific settings.
|
|
261
|
+
*/
|
|
262
|
+
export function mergeClaudeSettings(pkgRoot, projectRoot) {
|
|
263
|
+
const src = join(pkgRoot, CLAUDE_SETTINGS_FILE)
|
|
264
|
+
const dest = join(projectRoot, CLAUDE_SETTINGS_FILE)
|
|
265
|
+
const defaults = readJsonMaybe(src)
|
|
266
|
+
if (!defaults) return false
|
|
267
|
+
|
|
268
|
+
const existing = readJsonMaybe(dest) || {}
|
|
269
|
+
const merged = {
|
|
270
|
+
...defaults,
|
|
271
|
+
...existing,
|
|
272
|
+
env: {
|
|
273
|
+
...(defaults.env || {}),
|
|
274
|
+
...(existing.env || {}),
|
|
275
|
+
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS: '1',
|
|
276
|
+
},
|
|
277
|
+
permissions: {
|
|
278
|
+
...(defaults.permissions || {}),
|
|
279
|
+
...(existing.permissions || {}),
|
|
280
|
+
allow: mergeUnique(defaults.permissions?.allow, existing.permissions?.allow),
|
|
281
|
+
deny: mergeUnique(defaults.permissions?.deny, existing.permissions?.deny),
|
|
282
|
+
},
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
if (!existing.teammateMode && defaults.teammateMode) {
|
|
286
|
+
merged.teammateMode = defaults.teammateMode
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
mkdirSync(dirname(dest), { recursive: true })
|
|
290
|
+
writeFileSync(dest, JSON.stringify(merged, null, 2) + '\n', 'utf-8')
|
|
291
|
+
return true
|
|
292
|
+
}
|
|
293
|
+
|
|
243
294
|
// ─── 配置管理 ───
|
|
244
295
|
|
|
245
296
|
const CONFIG_FILE = '.aigroup.json'
|
|
@@ -319,6 +370,7 @@ export function scaffold(pkgRoot, projectRoot, options = {}) {
|
|
|
319
370
|
const ok = copySingleFile(join(pkgRoot, file), join(projectRoot, file), overwrite)
|
|
320
371
|
if (ok) claudeCopied++
|
|
321
372
|
}
|
|
373
|
+
if (mergeClaudeSettings(pkgRoot, projectRoot)) claudeCopied++
|
|
322
374
|
sections.push({ name: 'Claude Code 核心(commands + hooks + plugin)', count: claudeCopied })
|
|
323
375
|
totalCopied += claudeCopied
|
|
324
376
|
|
|
@@ -429,6 +481,7 @@ export function scaffoldUpdate(pkgRoot, projectRoot) {
|
|
|
429
481
|
const ok = copySingleFile(join(pkgRoot, file), join(projectRoot, file), true)
|
|
430
482
|
if (ok) claudeCopied++
|
|
431
483
|
}
|
|
484
|
+
if (mergeClaudeSettings(pkgRoot, projectRoot)) claudeCopied++
|
|
432
485
|
// 已安装的 agent 模块按 config 覆盖更新
|
|
433
486
|
const agentModules = config?.agentModules || getDefaultAgentModuleIds(pkgRoot)
|
|
434
487
|
const allAgentModules = getAgentModules(pkgRoot)
|
package/docs/rules/agents.md
CHANGED
|
@@ -1,50 +1,166 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
|
17
|
-
|
|
18
|
-
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
1
|
+
# Agent Team 编排规则
|
|
2
|
+
|
|
3
|
+
> Claude Code 端使用官方 **Agent Teams** 能力:主会话是 Team Lead,spawn 多个独立 Claude Code teammates,并可复用 `.claude/agents/<name>.md` 的 project-level agent 定义。`.claude/settings.json` 默认写入 `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`。
|
|
4
|
+
|
|
5
|
+
## 核心原则
|
|
6
|
+
|
|
7
|
+
1. **Team first**:非平凡任务先判断是否需要 agent team,再执行。不要把复杂需求压成一个万能 subagent。
|
|
8
|
+
2. **Main session leads**:主会话拥有需求、计划、状态、验收和 `.orchestration/` 产物;teammate 拥有各自专业判断和任务输出。
|
|
9
|
+
3. **Specialist owns specialist work**:代码实现、TDD、审查、安全、E2E、构建修复、文档更新分别交给对应 agent。
|
|
10
|
+
4. **Parallel where independent**:探索、审查、测试、文档核对等无依赖任务并行派遣;实施链路按依赖串行。
|
|
11
|
+
5. **Lead controls membership**:teammate 不创建嵌套 team、不私自扩队。需要新增成员时,由 Team Lead 追加 spawn 并合并结果。
|
|
12
|
+
6. **Evidence over vibes**:每个 teammate 返回文件、命令、结果、风险和后续建议;主会话最终汇报必须包含验证证据。
|
|
13
|
+
|
|
14
|
+
## Agent Team vs Subagent
|
|
15
|
+
|
|
16
|
+
| 机制 | 适合场景 | 选择规则 |
|
|
17
|
+
|------|----------|----------|
|
|
18
|
+
| Agent Team | 多个 teammate 需要并行探索、互相分享发现、协同拆任务 | 跨层功能、复杂 review、根因不明 debug、新模块 |
|
|
19
|
+
| Subagent | 只需要一个 focused worker 返回摘要 | 单点审查、一次性搜索、小范围修复 |
|
|
20
|
+
|
|
21
|
+
Agent Teams 需要 Claude Code v2.1.32 或更新版本。可用 `claude --version` 检查。
|
|
22
|
+
|
|
23
|
+
如果 Claude Code 版本低于 agent teams 要求,或用户拒绝实验功能,按同一团队拓扑回退为普通 subagent 派遣,并在汇报中说明。
|
|
24
|
+
|
|
25
|
+
## 可用代理
|
|
26
|
+
|
|
27
|
+
Claude Code 实际启用位置:`.claude/agents/<name>.md`。`aigroup init` 按 manifest 模块从 `agents/` 源池安装。创建 agent team 时,使用这些名字作为 teammate 的 agent type。
|
|
28
|
+
|
|
29
|
+
默认 `agents-core`:
|
|
30
|
+
|
|
31
|
+
| Agent | 用途 | 何时使用 |
|
|
32
|
+
|-------|------|----------|
|
|
33
|
+
| `planner` | 实施规划 | 复杂功能、重构、跨模块任务 |
|
|
34
|
+
| `architect` | 系统设计 | 架构决策、边界调整、关键技术选择 |
|
|
35
|
+
| `tdd-guide` | TDD 实施 | 新功能、bugfix、需要测试先行的改动 |
|
|
36
|
+
| `code-reviewer` | 代码审查 | 所有代码变更后,必须使用 |
|
|
37
|
+
| `security-reviewer` | 安全分析 | auth、支付、PII、权限、加密、外部输入 |
|
|
38
|
+
| `build-error-resolver` | 构建修复 | build、typecheck、依赖、配置失败 |
|
|
39
|
+
| `e2e-runner` | 端到端验证 | 关键用户流程、回归风险、UI/API 集成 |
|
|
40
|
+
| `refactor-cleaner` | 清理重构 | 死代码、重复逻辑、结构整理 |
|
|
41
|
+
| `doc-updater` | 文档更新 | README、API 文档、变更说明同步 |
|
|
42
|
+
| `rust-reviewer` | Rust 审查 | Rust 代码质量、安全、性能 |
|
|
43
|
+
| `init-architect` | 项目初始化 | `/init-project` 生成项目 AI 上下文 |
|
|
44
|
+
| `get-current-datetime` | 时间工具 | 需要可靠 UTC 时间戳 |
|
|
45
|
+
|
|
46
|
+
可选模块会安装语言、质量、运维、领域专项 agent。Team Lead 只能 spawn 已安装 agent type;未安装时说明缺口,选择最接近的已安装 agent 或提示用户运行 `aig update` 增补模块。
|
|
47
|
+
|
|
48
|
+
## 触发规则
|
|
49
|
+
|
|
50
|
+
使用 aiGroup 框架处理任务时,以下场景默认创建 Agent Team:
|
|
51
|
+
|
|
52
|
+
| 场景 | 默认团队 | 备注 |
|
|
53
|
+
|------|----------|------|
|
|
54
|
+
| 复杂功能 / 跨模块需求 | `planner` → `tdd-guide` → `code-reviewer` | 有架构不确定性时在最前加 `architect` |
|
|
55
|
+
| 架构变更 / 重大重构 | `architect` + `planner` → 实施 agent → `code-reviewer` | `architect` 与 `planner` 可先并行收集视角,再由主会话合并 |
|
|
56
|
+
| Bug 修复 | `tdd-guide` → `code-reviewer` | 根因不明时先派探索/调试类 agent 或使用 debugging skill |
|
|
57
|
+
| 构建 / 类型失败 | `build-error-resolver` → `code-reviewer` | 目标是让一个失败命令变绿,不顺手重构 |
|
|
58
|
+
| 安全敏感变更 | `code-reviewer` + `security-reviewer` | auth、支付、PII、权限边界必须并行审 |
|
|
59
|
+
| 关键用户流程 | `tdd-guide` + `e2e-runner` → `code-reviewer` | UI/API/状态流组合风险高时使用 |
|
|
60
|
+
| 文档或契约更新 | `doc-updater` + 相关 reviewer | 文档必须和代码事实一致 |
|
|
61
|
+
|
|
62
|
+
轻量任务可以使用最小团队,或在 agent team 不划算时回退为 subagent:
|
|
63
|
+
|
|
64
|
+
- 纯问答、笔误、单行配置:主会话直接处理。
|
|
65
|
+
- 只要计划:`planner` 单人团队,若发现架构/安全/测试风险再扩队。
|
|
66
|
+
- 只要审查:`code-reviewer` 单人团队,敏感路径扩为 review team。
|
|
67
|
+
|
|
68
|
+
## Team 拓扑
|
|
69
|
+
|
|
70
|
+
### Feature Team
|
|
71
|
+
|
|
72
|
+
适用:新功能、较大 bugfix、跨层改动。
|
|
73
|
+
|
|
74
|
+
1. `planner` 输出任务拆解、依赖、风险和验收点。
|
|
75
|
+
2. `architect` 在架构不确定时给边界和方案约束。
|
|
76
|
+
3. `tdd-guide` 按 Red → Green → Refactor 实施并附测试证据。
|
|
77
|
+
4. `code-reviewer` 做 Stage 1 规格符合性 + Stage 2 代码质量审查。
|
|
78
|
+
5. `security-reviewer`、`e2e-runner` 按风险加入。
|
|
79
|
+
|
|
80
|
+
### Review Team
|
|
81
|
+
|
|
82
|
+
适用:PR、git diff、高风险改动。
|
|
83
|
+
|
|
84
|
+
并行派遣:
|
|
85
|
+
|
|
86
|
+
- `code-reviewer`:正确性、维护性、测试缺口。
|
|
87
|
+
- `security-reviewer`:安全和隐私风险。
|
|
88
|
+
- `e2e-runner`:关键流程是否可执行。
|
|
89
|
+
- 语言专项 reviewer:语言/框架细节。
|
|
90
|
+
|
|
91
|
+
主会话按严重度合并发现,去重冲突结论,并向用户输出可操作清单。
|
|
92
|
+
|
|
93
|
+
### Build Recovery Team
|
|
94
|
+
|
|
95
|
+
适用:build/typecheck/test infra/依赖配置失败。
|
|
96
|
+
|
|
97
|
+
1. 主会话先获取完整失败命令和输出。
|
|
98
|
+
2. `build-error-resolver` 只修导致该命令失败的最小问题。
|
|
99
|
+
3. 主会话重跑同一命令。
|
|
100
|
+
4. `code-reviewer` 审查最小 diff 和副作用。
|
|
101
|
+
|
|
102
|
+
### Documentation Team
|
|
103
|
+
|
|
104
|
+
适用:README、API、架构文档、迁移说明。
|
|
105
|
+
|
|
106
|
+
1. `doc-updater` 根据代码事实更新文档。
|
|
107
|
+
2. 需要事实校验时,派相关 reviewer 或 explorer 并行核对。
|
|
108
|
+
3. 主会话确认文档没有承诺不存在的行为。
|
|
109
|
+
|
|
110
|
+
## Spawn 合同
|
|
111
|
+
|
|
112
|
+
每次 spawn teammate 时,prompt 必须包含:
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
Teammate: <stable name>
|
|
116
|
+
Agent type: <agent name from .claude/agents/>
|
|
117
|
+
Objective: <本次明确目标>
|
|
118
|
+
Context:
|
|
119
|
+
- 用户请求:...
|
|
120
|
+
- 当前阶段 / session:...
|
|
121
|
+
- 相关文件:...
|
|
122
|
+
- 已知约束:...
|
|
123
|
+
Do:
|
|
124
|
+
- ...
|
|
125
|
+
Do not:
|
|
126
|
+
- ...
|
|
127
|
+
Expected output:
|
|
128
|
+
- Summary
|
|
129
|
+
- Files inspected / changed
|
|
130
|
+
- Validation commands and results
|
|
131
|
+
- Risks / blockers
|
|
132
|
+
- Follow-ups
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
实现类 teammate 还必须说明:
|
|
136
|
+
|
|
137
|
+
- 可修改范围和禁止修改范围。
|
|
138
|
+
- 测试命令或验证口径。
|
|
139
|
+
- 是否允许新增依赖。
|
|
140
|
+
- 是否需要遵守 TDD。
|
|
141
|
+
|
|
142
|
+
审查类 teammate 还必须说明:
|
|
143
|
+
|
|
144
|
+
- 审查范围:路径、diff、commit 区间或 session 产物。
|
|
145
|
+
- Stage 1 基准:PRD、计划、需求、架构约束。
|
|
146
|
+
- 输出只列确定问题,按严重度排序。
|
|
147
|
+
|
|
148
|
+
## 编排流程
|
|
149
|
+
|
|
150
|
+
1. **判断规模**:轻量直接处理;需要两个以上专业视角时建 team;需要证据链时用 `/workflow-start` 建 session。
|
|
151
|
+
2. **宣布团队**:告诉用户将创建 agent team、有哪些 teammate、为什么、哪些并行、哪些串行。
|
|
152
|
+
3. **创建并 spawn**:创建 agent team,按 agent type spawn teammates;独立任务并行;有依赖任务等待前置 handoff。
|
|
153
|
+
4. **写入状态**:工作流 session 中,每个 worker 使用 `.orchestration/<session>/<worker>/` 三件套。
|
|
154
|
+
5. **合并结论**:主会话解决冲突、去重发现、明确风险。
|
|
155
|
+
6. **验证收口**:运行必要检查,或说明未能运行的原因。
|
|
156
|
+
7. **清理 team**:任务完成后由 Team Lead 清理 agent team,避免残留会话。
|
|
157
|
+
|
|
158
|
+
## 反模式
|
|
159
|
+
|
|
160
|
+
- 主会话直接实现复杂代码,绕过 `tdd-guide` / 语言专项 agent。
|
|
161
|
+
- 所有问题都派给一个“全能” agent。
|
|
162
|
+
- 先实现再补计划,或先合并再审查。
|
|
163
|
+
- 安全敏感改动只做普通 code review。
|
|
164
|
+
- 派遣 prompt 只有一句话,缺少文件、约束和验收标准。
|
|
165
|
+
- teammate 创建嵌套 team 或私自扩队,导致 Team Lead 失去状态控制。
|
|
166
|
+
- agent 输出没有命令、文件、证据,主会话仍然宣称完成。
|