{
  "schemaVersion": "1.0",
  "item": {
    "slug": "project-manager-agent",
    "name": "Project Manager Agent",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/RuneweaverStudios/project-manager-agent",
    "canonicalUrl": "https://clawhub.ai/RuneweaverStudios/project-manager-agent",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/project-manager-agent",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=project-manager-agent",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "_meta.json",
      "config.json",
      "scripts/project_manager.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "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."
        },
        {
          "label": "Upgrade existing",
          "body": "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."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/project-manager-agent"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/project-manager-agent",
    "agentPageUrl": "https://openagent3.xyz/skills/project-manager-agent/agent",
    "manifestUrl": "https://openagent3.xyz/skills/project-manager-agent/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/project-manager-agent/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "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."
      },
      {
        "label": "Upgrade existing",
        "body": "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."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Description",
        "body": "Monitors active sub-agents, detects stalls, provides status updates, and steers stuck agents via sessions_send."
      },
      {
        "title": "Project Manager Agent",
        "body": "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."
      },
      {
        "title": "Running the monitor",
        "body": "python3 <skill-dir>/scripts/project_manager.py"
      },
      {
        "title": "Options",
        "body": "--staleness_threshold_minutes <int>: Minutes after which a sub-agent is considered stalled (default from config or 10).\n--check_all_sessions: Check all sessions, not just subagents of the current main session.\n--json: Print human summary then a JSON line with stalledSessionKeys, steerMessage, and summary for agent steering.\n--no_cooldown: Output all stalled keys (ignore 15-minute cooldown).\n--record-steered KEY [KEY ...]: Record these session keys as just steered (for cooldown). Run after calling sessions_send."
      },
      {
        "title": "Example (Status check, human-only)",
        "body": "python3 /Users/ghost/.openclaw/workspace/skills/project-manager-agent/scripts/project_manager.py --staleness_threshold_minutes 15"
      },
      {
        "title": "Example (Agent run with steering)",
        "body": "python3 /Users/ghost/.openclaw/workspace/skills/project-manager-agent/scripts/project_manager.py --json --staleness_threshold_minutes 10\n\nThen parse the last line (JSON), call sessions_send for each key in stalledSessionKeys, and optionally run --record-steered <keys>."
      },
      {
        "title": "Features",
        "body": "Sub-agent Monitoring: Lists all active sub-agents (file-based; no gateway API in the script).\nStall Detection: Flags sub-agents that haven't updated their status within a configurable time period.\nFailure Identification: Reports on sub-agents that have aborted their last run.\nStatus Reports: Human-readable summaries and optional JSON with stalledSessionKeys for steering.\nAutomated Steering: When you run the skill with --json, parse the output and call sessions_send for each stalled session (see Agent instructions below)."
      },
      {
        "title": "Agent instructions (mandatory when running this skill)",
        "body": "When the user or a cron asks you to run the project-manager-agent skill:\n\nRun the script with --json (and existing args as needed):\npython3 /Users/ghost/.openclaw/workspace/skills/project-manager-agent/scripts/project_manager.py --json --staleness_threshold_minutes 10\n\n\nParse 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 }).\nIf stalledSessionKeys is non-empty:\n\nFor 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).\nOptionally run the script again to record cooldown so the same session is not steered again for 15 minutes:\npython3 /Users/ghost/.openclaw/workspace/skills/project-manager-agent/scripts/project_manager.py --record-steered <key1> <key2> ...\n\n\n\n\nReply 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).\"\n\nYou 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."
      },
      {
        "title": "Config (optional)",
        "body": "See config.json for: staleness_threshold_minutes, steer_cooldown_minutes, steer_message, max_steer_per_run."
      },
      {
        "title": "Integration as a Cron Job",
        "body": "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.\n\nExample Cron Job Payload:\n\n{\n  \"payload\": {\n    \"kind\": \"agentTurn\",\n    \"message\": \"Run project-manager-agent skill and report status of all sub-agents.\",\n    \"model\": \"openrouter/google/gemini-2.5-flash\",\n    \"thinking\": \"low\",\n    \"timeoutSeconds\": 60\n  },\n  \"schedule\": {\n    \"kind\": \"every\",\n    \"everyMs\": 300000\n  },\n  \"delivery\": {\n    \"mode\": \"announce\"\n  },\n  \"sessionTarget\": \"isolated\",\n  \"name\": \"Project Manager (Sub-agent Monitor)\"\n}\n\nversion: 0.2.0"
      }
    ],
    "body": "Project Manager Agent\nDescription\n\nMonitors active sub-agents, detects stalls, provides status updates, and steers stuck agents via sessions_send.\n\nProject Manager Agent\n\nThis 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.\n\nUsage\nRunning the monitor\npython3 <skill-dir>/scripts/project_manager.py\n\nOptions\n--staleness_threshold_minutes <int>: Minutes after which a sub-agent is considered stalled (default from config or 10).\n--check_all_sessions: Check all sessions, not just subagents of the current main session.\n--json: Print human summary then a JSON line with stalledSessionKeys, steerMessage, and summary for agent steering.\n--no_cooldown: Output all stalled keys (ignore 15-minute cooldown).\n--record-steered KEY [KEY ...]: Record these session keys as just steered (for cooldown). Run after calling sessions_send.\nExample (Status check, human-only)\npython3 /Users/ghost/.openclaw/workspace/skills/project-manager-agent/scripts/project_manager.py --staleness_threshold_minutes 15\n\nExample (Agent run with steering)\npython3 /Users/ghost/.openclaw/workspace/skills/project-manager-agent/scripts/project_manager.py --json --staleness_threshold_minutes 10\n\n\nThen parse the last line (JSON), call sessions_send for each key in stalledSessionKeys, and optionally run --record-steered <keys>.\n\nFeatures\nSub-agent Monitoring: Lists all active sub-agents (file-based; no gateway API in the script).\nStall Detection: Flags sub-agents that haven't updated their status within a configurable time period.\nFailure Identification: Reports on sub-agents that have aborted their last run.\nStatus Reports: Human-readable summaries and optional JSON with stalledSessionKeys for steering.\nAutomated Steering: When you run the skill with --json, parse the output and call sessions_send for each stalled session (see Agent instructions below).\nAgent instructions (mandatory when running this skill)\n\nWhen the user or a cron asks you to run the project-manager-agent skill:\n\nRun the script with --json (and existing args as needed):\npython3 /Users/ghost/.openclaw/workspace/skills/project-manager-agent/scripts/project_manager.py --json --staleness_threshold_minutes 10\n\nParse 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 }).\nIf stalledSessionKeys is non-empty:\nFor 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).\nOptionally run the script again to record cooldown so the same session is not steered again for 15 minutes:\npython3 /Users/ghost/.openclaw/workspace/skills/project-manager-agent/scripts/project_manager.py --record-steered <key1> <key2> ...\n\nReply 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).\"\n\nYou 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.\n\nConfig (optional)\n\nSee config.json for: staleness_threshold_minutes, steer_cooldown_minutes, steer_message, max_steer_per_run.\n\nIntegration as a Cron Job\n\nThis 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.\n\nExample Cron Job Payload:\n\n{\n  \"payload\": {\n    \"kind\": \"agentTurn\",\n    \"message\": \"Run project-manager-agent skill and report status of all sub-agents.\",\n    \"model\": \"openrouter/google/gemini-2.5-flash\",\n    \"thinking\": \"low\",\n    \"timeoutSeconds\": 60\n  },\n  \"schedule\": {\n    \"kind\": \"every\",\n    \"everyMs\": 300000\n  },\n  \"delivery\": {\n    \"mode\": \"announce\"\n  },\n  \"sessionTarget\": \"isolated\",\n  \"name\": \"Project Manager (Sub-agent Monitor)\"\n}\n\n\nversion: 0.2.0"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/RuneweaverStudios/project-manager-agent",
    "publisherUrl": "https://clawhub.ai/RuneweaverStudios/project-manager-agent",
    "owner": "RuneweaverStudios",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/project-manager-agent",
    "downloadUrl": "https://openagent3.xyz/downloads/project-manager-agent",
    "agentUrl": "https://openagent3.xyz/skills/project-manager-agent/agent",
    "manifestUrl": "https://openagent3.xyz/skills/project-manager-agent/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/project-manager-agent/agent.md"
  }
}