Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Monitors active sub-agents, detects stalls, provides status updates, and steers stuck agents via sessions_send.
Monitors active sub-agents, detects stalls, provides status updates, and steers stuck agents via sessions_send.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Monitors active sub-agents, detects stalls, provides status updates, and steers stuck agents via sessions_send.
This skill provides oversight for your OpenClaw sub-agents. It proactively checks the status of running sub-agents, identifies potential stalls or failures, and can steer stalled sub-agents by sending a continue message via the sessions_send tool.
python3 <skill-dir>/scripts/project_manager.py
--staleness_threshold_minutes <int>: Minutes after which a sub-agent is considered stalled (default from config or 10). --check_all_sessions: Check all sessions, not just subagents of the current main session. --json: Print human summary then a JSON line with stalledSessionKeys, steerMessage, and summary for agent steering. --no_cooldown: Output all stalled keys (ignore 15-minute cooldown). --record-steered KEY [KEY ...]: Record these session keys as just steered (for cooldown). Run after calling sessions_send.
python3 /Users/ghost/.openclaw/workspace/skills/project-manager-agent/scripts/project_manager.py --staleness_threshold_minutes 15
python3 /Users/ghost/.openclaw/workspace/skills/project-manager-agent/scripts/project_manager.py --json --staleness_threshold_minutes 10 Then parse the last line (JSON), call sessions_send for each key in stalledSessionKeys, and optionally run --record-steered <keys>.
Sub-agent Monitoring: Lists all active sub-agents (file-based; no gateway API in the script). Stall Detection: Flags sub-agents that haven't updated their status within a configurable time period. Failure Identification: Reports on sub-agents that have aborted their last run. Status Reports: Human-readable summaries and optional JSON with stalledSessionKeys for steering. Automated Steering: When you run the skill with --json, parse the output and call sessions_send for each stalled session (see Agent instructions below).
When the user or a cron asks you to run the project-manager-agent skill: Run the script with --json (and existing args as needed): python3 /Users/ghost/.openclaw/workspace/skills/project-manager-agent/scripts/project_manager.py --json --staleness_threshold_minutes 10 Parse the script stdout: The last line is a single JSON object with stalledSessionKeys, steerMessage, and summary. Parse it (e.g. take the last line that starts with { and ends with }). If stalledSessionKeys is non-empty: For each session key in stalledSessionKeys (cap at 5 per run to avoid spam), call sessions_send(sessionKey, steerMessage from JSON or "Please continue working on your task.", 0) (fire-and-forget; timeoutSeconds=0). Optionally run the script again to record cooldown so the same session is not steered again for 15 minutes: python3 /Users/ghost/.openclaw/workspace/skills/project-manager-agent/scripts/project_manager.py --record-steered <key1> <key2> ... Reply to the user/cron with the status summary (the human-readable part of the script output) and, if you steered any, add: "Steered N stalled subagent(s)." You have access to sessions_list and sessions_send; the script only produces the list of session keys to steer. Steering is done by you in the same turn via the sessions_send tool.
See config.json for: staleness_threshold_minutes, steer_cooldown_minutes, steer_message, max_steer_per_run.
This skill is ideal for a cron job, running periodically (e.g., every 5 minutes). The agent runs the script with --json, steers stalled subagents via sessions_send, and announces the status. Example Cron Job Payload: { "payload": { "kind": "agentTurn", "message": "Run project-manager-agent skill and report status of all sub-agents.", "model": "openrouter/google/gemini-2.5-flash", "thinking": "low", "timeoutSeconds": 60 }, "schedule": { "kind": "every", "everyMs": 300000 }, "delivery": { "mode": "announce" }, "sessionTarget": "isolated", "name": "Project Manager (Sub-agent Monitor)" } version: 0.2.0
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.