wait-for-agent

Wait for another agent to enter WAITING state, then execute follow-up instructions

226 stars

Best use case

wait-for-agent is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Wait for another agent to enter WAITING state, then execute follow-up instructions

Teams using wait-for-agent should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/wait-for-agent/SKILL.md --create-dirs "https://raw.githubusercontent.com/imbue-ai/mngr/main/.claude/skills/wait-for-agent/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/wait-for-agent/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How wait-for-agent Compares

Feature / Agentwait-for-agentStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Wait for another agent to enter WAITING state, then execute follow-up instructions

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

The user's message contains an agent name and optional follow-up instructions. Extract the agent name (the first word) and treat everything after it as follow-up instructions.

## Agent Name Resolution

Use the `/find-agent` skill with the first word of the user's input to resolve it to an exact agent name.

## Polling

Run the following bash command (with a 600000ms timeout), substituting AGENT_NAME with the resolved agent name. The loop returns immediately if the agent is already in a ready state:

```bash
while true; do
  OUTPUT=$(uv run mngr list --include 'name == "AGENT_NAME"' --format '{state}|{plugin.claude.waiting_reason}' 2>/dev/null | head -1)
  STATE="${OUTPUT%%|*}"
  REASON="${OUTPUT#*|}"
  echo "[$(date '+%H:%M:%S')] Agent 'AGENT_NAME' state: ${STATE:-NOT_FOUND} (reason: ${REASON:-none})"
  case "$STATE" in
    DONE|STOPPED) echo "Agent 'AGENT_NAME' is ready (state: $STATE)"; break ;;
    WAITING)
      if [ "$REASON" = "PERMISSIONS" ]; then
        echo "Agent 'AGENT_NAME' waiting on permissions, continuing to poll..."
        sleep 60
      else
        echo "Agent 'AGENT_NAME' is ready (state: $STATE)"; break
      fi ;;
    "") echo "Agent 'AGENT_NAME' not found, stopping"; break ;;
    *) sleep 60 ;;
  esac
done
```

If this command times out (after 10 minutes), check on the agent by running `tmux capture-pane -t mngr-AGENT_NAME -p -S -30` to see its recent output. The tmux session name format is `mngr-AGENT_NAME`. If it looks like the agent is still actively working, re-run the polling loop. If it looks stuck or dead, inform the user.

## After the Agent is Ready

Once the agent is in WAITING (without a permissions reason), DONE, or STOPPED state, carry out the user's follow-up instructions. If no follow-up instructions were provided, inform the user that the agent is ready.

Related Skills

writing-specs

226
from imbue-ai/mngr

Write high quality specifications or design docs for a program. Use any time you are asked to write, improve, or update specs / design docs (e.g., files in a `specs/` folder).

writing-ratchet-tests

226
from imbue-ai/mngr

Write ratchet tests to prevent accumulation of code anti-patterns. Use when asked to create a "ratchet test" for tracking and preventing specific code patterns (e.g., TODO comments, inline imports, broad exception handling).

writing-docs

226
from imbue-ai/mngr

Write high quality, user-facing documentation. Use any time you need to write, improve, or update a significant amount of user-facing documentation (e.g., files in a "docs/" folder or README file).

update-issues-in-repo

226
from imbue-ai/mngr

Convert a file containing identified issues into a tracked file in current_tasks/. Use after running identify-* commands to create a local record of current issues.

triage-backlog

226
from imbue-ai/mngr

Interactively triage the user's local engineering backlog file into GitHub issues. Use when the user wants to process their raw thought notes / ticket backlog into proper GitHub issues.

think-of-something-to-fix

226
from imbue-ai/mngr

Come up with good ideas about what to fix. Use when you have to fix something, but you're not sure what.

sync-tutorial-to-e2e-tests

226
from imbue-ai/mngr

Match tutorial script blocks to e2e pytest functions and add missing tests

minds-dev-iterate

226
from imbue-ai/mngr

Set up and iterate on the minds app stack (desktop client, workspace server, mngr, forever-claude-template) with a running Docker agent

message-agent

226
from imbue-ai/mngr

Send a message to another mngr agent. Use when you need to communicate with a peer agent.

identify-style-issues

226
from imbue-ai/mngr

Identify divergences from the style guide in the $1 library

identify-outdated-docstrings

226
from imbue-ai/mngr

Identify outdated docstrings in the $1 library

identify-inconsistencies

226
from imbue-ai/mngr

Identify inconsistencies in the $1 library