Turning Teams
The downloadable Turning Teams skill teaches a compatible agent harness how to coordinate a t() plan using persistent sessions and tmux. It supplies instructions rather than a bundled compiler.
Version 0.3.1, sha256 4c052dd86c33ebcf327dfa1bac9e8b99d92849df99809d2f7bea0b22a272529d
Install
Run the line for your harness from any directory. The script downloads the zip, checks its sha256, moves any earlier install (0.1.0 included) to a backup outside the skill folders, and copies the new folder in. The steps under it do the same by hand, less the sha256 check. Review the backup before you delete it, and keep one active copy.
curl -fsSL https://turning.work/install.sh | bashInstalls into ~/.claude/skills. Start a new session and run /turning-teams.
Or paste the steps yourself:
(
set -e
TURN_SKILL_TMP=$(mktemp -d)
cd "$TURN_SKILL_TMP"
curl -fsSLO https://turning.work/skills/turning-teams-0.3.1.zip
unzip -q turning-teams-0.3.1.zip
TURN_SKILL_ROOT="$HOME/.claude/skills"
mkdir -p "$TURN_SKILL_ROOT"
if [ -e "$TURN_SKILL_ROOT/turning-teams" ] || [ -L "$TURN_SKILL_ROOT/turning-teams" ]; then
TURN_SKILL_BACKUP=$(mktemp -d "$HOME/turning-teams-backup.XXXXXX")
mv "$TURN_SKILL_ROOT/turning-teams" "$TURN_SKILL_BACKUP/turning-teams"
printf 'Previous install saved in %s\n' "$TURN_SKILL_BACKUP/turning-teams"
fi
cp -R turning-teams "$TURN_SKILL_ROOT/turning-teams"
)curl -fsSL https://turning.work/install.sh | bash -s codexInstalls into ~/.agents/skills. Start a new session and run $turning-teams.
Or paste the steps yourself. Tested on Codex 0.159.0; a Codex install that still uses the legacy location takes TURN_SKILL_ROOT="${CODEX_HOME:-$HOME/.codex}/skills" instead.
(
set -e
TURN_SKILL_TMP=$(mktemp -d)
cd "$TURN_SKILL_TMP"
curl -fsSLO https://turning.work/skills/turning-teams-0.3.1.zip
unzip -q turning-teams-0.3.1.zip
TURN_SKILL_ROOT="$HOME/.agents/skills"
mkdir -p "$TURN_SKILL_ROOT"
if [ -e "$TURN_SKILL_ROOT/turning-teams" ] || [ -L "$TURN_SKILL_ROOT/turning-teams" ]; then
TURN_SKILL_BACKUP=$(mktemp -d "$HOME/turning-teams-backup.XXXXXX")
mv "$TURN_SKILL_ROOT/turning-teams" "$TURN_SKILL_BACKUP/turning-teams"
printf 'Previous install saved in %s\n' "$TURN_SKILL_BACKUP/turning-teams"
fi
cp -R turning-teams "$TURN_SKILL_ROOT/turning-teams"
)curl -fsSL https://turning.work/install.sh | bash -s ~/path/to/skillsFor another Agent Skills host, pass the skills folder its docs name.
Or paste the steps yourself, with TURN_SKILL_ROOT set to that folder:
(
set -e
TURN_SKILL_TMP=$(mktemp -d)
cd "$TURN_SKILL_TMP"
curl -fsSLO https://turning.work/skills/turning-teams-0.3.1.zip
unzip -q turning-teams-0.3.1.zip
TURN_SKILL_ROOT="$HOME/path/to/skills"
mkdir -p "$TURN_SKILL_ROOT"
if [ -e "$TURN_SKILL_ROOT/turning-teams" ] || [ -L "$TURN_SKILL_ROOT/turning-teams" ]; then
TURN_SKILL_BACKUP=$(mktemp -d "$HOME/turning-teams-backup.XXXXXX")
mv "$TURN_SKILL_ROOT/turning-teams" "$TURN_SKILL_BACKUP/turning-teams"
printf 'Previous install saved in %s\n' "$TURN_SKILL_BACKUP/turning-teams"
fi
cp -R turning-teams "$TURN_SKILL_ROOT/turning-teams"
)Then start a new harness session, check that Turning Teams appears in its skill list, and invoke /turning-teams in Claude Code or $turning-teams in Codex. Other Agent Skills hosts can load the same folder from their documented install location. See the Claude Code and Codex skill docs.
What you need
tmux- Bash on Linux or macOS, or WSL on Windows
- Shell and file access for the agent that coordinates
- The agent CLIs you name, installed and signed in
No particular machine, fleet, private script or provider is required. Installing the skill alone does not install these or give it permission to launch workers.
What it has your agent do
- Check before starting: tmux, the shell, and each harness’s help, models, sign-in, output and session resume. Missing pieces get reported, never quietly role-played.
- Print the plan before launching: the tree, the leaf addresses, the full numbered schedule, the model mapping, workspaces and stopping conditions.
- Record the run under
.t/runs/<run-id>/with a manifest of the expression, roster, schedule and budgets. - Run each leaf in its own tmux window with its own persistent session, one active leaf at a time. A turn counts only after its process exits and its result checks out.
- Brief each leaf with only what it can’t guess. A leaf starting fresh gets the full envelope; a resumed leaf gets what changed since its last turn, with pointers to files instead of pasted copies.
- Keep the common board.
events.jsonlis the record, and only the coordinator writes it. - Run Debate or Converge when you ask for a review.
- Finish honestly: record
schedule_exhaustedafter the planned turns, check the real acceptance criteria, writefinal.md, and record the run as completed, failed or cancelled.
In the package
- turning-teams/SKILL.md
- the instructions your agent loads
- turning-teams/LICENSE
- the Apache License 2.0
- turning-teams/NOTICE
- attribution to JJH Digital (turning.work)
- turning-teams/skill.json
- the version and install metadata; harnesses may ignore it
- turning-teams/agents/openai.yaml
- how the skill appears in Codex
- turning-teams/assets/icon.svg
- the skill’s icon
Changes since 0.2.0
0.3.0 adds context discipline. Each turn’s envelope has four parts: the goal, what the leaf can’t guess, what not to do, and what to return. It points to files instead of pasting them. A leaf starting fresh gets the full envelope; a resumed leaf gets only what changed since its last turn, plus the open requests it owes. Board posts carry only what changed, a nested team leaves its parent one sentence plus pointers, and envelopes are pitched to each leaf’s model. Syntax, turn order, nested round counts, the request lifecycle and session resume are unchanged.