docs · customization

Your protocols, your rules.

Six protocols ship in the box, but they’re yours to change. Drop a JSON config in custom/ and it overrides the system copy of the same name — with no engine change, and never overwritten on upgrade.

Load order: custom → system → source

When the engine resolves a protocol or a sub-protocol prompt, it walks an ordered search path — custom/ first, then the installed system/ copy, then the package source. The first match wins, so a forked custom/task.json shadows the shipped one cleanly.

What you can change

Override any step’s DAIC mode, swap in a custom pre- or post-function, reorder steps, or author a whole new protocol. Behaviour lives in named functions discoverable through the engine, so adding to a step is a JSON edit — not a code change.

The same rule protects your customizations of shipped agents and the CLAUDE.tm.custom.md rules file: team-management only overwrites the names it ships on update, so a renamed copy is always safe.

What a config actually holds

The file is small: a name, a description, and a list of steps. Each step names itself, declares the mode it runs in, and carries two lists of named functions — pre_funcs on entry, post_funcs on exit. A post_funcs_stop_on_failure flag decides whether a failing exit function halts the step or lets it through.

Even the text a step shows you is just start and end fields in the same file. That is most of the shape — which is why so much can be changed without touching engine code, and why anything you fork is yours to maintain.

Forking a protocol — just ask Claude

You don’t hand-author JSON to start. Ask Claude to run /team-management:custom-protocol-create task — it calls protocol_customize, copies the system config into custom/task.json, and opens it for editing. From there you describe the change in plain language and Claude edits the config with you.

Youfork the task protocol and add a security-review step

Staying current after an upgrade

When the plugin updates, the shipped protocols may gain steps or change behaviour — but your custom/ copies are never touched, so they can quietly fall behind. Run /team-management:custom-protocol-update-after-reinstall (which drives protocol_check_drift) to diff your custom copies against the upgraded system copies and decide what to merge. Nothing is overwritten without your say-so.