From hyperloop
Reads a PRD, derives a task DAG, gets user approval, writes team-state.json, seeds the native task list, creates a specialist team, and monitors until the back-pressure gate passes. Replaces the /prd-tasks + /hyperworker two-step workflow.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hyperloop:hyperteamThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Converts a PRD into an autonomous agent team that executes the full task DAG, tracks state in
Converts a PRD into an autonomous agent team that executes the full task DAG, tracks state in
plans/<branch>-team-state.json, coordinates via the native task list, and offers PR creation
when all tasks pass the back-pressure gate.
Prerequisites: This skill requires the Agent Teams feature and
ghCLI installed.
- Ensure
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1is set in your environment.- Check that
ghCLI is installed and authenticated for PR creation.
Run these checks in order.
IMPORTANT: Stop and surface each issue as you encounter it.
plans/ and select a PRDList all files in plans/ matching *-prd.md. These are the candidate PRDs.
For each candidate plans/<name>-prd.md, determine its state:
plans/<name>-team-state.json exists.metadata.status:
"running" → in-progress"complete" → completeExclude complete PRDs from the selection list.
If no incomplete PRDs remain:
No incomplete PRDs found in
plans/. Create a PRD first with/prd.
Stop here.
Build the ordered selection list:
<n>. plans/<name>-prd.md⚠ This PRD may have an in-flight hyperteam run. Ensure no other session is working on it before proceeding.Single PRD: If exactly one incomplete PRD exists, use AskUserQuestion to confirm:
Only one incomplete PRD found:
plans/<name>-prd.md[warning if in-progress]Proceed with this PRD?
If the user confirms, select it. Otherwise, stop.
Multiple PRDs: If more than one incomplete PRD exists, use AskUserQuestion:
Multiple PRDs found. Choose one to run:
<numbered selection list from step 5>
Wait for the user's choice.
Derive <branch> from the selected filename: strip the plans/ prefix and the -prd.md suffix.
plans/feat-auth-flow-prd.md → feat-auth-flowDerive <slug> from <branch> by stripping the leading feat- prefix if present.
feat-auth-flow → auth-flow<branch> does not start with feat-, use <branch> as <slug> unchanged.git branch --show-current.<branch> — proceed to Step 3.git branch --list <branch> to check whether the branch exists locally.
b. Branch exists locally → run git checkout <branch>.
c. Branch does not exist locally → run git fetch origin main && git checkout -b <branch> origin/main.
d. Verify with git branch --show-current — the output must equal <branch>. If it doesn't,
use AskUserQuestion to surface the error and stop.plans/<branch> → ~/.claude/tasks/<branch> exists:
test -L plans/<branch>.mkdir -p plans && ln -sf ~/.claude/tasks/<branch> plans/<branch>
readlink plans/<branch> must return a path ending in .claude/tasks/<branch>.
If it doesn't, use AskUserQuestion to surface the error and stop.Note: Task list scoping is handled automatically by
TeamCreatein Phase 2, Step 2. WhenTeamCreateis called withteam_name: "<branch>", it creates the task list at~/.claude/tasks/<branch>/and setsCLAUDE_CODE_TEAM_NAMEon all teammates. No manualexportofCLAUDE_CODE_TASK_LIST_IDis needed.
Check whether plans/<branch>-team-state.json exists.
references/phase-1-fresh-start.md and follow it in full, then return here
and proceed to Phase 2.references/phase-1-resume.md and follow it in full, then return here and
proceed to Phase 2 (or stop if the user declines).plans/<branch>-team-state.json.role_hint values across all tasks with status: pending.
Call this roles_needed.hyperteam-reviewer and hyperteam-worker to roles_needed regardless of task
hints (reviewer is always needed; worker is the fallback for unmatched hints).Call TeamCreate with:
<branch>roles_neededplans/<branch>-team-state.jsonplans/<branch>-progress.txtplans/<branch>-prd.mdFor every task in team-state.json with status: pending:
Call TaskCreate with the task's YAML front-matter block and full story text as the
description. The YAML front-matter format is:
---
id: <task_id>
type: <FEAT|DOC|GATE>
role_hint: <role_hint>
blocked_by:
- <blocker_id_1>
- <blocker_id_2>
---
<full story text and acceptance criteria from team-state.json task description>
Store the returned task UUID as native_task_id in the corresponding task object in
team-state.json.
After processing all pending tasks, write the updated team-state.json to disk.
Send a broadcast SendMessage to the team:
Hyperteam
<branch>is starting. State file:plans/<branch>-team-state.jsonProgress log:plans/<branch>-progress.txtAll specialists: claim your tasks from the native task list. Parse the YAML front-matter in each task's description to find your
role_hintandblocked_byfields. Resolve blockers viateam-state.json(a blocker is terminal when its status isvalidatedorcompleted).Reviewer: begin scanning
team-state.jsonfor completed FEAT tasks withreviewed: falseimmediately.
The main thread now monitors the run. The lead agent (dispatched as a teammate in Step 2) handles all coordination: review outcomes, failure resets, blocker broadcasts, and GATE readiness detection.
React to events:
SendMessage from the lead signalling GATE PASS → proceed to Phase 4.SendMessage from any teammate requiring main-thread intervention → address and resume.The main thread does not dispatch individual workers or validators. Teammates self-claim.
This phase runs inside the reviewer agent — not on the main thread. The reviewer claims the GATE native task when the lead broadcasts GATE OPEN. See
references/gate-task-template.mdfor the full gate agent instructions.
The lead notifies the main thread only after the GATE passes. Proceed to Phase 4.
Read references/phase-4-completion.md and follow it in full.
After Phase 4 completes (summary written and PR offered/created/declined), clean up the team:
TeamDelete for team <branch>.This removes all shared team resources. Must be done after Phase 4, not before, so all teammates are fully idle before cleanup is attempted.
npx claudepluginhub samrom3/claude-hyper-plugs --plugin hyperloopSpawns and coordinates a pre-composed agent team from a team definition file, resolving agents and skills and running the workflow. Useful for dispatching development teams or multi-phase task coordination.
Sets up Agent Teams governance with team-lead and architecture/QA/design leads for large projects, or Mini-PRD for small ones. Use at project kickoff or for governance/team requests.
Orchestrates parallel task implementation via Claude Code Agent Teams: analyzes tasks.md dependencies, spawns isolated git worktrees per group, reviews via spec guardian before merging.