# On your terms with AI.

One engine. As many protocols as you need.

A protocol is a JSON config that drives a multi-step lifecycle. Each step declares a DAIC mode, a block of engine functions that run automatically, and the prompt the agent follows. Protocols are the only sanctioned way to do implementation work — they manage mode transitions, task files, git branches, and completion so the agent never has to flip modes by hand.

built-in — six ship in the box, ready to `run`

[task](https://team.management/protocols/task.md)

[5 steps](https://team.management/protocols/task.md)

[The standard implementation lifecycle.](https://team.management/protocols/task.md)

[brainstorm](https://team.management/protocols/brainstorm.md)

[5 steps](https://team.management/protocols/brainstorm.md)

[Parallel-specialist ideation → planned tasks. No code.](https://team.management/protocols/brainstorm.md)

[research](https://team.management/protocols/research.md)

[4 steps](https://team.management/protocols/research.md)

[Spikes, PoCs, evaluations. No branch, no code.](https://team.management/protocols/research.md)

[refactoring](https://team.management/protocols/refactoring.md)

[6 steps](https://team.management/protocols/refactoring.md)

[Test-baseline-gated restructuring.](https://team.management/protocols/refactoring.md)

[optimize](https://team.management/protocols/optimize.md)

[7 steps](https://team.management/protocols/optimize.md)

[Metric-driven optimization, interactive batched.](https://team.management/protocols/optimize.md)

[optimize-unattended](https://team.management/protocols/optimize-unattended.md)

[7 steps](https://team.management/protocols/optimize-unattended.md)

[Autonomous twin of optimize. For overnight runs.](https://team.management/protocols/optimize-unattended.md)

custom — ask Claude to run `/team-management:custom-protocol-create`, or author JSON in `custom/`; overrides the system copy on name match, untouched on upgrade

hotfix

example

Triage → patch → verify → ship. Skips planning for urgent fixes.

spike

example

Timeboxed exploration. Throwaway code, captured learnings, no review gate.

release

example

Changelog → version bump → tag → publish. Your shipping ritual, codified.

vendor-onboarding

example

Intake → due diligence → security review → sign-off before go-live.

employee-onboarding

example

Provision access → agent runs the training → first task → manager sign-off.

incident

example

Detect → triage → mitigate → post-mortem — each step in order.

## Every protocol, the same skeleton.

Steps as JSON, prompts as markdown. Step orchestration — the DAIC mode, which functions run, what arguments advance requires — lives in compact JSON. The verbose human-facing instructions live in separate sub-protocol markdown, so the long prompts can be edited or forked without touching engine logic.

Functions, not hardcoded steps. All side effects — branch creation, issue sync, archiving, squashing — are named functions in a step’s `pre_funcs` / `post_funcs`, all catalogued in the [engine functions reference](https://team.management/docs/functions.md). Adding behaviour is a JSON edit, not an engine change.

Gates that can’t be talked past. A post-function marked stop-on-failure becomes a hard precondition for advancing — that’s how spec-compliance, completion-evidence, and the optional test gate become structural walls rather than advisory reminders.

## Your workflows, in the same engine.

You don’t hand-author JSON to start — ask Claude to fork any shipped protocol:

```
/team-management:custom-protocol-create task
```

This runs `protocol_customize("task")`, copies the system config into `team-management/protocol-configs/custom/task.json`, and opens it for editing — then you describe the change in plain language and Claude edits it with you. The custom copy takes precedence on name match and is never overwritten on upgrade.

To create a net-new protocol, drop any uniquely-named JSON into `custom/` — it appears in `protocol_list()` immediately. The engine functions you can wire into steps (branch setup, issue sync, archiving, frozen paths) are discoverable via `protocol_available_funcs()`. After an upgrade, run `/team-management:custom-protocol-update-after-reinstall` to diff your copies against the new system ones and decide what to merge. See [customization](https://team.management/docs/customization.md) for the full story.

## Two-stage code review.

The `task` protocol and the optimize pair share a structurally-gated review step — the framework’s strongest quality gate.

### Stage 1 — spec compliance

A read-only reviewer audits the diff against your Success Criteria. On pass, the engine records a `SPEC_REVIEW: PASSED` sentinel. Advance is impossible without it — it’s checked both on entry and as a hard block on exit.

### Stage 2 — code quality

One message dispatches the Claude `code-review` agent plus one Task per configured AI provider, all in parallel. Findings are aggregated with equal weight; provider output is advisory and never blocks.

Forward is earned; backward is always open. A step advances only when its completion criteria are met — but it can always step back. If review surfaces a real problem, the protocol returns to investigation, re-plans, fixes, and re-earns the path forward.

[Ready to run one? Install in five minutes→](https://team.management/docs/install.md)
