Version 4.0.11 — Claude Code · Codex · OpenCode · Cursor
You talk to Cora. She gets the work done and shows you the result.
TAD is a way of working with AI coding agents (Claude Code, Codex, Cursor, OpenCode) where you stay in one conversation about what you want, and the building and checking happen behind it, by separate agents, with quality gates between the steps.
You --> Cora --> Alex designs --> Blake builds --> independent checks --> You look at the result
How a piece of work goes
- Tell Cora what you want. She asks until the result is clear.
- She has an Epic (the written plan) made and stops. Nothing runs yet.
- You read it and say "continue".
- She runs it to the end through subagents and gates. Only questions a human can answer reach you.
- You look at the result and accept it, or send it back.
Not every job needs the whole flow: Cora first clarifies the request (you confirm a one-line-per-block playback), then tells you whether it is a simple task, a single handoff or an Epic (the steps above are the Epic path; for the other two she states her plan and starts, except a handoff with an irreversible effect, which she asks about first; say 'wait' to stop her). Or pick by what you need:
| You want to... | Go to |
|---|---|
| Decide what to build, why, whether, or what next | Cora (/cora, Codex $cora) |
| Have something built from start to finish | Cora: Epic, then Alex, Blake and the gates after you say "continue" |
| Design how to build one thing, or discuss a technical choice | Alex (/alex) directly |
| Implement one finished handoff, or fix a bug | Blake (/blake) directly |
| Not sure | Cora |
Start
curl -sSL https://raw.githubusercontent.com/Sheldon-92/TAD/main/tad.sh | bash -s -- --platform claude-code --yes # or codex | opencode | cursor
/cora # Codex: $cora/alex and /blake still work directly for a single handoff, a bug or a technical discussion.
Cora has been run on Claude Code and Codex, to the extent listed in What has been run on each harness. She has not been run on Cursor or OpenCode yet.
Changelog | Installation | Multi-Platform Guide | Ralph Loop Guide
| Role | Command | What she or he does |
|---|---|---|
| Cora (Conductor) | /cora (Codex: $cora) |
The one you talk to. Triages each request (simple task, single handoff or Epic) and tells you which, with the plan; dispatches Alex, Blake and the reviewers as subagents (an Epic after your "continue"; a simple task or a reversible handoff right after stating the plan; a one-way handoff after your answer) and runs the work to the end. Writes no implementation, gives no verdict. |
| Alex (Solution Lead) | /alex |
Requirements, design, handoffs, and relaying Gate 4 (the acceptor that took no part dispatched by Alex). |
| Blake (Execution Master) | /blake |
Implementation, the Ralph Loop; prepares Gate 3 (the run reviewer signs it). |
You are the fourth part: you decide what the result should be, and you accept it at the end.
- Agree a result with Cora. She asks until what you want is clear.
- She gets an Epic written and stops. The Epic is the plan, in a file you can read. Nothing has run yet.
- You say "continue".
- She runs it to the end through subagents (Alex designs, Blake builds, reviewers check) and the quality gates.
- You look at the result and accept it or send it back.
While she runs, she stops for only three things: something she cannot get past on her own, a change to the result you agreed, or an irreversible or outward action (push, publish, delete).
- The checker did not see the doer's reasoning. Whoever reviews a piece of work is a fresh agent that was not part of building it. An agent that reviews its own work will usually approve it.
- Four gates: Gate 1 requirements (your confirmed playback), Gate 2 design (two lens reviewers), Gate 3 implementation (run + consistency reviewers), Gate 4 acceptance (an AI acceptor that did not build it, by real use). Evidence goes to files, not to claims.
- Only human-answerable questions go to the human: what, why, whether, what next. Questions that a command or a file can answer do not.
- Separate terminals are one way to get the same independence. Running
/alexin one session and/blakein another, with you passing the handoff between them, still works and is a fine choice for a single handoff.
- What to build, why, whether it is worth it, what next: Cora.
- How to build it: Cora dispatches Alex, or go to
/alexdirectly. - A single handoff or a bug: Cora triages it and runs it, or go to
/alexor/blakedirectly. A technical discussion:/alex. - Not sure: Cora.
Facts only. Nothing unrun is described as verified. Fixtures are scripted headless runs, not interactive sessions. Full table and evidence: docs/MULTI-PLATFORM.md.
| Harness | Run | Not run |
|---|---|---|
| Claude Code | Cora headless smoke fixtures (6/6) and queue fixtures (5/5), no P0; one live conducted run (a real Claude Code session conducting a real Epic in this repository), which closed PARTIAL; its open P0 was fixed afterwards and re-checked on the scripted fixtures only. | No interactive live session is on disk. Several paths were checked by text only; they are listed under known limits in the 4.0.0 changelog entry. |
| Codex | The same fixtures, 6/6 and 5/5, no P0; in the live run, Steps Y1 to Y5 only. | Gates, acceptance and distillation were not run on Codex; conducting a run whose fixtures need claude -p was blocked. |
| Cursor | Nothing. | Cora was not run on Cursor. |
| OpenCode | Nothing. | Cora was not run on OpenCode. |
The roles /alex and /blake, the gates and the lifecycle hooks have their own status per harness in the status table.
curl -sSL https://raw.githubusercontent.com/Sheldon-92/TAD/main/tad.sh | bash -s -- --yesOne command; first install and upgrade are the same command, and project data is untouched. It installs the default target (codex) and all capability packs.
- Targets:
--platform claude-code|codex|opencode|cursor(defaultcodex).--platform bothis refused before any file is changed. - Where skills live: roles, gates and packs ship as one tree,
.agents/skills/. Codex, OpenCode and Cursor read it natively; Claude Code reads.claude/skills/, which the installer fills with per-skill links into it. - What the installer leaves alone: with
--platform codex|opencode|cursorit does not change yourCLAUDE.mdor.claude/settings.json, nor your own files under.claude/(one exception: in a project that already has a TAD Claude Code projection it keeps the.claude/skills/links current;TAD_CLAUDE_STICKY=offturns that off). With--platform claude-codeit archives (outside the project, restorable) and replaces only files it can prove byte-for-byte were shipped by an earlier TAD; your hooks, permissions, MCP config andCLAUDE.mdtext stay as they are. An existing.claude/settings.jsonis kept and TAD's hooks are not added to it. Add--claude-adopt=planto see the list without changing anything. - Packs: choose with
--packs web-frontend,web-backend, or runnpx github:Sheldon-92/TADfor the interactive picker. - Hooks: each harness gets a lifecycle-hook configuration over the same
.tad/hooks/scripts (Claude Code: only when the project has no.claude/settings.json; Codex: no PreCompact hook, and the configuration did not take effect in a default-trust run, see the status table).
Details: INSTALLATION_GUIDE.md. Claude Code loads AGENTS.md by itself only when the project has no CLAUDE.md; for a project that already has one, the installer keeps a marked @AGENTS.md reference block inside it.
To check an install:
cat .tad/version.txt # 4.0.11Installed projects update with one sentence ("升级 TAD" to Cora, /tad-update, or $tad-update): the check is read-only and prints the exact line to run, /bin/bash .tad/scripts/tad-update.sh --yes --platform <platforms>; after your one yes it updates every platform listed in one run, keeps a backup of only the files it changes or removes, and ends with a report (version, project files unchanged or the paths that changed, your edits in TAD files, backup path, holding area). Older backups move to a holding area and are deleted only with your yes ("清掉" clears them; the next update's check also offers it); before each deletion the held item is measured again from its files and kept if anything changed since it was listed. "看备份" lists the TAD files you edited: each diff is written to a local file you open yourself (no file content is printed in the conversation), and one yes absorbs a file into the salvage folder under the project knowledge directory, never into AGENTS.md. AGENTS.md has a File Ownership section that says which files are TAD's and which are yours.
- Re-run the installer command above (add
--platformfor your harness)./coraappears. /alexand/blakekeep working unchanged.- Nothing to migrate by hand unless the migration notes in the CHANGELOG for this release say so.
TAD applies to any substantial capability-building work. Software is the most exercised path, but the same loop runs for content production, research and other domains (see docs/value-proposition.md).
- Use it for: a new feature (more than 3 files or a day of work), architecture changes, complex multi-step requirements, cross-module refactoring, multi-phase work in a non-code domain.
- Skip it for: a single-file bug fix, config changes, documentation updates, an emergency hotfix, or any small task where the process costs more than the task.
TAD Lite (/alex-lite, /blake-lite) is a frozen experiment since 2026-08-13. In-flight Lite contracts run to completion and explicit invocation still works, but no new work starts there.
Domain packs (frontend, backend, testing, security, research, video and more) ship under .agents/skills/ and load on demand when a task matches their keywords. See .agents/skills/.
- "Gate failed - no evidence file": the reviewers were not called or did not write to
.tad/evidence/reviews/; run the gate again. - "Handoff created without a confirmed requirement playback": Alex must clarify the requirement block by block and get the playback confirmed before writing a handoff; re-run with the proper flow.
- "Knowledge files empty": run
/knowledge-audit --fixor bootstrap from the templates.
TAD evolves through direct improvement in the TAD repository. If you find issues or have suggestions, modify the framework directly or open an issue.
- Changelog: every version, what changed and what did not land
- Installation Guide
- Multi-Platform Guide: install targets, per-harness status and limits
- Codex User Guide
- Ralph Loop Guide
- Value Proposition: every claim cited to an on-disk artifact
- Configuration
TAD v4.0.11 — Claude Code · Codex · OpenCode · Cursor
AI does the work. Humans guard the value.