pi-dev-team 0.2.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/LICENSE +21 -0
- package/PORTING.md +134 -0
- package/README.md +207 -0
- package/UPSTREAM.json +64 -0
- package/agents/Explore.md +15 -0
- package/agents/a11y-review.md +118 -0
- package/agents/adr-author.md +70 -0
- package/agents/ai-provenance-review.md +120 -0
- package/agents/angular-reactivity-review.md +95 -0
- package/agents/arch-review.md +135 -0
- package/agents/architect.md +78 -0
- package/agents/autoship-batch-proposer.md +69 -0
- package/agents/claude-setup-review.md +136 -0
- package/agents/codebase-recon.md +184 -0
- package/agents/component-architecture-review.md +119 -0
- package/agents/concurrency-review.md +109 -0
- package/agents/correctness-review.md +290 -0
- package/agents/data-flow-tracer.md +120 -0
- package/agents/doc-review.md +165 -0
- package/agents/domain-review.md +136 -0
- package/agents/general-purpose.md +10 -0
- package/agents/gherkin-quality-critic.md +113 -0
- package/agents/js-fp-review.md +114 -0
- package/agents/mutation-kill.md +684 -0
- package/agents/naming-review.md +142 -0
- package/agents/orchestrator.md +339 -0
- package/agents/performance-review.md +105 -0
- package/agents/plan-review-acceptance.md +115 -0
- package/agents/plan-review-design.md +90 -0
- package/agents/plan-review-parallelization.md +84 -0
- package/agents/plan-review-strategic.md +96 -0
- package/agents/plan-review-ux.md +110 -0
- package/agents/platform-engineer.md +64 -0
- package/agents/product-manager.md +68 -0
- package/agents/progress-guardian.md +79 -0
- package/agents/qa-engineer.md +289 -0
- package/agents/quality-reviewer.md +132 -0
- package/agents/react-reactivity-review.md +102 -0
- package/agents/refactor-opportunity-review.md +128 -0
- package/agents/security-engineer.md +60 -0
- package/agents/security-review.md +218 -0
- package/agents/session-analysis.md +95 -0
- package/agents/software-engineer.md +105 -0
- package/agents/spec-compliance-review.md +100 -0
- package/agents/spec-reviewer.md +114 -0
- package/agents/structure-review.md +146 -0
- package/agents/tech-writer.md +84 -0
- package/agents/test-review.md +246 -0
- package/agents/test-smell-review.md +188 -0
- package/agents/token-efficiency-review.md +139 -0
- package/agents/ui-ux-designer.md +54 -0
- package/agents/vue-reactivity-review.md +95 -0
- package/bin/__pycache__/claudecpython-314.pyc +0 -0
- package/bin/claude +258 -0
- package/docs/upstream/.pages +1 -0
- package/docs/upstream/CHANGELOG.md +2586 -0
- package/docs/upstream/README.md +155 -0
- package/docs/upstream/agent-architecture.md +214 -0
- package/docs/upstream/agent_info.md +187 -0
- package/docs/upstream/artifact-migration.md +124 -0
- package/docs/upstream/code-intelligence-nudge.md +149 -0
- package/docs/upstream/code-review-process.md +294 -0
- package/docs/upstream/concurrent-use.md +73 -0
- package/docs/upstream/context-management.md +111 -0
- package/docs/upstream/developer-notes.md +280 -0
- package/docs/upstream/diagrams/architecture-overview.svg +101 -0
- package/docs/upstream/diagrams/review-dispatch.svg +139 -0
- package/docs/upstream/diagrams/team-agents.svg +128 -0
- package/docs/upstream/diagrams/test-improve-flow.svg +166 -0
- package/docs/upstream/diagrams/workflow-linear.svg +66 -0
- package/docs/upstream/diagrams/workflow-three-phase.svg +200 -0
- package/docs/upstream/eval-maintenance.md +95 -0
- package/docs/upstream/eval-running-guide.md +147 -0
- package/docs/upstream/eval-system.md +291 -0
- package/docs/upstream/session-review-oss-complements.md +75 -0
- package/docs/upstream/session-review.md +212 -0
- package/docs/upstream/skills.md +188 -0
- package/docs/upstream/team-structure.md +21 -0
- package/docs/upstream/telemetry-ci-access.md +129 -0
- package/docs/upstream/telemetry-repo-security.md +120 -0
- package/docs/upstream/test-evaluation.md +277 -0
- package/docs/upstream/test-improve.md +154 -0
- package/docs/upstream/triage-workflow.md +282 -0
- package/docs/upstream/workflows.md +289 -0
- package/extensions/dev-team/index.ts +539 -0
- package/extensions/dev-team/lib/agents.ts +272 -0
- package/extensions/dev-team/lib/ai-credits.ts +92 -0
- package/extensions/dev-team/lib/autocompact.ts +81 -0
- package/extensions/dev-team/lib/child-run.ts +102 -0
- package/extensions/dev-team/lib/config.ts +236 -0
- package/extensions/dev-team/lib/gh-command.ts +103 -0
- package/extensions/dev-team/lib/github-style.ts +307 -0
- package/extensions/dev-team/lib/hooks.ts +350 -0
- package/extensions/dev-team/lib/metrics.ts +115 -0
- package/extensions/dev-team/lib/safe-read.ts +49 -0
- package/extensions/dev-team/lib/session-files.ts +57 -0
- package/extensions/dev-team/lib/session-spend.ts +123 -0
- package/extensions/dev-team/lib/shell-scan.ts +205 -0
- package/extensions/dev-team/lib/skills.ts +213 -0
- package/extensions/dev-team/lib/subagent-render.ts +245 -0
- package/extensions/dev-team/lib/subagent-types.ts +164 -0
- package/extensions/dev-team/lib/subagent.ts +596 -0
- package/extensions/dev-team/lib/terminal-text.ts +54 -0
- package/extensions/dev-team/lib/tools-misc.ts +152 -0
- package/extensions/dev-team/lib/transcript.ts +110 -0
- package/extensions/dev-team/lib/trust.ts +52 -0
- package/extensions/dev-team/lib/usage-breakdown.ts +176 -0
- package/extensions/dev-team/lib/usage-chart.ts +153 -0
- package/extensions/dev-team/lib/usage-command.ts +107 -0
- package/extensions/dev-team/lib/usage-history.ts +203 -0
- package/extensions/dev-team/lib/usage-render.ts +225 -0
- package/extensions/dev-team/lib/usage-split-bar.ts +127 -0
- package/extensions/dev-team/lib/usage-state.ts +116 -0
- package/extensions/dev-team/lib/usage-text.ts +159 -0
- package/extensions/dev-team/lib/usage-view.ts +109 -0
- package/hooks/__pycache__/refactor_test_freeze_guard.cpython-314.pyc +0 -0
- package/hooks/agent_dispatch_ledger.py +190 -0
- package/hooks/autocompact_setup_nudge.py +99 -0
- package/hooks/bash_retry_guard.py +228 -0
- package/hooks/boundary_events_write_guard.py +352 -0
- package/hooks/code_intelligence_nudge.py +293 -0
- package/hooks/code_intelligence_turn_mark.py +317 -0
- package/hooks/codegraph_bootstrap.py +139 -0
- package/hooks/contract_version_guard.py +362 -0
- package/hooks/cost_meter.py +106 -0
- package/hooks/destructive-commands.json +62 -0
- package/hooks/destructive_guard.py +477 -0
- package/hooks/eval_compliance_check.py +440 -0
- package/hooks/guards.json +17 -0
- package/hooks/hooks.json +323 -0
- package/hooks/internal_double_gate.py +296 -0
- package/hooks/js_fp_review.py +212 -0
- package/hooks/knowledge_index.py +119 -0
- package/hooks/lib/__pycache__/artifact_paths.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/atomic_state.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/autocompact_config.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/boundary_events.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/doc_classification.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/gh_pr_create_detect.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/git_safe_diff.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/instrument_log.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/metrics_query.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/plugin_version.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/pre_commit_doc_classifier.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/review_agent_registry.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/review_gate_corroboration.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/review_gate_hash.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/review_verdicts.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/stdin_json.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/stryker_invocation.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/telemetry_consent.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/test_file_classify.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/token_efficiency_limits.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/verify_guard_state.cpython-314.pyc +0 -0
- package/hooks/lib/__pycache__/xunit_v3_operator_gate.cpython-314.pyc +0 -0
- package/hooks/lib/agent_skill_hints.py +74 -0
- package/hooks/lib/artifact_paths.py +263 -0
- package/hooks/lib/atomic_state.py +557 -0
- package/hooks/lib/autocompact_config.py +103 -0
- package/hooks/lib/autoship_log.py +106 -0
- package/hooks/lib/banned_scripts_policy.py +51 -0
- package/hooks/lib/boundary_events.py +436 -0
- package/hooks/lib/build_knowledge_index.py +504 -0
- package/hooks/lib/build_skills_index.py +361 -0
- package/hooks/lib/build_state.py +116 -0
- package/hooks/lib/classify_ship_outcome.py +126 -0
- package/hooks/lib/config_changelog_schema.py +115 -0
- package/hooks/lib/cost_meter.py +955 -0
- package/hooks/lib/doc_classification.py +116 -0
- package/hooks/lib/gh_pr_create_detect.py +136 -0
- package/hooks/lib/git_safe_diff.py +123 -0
- package/hooks/lib/instrument_log.py +66 -0
- package/hooks/lib/iteration_journal_gate.py +197 -0
- package/hooks/lib/knowledge_index_paths.py +88 -0
- package/hooks/lib/mcp_json_repowise.py +177 -0
- package/hooks/lib/metrics_query.py +202 -0
- package/hooks/lib/minimal_yaml.py +434 -0
- package/hooks/lib/plugin_version.py +142 -0
- package/hooks/lib/pre_commit_detect.py +537 -0
- package/hooks/lib/pre_commit_doc_classifier.py +126 -0
- package/hooks/lib/pricing.py +118 -0
- package/hooks/lib/report_pdf.py +371 -0
- package/hooks/lib/review_agent_registry.py +142 -0
- package/hooks/lib/review_dispatch_ledger.py +101 -0
- package/hooks/lib/review_gate_corroboration.py +521 -0
- package/hooks/lib/review_gate_hash.py +252 -0
- package/hooks/lib/review_gate_normalized_hash.py +1115 -0
- package/hooks/lib/review_verdicts.py +301 -0
- package/hooks/lib/run_report.py +160 -0
- package/hooks/lib/skill_categories.yaml +125 -0
- package/hooks/lib/stdin_json.py +57 -0
- package/hooks/lib/stryker_invocation.py +102 -0
- package/hooks/lib/telemetry_consent.py +41 -0
- package/hooks/lib/telemetry_report.py +108 -0
- package/hooks/lib/test_file_classify.py +160 -0
- package/hooks/lib/token_efficiency_limits.py +51 -0
- package/hooks/lib/turn_identity.py +77 -0
- package/hooks/lib/verify_guard_state.py +110 -0
- package/hooks/lib/workflow_state.py +206 -0
- package/hooks/lib/xunit_v3_operator_gate.py +596 -0
- package/hooks/mcp_json_repowise_nudge.py +74 -0
- package/hooks/mutation_adapters/__init__.py +7 -0
- package/hooks/mutation_adapters/__pycache__/__init__.cpython-314.pyc +0 -0
- package/hooks/mutation_adapters/__pycache__/lib.cpython-314.pyc +0 -0
- package/hooks/mutation_adapters/__pycache__/mutmut.cpython-314.pyc +0 -0
- package/hooks/mutation_adapters/__pycache__/pitest.cpython-314.pyc +0 -0
- package/hooks/mutation_adapters/__pycache__/stryker.cpython-314.pyc +0 -0
- package/hooks/mutation_adapters/__pycache__/stryker_net.cpython-314.pyc +0 -0
- package/hooks/mutation_adapters/lib.py +478 -0
- package/hooks/mutation_adapters/mutmut.py +188 -0
- package/hooks/mutation_adapters/pitest.py +266 -0
- package/hooks/mutation_adapters/stryker.py +157 -0
- package/hooks/mutation_adapters/stryker_net.py +264 -0
- package/hooks/mutation_gate.py +193 -0
- package/hooks/mutation_testing_smoke_gate.py +371 -0
- package/hooks/pending_review_notify.py +121 -0
- package/hooks/phase_marker.py +138 -0
- package/hooks/post_compact_state_reinject.py +180 -0
- package/hooks/post_format.py +115 -0
- package/hooks/pre_commit_knowledge_index.py +128 -0
- package/hooks/pre_commit_review.py +66 -0
- package/hooks/pre_pr_review.py +694 -0
- package/hooks/pre_tool_guard.py +405 -0
- package/hooks/py.sh +73 -0
- package/hooks/refactor-bash-write-patterns.json +29 -0
- package/hooks/refactor_test_bash_guard.py +253 -0
- package/hooks/refactor_test_freeze_guard.py +139 -0
- package/hooks/refactor_test_revert_guard.py +186 -0
- package/hooks/repo_review_nudge.py +287 -0
- package/hooks/review_verdict_recorder.py +464 -0
- package/hooks/scan_bash_command_for_banned_scripts.py +428 -0
- package/hooks/scan_worktree_for_banned_scripts.py +238 -0
- package/hooks/session_learning_trigger.py +248 -0
- package/hooks/skills_index.py +126 -0
- package/hooks/stryker_xunit_shim_guard.py +571 -0
- package/hooks/subagent_completion_guard.py +309 -0
- package/hooks/subagent_skill_context.py +139 -0
- package/hooks/task_completion_metrics.py +216 -0
- package/hooks/tdd_guard.py +229 -0
- package/hooks/telemetry.py +341 -0
- package/hooks/token_efficiency_review.py +194 -0
- package/hooks/verify_guard.py +183 -0
- package/hooks/verify_guard_edit_marker.py +73 -0
- package/hooks/version_check.py +173 -0
- package/knowledge/accepted-risks-schema.md +98 -0
- package/knowledge/adr-decision-criteria.md +64 -0
- package/knowledge/adversarial-review-protocol.md +139 -0
- package/knowledge/agent-registry.md +228 -0
- package/knowledge/agent-review-methodology.md +80 -0
- package/knowledge/ai-friendly-repo-guidelines.md +67 -0
- package/knowledge/architecture-assessment.md +96 -0
- package/knowledge/artifact-lifecycle.md +57 -0
- package/knowledge/cd-maturity-model.md +82 -0
- package/knowledge/cd-test-architecture.md +190 -0
- package/knowledge/ci-cd-file-scope.md +24 -0
- package/knowledge/codegraph-vs-graphify.md +192 -0
- package/knowledge/component-test-patterns.md +139 -0
- package/knowledge/database-change-management.md +80 -0
- package/knowledge/database-test-patterns.md +79 -0
- package/knowledge/decision-defaults.md +88 -0
- package/knowledge/dependency-breaking-techniques.md +116 -0
- package/knowledge/deployment-pipeline.md +86 -0
- package/knowledge/design-smells.md +122 -0
- package/knowledge/directory-enumeration.md +38 -0
- package/knowledge/domain-modeling.md +123 -0
- package/knowledge/evidence-bundle.md +90 -0
- package/knowledge/exploratory-testing-field-guide.md +122 -0
- package/knowledge/failure-routing.md +28 -0
- package/knowledge/fixture-construction.md +56 -0
- package/knowledge/frontend-component-architecture.md +139 -0
- package/knowledge/gherkin-quality-review-dispatch.md +135 -0
- package/knowledge/index.json +6766 -0
- package/knowledge/internal-collaborator-doubling.md +101 -0
- package/knowledge/legacy-test-strategy.md +71 -0
- package/knowledge/long-run-waiting.md +66 -0
- package/knowledge/microservice-testing.md +71 -0
- package/knowledge/model-pricing.json +23 -0
- package/knowledge/mutation-score-formulas.md +60 -0
- package/knowledge/object-calisthenics.md +147 -0
- package/knowledge/oracle-provenance.md +94 -0
- package/knowledge/orchestrator-script-implementation.md +185 -0
- package/knowledge/owasp-detection.md +148 -0
- package/knowledge/plan-review-rubric.md +56 -0
- package/knowledge/proxy-connectivity.md +62 -0
- package/knowledge/reactive-effect-patterns.md +73 -0
- package/knowledge/recon-inventory-excludes.txt +32 -0
- package/knowledge/references/bdd-value-guide.md +61 -0
- package/knowledge/references/csharp-http-client-testing.md +264 -0
- package/knowledge/release-strategies.md +74 -0
- package/knowledge/report-output-location.md +117 -0
- package/knowledge/report-pdf-integration.md +63 -0
- package/knowledge/report-print.css +129 -0
- package/knowledge/report-template.md +114 -0
- package/knowledge/report-to-pdf.md +69 -0
- package/knowledge/request-processing-flow.md +63 -0
- package/knowledge/result-verification.md +52 -0
- package/knowledge/review-agent-output-contract.md +121 -0
- package/knowledge/review-lens-classification.md +113 -0
- package/knowledge/review-rubric.md +62 -0
- package/knowledge/review-template.md +104 -0
- package/knowledge/rule-fixtures/A02.insecure-random-js/negative.js +1 -0
- package/knowledge/rule-fixtures/A02.insecure-random-js/positive.js +1 -0
- package/knowledge/rule-fixtures/A02.weak-hashing-md5/negative.py +1 -0
- package/knowledge/rule-fixtures/A02.weak-hashing-md5/positive.py +1 -0
- package/knowledge/rule-fixtures/A03.command-injection/negative.js +1 -0
- package/knowledge/rule-fixtures/A03.command-injection/positive.js +1 -0
- package/knowledge/rule-fixtures/A03.sql-injection/negative.js +1 -0
- package/knowledge/rule-fixtures/A03.sql-injection/positive.js +1 -0
- package/knowledge/rule-fixtures/A03.xss-innerhtml/negative.js +1 -0
- package/knowledge/rule-fixtures/A03.xss-innerhtml/positive.js +1 -0
- package/knowledge/rule-fixtures/A05.cors-wildcard/negative.js +1 -0
- package/knowledge/rule-fixtures/A05.cors-wildcard/positive.js +1 -0
- package/knowledge/rule-fixtures/A05.default-credentials/negative.js +1 -0
- package/knowledge/rule-fixtures/A05.default-credentials/positive.js +1 -0
- package/knowledge/rule-fixtures/A07.jwt-alg-none/negative.js +1 -0
- package/knowledge/rule-fixtures/A07.jwt-alg-none/positive.js +1 -0
- package/knowledge/rule-fixtures/A08.binary-formatter/negative.cs +1 -0
- package/knowledge/rule-fixtures/A08.binary-formatter/positive.cs +1 -0
- package/knowledge/rule-fixtures/A08.js-eval/negative.js +1 -0
- package/knowledge/rule-fixtures/A08.js-eval/positive.js +1 -0
- package/knowledge/rule-fixtures/A08.object-input-stream/negative.java +1 -0
- package/knowledge/rule-fixtures/A08.object-input-stream/positive.java +1 -0
- package/knowledge/schemas/disposition-register-v1.json +65 -0
- package/knowledge/schemas/recon-envelope-v1.json +198 -0
- package/knowledge/schemas/unified-finding-v1.json +72 -0
- package/knowledge/security-primitives-contract.md +301 -0
- package/knowledge/security-review-rule-map.yaml +107 -0
- package/knowledge/skills-registry.md +72 -0
- package/knowledge/task-size-classifier.md +103 -0
- package/knowledge/telemetry-schema.md +881 -0
- package/knowledge/test-automation-maturity.md +56 -0
- package/knowledge/test-automation-principles.md +71 -0
- package/knowledge/test-cadence-tradeoffs.md +68 -0
- package/knowledge/test-doubles.md +105 -0
- package/knowledge/test-file-indicators.md +22 -0
- package/knowledge/test-layer-gates.md +35 -0
- package/knowledge/test-matrix-examples/django-batch.md +24 -0
- package/knowledge/test-matrix-examples/dotnet-grpc-fronting-api.md +90 -0
- package/knowledge/test-matrix-examples/dotnet-http-consumer.md +131 -0
- package/knowledge/test-matrix-examples/react-node-spa.md +24 -0
- package/knowledge/test-matrix-examples/spring-boot-service.md +25 -0
- package/knowledge/test-matrix-examples/ssr-htmx.md +24 -0
- package/knowledge/test-organization.md +70 -0
- package/knowledge/test-pyramid.md +84 -0
- package/knowledge/test-refactoring.md +67 -0
- package/knowledge/test-review-division-of-labor.md +85 -0
- package/knowledge/test-smells.md +80 -0
- package/knowledge/test-stack-profiles/bdd-frameworks.md +235 -0
- package/knowledge/test-stack-profiles/django.md +13 -0
- package/knowledge/test-stack-profiles/dotnet.md +18 -0
- package/knowledge/test-stack-profiles/go.md +16 -0
- package/knowledge/test-stack-profiles/node.md +16 -0
- package/knowledge/test-stack-profiles/react.md +12 -0
- package/knowledge/test-stack-profiles/spring-boot.md +16 -0
- package/knowledge/test-stack-profiles/ssr-htmx.md +14 -0
- package/knowledge/test-stack-profiles/vue.md +12 -0
- package/knowledge/test-strategy.md +70 -0
- package/knowledge/testability-patterns.md +240 -0
- package/knowledge/testing-quadrants.md +44 -0
- package/knowledge/testing-techniques/approval.md +15 -0
- package/knowledge/testing-techniques/chaos.md +17 -0
- package/knowledge/testing-techniques/fuzz.md +15 -0
- package/knowledge/testing-techniques/property-based.md +15 -0
- package/knowledge/testing-techniques/schema-validation.md +15 -0
- package/knowledge/testing-techniques/screenshot.md +15 -0
- package/knowledge/three-phase-workflow.md +198 -0
- package/knowledge/value-patterns.md +55 -0
- package/knowledge/verification-mode.md +116 -0
- package/knowledge/virtual-service-libraries.md +75 -0
- package/knowledge/wave-consolidation-guidance.md +21 -0
- package/overrides/agents/Explore.md +15 -0
- package/overrides/agents/general-purpose.md +10 -0
- package/overrides/notes/autoship.md +6 -0
- package/overrides/notes/issues-from-assessment.md +3 -0
- package/overrides/notes/issues-from-plan.md +3 -0
- package/overrides/notes/mutation-night-watch.md +3 -0
- package/overrides/notes/mutation-testing.md +3 -0
- package/overrides/notes/pr.md +7 -0
- package/overrides/notes/project-init.md +6 -0
- package/overrides/notes/setup.md +13 -0
- package/overrides/notes/specs.md +3 -0
- package/overrides/skills/headless-run/SKILL.md +45 -0
- package/overrides/skills/upgrade/SKILL.md +30 -0
- package/overrides/skills/version/SKILL.md +25 -0
- package/package.json +36 -0
- package/scripts/authoring_digest.py +93 -0
- package/scripts/autoship_discover.py +121 -0
- package/scripts/autoship_group.py +409 -0
- package/scripts/autoship_proposals.py +494 -0
- package/scripts/autoship_queue.py +291 -0
- package/scripts/autoship_reclaim.py +495 -0
- package/scripts/build_jobs.py +108 -0
- package/scripts/build_rollback_point.py +240 -0
- package/scripts/build_slice_scope.py +157 -0
- package/scripts/build_wave.py +109 -0
- package/scripts/build_wave_reconcile.py +252 -0
- package/scripts/build_worktree_baseref.py +113 -0
- package/scripts/check_agent_scope.py +117 -0
- package/scripts/check_agent_tool_mapping.py +213 -0
- package/scripts/check_review_agent_mcp_tools.py +317 -0
- package/scripts/check_security_assessment_mcp_tools.py +165 -0
- package/scripts/checkpoint_abort.py +502 -0
- package/scripts/claude_setup_review.py +438 -0
- package/scripts/codebase_recon.py +556 -0
- package/scripts/coverage_config.py +623 -0
- package/scripts/coverage_delta_steering.py +330 -0
- package/scripts/coverage_discovery_dotnet.py +315 -0
- package/scripts/coverage_discovery_java.py +742 -0
- package/scripts/coverage_discovery_js.py +546 -0
- package/scripts/coverage_gap_ranking.py +556 -0
- package/scripts/coverage_readiness.py +455 -0
- package/scripts/coverage_report_parse.py +521 -0
- package/scripts/detect_bdd_convention.py +252 -0
- package/scripts/eval_ablation.py +376 -0
- package/scripts/gherkin_analysis_coverage_gate.py +306 -0
- package/scripts/gherkin_cross_feature_duplicate_titles_gate.py +173 -0
- package/scripts/gherkin_effectiveness_rollup.py +238 -0
- package/scripts/gherkin_failure_path_gate.py +206 -0
- package/scripts/gherkin_feature_merge.py +720 -0
- package/scripts/gherkin_stub_gate.py +163 -0
- package/scripts/gherkin_stub_merge.py +479 -0
- package/scripts/git_origin_host.py +88 -0
- package/scripts/install-java-static-analysis.py +110 -0
- package/scripts/issue_deps.py +74 -0
- package/scripts/lib/_bdd_markers.py +28 -0
- package/scripts/lib/_gherkin_text.py +93 -0
- package/scripts/lib/_vendored_tree.py +70 -0
- package/scripts/lib/autoship_state.py +397 -0
- package/scripts/lib/claude_md_guard.py +226 -0
- package/scripts/lib/deterministic_recon.py +446 -0
- package/scripts/lib/mcp_tool_grants.py +211 -0
- package/scripts/lib/plan_parse.py +386 -0
- package/scripts/lib/review_result.py +84 -0
- package/scripts/lib/review_roster.py +86 -0
- package/scripts/lib/session_log/__init__.py +34 -0
- package/scripts/lib/session_log/__pycache__/__init__.cpython-314.pyc +0 -0
- package/scripts/lib/session_log/__pycache__/records.cpython-314.pyc +0 -0
- package/scripts/lib/session_log/classify.py +231 -0
- package/scripts/lib/session_log/corrections.py +194 -0
- package/scripts/lib/session_log/discovery.py +108 -0
- package/scripts/lib/session_log/records.py +218 -0
- package/scripts/lib/session_log/redact.py +76 -0
- package/scripts/lib/session_log/signals.py +373 -0
- package/scripts/lib/session_report_downstream.py +614 -0
- package/scripts/lib/session_report_maintainer.py +1273 -0
- package/scripts/lib/session_report_shared.py +262 -0
- package/scripts/lib/settings_hook_guard.py +157 -0
- package/scripts/lib/slug.py +33 -0
- package/scripts/lib/stub_extractors/__init__.py +82 -0
- package/scripts/lib/stub_extractors/_common.py +328 -0
- package/scripts/lib/stub_extractors/csharp.py +19 -0
- package/scripts/lib/stub_extractors/go.py +173 -0
- package/scripts/lib/stub_extractors/java.py +18 -0
- package/scripts/lib/stub_extractors/jsts.py +126 -0
- package/scripts/mutation_stack_sections.py +149 -0
- package/scripts/mutation_yield_steering.py +345 -0
- package/scripts/orchestrator.py +895 -0
- package/scripts/plan_gherkin_export.py +227 -0
- package/scripts/plan_waves.py +208 -0
- package/scripts/pr_close_keyword_lint.py +108 -0
- package/scripts/progress_guardian.py +888 -0
- package/scripts/recon_inventory.py +273 -0
- package/scripts/review_findings_log.py +93 -0
- package/scripts/run_invariants.py +124 -0
- package/scripts/select_lenses.py +640 -0
- package/scripts/session_report.py +486 -0
- package/scripts/set_autocompact_env.py +221 -0
- package/scripts/ship_resume_guard.py +135 -0
- package/scripts/ship_review_gate.py +63 -0
- package/scripts/specs_convention_marker.py +103 -0
- package/scripts/test_improve_resume.py +277 -0
- package/scripts/test_review_mechanics.py +958 -0
- package/scripts/token_efficiency_review.py +322 -0
- package/scripts/verdict_scope.py +285 -0
- package/scripts/verify_gherkin_quality_critic_isolation.py +296 -0
- package/scripts/verify_tier.py +157 -0
- package/skills/adr-tools/SKILL.md +118 -0
- package/skills/agent-readiness/SKILL.md +105 -0
- package/skills/agent-readiness/ai_friendly_analyzers.py +326 -0
- package/skills/agent-readiness/scanner.py +441 -0
- package/skills/agent-readiness/scorecard.yaml +88 -0
- package/skills/api-design/SKILL.md +115 -0
- package/skills/apply-fixes/SKILL.md +171 -0
- package/skills/apply-test-doubles/SKILL.md +321 -0
- package/skills/artifact-lifecycle/SKILL.md +127 -0
- package/skills/autoship/SKILL.md +1124 -0
- package/skills/benchmark/SKILL.md +105 -0
- package/skills/branch-workflow/SKILL.md +89 -0
- package/skills/browse/SKILL.md +184 -0
- package/skills/browser-testing/SKILL.md +62 -0
- package/skills/browser-testing/references/playwright-patterns.md +216 -0
- package/skills/build/SKILL.md +422 -0
- package/skills/build/references/static-self-heal.md +245 -0
- package/skills/careful/SKILL.md +72 -0
- package/skills/cd-test-architecture/SKILL.md +371 -0
- package/skills/ci-debugging/SKILL.md +105 -0
- package/skills/co-evolution-audit/SKILL.md +269 -0
- package/skills/code-review/SKILL.md +1015 -0
- package/skills/code-review/examples/aggregated-sample.json +56 -0
- package/skills/code-review/examples/sample-report.md +41 -0
- package/skills/code-review/output-format.md +478 -0
- package/skills/code-review/scripts/activation.py +86 -0
- package/skills/code-review/scripts/change_impact.py +357 -0
- package/skills/code-review/scripts/change_shape.py +372 -0
- package/skills/code-review/scripts/change_size.py +212 -0
- package/skills/code-review/scripts/changed_file_list.py +141 -0
- package/skills/code-review/scripts/closing_pass.py +187 -0
- package/skills/code-review/scripts/consolidate.py +277 -0
- package/skills/code-review/scripts/contract_failure_report.py +185 -0
- package/skills/code-review/scripts/dispatch_reconcile.py +66 -0
- package/skills/code-review/scripts/dispatch_waves.py +164 -0
- package/skills/code-review/scripts/finding_signature.py +446 -0
- package/skills/code-review/scripts/ledger.py +283 -0
- package/skills/code-review/scripts/partition.py +169 -0
- package/skills/code-review/scripts/render_tiered_findings.py +274 -0
- package/skills/code-review/scripts/repo_invariants.py +1066 -0
- package/skills/code-review/scripts/review_context_pack.py +306 -0
- package/skills/code-review/scripts/review_round_log.py +345 -0
- package/skills/code-review/scripts/review_value_coverage.py +297 -0
- package/skills/code-review/scripts/validate_review_output.py +467 -0
- package/skills/code-review/sliced-mode.md +205 -0
- package/skills/competitive-analysis/SKILL.md +191 -0
- package/skills/context-loading-protocol/SKILL.md +157 -0
- package/skills/continue/SKILL.md +90 -0
- package/skills/cost-report/SKILL.md +178 -0
- package/skills/coverage-baseline/SKILL.md +335 -0
- package/skills/coverage-baseline/references/multi-project-discovery.md +202 -0
- package/skills/coverage-delta/SKILL.md +181 -0
- package/skills/coverage-delta/references/mutation-gate.md +70 -0
- package/skills/design-doc/SKILL.md +95 -0
- package/skills/design-interrogation/SKILL.md +89 -0
- package/skills/design-it-twice/SKILL.md +91 -0
- package/skills/docker-image-audit/SKILL.md +108 -0
- package/skills/docker-image-audit/references/install-guide.md +64 -0
- package/skills/docker-image-audit/references/report-template.md +73 -0
- package/skills/docker-image-create/SKILL.md +185 -0
- package/skills/domain-analysis/SKILL.md +183 -0
- package/skills/domain-driven-design/SKILL.md +194 -0
- package/skills/exploratory-testing/SKILL.md +108 -0
- package/skills/explore/SKILL.md +51 -0
- package/skills/farley-score/SKILL.md +165 -0
- package/skills/feature-file-validation/SKILL.md +78 -0
- package/skills/feature-file-validation/references/validation-rules.md +115 -0
- package/skills/feedback-learning/SKILL.md +414 -0
- package/skills/fix/SKILL.md +450 -0
- package/skills/freeze/SKILL.md +68 -0
- package/skills/frontend-architecture/SKILL.md +113 -0
- package/skills/gherkin-derive/SKILL.md +630 -0
- package/skills/gherkin-public/SKILL.md +266 -0
- package/skills/governance-compliance/SKILL.md +150 -0
- package/skills/guard/SKILL.md +75 -0
- package/skills/handoff/SKILL.md +139 -0
- package/skills/handoff/references/summary-templates.md +242 -0
- package/skills/harness-audit/SKILL.md +751 -0
- package/skills/harness-audit/scripts/lesson_validate.py +386 -0
- package/skills/harness-audit/scripts/redundancy_criterion.py +188 -0
- package/skills/headless-run/SKILL.md +45 -0
- package/skills/headless-run/scripts/isolated_dispatch.py +381 -0
- package/skills/help/SKILL.md +72 -0
- package/skills/hexagonal-architecture/SKILL.md +85 -0
- package/skills/human-oversight-protocol/SKILL.md +224 -0
- package/skills/issues-from-assessment/SKILL.md +223 -0
- package/skills/issues-from-plan/SKILL.md +133 -0
- package/skills/legacy-code/SKILL.md +132 -0
- package/skills/mermaid-diagramming/SKILL.md +120 -0
- package/skills/mutation-night-watch/SKILL.md +154 -0
- package/skills/mutation-night-watch/references/scheduling.md +135 -0
- package/skills/mutation-testing/SKILL.md +396 -0
- package/skills/mutation-testing/references/languages/csharp-stryker-net.md +676 -0
- package/skills/mutation-testing/references/languages/go-go-mutesting.md +95 -0
- package/skills/mutation-testing/references/languages/java-pitest.md +77 -0
- package/skills/mutation-testing/references/languages/javascript-stryker.md +188 -0
- package/skills/mutation-testing/references/languages/python-mutmut.md +97 -0
- package/skills/mutation-testing/references/time-estimation.md +34 -0
- package/skills/mutation-testing/references/tool-detection.md +15 -0
- package/skills/mutation-testing/references/workflow-callers.md +23 -0
- package/skills/mutation-testing/scripts/__pycache__/xunit_v3_feature_detector.cpython-314.pyc +0 -0
- package/skills/mutation-testing/scripts/csharp_stryker_net_slice_runner.py +635 -0
- package/skills/mutation-testing/scripts/csharp_stryker_net_status_loop.py +525 -0
- package/skills/mutation-testing/scripts/csharp_stryker_net_wrapper.py +681 -0
- package/skills/mutation-testing/scripts/mutation_baseline_reuse.py +292 -0
- package/skills/mutation-testing/scripts/mutation_exclude_policy.py +268 -0
- package/skills/mutation-testing/scripts/mutation_feasibility_gate.py +463 -0
- package/skills/mutation-testing/scripts/mutation_kill_headless.py +331 -0
- package/skills/mutation-testing/scripts/mutation_kill_insert.py +199 -0
- package/skills/mutation-testing/scripts/mutation_kill_insert_python.py +150 -0
- package/skills/mutation-testing/scripts/mutation_kill_loop.py +869 -0
- package/skills/mutation-testing/scripts/mutation_kill_loop_python.py +949 -0
- package/skills/mutation-testing/scripts/mutation_kill_retry.py +592 -0
- package/skills/mutation-testing/scripts/mutation_kill_shared.py +620 -0
- package/skills/mutation-testing/scripts/mutation_nightwatch.py +462 -0
- package/skills/mutation-testing/scripts/mutation_nightwatch_stacks.py +425 -0
- package/skills/mutation-testing/scripts/mutation_report.py +743 -0
- package/skills/mutation-testing/scripts/mutation_report_cli.py +175 -0
- package/skills/mutation-testing/scripts/mutation_safety_gate.py +69 -0
- package/skills/mutation-testing/scripts/stryker_shard_pipeline.py +847 -0
- package/skills/mutation-testing/scripts/stryker_shard_setup.py +440 -0
- package/skills/mutation-testing/scripts/stryker_timeout_retry.py +142 -0
- package/skills/mutation-testing/scripts/xunit_v3_feature_detector.py +341 -0
- package/skills/performance-benchmark/SKILL.md +174 -0
- package/skills/performance-benchmark/examples/report-format.md +43 -0
- package/skills/performance-benchmark/references/benchmark-script.md +169 -0
- package/skills/performance-metrics/SKILL.md +265 -0
- package/skills/plan/SKILL.md +199 -0
- package/skills/plan/references/gherkin-persistence.md +43 -0
- package/skills/plan/references/plan-template.md +182 -0
- package/skills/pr/SKILL.md +289 -0
- package/skills/pr/scripts/gate_retry_state.py +368 -0
- package/skills/project-init/README.md +141 -0
- package/skills/project-init/SKILL.md +1197 -0
- package/skills/project-init/evals/evals.json +200 -0
- package/skills/project-init/references/capability-tools.md +55 -0
- package/skills/project-init/references/configs.md +221 -0
- package/skills/property-based-testing/SKILL.md +121 -0
- package/skills/property-based-testing/fixtures/invariant_fixture.py +15 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/README.md +42 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/LICENSE +21 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/README.md +263 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/cjs/fast-check.d.ts +5165 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/cjs/fast-check.js +12147 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/cjs/package.json +3 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/cjs/types57/fast-check.d.ts +5165 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/fast-check.d.ts +5165 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/fast-check.js +12011 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/rolldown-runtime-D7D4PA-g.js +13 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/lib/types57/fast-check.d.ts +5165 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/fast-check/package.json +94 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/LICENSE +21 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/README.md +168 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/RandomGenerator-DcXj09Ch.d.ts +14 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformBigInt.d.ts +15 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformBigInt.js +38 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformFloat32.d.ts +15 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformFloat32.js +18 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformFloat64.d.ts +15 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformFloat64.js +22 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformInt.d.ts +15 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/distribution/uniformInt.js +134 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/RandomGenerator-DcXj09Ch.d.ts +14 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformBigInt.d.ts +15 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformBigInt.js +37 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformFloat32.d.ts +15 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformFloat32.js +17 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformFloat64.d.ts +15 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformFloat64.js +21 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformInt.d.ts +15 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/distribution/uniformInt.js +133 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/congruential32.d.ts +7 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/congruential32.js +44 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/mersenne.d.ts +7 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/mersenne.js +90 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/xoroshiro128plus.d.ts +7 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/xoroshiro128plus.js +80 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/xorshift128plus.d.ts +7 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/generator/xorshift128plus.js +78 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/package.json +3 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/types/JumpableRandomGenerator.d.ts +16 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/types/JumpableRandomGenerator.js +0 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/types/RandomGenerator.d.ts +2 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/types/RandomGenerator.js +0 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/generateN.d.ts +6 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/generateN.js +8 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/purify.d.ts +12 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/purify.js +9 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/skipN.d.ts +6 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/esm/utils/skipN.js +6 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/congruential32.d.ts +7 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/congruential32.js +46 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/mersenne.d.ts +7 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/mersenne.js +92 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/xoroshiro128plus.d.ts +7 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/xoroshiro128plus.js +82 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/xorshift128plus.d.ts +7 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/generator/xorshift128plus.js +80 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/types/JumpableRandomGenerator.d.ts +16 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/types/JumpableRandomGenerator.js +0 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/types/RandomGenerator.d.ts +2 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/types/RandomGenerator.js +0 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/utils/generateN.d.ts +6 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/utils/generateN.js +9 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/utils/purify.d.ts +12 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/utils/purify.js +10 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/utils/skipN.d.ts +6 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/lib/utils/skipN.js +7 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/node_modules/pure-rand/package.json +133 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/package-lock.json +1179 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/package.json +14 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/roundtrip.js +29 -0
- package/skills/property-based-testing/fixtures/js-roundtrip/roundtrip.properties.test.js +16 -0
- package/skills/property-based-testing/fixtures/no_property_fixture.py +10 -0
- package/skills/property-based-testing/fixtures/roundtrip_fixture.py +16 -0
- package/skills/property-based-testing/references/languages/javascript.md +54 -0
- package/skills/property-based-testing/scripts/detect_and_dispatch.py +80 -0
- package/skills/property-based-testing/scripts/hypothesis_scaffold.py +276 -0
- package/skills/proxy-resilience/SKILL.md +84 -0
- package/skills/quality-gate-pipeline/SKILL.md +184 -0
- package/skills/quality-targets-converge/SKILL.md +254 -0
- package/skills/repo-review/SKILL.md +159 -0
- package/skills/report-pdf/SKILL.md +66 -0
- package/skills/review/SKILL.md +47 -0
- package/skills/review-agent/SKILL.md +152 -0
- package/skills/review-summary/SKILL.md +73 -0
- package/skills/run-report/SKILL.md +70 -0
- package/skills/semantic-duplication-scan/SKILL.md +337 -0
- package/skills/semantic-scan/SKILL.md +53 -0
- package/skills/semgrep-analyze/SKILL.md +139 -0
- package/skills/setup/SKILL.md +1122 -0
- package/skills/ship/SKILL.md +240 -0
- package/skills/source-verification/SKILL.md +210 -0
- package/skills/source-verification/scripts/claim_extractor.py +155 -0
- package/skills/specs/.size-baseline.json +4 -0
- package/skills/specs/SKILL.md +243 -0
- package/skills/specs/references/completeness-checklist.md +83 -0
- package/skills/specs/references/extraction.md +58 -0
- package/skills/specs/references/glossary.md +59 -0
- package/skills/specs/references/persistence.md +115 -0
- package/skills/specs/references/predictability-check.md +77 -0
- package/skills/static-analysis-integration/SKILL.md +235 -0
- package/skills/static-analysis-integration/adapters/_envelope.py +26 -0
- package/skills/static-analysis-integration/adapters/jscpd-adapter.py +66 -0
- package/skills/static-analysis-integration/adapters/lizard-adapter.py +81 -0
- package/skills/static-analysis-integration/adapters/mypy-adapter.py +50 -0
- package/skills/static-analysis-integration/adapters/mypy-src-layout.py +93 -0
- package/skills/static-analysis-integration/adapters/security-review-adapter.py +212 -0
- package/skills/static-analysis-integration/maintenance.md +23 -0
- package/skills/static-analysis-integration/references/language-setup.md +228 -0
- package/skills/static-analysis-integration/references/sarif-parser.md +124 -0
- package/skills/static-analysis-integration/references/security-review-adapter.md +118 -0
- package/skills/static-analysis-integration/references/tool-configs.md +617 -0
- package/skills/static-analysis-integration/rulesets/pmd-quickstart.xml +24 -0
- package/skills/stryker-xunit-v2-shim/SKILL.md +274 -0
- package/skills/stryker-xunit-v2-shim/references/shim-howto.md +256 -0
- package/skills/stryker-xunit-v2-shim/scripts/generate_shim.py +143 -0
- package/skills/systematic-debugging/SKILL.md +130 -0
- package/skills/telemetry/SKILL.md +75 -0
- package/skills/test-audit-disable/SKILL.md +129 -0
- package/skills/test-design/SKILL.md +177 -0
- package/skills/test-design/scripts/__pycache__/internal_double_detector.cpython-314.pyc +0 -0
- package/skills/test-design/scripts/internal_double_detector.py +631 -0
- package/skills/test-design-advisor/SKILL.md +166 -0
- package/skills/test-driven-development/SKILL.md +169 -0
- package/skills/test-health/SKILL.md +262 -0
- package/skills/test-improve/SKILL.md +239 -0
- package/skills/test-improve/references/phase-0-approach-contract.md +228 -0
- package/skills/test-improve/references/phase-1-analyze.md +131 -0
- package/skills/test-improve/references/phase-2-baseline.md +121 -0
- package/skills/test-improve/references/phase-3-derive-gherkin.md +53 -0
- package/skills/test-improve/references/phase-4-plan-fixes.md +34 -0
- package/skills/test-improve/references/phase-5-improve.md +215 -0
- package/skills/test-improve/references/phase-6-refactor-decision.md +45 -0
- package/skills/test-improve/references/phase-7-refactor.md +44 -0
- package/skills/test-improve/references/phase-8-validate.md +66 -0
- package/skills/test-improve/references/phase-9-close-out-prompt.md +11 -0
- package/skills/test-improve/references/phase-9-report.md +62 -0
- package/skills/test-improve/references/review-loop.md +92 -0
- package/skills/test-improve/templates/executive-summary.md +123 -0
- package/skills/threat-modeling/SKILL.md +108 -0
- package/skills/triage/SKILL.md +211 -0
- package/skills/ubiquitous-language/SKILL.md +192 -0
- package/skills/ubiquitous-language/scripts/collect_domain_signals.py +300 -0
- package/skills/unfreeze/SKILL.md +37 -0
- package/skills/upgrade/SKILL.md +31 -0
- package/skills/upgrade/scripts/check_version_drift.py +113 -0
- package/skills/upgrade/scripts/enable_autoupdate.py +149 -0
- package/skills/version/SKILL.md +25 -0
- package/sync/__pycache__/sync_upstream.cpython-314.pyc +0 -0
- package/sync/sync_upstream.py +293 -0
- package/templates/ACCEPTED-RISKS.md.tmpl +46 -0
- package/templates/agents/agent-template.md +151 -0
- package/templates/agents/angular-testing.md +66 -0
- package/templates/agents/csharp-quality.md +63 -0
- package/templates/agents/esm-enforcer.md +52 -0
- package/templates/agents/front-end-testing.md +65 -0
- package/templates/agents/go-quality.md +65 -0
- package/templates/agents/python-quality.md +62 -0
- package/templates/agents/react-testing.md +61 -0
- package/templates/agents/ts-enforcer.md +60 -0
- package/templates/agents/twelve-factor-audit.md +49 -0
- package/tools/entropy-check.py +250 -0
- package/tools/model-hash-verify.py +213 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# dev-team
|
|
2
|
+
|
|
3
|
+
A Claude Code plugin that adds a full persona-driven AI development team to any project. The Orchestrator routes tasks to specialized agents, inline review checkpoints catch quality issues during implementation, and skills provide reusable knowledge modules that any agent can draw on.
|
|
4
|
+
|
|
5
|
+
For the workflow overview, team philosophy, and three-phase (Research → Plan → Implement) process, see the [repository README](../../README.md).
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
Three commands total: register the marketplace, install the plugin, then run `/setup` in your project. That's the whole flow.
|
|
10
|
+
|
|
11
|
+
**Prerequisite:** [Claude Code](https://docs.anthropic.com/en/docs/claude-code), installed and authenticated. Nothing else needs to be installed by hand — `/setup` installs the tools your stack needs.
|
|
12
|
+
|
|
13
|
+
### Install
|
|
14
|
+
|
|
15
|
+
Register the marketplace, then install the plugin. The marketplace is named **`bfinster`** (the `name` field in `marketplace.json`); the plugin is **`dev-team`**. `claude plugin marketplace add` accepts a GitHub `owner/repo`, any git URL, or a local path; `claude plugin install` takes `<plugin>@<marketplace>`.
|
|
16
|
+
|
|
17
|
+
**From GitHub (recommended):**
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
claude plugin marketplace add bdfinst/agentic-dev-team
|
|
21
|
+
claude plugin install dev-team@bfinster
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The `owner/repo` shorthand and the full `https://github.com/bdfinst/agentic-dev-team` URL are equivalent.
|
|
25
|
+
|
|
26
|
+
### Set up your project
|
|
27
|
+
|
|
28
|
+
Open Claude Code in your project and run one command:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
/setup
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
`/setup` detects your stack, shows you a plan, and — once you confirm it — installs everything the team needs and writes project config. You do not pre-install anything:
|
|
35
|
+
|
|
36
|
+
- **Tool dependencies** — `jq` and `python3` (used by the hooks and gates), and for a recognized stack, the stack's linters, formatters, type checkers, test runner, and per-language mutation testing (Stryker for JS/TS, pitest for Java/Kotlin, Stryker.NET for C#).
|
|
37
|
+
- **Capability tools, each installed only when its signal fires** — `gh` when the repo has a GitHub remote (used by `/pr` and `/issues-from-plan`), `semgrep` for static analysis, Playwright + Chromium for `/browse`, the docker scanners (`hadolint`/`trivy`/`grype`) when a Dockerfile is present, and ADR tooling when the repo already keeps ADRs.
|
|
38
|
+
- **Optional code-intelligence indexes** — CodeGraph, Repowise, and Graphify, offered as keyless opt-ins for faster code navigation.
|
|
39
|
+
- **Project config** — a project-level `CLAUDE.md`, the auto-format PostToolUse hook, language-specific agent templates, a generated `/pr` command, and `.gitignore` entries for the workflow's runtime artifacts.
|
|
40
|
+
|
|
41
|
+
Recognized stacks are **JS/TS, Python, C#, and Java**. On a stack that isn't recognized, `/setup` installs the language-neutral pieces and tells you plainly what it could not set up — it never guesses at a toolchain.
|
|
42
|
+
|
|
43
|
+
For an unattended run (CI, scripted onboarding), pass `--yes` to accept the detected plan without the confirmation prompt: `/setup --yes`. Add `--dry-run` to report what it would install and configure without writing anything.
|
|
44
|
+
|
|
45
|
+
After `/setup`, you're ready to work: run `/specs` to start a feature, or just describe a task and let the Orchestrator route it. To confirm the team is live, see [Verify](#verify).
|
|
46
|
+
|
|
47
|
+
<details>
|
|
48
|
+
<summary><b>Manual / offline install of individual tools</b></summary>
|
|
49
|
+
|
|
50
|
+
`/setup` installs all of these for you. This section is a reference for air-gapped machines, an unsupported stack, or installing a single tool by hand.
|
|
51
|
+
|
|
52
|
+
**Hard dependencies** (any stack): `jq` (`brew install jq` / `apt install jq`) and `python3`.
|
|
53
|
+
|
|
54
|
+
**GitHub CLI** — `gh`, used by `/pr` and `/issues-from-plan`. `brew install gh` (macOS) or [GitHub CLI install docs](https://github.com/cli/cli#installation), then `gh auth login`.
|
|
55
|
+
|
|
56
|
+
**By feature:**
|
|
57
|
+
|
|
58
|
+
| Tool(s) | Required for | Install |
|
|
59
|
+
| --- | --- | --- |
|
|
60
|
+
| `semgrep` | `/semgrep-analyze`, static analysis pre-pass in `/code-review` | `pip install semgrep`, `brew install semgrep`, or `pipx install semgrep` |
|
|
61
|
+
| `playwright` | `/browse` (browser-based QA) | `npx playwright install chromium` (requires Node.js) |
|
|
62
|
+
| `hadolint`, `trivy`, `grype` | `/docker-image-audit` | `brew install hadolint trivy grype`; Linux install scripts and Docker-container usage in the [docker-image-audit skill docs](skills/docker-image-audit/SKILL.md) |
|
|
63
|
+
| `az` (with `az boards` extension) | `/test-modernize` when the parent issue lives on Azure DevOps | `brew install azure-cli` or [Azure CLI install docs](https://learn.microsoft.com/cli/azure/install-azure-cli); then `az extension add --name azure-devops` and `az login` |
|
|
64
|
+
| `glab` | `/test-modernize` when the parent issue lives on GitLab | `brew install glab` or [GitLab CLI install docs](https://gitlab.com/gitlab-org/cli#installation); then `glab auth login` |
|
|
65
|
+
| `acli` | `/test-modernize` when the parent issue lives on Jira (Atlassian Cloud) | See [Atlassian CLI install docs](https://developer.atlassian.com/cloud/acli/); REST + `JIRA_TOKEN` is the fallback |
|
|
66
|
+
|
|
67
|
+
`/test-modernize` falls back to local plan files under `./plans/test-modernize/` whenever the tracker CLI for the given parent URL is missing — the workflow continues uninterrupted, only the destination of the issues changes.
|
|
68
|
+
|
|
69
|
+
**Auto-formatting (the `post-format` hook, detected per language):** the hook auto-formats files on every edit, detecting available formatters and degrading silently if none are installed.
|
|
70
|
+
|
|
71
|
+
| Tool | Language | Install |
|
|
72
|
+
| --- | --- | --- |
|
|
73
|
+
| `prettier` | JS/TS/CSS/HTML/JSON | `npm install -D prettier` (project-local) |
|
|
74
|
+
| `eslint` | JS/TS | `npm install -D eslint` (project-local) |
|
|
75
|
+
| `ruff` | Python | `pip install ruff` or `brew install ruff` |
|
|
76
|
+
| `black` | Python (fallback if ruff absent) | `pip install black` |
|
|
77
|
+
| `gofmt` | Go | Included with Go toolchain |
|
|
78
|
+
| `rustfmt` | Rust | `rustup component add rustfmt` |
|
|
79
|
+
| `rubocop` | Ruby | `gem install rubocop` (or add to Gemfile) |
|
|
80
|
+
| `google-java-format` | Java | `brew install google-java-format` or [GitHub releases](https://github.com/google/google-java-format/releases) |
|
|
81
|
+
| `ktlint` | Kotlin | `brew install ktlint` or [GitHub releases](https://github.com/pinterest/ktlint/releases) |
|
|
82
|
+
| `dotnet format` | C# | Included with .NET SDK 6+ |
|
|
83
|
+
|
|
84
|
+
**Quality gates in `/pr` (detected per stack):** `/pr` auto-detects test runners, type checkers, and linters from project manifests — if the tool is installed and the project has the relevant config file, it runs automatically.
|
|
85
|
+
|
|
86
|
+
| Tool | Detected via | Install |
|
|
87
|
+
| --- | --- | --- |
|
|
88
|
+
| `tsc` | `tsconfig.json` | `npm install -D typescript` (project-local) |
|
|
89
|
+
| `mypy` | `mypy.ini` or `pyproject.toml` [mypy] | `pip install mypy` |
|
|
90
|
+
| `ruff` | `which ruff` | `pip install ruff` (project venv / dev requirements) |
|
|
91
|
+
| `golangci-lint` | `which golangci-lint` | `brew install golangci-lint` or [install docs](https://golangci-lint.run/welcome/install/) |
|
|
92
|
+
|
|
93
|
+
</details>
|
|
94
|
+
|
|
95
|
+
### Self-hosted / other git hosts
|
|
96
|
+
|
|
97
|
+
For a self-hosted or other git host (GitLab, Bitbucket, Gitea, Azure DevOps, on-prem), end the URL with `.git` so Claude Code clones the repository instead of treating the URL as a direct link to a `marketplace.json`, and append `#<branch-or-tag>` to pin a ref. The repository must contain `.claude-plugin/marketplace.json` at its root.
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# HTTPS (private repos use your git credential helper)
|
|
101
|
+
claude plugin marketplace add https://gitlab.example.com/team/agentic-dev-team.git
|
|
102
|
+
|
|
103
|
+
# SSH
|
|
104
|
+
claude plugin marketplace add git@gitlab.example.com:team/agentic-dev-team.git
|
|
105
|
+
|
|
106
|
+
# pin a release tag
|
|
107
|
+
claude plugin marketplace add https://gitlab.example.com/team/agentic-dev-team.git#dev-team-v6.6.0
|
|
108
|
+
|
|
109
|
+
# then, for any of the above:
|
|
110
|
+
claude plugin install dev-team@bfinster
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
For a private host that needs a token, embed a **read-scoped** token in the URL — `https://<user>:<token>@host/team/agentic-dev-team.git` — but never commit it or paste it in chat (Azure DevOps PATs need **Code (Read)** scope). Behind a corporate proxy, clone first and add the local path: `git clone <url> /path/to/clone && claude plugin marketplace add /path/to/clone`.
|
|
114
|
+
|
|
115
|
+
**Scope and monorepo options** — these flags apply to `marketplace add` and `install`:
|
|
116
|
+
|
|
117
|
+
| Flag | Effect |
|
|
118
|
+
| --- | --- |
|
|
119
|
+
| `--scope user` | You, across all projects (**default**) |
|
|
120
|
+
| `--scope project` | All collaborators in this repo (writes `.claude/settings.json`) |
|
|
121
|
+
| `--scope local` | You, this repo only (writes `.claude/settings.local.json`) |
|
|
122
|
+
| `--sparse .claude-plugin plugins` | Limit the marketplace checkout to these directories — for monorepos; `marketplace add` only |
|
|
123
|
+
|
|
124
|
+
Full reference: [Claude Code plugin marketplaces docs](https://docs.anthropic.com/en/docs/claude-code/plugin-marketplaces).
|
|
125
|
+
|
|
126
|
+
### Upgrading
|
|
127
|
+
|
|
128
|
+
Run `/upgrade` from any session, or update manually:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
claude plugin update --scope <scope> dev-team@bfinster
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
To re-point the marketplace (e.g., after moving git hosts), remove it by its **marketplace name** (`bfinster`) and re-add the source:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
claude plugin marketplace remove bfinster
|
|
138
|
+
claude plugin marketplace add bdfinst/agentic-dev-team
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Verify
|
|
142
|
+
|
|
143
|
+
After `/setup` completes, confirm the system is working:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
> What agents are available on this team?
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## What's included
|
|
150
|
+
|
|
151
|
+
- **11 team agents** — Orchestrator, Software Engineer, QA Engineer, Architect, Product Manager, etc.
|
|
152
|
+
- **28 review agents** — security-review, domain-review, test-review, naming-review, …
|
|
153
|
+
- **93 skills** — knowledge modules and procedures the team draws on, 89 of them user-invocable as slash commands (`/plan`, `/build`, `/pr`, `/code-review`, `/browse`, `/triage`, …)
|
|
154
|
+
|
|
155
|
+
Full catalogs: [Agents](docs/agent_info.md) · [Skills](docs/skills.md) · [Workflows](docs/workflows.md)
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
> **Reading order**: Start with the System Overview flowchart, then read Context Management to understand how agents are loaded and unloaded, followed by Quality Assurance for the validation sequence during Phase 3.
|
|
4
|
+
|
|
5
|
+
**On this page:** [System Overview](#system-overview) · [Three-phase workflow](#three-phase-workflow) · [Model Routing](#model-routing) · [Knowledge Index](#knowledge-index) · [Review-Fix Loop](#review-fix-loop) · [Test improvement workflow](#test-improvement-workflow-test-improve) · [Context Management](#context-management) · [Plan Review Personas](#plan-review-personas) · [Quality Assurance](#quality-assurance) · [Human Oversight](#human-oversight) · [Governance](#governance) · [Feedback Loop](#feedback-loop) · [Performance Targets](#performance-targets)
|
|
6
|
+
|
|
7
|
+
## System Overview
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
The Orchestrator receives every request, classifies it by type and complexity, selects agents, assigns models, and coordinates delivery. During Phase 3 (Implement), review agents check coding agent output at each discrete unit-of-work checkpoint. Findings feed back as structured corrections (max 2 cycles before human escalation). After each task, the learning loop captures metrics and evaluates whether configuration updates are needed.
|
|
12
|
+
|
|
13
|
+
## Three-phase workflow
|
|
14
|
+
|
|
15
|
+
Feature work flows through three phases — **Research → Plan → Implement** — with a human gate between each. Research turns a request into approved specs (`/specs` produces Intent, Architecture, and Acceptance Criteria) plus a design doc; Plan decomposes them into vertical slices, authors each slice's Gherkin scenarios, and lays out the TDD steps, which up to five critic personas (Acceptance, Design, UX, Strategic, Parallelization — the set scales to plan tier) challenge before the human approves; Implement runs the per-behavior build loop — Code-First Small Batches (IMPLEMENT → TEST → REFACTOR), the sole build cadence — with a three-stage inline review (spec-compliance, quality agents, and browser verification for UI changes) and a `/code-review` gate, then opens the PR and feeds the learning loop.
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
## Model Routing
|
|
20
|
+
|
|
21
|
+
Each agent declares `model:` (an alias, a full model ID, or `inherit`) and `effort:` (`low|medium|high|xhigh|max`) directly in its frontmatter — the native Claude Code sub-agent contract, resolved by the harness itself before dispatch. There is no plugin-side resolution hook, routing map, or per-environment ladder file (ADR 0026 retired that machinery once the native fields were confirmed to already provide it). See `agents/orchestrator.md` → Model/Effort Resolution.
|
|
22
|
+
|
|
23
|
+
## Knowledge Index
|
|
24
|
+
|
|
25
|
+
`knowledge/index.json` is a deterministic, checked-in catalog of every H2/H3 section across `knowledge/**.md` and `skills/**/SKILL.md`. Each entry has a one-sentence summary and a slugified GitHub-style anchor. Agents that reference knowledge files cite an anchor (e.g. `knowledge/owasp-detection.md#a03-injection`) and read only the relevant section via `offset`/`limit`. Four freshness gates keep the index current: (1) PostToolUse hook auto-regen on save, (2) pre-commit sibling hook blocks stale commits, (3) `tests/repo/test_knowledge_index_current.py` runs in CI, (4) `tests/agents/test_agent_knowledge_anchor.py` validates every reference resolves. See `agents/orchestrator.md` → Knowledge index — consumer usage pattern for the canonical lookup flow, and `hooks/lib/build_knowledge_index.py --check` for ad-hoc verification.
|
|
26
|
+
|
|
27
|
+
## Review-Fix Loop
|
|
28
|
+
|
|
29
|
+
Both inline review checkpoints (Phase 3) and `/code-review` use the same review-fix loop: targeted agents run in parallel, actionable issues (error/warning severity with high/medium confidence) are auto-fixed, and only the agents that reported issues are re-run against the modified files. The loop converges in up to 5 iterations or escalates to a human. `/code-review` is the final gate before commit.
|
|
30
|
+
|
|
31
|
+
For the full pipeline — targeting, pre-flight gates, static analysis pre-pass, ACCEPTED-RISKS suppression, fix-loop exit conditions, report generation, and the `.pr-review-passed` gate file — see [Code Review Process](code-review-process.md).
|
|
32
|
+
|
|
33
|
+
## Test improvement workflow (`/test-improve`)
|
|
34
|
+
|
|
35
|
+
`/test-improve` is the **consolidated** analyze-then-improve orchestrator for legacy or in-flight test suites. It defaults to lightweight ceremony, prompts for heavier capabilities on demand, and always baselines coverage (and mutation, when enabled) before any test change.
|
|
36
|
+
|
|
37
|
+

|
|
38
|
+
|
|
39
|
+
It runs ten phases (0-9) with a human gate between each, every phase writing a progress file at `.claude/memory/test-improve/<slug>/phase-<n>.md` so `/continue` (and `--from-phase`) can resume. The full phase-by-phase reference — gates, arguments, and the flow diagram — lives on its own page: **[test-improve.md](test-improve.md)**.
|
|
40
|
+
|
|
41
|
+
## Context Management
|
|
42
|
+
|
|
43
|
+
The Orchestrator manages context utilization using two operational skills.
|
|
44
|
+
|
|
45
|
+
### Loading Protocol
|
|
46
|
+
|
|
47
|
+
[Context Loading Protocol](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/skills/context-loading-protocol/SKILL.md) controls what gets loaded and when:
|
|
48
|
+
|
|
49
|
+
1. **Classify** the task (simple, standard, multi-agent, complex)
|
|
50
|
+
2. **Select** the minimum set of agents and skills required
|
|
51
|
+
3. **Load in phases**: primary agent first, supporting agents as their phase begins
|
|
52
|
+
4. **Unload** previous-phase agents via summarization before loading next-phase agents
|
|
53
|
+
|
|
54
|
+
### Summarization
|
|
55
|
+
|
|
56
|
+
[Handoff](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/skills/handoff/SKILL.md) (continue mode) controls when to compress:
|
|
57
|
+
|
|
58
|
+
| Utilization | Action |
|
|
59
|
+
| --- | --- |
|
|
60
|
+
| < 40% | Normal operation |
|
|
61
|
+
| 40-50% | Prepare for summarization |
|
|
62
|
+
| 50-60% | Summarize older conversation turns |
|
|
63
|
+
| 60-75% | Aggressive summarization |
|
|
64
|
+
| 75%+ | Write summary to `.claude/memory/`, start new conversation |
|
|
65
|
+
|
|
66
|
+
Utilization is estimated via proxy signals (tool call volume, message count, accumulated file reads) as described in the Context Loading Protocol. Summaries follow a structured template and are stored in `.claude/memory/` for cross-session continuity.
|
|
67
|
+
|
|
68
|
+
### Token Budgets
|
|
69
|
+
|
|
70
|
+
| Component | ~Tokens |
|
|
71
|
+
| --- | --- |
|
|
72
|
+
| CLAUDE.md (always loaded) | ~800 |
|
|
73
|
+
| Single team agent | 290-560 |
|
|
74
|
+
| Single skill | 420-1,020 |
|
|
75
|
+
| All team agents (no skills) | ~3,590 |
|
|
76
|
+
| All review agents | ~3,100 (sub-agents, not loaded in parent context) |
|
|
77
|
+
| Knowledge files | ~3,450 (loaded on demand by agents) |
|
|
78
|
+
| Plan review persona agents | ~1,800 (loaded by orchestrator when dispatching) |
|
|
79
|
+
| Full load (all team agents + all skills) | ~18,100 |
|
|
80
|
+
|
|
81
|
+
A typical task loads 1 agent + 1-2 skills: roughly 1,000-2,000 tokens of configuration overhead. Review agents and plan review personas run as isolated sub-agents — their context burden does not accumulate in the parent.
|
|
82
|
+
|
|
83
|
+
### Subagent status checks
|
|
84
|
+
|
|
85
|
+
A subagent's progress or status reaches a *live* orchestrating agent's context only as its structured summary output — the verdict/findings contract the `Agent` tool already returns — never as a raw transcript read. Pulling a running subagent's full transcript into the orchestrator's working context is the failure mode Martin Fowler's ["The Orchestrator's Tax"](https://martinfowler.com/articles/orchestrator-tax.html) warns about: unlike a one-time token bill, that transcript then persists and degrades every subsequent turn. The `Agent` tool's contract already enforces this — it returns only final text/schema output, not a transcript — so the failure cannot occur through the standard dispatch path; this subsection states the rule explicitly for future tool and skill authors.
|
|
86
|
+
|
|
87
|
+
**Offline-resume exception.** The `Workflow` tool's resume mechanism legitimately reads `journal.jsonl` / `agent-<id>.jsonl` transcript files to reconstruct cached results for continuation. That is an *offline* diagnostic read, not a feed into a live orchestrator's context, and is fine. The constraint targets specifically a raw-transcript read flowing back into an *active* orchestrating agent's working context.
|
|
88
|
+
|
|
89
|
+
## Plan Review Personas
|
|
90
|
+
|
|
91
|
+
Before the human reviews a plan (Phase 2), a tier-scaled set of critical review personas runs **in parallel** as sub-agents. The reviewer set scales to a **plan tier** (`trivial`/`standard`/`complex`, derived from slice count, file count, per-step complexity, and whether the plan takes a stance on any high-reversal-cost decision axis) so a one-function plan does not pay a complex feature's review ceremony: `trivial` runs the Acceptance Test Critic alone, `standard` adds the Design & Architecture Critic (plus the UX Critic for user-facing plans and the Parallelization Critic when the slice count > 1), and `complex` runs all five. The Acceptance Test Critic always runs; the Parallelization Critic runs only when slice count > 1. Each persona challenges the plan from a distinct perspective:
|
|
92
|
+
|
|
93
|
+
| Persona | Agent | What It Challenges |
|
|
94
|
+
| --- | --- | --- |
|
|
95
|
+
| Acceptance Test Critic | `agents/plan-review-acceptance.md` | Per-slice Gherkin quality (determinism, isolation, completeness), criteria verifiability, error-path coverage, TDD step traceability |
|
|
96
|
+
| Design & Architecture Critic | `agents/plan-review-design.md` | Dependency direction, abstraction quality, structural risks, pattern consistency |
|
|
97
|
+
| Parallelization Critic | `agents/plan-review-parallelization.md` | Same-wave independence: file-overlap collisions (plan_waves.py), disjoint-file behavioral coupling, residual cycles |
|
|
98
|
+
| Strategic Critic | `agents/plan-review-strategic.md` | Problem-solution fit, scope assessment, risk analysis, opportunity cost |
|
|
99
|
+
| UX Critic | `agents/plan-review-ux.md` | User journey, error experience, cognitive load, accessibility (self-skips for non-UI plans) |
|
|
100
|
+
|
|
101
|
+
Each persona is a registered agent, dispatched by `subagent_type` like any other agent — `/plan` step 5b no longer needs a dispatch-time `model:` override; the harness reads each persona's own `model:`/`effort:` frontmatter natively.
|
|
102
|
+
|
|
103
|
+
Each reviewer returns a structured `approve` or `needs-revision` verdict. If any reviewer flags blockers, the plan is revised before the human sees it (max 2 iterations). Warnings from the dispatched reviewers are aggregated into a Plan Review Summary appended to the plan file, which also records the chosen tier and reviewer set so the scaling decision is auditable.
|
|
104
|
+
|
|
105
|
+
This gate catches problems when they cost minutes to fix (in a plan), not hours (in code).
|
|
106
|
+
|
|
107
|
+
## Quality Assurance
|
|
108
|
+
|
|
109
|
+
Validation happens in this sequence during Phase 3:
|
|
110
|
+
|
|
111
|
+
| Order | Layer | Who | When |
|
|
112
|
+
| --- | --- | --- | --- |
|
|
113
|
+
| 1 | Self-validation | Active agent | Before delivering any unit of work |
|
|
114
|
+
| 2 | Inline review checkpoint | Targeted review agents | After each discrete unit of work |
|
|
115
|
+
| 3 | Review feedback correction | Coding agent | Up to 2 correction cycles per checkpoint |
|
|
116
|
+
| 4 | Final code review | `/code-review` | Before committing; auto-scopes to uncommitted changes, runs full agent suite with fix loop |
|
|
117
|
+
| 5 | Documentation review | Tech-writer | After code review passes; verifies docs reflect current behavior |
|
|
118
|
+
| 6 | Peer validation | QA agent | After implementation, before phase delivery |
|
|
119
|
+
| 7 | Human gate | User | At each phase transition (Research, Plan, Implement) |
|
|
120
|
+
| 8 | Post-hoc monitoring | Orchestrator | During learning loop after task completion |
|
|
121
|
+
|
|
122
|
+
Every agent applies the [Quality Gate Pipeline](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/skills/quality-gate-pipeline/SKILL.md) before output. This includes self-validation (Phase 1: factual accuracy, instruction fidelity, consistency, confidence scoring), verification evidence (Phase 2), and review-correction loops (Phase 3).
|
|
123
|
+
|
|
124
|
+
Quality gates by task type:
|
|
125
|
+
|
|
126
|
+
| Task Type | Required Gates |
|
|
127
|
+
| --- | --- |
|
|
128
|
+
| Code implementation | Self-validation + QA review |
|
|
129
|
+
| Architecture design | Self-validation + human approval |
|
|
130
|
+
| Documentation | Self-validation + terminology check |
|
|
131
|
+
| Bug fix | Self-validation + regression test |
|
|
132
|
+
| Data analysis | Self-validation + statistical validation |
|
|
133
|
+
|
|
134
|
+
## Human Oversight
|
|
135
|
+
|
|
136
|
+
Agents operate autonomously within boundaries. The [Human Oversight Protocol](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/skills/human-oversight-protocol/SKILL.md) defines three levels of human involvement:
|
|
137
|
+
|
|
138
|
+
| Level | When | Example |
|
|
139
|
+
| --- | --- | --- |
|
|
140
|
+
| **Autonomous** | Routine work within scope | Writing a unit test |
|
|
141
|
+
| **Notify** | Significant but within scope | Choosing between two valid patterns |
|
|
142
|
+
| **Approve** | High-impact or outside scope | Database schema change, production deploy |
|
|
143
|
+
|
|
144
|
+
Intervention commands (`override`, `pause`, `stop`) give humans immediate control when needed.
|
|
145
|
+
|
|
146
|
+
## Governance
|
|
147
|
+
|
|
148
|
+
[Governance & Compliance](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/skills/governance-compliance/SKILL.md) defines audit and ethics requirements:
|
|
149
|
+
|
|
150
|
+
- All task completions logged to `.claude/metrics/` (JSONL format)
|
|
151
|
+
- All configuration changes logged to `.claude/metrics/config-changelog.jsonl`
|
|
152
|
+
- Conversation summaries stored in `.claude/memory/` for cross-session continuity
|
|
153
|
+
- Significant routing and architectural decisions logged to `.claude/memory/decisions.md`
|
|
154
|
+
- Sensitive data (credentials, PII) never stored in metrics or memory files
|
|
155
|
+
- All agent decisions must be explainable on request
|
|
156
|
+
|
|
157
|
+
### Pre-Execution Hook Pipeline
|
|
158
|
+
|
|
159
|
+
A `PreToolUse` hook (`hooks/pre_tool_guard.py`) intercepts every Write and Edit call before execution:
|
|
160
|
+
|
|
161
|
+
| Action | Trigger | Behavior |
|
|
162
|
+
| --- | --- | --- |
|
|
163
|
+
| Block | Path matches `blocked_paths` in `guards.json` | Exit 2 — write cancelled, message shown |
|
|
164
|
+
| Warn | Path matches `warn_paths` in `guards.json` | Exit 0 — write proceeds, warning shown |
|
|
165
|
+
| Allow | No match | Exit 0 — write proceeds silently |
|
|
166
|
+
|
|
167
|
+
Default blocked patterns: `.env`, `*.pem`, `*.key`, `*.p12`, `*.pfx`, `*credential*`, `*secret*`, `*.token`. Configurable via `.claude/hooks/guards.json`.
|
|
168
|
+
|
|
169
|
+
### Destructive Command Guard
|
|
170
|
+
|
|
171
|
+
A second `PreToolUse` hook (`hooks/destructive_guard.py`) monitors Bash tool calls for destructive commands: file deletion (`rm -rf`), database drops (`DROP TABLE`), git destruction (`force-push`, `reset --hard`), process killing, and permission escalation. Patterns are configurable via `hooks/destructive-commands.json`, which also includes a `safe_allowlist` for routine operations like `rm -rf node_modules`.
|
|
172
|
+
|
|
173
|
+
By default, destructive commands produce a **warning** (exit 0). When `/careful` mode is active, they are **blocked** (exit 2).
|
|
174
|
+
|
|
175
|
+
### Pre-PR Review Gate
|
|
176
|
+
|
|
177
|
+
A `PreToolUse` hook on `gh pr create` (`hooks/pre_pr_review.py`, #1886) blocks opening the PR (exit 2) unless `.claude/memory/.pr-review-passed` carries a hash matching the branch's current diff vs. its base, corroborated by genuine review-agent dispatch evidence. `git commit` is no longer gated: a branch may accumulate any number of local commits without triggering a review-agent panel; the hard block fires once, against the branch's full diff, at PR-creation time. (`hooks/pre_commit_review.py`, the former commit-time gate, is now a documented no-op.)
|
|
178
|
+
|
|
179
|
+
`/code-review`'s own gate-file write (step 9, [Code Review Process → Pre-PR gate file](code-review-process.md#9-pre-pr-gate-file)) now writes `.pr-review-passed` bound to the branch-diff hash this gate reads, when the review was auto-scoped to uncommitted changes and passed. **Known residual gap (#1886 follow-up):** `agent_dispatch_ledger.py` still stamps dispatch evidence with the staged-diff hash, not the branch-diff hash, so this only lines up automatically in the common single-commit-then-PR shape — a branch with multiple separate review-and-commit cycles needs a fresh `/code-review` run against its current diff right before `gh pr create`, or falls back to the audited `PR_GATE_BYPASS_REASON` escape hatch below.
|
|
180
|
+
|
|
181
|
+
**Reasoned bypass.** Setting a non-empty `PR_GATE_BYPASS_REASON` env var allows `gh pr create` through even without a passing gate — `gh` has no `--no-verify`-shaped flag to key a bypass off, so the env var alone is both the trigger and the reason. When present, the bypass is logged — timestamp, branch, reason, branch-diff file count — to `.claude/metrics/gate-bypass-audit.jsonl` (#709/#1886), unconditionally:
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
PR_GATE_BYPASS_REASON="hotfix, review to follow" gh pr create ...
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Code-Intelligence Nudge
|
|
188
|
+
|
|
189
|
+
A `PreToolUse` hook (`hooks/code_intelligence_nudge.py`) registered on `Read`, `Grep`, and `Glob` detects which of CodeGraph (`.codegraph/`), Repowise (`.repowise/`), and Graphify (`graphify-out/graph.json`) are present in the project and recommends whichever are present and not yet used this turn over multi-file exploration — composing a single-tool message when only one is present, or a combined, precedence-ordered message (Graphify, then Repowise, then CodeGraph) when two or more are. The hook is silent for single-file Read calls, for Grep with a regular-file `path`, for Glob with a literal `pattern`, and for any tool already used earlier in the current turn (tracked via a sentinel accumulating `tools_used`, written by a companion `PostToolUse` hook on `mcp__codegraph__.*` and `mcp__plugin_repowise_repowise__.*`). Warns to stderr by default; blocks (`exit 2`) under `/careful`. Fail-open posture throughout — any internal error, or a missing/malformed detection or sentinel surface, exits 0. See `docs/code-intelligence-nudge.md` for the full mechanism.
|
|
190
|
+
|
|
191
|
+
### Context Management
|
|
192
|
+
|
|
193
|
+
The plugin no longer enforces a context ceiling with a hook ([ADR 0043](https://github.com/bdfinst/agentic-dev-team/blob/main/docs/adr/0043-replace-the-context-ceiling-guard-with-harness-autocompact.md)). `/setup` writes the harness's own `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` (default 40) into each repo's `.claude/settings.json`; the harness compacts at that percentage of its window. Two `SessionStart` hooks support it: `autocompact_setup_nudge.py` (advisory, recommends `/setup` when the key is missing) and `post_compact_state_reinject.py` (matcher `compact`, re-injects the active `/build` phase, step and plan progress). `/handoff` is a manual tool. See [Context Management](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/docs/context-management.md) and [Context Loading Protocol → Why 40%](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/skills/context-loading-protocol/SKILL.md#why-40).
|
|
194
|
+
|
|
195
|
+
### Freeze Mode
|
|
196
|
+
|
|
197
|
+
The `hooks/pre_tool_guard.py` hook also enforces freeze mode. When `/freeze <glob>` is invoked, it writes a state file (`.claude/hooks/freeze-state.json`, resolved per invoking repo via `hooks/lib/artifact_paths.py` — issue #1890) that restricts Write/Edit operations to files matching the allowed pattern. This prevents accidental edits outside the scope of a debugging session, and — because the state file is repo-scoped rather than relative to the hook's own shared install directory — one session's freeze can never scope-lock a different, concurrently-running session's edits. `/unfreeze` removes the restriction. `/guard <glob>` activates both careful mode and freeze mode together.
|
|
198
|
+
|
|
199
|
+
### Decision Log
|
|
200
|
+
|
|
201
|
+
Agents append to `.claude/memory/decisions.md` when making non-obvious decisions during task execution. The log persists across session resets, giving future phases visibility into prior reasoning without re-reading full conversation history.
|
|
202
|
+
|
|
203
|
+
## Feedback Loop
|
|
204
|
+
|
|
205
|
+
[Feedback & Learning](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/skills/feedback-learning/SKILL.md) enables continuous improvement:
|
|
206
|
+
|
|
207
|
+
1. User provides feedback via keywords (`amend`, `learn`, `remember`, `forget`)
|
|
208
|
+
2. Changes are previewed, applied, and logged with full audit trail
|
|
209
|
+
3. The Orchestrator monitors for recurring patterns (3+ occurrences)
|
|
210
|
+
4. System-initiated changes are proposed to the user with rationale
|
|
211
|
+
|
|
212
|
+
## Performance Targets
|
|
213
|
+
|
|
214
|
+
Two metrics are instrumented today: token budgets (measured by `scripts/measure_tokens.py`) and per-agent detection accuracy (measured by `/agent-eval` against `evals/expected/*.json`). Other goals — efficiency gains, hallucination rate, extraction accuracy, first-pass acceptance — are aspirational and have **no sensor in this repo**, so no numeric target is published until an instrument exists. See the *Claims discipline* section of [`CLAUDE.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/CLAUDE.md) for the full instrumented-vs-aspirational breakdown.
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# Agents
|
|
2
|
+
|
|
3
|
+
Agents define **who does the work**. There are two categories: **team agents** (persona-driven roles that implement, design, and coordinate) and **review agents** (focused reviewers that inspect code quality during implementation).
|
|
4
|
+
|
|
5
|
+
## Team Agents
|
|
6
|
+
|
|
7
|
+
Each team agent file in `agents/` specifies a role's persona, behavior, collaboration style, and which skills it uses.
|
|
8
|
+
|
|
9
|
+
| Agent | File | Purpose |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| ADR Author | [`adr-author.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/adr-author.md) | Creates and manages Architecture Decision Records |
|
|
12
|
+
| Architect | [`architect.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/architect.md) | System design, tech decisions, scalability planning |
|
|
13
|
+
| Codebase Recon | [`codebase-recon.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/codebase-recon.md) | Surveys a codebase's structure, entry points, dependencies, security surface, and git history; produces a RECON artifact in `.claude/memory/` that other agents consume |
|
|
14
|
+
| Orchestrator | [`orchestrator.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/orchestrator.md) | Routes tasks, assigns models, coordinates inline review loop |
|
|
15
|
+
| Platform Engineer | [`platform-engineer.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/platform-engineer.md) | Pipeline, deployment, reliability, observability |
|
|
16
|
+
| Product Manager | [`product-manager.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/product-manager.md) | Requirements clarification, prioritization, stakeholder alignment |
|
|
17
|
+
| QA/SQA Engineer | [`qa-engineer.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/qa-engineer.md) | Test generation, automated testing, quality gates |
|
|
18
|
+
| Security Engineer | [`security-engineer.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/security-engineer.md) | Security analysis, threat modeling, compliance |
|
|
19
|
+
| Software Engineer | [`software-engineer.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/software-engineer.md) | Code generation, implementation, applies review corrections |
|
|
20
|
+
| Technical Writer | [`tech-writer.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/tech-writer.md) | Documentation, terminology consistency, style enforcement |
|
|
21
|
+
| UI/UX Designer | [`ui-ux-designer.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/ui-ux-designer.md) | Interface design, UX flows, accessibility compliance |
|
|
22
|
+
|
|
23
|
+
## Review Agents
|
|
24
|
+
|
|
25
|
+
Review agents run as sub-agents during Phase 3 inline checkpoints and full `/code-review` runs. The Orchestrator selects and spawns them — they are never invoked directly by the user. Each agent declares its own `model:`/`effort:` frontmatter — the native Claude Code sub-agent contract, resolved by the harness itself (see Model/Effort Resolution in `agents/orchestrator.md`). For the full dispatch pipeline, see [Code Review Process](code-review-process.md).
|
|
26
|
+
|
|
27
|
+
| Agent | File | Model | What It Checks |
|
|
28
|
+
| --- | --- | --- | --- |
|
|
29
|
+
| `a11y-review` | [`a11y-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/a11y-review.md) | sonnet | WCAG 2.1 AA, ARIA, keyboard navigation |
|
|
30
|
+
| `ai-provenance-review` | [`ai-provenance-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/ai-provenance-review.md) | opus | AI-authored test assertion verification debt, regeneration-risk candidates |
|
|
31
|
+
| `angular-reactivity-review` | [`angular-reactivity-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/angular-reactivity-review.md) | sonnet | Angular Zone.js pitfalls, OnPush violations, RxJS subscription leaks |
|
|
32
|
+
| `arch-review` | [`arch-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/arch-review.md) | opus | ADR compliance, layer violations, dependency direction |
|
|
33
|
+
| `claude-setup-review` | [`claude-setup-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/claude-setup-review.md) | haiku | CLAUDE.md completeness and accuracy |
|
|
34
|
+
| `component-architecture-review` | [`component-architecture-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/component-architecture-review.md) | sonnet | Reusable component extraction, UI duplication, prop drilling, component APIs |
|
|
35
|
+
| `concurrency-review` | [`concurrency-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/concurrency-review.md) | sonnet | Race conditions, async pitfalls |
|
|
36
|
+
| `correctness-review` | [`correctness-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/correctness-review.md) | opus | Functional/behavioral defects — implementation diverges from evident intent |
|
|
37
|
+
| `data-flow-tracer` | [`data-flow-tracer.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/data-flow-tracer.md) | sonnet | Data flow tracing through architecture layers (analysis-only) |
|
|
38
|
+
| `doc-review` | [`doc-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/doc-review.md) | sonnet | README accuracy, API doc alignment, comment drift |
|
|
39
|
+
| `domain-review` | [`domain-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/domain-review.md) | opus | Abstraction leaks, boundary violations |
|
|
40
|
+
| `js-fp-review` | [`js-fp-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/js-fp-review.md) | haiku | Array mutations, impure patterns, global state, point-free/composition opportunities (JS/TS) |
|
|
41
|
+
| `mutation-kill` | [`mutation-kill.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/mutation-kill.md) | opus | Autonomous survivor-reduction loop — generates targeted tests, verifies, commits, repeats; not a reviewer, invoked per Story by `/test-improve` Phase 5 or directly |
|
|
42
|
+
| `naming-review` | [`naming-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/naming-review.md) | haiku | Intent-revealing names, magic values |
|
|
43
|
+
| `performance-review` | [`performance-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/performance-review.md) | haiku | Resource leaks, N+1 queries |
|
|
44
|
+
| `progress-guardian` | [`progress-guardian.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/progress-guardian.md) | sonnet | Plan adherence, commit discipline, scope creep |
|
|
45
|
+
| `quality-reviewer` | [`quality-reviewer.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/quality-reviewer.md) | sonnet | Coordinates the Inline Review Checkpoint's review agents and drives the fix loop — Stage 2 of the three-stage inline review |
|
|
46
|
+
| `react-reactivity-review` | [`react-reactivity-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/react-reactivity-review.md) | sonnet | React hook violations, stale closures, missing deps, subscription leaks |
|
|
47
|
+
| `refactor-opportunity-review` | [`refactor-opportunity-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/refactor-opportunity-review.md) | sonnet | Post-GREEN refactoring opportunities |
|
|
48
|
+
| `security-review` | [`security-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/security-review.md) | opus | Injection, auth, data exposure |
|
|
49
|
+
| `session-analysis` | [`session-analysis.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/session-analysis.md) | sonnet | Maps an aggregated session digest to probable plugin causes and ranked, tagged improvement suggestions (analysis-only) |
|
|
50
|
+
| `spec-compliance-review` | [`spec-compliance-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/spec-compliance-review.md) | sonnet | Spec-to-code matching — general first gate before quality review (final `/code-review` gate; pre-build and batched/complex-slice checkpoints in `/build`) |
|
|
51
|
+
| `spec-reviewer` | [`spec-reviewer.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/spec-reviewer.md) | haiku | Spec-to-diff matching for a single freshly-implemented unit — Stage 1 of the three-stage inline review |
|
|
52
|
+
| `structure-review` | [`structure-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/structure-review.md) | sonnet | SRP, DRY, coupling, file organization, nesting depth, cognitive load, async-pattern judgment |
|
|
53
|
+
| `test-review` | [`test-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/test-review.md) | sonnet | Coverage gaps, assertion quality, test hygiene |
|
|
54
|
+
| `test-smell-review` | [`test-smell-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/test-smell-review.md) | sonnet | xUnit test smells, test-double selection, pyramid placement |
|
|
55
|
+
| `token-efficiency-review` | [`token-efficiency-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/token-efficiency-review.md) | haiku | File size, LLM anti-patterns |
|
|
56
|
+
| `vue-reactivity-review` | [`vue-reactivity-review.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/agents/vue-reactivity-review.md) | sonnet | Vue ref/reactive pitfalls, watchEffect tracking, proxy escapes, subscription leaks |
|
|
57
|
+
|
|
58
|
+
To add a new review agent, use `/agent-add`. See [Add a Review Agent](#add-a-review-agent) below.
|
|
59
|
+
|
|
60
|
+
## Plan Review Personas
|
|
61
|
+
|
|
62
|
+
Plan review personas are registered agents (`agents/plan-review-*.md`) that critically challenge implementation plans during Phase 2, before the human gate. Unlike review agents (which check code), these check the plan itself. See [Plan Review Personas in the architecture doc](agent-architecture.md#plan-review-personas) for the full persona table and revision loop.
|
|
63
|
+
|
|
64
|
+
## Persona Template
|
|
65
|
+
|
|
66
|
+
Every agent file follows this structure:
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
# [Role Name] Agent
|
|
70
|
+
|
|
71
|
+
## Technical Responsibilities
|
|
72
|
+
- [Primary capabilities - what this agent delivers]
|
|
73
|
+
|
|
74
|
+
## Skills
|
|
75
|
+
- [Skill Name](../skills/{file}.md) - [when/why this agent uses it]
|
|
76
|
+
|
|
77
|
+
## Collaboration Protocols
|
|
78
|
+
### Primary Collaborators
|
|
79
|
+
- [Agent Name]: [What they exchange]
|
|
80
|
+
|
|
81
|
+
### Communication Style
|
|
82
|
+
- [Tone, detail level, update frequency]
|
|
83
|
+
|
|
84
|
+
## Behavioral Guidelines
|
|
85
|
+
### Decision Making
|
|
86
|
+
- Autonomy level: [High/Moderate/Low] for [what]
|
|
87
|
+
- Escalation criteria: [When to escalate]
|
|
88
|
+
- Human approval requirements: [What needs sign-off]
|
|
89
|
+
|
|
90
|
+
### Conflict Management
|
|
91
|
+
- [How disagreements are resolved]
|
|
92
|
+
|
|
93
|
+
## Psychological Profile
|
|
94
|
+
- Work style: [Preferences]
|
|
95
|
+
- Problem-solving approach: [Methods]
|
|
96
|
+
- Quality vs. speed trade-offs: [Tendencies]
|
|
97
|
+
|
|
98
|
+
## Success Metrics
|
|
99
|
+
- [Measurable KPIs]
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
The `## Skills` section is the bridge between agents and skills. The agent defines *when and why* to invoke a skill; the skill defines *how* to execute it.
|
|
103
|
+
|
|
104
|
+
## Non-standard body declarations
|
|
105
|
+
|
|
106
|
+
Several `Key: value` lines appear in some agents' **bodies**, not their frontmatter — they are intentional internal tooling metadata, deliberately kept out of frontmatter because none of them are part of the official Claude Code sub-agent contract (`plugins/marketplace-dev/knowledge/agent-contract.json`); frontmatter is reserved for that contract (issue #1333).
|
|
107
|
+
|
|
108
|
+
- **`Cites: [...]`** — a list of canonical skill/knowledge-file sources an agent's normative rules (MUST/SHOULD/SHALL thresholds) derive from, e.g. `Cites: [owasp-detection, accepted-risks-schema]`. `scripts/citation_lint.py` reads this list and flags a warning when a stated numeric threshold doesn't appear in any cited source — catching silent drift when a canonical file changes but a reviewer agent's inline rule doesn't. See the script's module docstring for the full contract. See `tests/repo/test_citation_lint_corpus.py` for the regression guard over the real corpus.
|
|
109
|
+
- **`Scope: always` / `Scope:` (glob list) / `Scope: added-only` (glob list) / `Scope: on-demand`** — self-declares which files an agent is eligible to review; read by `/code-review`'s dispatch step (`skills/code-review/SKILL.md`). `scripts/check_agent_scope.py` only validates that *some* `Scope:` line is present, not which of the four forms it takes or that the value parses — a misspelled sentinel (e.g. `Scope: added_only`) passes that check silently, then falls through to `select_lenses.py`'s `parse_scope`, which fails open (include-biased, and warned) on an unrecognized value. `added-only` (#1733) narrows the glob-list form to only files that are newly *added* (git change-type `A`), not merely modified. `on-demand` (#1733's closing-pass follow-up) is a bare declaration with no bullet block — it means the agent is a genuine review agent whose findings are whole-repository properties, never dispatched by the per-diff resolver at all (`claude-setup-review`, `token-efficiency-review`, `ai-provenance-review` — see `scripts/lib/review_roster.py`'s docstring for why this replaced listing them in `NON_REVIEW_AGENTS`). `parse_scope` treats the **first** `Scope:` line as authoritative, so the machine-readable form (`added-only`/`on-demand`/plain glob-list) must stay above any later free-text `Scope:` prose in the same body, or the declaration a reader sees first is not the one the resolver reads.
|
|
110
|
+
- **`Verify-model:` / `Verify-effort:`** — a review agent's optional opt-in to a cheaper model/effort tier for **fix-verification** re-dispatches only; discovery dispatches are unaffected. Absent means "same tier as discovery" — the deliberate default, since #1619 showed some confirmations genuinely need top-tier judgment. Resolved by `scripts/verify_tier.py`, which validates each value against the same closed enums the official contract declares for `model:`/`effort:` and falls back to the discovery tier on a typo (failing toward the more expensive tier, never the cheaper one). Full contract: [`knowledge/verification-mode.md`](https://github.com/bdfinst/agentic-dev-team/blob/main/plugins/dev-team/knowledge/verification-mode.md) (#1628).
|
|
111
|
+
- **`Enforcement: script`** — marks an agent whose behavior is deterministically implemented by a script rather than driven by free-form LLM reasoning from the persona prose alone. Agents carrying this declaration also carry a `> **Implemented by:** ${CLAUDE_PLUGIN_ROOT}/scripts/<name>.py` blockquote near the top of the file pointing at that implementation (e.g. `orchestrator.md` → `${CLAUDE_PLUGIN_ROOT}/scripts/orchestrator.py`, `codebase-recon.md` → `${CLAUDE_PLUGIN_ROOT}/scripts/codebase_recon.py`).
|
|
112
|
+
|
|
113
|
+
## Add a Team Agent
|
|
114
|
+
|
|
115
|
+
1. Create `agents/{role-name}.md` using the template above
|
|
116
|
+
2. Add the agent to the Team Organization diagram in `docs/team-structure.md`
|
|
117
|
+
3. Add it to the Team Agents table in `CLAUDE.md`
|
|
118
|
+
4. Define collaboration protocols with existing agents
|
|
119
|
+
5. Reference any applicable skills in the `## Skills` section
|
|
120
|
+
|
|
121
|
+
See the `marketplace-dev` plugin's `agent-skill-authoring` guidance for detailed authoring conventions.
|
|
122
|
+
|
|
123
|
+
## Add a Review Agent
|
|
124
|
+
|
|
125
|
+
Use the `/agent-add` slash command — it scaffolds a compliant agent, checks for scope overlap with existing review agents, runs `/agent-audit` automatically, and registers the agent in `CLAUDE.md`.
|
|
126
|
+
|
|
127
|
+
```text
|
|
128
|
+
/agent-add "React hook violations" --tier mid --lang js,ts,jsx,tsx
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Manual process:
|
|
132
|
+
|
|
133
|
+
1. Create `agents/{name}-review.md` using the review agent template (see any existing review agent for reference)
|
|
134
|
+
2. Run `/agent-audit agents/{name}-review.md --fix` to validate compliance
|
|
135
|
+
3. Add eval fixtures to `evals/fixtures/` and expected results to `evals/expected/`
|
|
136
|
+
4. Run `/agent-eval --agent {name}-review` to validate accuracy
|
|
137
|
+
5. Add a row to the Review Agents table in `CLAUDE.md`
|
|
138
|
+
|
|
139
|
+
## Add a Project-Specific Custom Agent
|
|
140
|
+
|
|
141
|
+
Custom agents extend the team with knowledge specific to your project — your domain model, internal frameworks, coding conventions, or tech stack. They live in your project's `agents/` directory alongside the standard team agents and are invisible to other projects.
|
|
142
|
+
|
|
143
|
+
**When to add a custom agent** (rather than relying on a standard agent):
|
|
144
|
+
|
|
145
|
+
- The agent needs deep knowledge of your domain that would bloat the standard agent's context
|
|
146
|
+
- The role is specific to your team's process (e.g., a `compliance-reviewer` for regulated industries)
|
|
147
|
+
- You want a review agent that enforces internal conventions the standard agents don't know about
|
|
148
|
+
|
|
149
|
+
**Steps**:
|
|
150
|
+
|
|
151
|
+
1. Create the agent file in your project's `agents/`:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# In your project (not this repo)
|
|
155
|
+
touch .claude/agents/django-review.md
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
2. Write the agent using the [persona template](#persona-template) above. For a review agent, copy an existing one (e.g., `agents/js-fp-review.md`) as a starting point.
|
|
159
|
+
|
|
160
|
+
3. Register it in your project's `CLAUDE.md` under the appropriate table (Team Agents or Review Agents).
|
|
161
|
+
|
|
162
|
+
4. If it's a review agent, add eval fixtures so you can validate its accuracy:
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
.claude/evals/fixtures/django-review/ # sample code the agent should flag
|
|
166
|
+
.claude/evals/expected/django-review.json # expected findings
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
5. Validate with `/agent-audit` and test with `/agent-eval --agent django-review`.
|
|
170
|
+
|
|
171
|
+
**Important**: Custom agents in your project's `.claude/` are *additive* — they extend the standard team without replacing it. The Orchestrator will route to them when appropriate based on the task.
|
|
172
|
+
|
|
173
|
+
## Install or Update the Plugin
|
|
174
|
+
|
|
175
|
+
The standard install path is `claude plugin install dev-team@bfinster` — see the [repository README](../../../README.md#getting-started) for the full procedure, including how to update to a newer version. Copying agent files by hand is not supported: the Orchestrator routes by marketplace registry, not by file scan.
|
|
176
|
+
|
|
177
|
+
To contribute a custom agent back upstream:
|
|
178
|
+
|
|
179
|
+
1. Ensure the agent file follows the standard template (run `/agent-audit` against it)
|
|
180
|
+
2. Add eval fixtures and expected outputs
|
|
181
|
+
3. Submit a PR to this repository with the agent file, fixtures, and a registry entry in `CLAUDE.md`
|
|
182
|
+
|
|
183
|
+
## Remove an Agent
|
|
184
|
+
|
|
185
|
+
1. Delete the agent file from `agents/`
|
|
186
|
+
2. Remove it from the organization diagram and registry in `CLAUDE.md`
|
|
187
|
+
3. Update other agents' collaboration protocols that referenced the removed agent
|