AgenTeam Resume

SkillDev tools

Resume an interrupted AgenTeam run with verify-first strategy.

Use AgenTeam Resume in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add AgenTeam Resume and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the AgenTeam Resume skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

AgenTeam ResumeStart free

What this skill tells your AI

The instructions your AI receives, as published by hashgraph-online/awesome-codex-plugins in plugins/yimwoo/codex-agenteam/skills/resume/SKILL.md and read by Ahel’s review.

Resume an interrupted pipeline run. Detects stale runs, verifies the last incomplete stage before continuing, and lets the user choose how to proceed.

Process

1. Detect Resumable Runs

python3 <runtime>/agenteam_rt.py resume-detect

Parse the JSON output:

  • No resumable runs (resumable_runs is empty): Tell the user: "No interrupted runs found." Stop.

  • One resumable run: Show summary: run_id, task, interrupted stage, last update time. Proceed to step 2.

  • Multiple resumable runs: List all with run_id, task, stage, and age (time since last_update). Ask the user which to resume. Proceed with their choice.

2. Get Resume Plan

python3 <runtime>/agenteam_rt.py resume-plan --run-id <run_id>

This returns a structured plan with all the information needed to decide how to resume: pipeline_mode, config drift status, interrupted stage details (verify, gate, baseline), completed and remaining stages.

3. Pipeline Mode Check

Read pipeline_mode from the resume plan:

  • standalone: Continue with the verify-first flow below (step 4+).

  • hotl: This run was managed by HOTL's execution engine. Tell the user: "This is a HOTL-managed run. Resume with /hotl:resume <workflow-file> instead." Stop. AgenTeam does not resume HOTL-managed runs — HOTL owns the step-level state and verify-first logic for those runs.

  • dispatch-only: Dispatch-only runs have no pipeline to resume. Tell the user: "Dispatch-only runs have no pipeline to resume. Re-assign tasks with @<Role> <task>." Stop.

4. Config Drift Check

If config_hash_match is false:

  • Warn: "Config has changed since this run started (agenteam.yaml was modified). The run will use the original stage definitions from when it was created. Continue anyway? (yes/no)"
  • If the user says no: stop.
  • If yes: continue. Run-scoped commands use state snapshots, so config drift is safe — but the user should know.

5. Verify-First

Check interrupted_stage from the resume plan:

If has_verify is true AND verify_safe is true:

Run the verify command to check if the interrupted work actually completed:

bash <plugin-dir>/scripts/verify-stage.sh run "<verify_command>" --cwd "<cwd>"
  • Verify passes: The interrupted stage's work is actually done. Transition the stage forward:

    python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
      --stage <stage> --to passed
    

    Then follow normal gating flow:

    • If has_gate is true: transition to gated, present gate to user.
    • If has_gate is false: transition to completed, continue to next stage.

    Emit resume event:

    python3 <runtime>/agenteam_rt.py event append --run-id <run_id> \
      --type stage_resumed --stage <stage> \
      --data '{"verify_result": "pass", "action": "advance"}'
    
  • Verify fails: Present choice (step 6).

If has_verify is false OR verify_safe is false:

Skip verify-first. Go directly to choice (step 6).

6. Choice

Show the user a resume summary:

  • Stage name, current status, last update time
  • If verify was run: show the result

Offer three options:

  • Resume persisted attempt (preferred): Inspect the interrupted stage's latest attempts[] record. If it has a thread_id, continue through the runtime harness:

    python3 <runtime>/agenteam_rt.py run --run-id <run_id>
    

    The runner issues codex exec resume <thread_id> -, preserves the attempt chain, and continues the stored retry budget. Do not launch a second agent while the recorded PID is live.

  • Re-dispatch: Use only when no resumable thread_id exists and prior side effects have been verified. A fresh redispatch requires explicit approval.

    python3 <runtime>/agenteam_rt.py transition --run-id <run_id> \
      --stage <stage> --to dispatched
    python3 <runtime>/agenteam_rt.py event append --run-id <run_id> \
      --type stage_resumed --stage <stage> \
      --data '{"verify_result": "fail", "action": "redispatch"}'
    

    Then launch subagents and continue the pipeline from this stage.

  • Preserve and replay: Query the stage baseline without changing the checkout:

    python3 <runtime>/agenteam_rt.py stage-baseline --run-id <run_id> \
      --stage <stage> --action rollback
    

    If allowed is true, save the current diff to .agenteam/runs/<run_id>/<stage>/resume-recovery.patch. Offer to create a new clean branch/worktree from the baseline and replay there. Never discard or rewrite the current dirty checkout automatically. If allowed is false: tell user rollback is not available in this isolation mode.

  • Stop: End the run.

    python3 <runtime>/agenteam_rt.py event append --run-id <run_id> \
      --type run_finished --data '{"status": "stopped"}'
    

7. Continue Pipeline

After resuming the interrupted stage (via verify-pass advance or re-dispatch), continue through the remaining stages using the same standalone pipeline flow from skills/run/SKILL.md step 6.

The remaining stages are listed in the resume plan's remaining_stages array. Process each one in order through the standard dispatch → verify → gate → handoff flow.

During continuation, report thread_id, last heartbeat, heartbeat age, wall and idle budget remaining, attempt/retry counts, and stop reason. Runtime state is the source of truth; chat messages are not checkpoints.

Headless Policy

When CI=true or no TTY detected:

  • Skip run selection (if multiple, use the most recent stale run)
  • Skip config drift confirmation (proceed with warning to stderr)
  • Verify-first always runs (if safe)
  • If verify passes → continue automatically
  • If verify fails → emit run_finished with status: failed and reason: "resume-verify-failed-headless". Do not prompt.
  • stopped is user-chosen; failed is system-determined

Runtime Path Resolution

Resolve the AgenTeam runtime:

  1. If running from the plugin directory: ./runtime/agenteam_rt.py
  2. If installed as a Codex plugin: <plugin-install-path>/runtime/agenteam_rt.py

Resolve scripts:

  1. If running from the plugin directory: ./scripts/
  2. If installed as a Codex plugin: <plugin-install-path>/scripts/

Error Handling

  • If resume-detect fails: show error, suggest checking .agenteam/state/
  • If resume-plan fails (run not found): show error with run_id
  • If verify command fails to execute (not just fails the check): show error and fall back to choice
  • If transition fails (invalid state): show error with current status and valid transitions

Signals

GitHub stars
1k
Forks
316
Last commit
Oct 2026
Advanced
Item type
skill
Key
resume-hashgraph-online
Source
github.com/hashgraph-online/awesome-codex-plugins