Skip to content

Remove Agent Teams and Pipeline orchestrator support #208

Description

@dean0x

Summary

Remove all Agent Teams support (adversarial debate, peer consensus, -teams.md command variants) and the pipeline:orch meta-orchestrator. Agent Teams is a cleanly isolated feature with zero cross-contamination into base commands — removal is safe per ADR-001 (clean break philosophy).

Motivation

  • Agent Teams adds complexity (team lifecycle management, debate rounds, cleanup protocols) for marginal benefit over parallel independent agents
  • The pipeline:orch meta-orchestrator (implement→review→resolve chain) can be removed alongside or independently
  • Base commands provide identical outcomes without the teams overhead

Scope

Category Files to Delete Files to Edit
Command variants (-teams.md) 6 0
Agent-teams skill 3 (shared/) + 6 plugin copies (gitignored, auto-cleaned by build) 0
Pipeline skill 1 (shared/) + 1 plugin copy (gitignored) 0
TypeScript source 0 5 (init.ts, installer.ts, post-install.ts, manifest.ts, list.ts)
Plugin registries 0 7 (plugins.ts + 6 plugin.json)
Templates 0 1 (settings.json)
Tests 0 9 files
Documentation 0 6 (CLAUDE.md, READMEs, reference docs)
Total ~10 files deleted ~28 files edited

Detailed Removal Plan

Step 1: Delete files

Command variants (6 files):

  • plugins/devflow-code-review/commands/code-review-teams.md
  • plugins/devflow-implement/commands/implement-teams.md
  • plugins/devflow-plan/commands/plan-teams.md
  • plugins/devflow-resolve/commands/resolve-teams.md
  • plugins/devflow-debug/commands/debug-teams.md
  • plugins/devflow-explore/commands/explore-teams.md

Skills (directories):

  • shared/skills/agent-teams/ (SKILL.md + references/cleanup.md + references/team-patterns.md)
  • shared/skills/pipeline-orch/ (or wherever pipeline:orch source lives)

Step 2: TypeScript source edits

src/cli/commands/init.ts:

  • Remove teams?: boolean from InitOptions interface (line 128)
  • Remove --teams / --no-teams CLI options (lines 145-146)
  • Remove let teamsEnabled = false and all uses (lines 373, 402, 443, 462-483)
  • Remove teamsEnabled from installViaFileCopy() call (line 894)
  • Remove teamsEnabled from installSettings() call (line 964)
  • Remove teams: teamsEnabled from manifest features (line 1173)
  • Remove applyTeamsConfig/stripTeamsConfig re-exports (line 36)
  • Remove -teams.md from legacy cleanup loop suffix (line 925)

src/cli/utils/installer.ts:

  • Remove teamsEnabled: boolean from FileCopyOptions (line 110)
  • Remove variant selection logic: teamsVariants set, baseCommands filter, conditional source file selection (lines 173-191) — simplify to just copy all .md files directly

src/cli/utils/post-install.ts:

  • Delete applyTeamsConfig() function (lines 35-43)
  • Delete stripTeamsConfig() function (lines 49-59)
  • Remove teamsEnabled parameter from installSettings() signature (line 304)
  • Remove teams conditional logic in installSettings() (lines 329-331, 358-363)

src/cli/utils/manifest.ts:

  • Remove teams: boolean from ManifestData['features'] type (line 13)
  • Remove typeof features.teams !== 'boolean' validation (line 41)
  • Remove teams: features.teams as boolean normalization (line 60)

src/cli/commands/list.ts:

  • Remove features.teams ? 'teams' : null from formatFeatures() (line 16)

Step 3: Plugin registries

src/cli/plugins.ts:

  • Remove 'agent-teams' from skills arrays in 6 plugins (lines 57, 64, 71, 78, 85, 92)
  • Remove 'pipeline-orch' from ambient plugin skills (if listed)
  • Keep 'agent-teams' in LEGACY_SKILL_NAMES (ensures old installs get cleaned up)
  • Clean up debug plugin description mentioning "agent teams" (line 82)

6 plugin.json files:

  • plugins/devflow-code-review/.claude-plugin/plugin.json — remove "agent-teams" from skills array
  • plugins/devflow-implement/.claude-plugin/plugin.json — same
  • plugins/devflow-plan/.claude-plugin/plugin.json — same
  • plugins/devflow-explore/.claude-plugin/plugin.json — same
  • plugins/devflow-debug/.claude-plugin/plugin.json — same
  • plugins/devflow-resolve/.claude-plugin/plugin.json — same

Step 4: Template

src/templates/settings.json:

  • Remove "teammateMode": "auto" (line 41)
  • Remove "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" from env (lines 42-44)
  • Remove empty "env": {} if that was the only entry

Step 5: Router skill

shared/skills/router/SKILL.md:

  • Remove devflow:pipeline:orch from ORCHESTRATED table
  • Remove devflow:agent-teams from available skills list (if present)
  • Remove PIPELINE row from intent table

Step 6: Tests

Deletable test blocks (entire describe blocks):

  • tests/init-logic.test.ts lines 134-241 — applyTeamsConfig + stripTeamsConfig suites
  • tests/resolve/decisions-citation.test.ts lines 139-154 — resolve-teams.md parity tests + lines 224-227
  • tests/decisions/command-adoption.test.ts lines 85-96 — debug-teams.md suite

Surgical edits:

  • tests/init-logic.test.ts lines 454, 474, 812, 850 — remove teamsEnabled: false from installViaFileCopy calls
  • tests/manifest.test.ts ~10 locations — remove teams: boolean from all fixture objects
  • tests/list-logic.test.ts lines 12-72 — remove teams from all feature objects and assertions
  • tests/flags.test.ts lines 150, 154 — replace CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS with different example env var
  • tests/plugins.test.ts line 26 — remove expect(skills).toContain('agent-teams') assertion
  • tests/skill-namespace.test.ts line 151 — remove teamsEnabled: false parameter
  • tests/skill-references.test.ts line 827 — remove 'agent-teams' from canonical skills list; lines 988-1002 remove teams install paths test
  • tests/uninstall-logic.test.ts lines 7, 11-12 — remove agent-teams assertions
  • tests/decisions/command-adoption.test.ts lines 11, 13, 16, 18 — remove teams entries from surfaces array

Step 7: Documentation

  • CLAUDE.md — Remove "Teams Variant" column from plugin table; remove -teams.md references; update "Two-Mode Init" section; remove "every -teams.md must have matching base" rule; remove pipeline:orch from orchestration skills list
  • docs/cli-reference.md — Remove --teams / --no-teams from flag table
  • docs/reference/skills-architecture.md — Remove agent-teams row from skill catalog
  • plugins/devflow-debug/README.md — Remove "agent teams" from description
  • plugins/devflow-explore/README.md — Remove teams variant sections
  • plugins/devflow-implement/README.md — Remove agent-teams from skill list

Step 8: Build & verify

npm run build
npm test
node dist/cli.js init  # verify clean install without teams

What teams variants uniquely provided (context for future consideration)

  • Adversarial debate: Reviewers/debuggers challenged each other's findings with file:line evidence
  • Cross-validation: Resolvers detected conflicts between independent fix batches
  • Confidence scoring: HIGH/MEDIUM/LOW based on peer consensus survival
  • Collaborative validation: Explorers confirmed/corrected each other's discoveries
  • None of this logic exists in base commands — it was purely additive

Risk Assessment

Risk Level Notes
Breaking base commands None Zero shared logic between base and teams variants
Manifest backward compat None ADR-001: clean break, no shims
Existing user installs Low devflow init re-installs cleanly; stale -teams.md in ~/.claude/commands/ cleaned by legacy removal loop
Pipeline intent Low Router stops listing it; ambient falls through gracefully

Checklist

  • Delete 6 -teams.md command files
  • Delete shared/skills/agent-teams/ directory
  • Delete shared/skills/pipeline-orch/ directory (confirm exact name)
  • Strip teamsEnabled flow from init.ts, installer.ts, post-install.ts
  • Strip teams from manifest.ts type + list.ts display
  • Remove agent-teams from 6 plugin.json + plugins.ts
  • Remove teams keys from settings.json template
  • Remove pipeline:orch from router skill
  • Update 9 test files
  • Update 6 documentation files
  • npm run build + npm test pass
  • Verify devflow init works cleanly

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions