{
  "schemaVersion": "1.0",
  "item": {
    "slug": "agent-orchestrate",
    "name": "Agent Orchestrate",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/MoltonBot000/agent-orchestrate",
    "canonicalUrl": "https://clawhub.ai/MoltonBot000/agent-orchestrate",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/agent-orchestrate",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agent-orchestrate",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/dependency-tree.md",
      "references/fan-out.md",
      "references/pipeline.md"
    ],
    "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-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/agent-orchestrate"
    },
    "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/agent-orchestrate",
    "agentPageUrl": "https://openagent3.xyz/skills/agent-orchestrate/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-orchestrate/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-orchestrate/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": "Agent Orchestration — Quick Reference",
        "body": "Simple patterns for multi-agent coordination. For advanced dynamic orchestration, see cord-trees."
      },
      {
        "title": "Core Primitives",
        "body": "ToolPurposesessions_spawnCreate isolated sub-agent with tasksubagents listCheck status of running agentssubagents steerSend guidance to running agentsubagents killTerminate an agentsessions_sendMessage another session"
      },
      {
        "title": "Spawn vs Fork",
        "body": "Two context strategies for sub-agents:"
      },
      {
        "title": "Spawn (Clean Slate)",
        "body": "Sub-agent gets only its task prompt. No parent context.\n\nUse when:\n- Task is self-contained\n- You want isolation (no context bleed)\n- Subtask doesn't need sibling results\n- Cheaper/faster (smaller context)\n\nExample: \"Research competitor X\" — doesn't need to know about competitors Y and Z."
      },
      {
        "title": "Fork (Context-Inheriting)",
        "body": "Sub-agent receives accumulated results from siblings.\n\nUse when:\n- Synthesis/analysis across prior work\n- Task builds on what others discovered\n- Final integration step\n\nImplementation: Include sibling results in the task prompt:\n\nTask: Synthesize findings into recommendation.\n\nPrior research:\n- Competitor A: [result from agent 1]\n- Competitor B: [result from agent 2]\n- Market trends: [result from agent 3]"
      },
      {
        "title": "1. Parallel Fan-Out",
        "body": "Spawn N independent agents, wait for all to complete.\n\n# Pseudocode\ntasks = [\"research A\", \"research B\", \"research C\"]\nfor task in tasks:\n    sessions_spawn(task=task, label=f\"research-{i}\")\n\n# Poll until all complete\nwhile not all_complete(subagents list):\n    wait(30s)\n\n# Collect results from session histories\n\nSee: references/fan-out.md"
      },
      {
        "title": "2. Pipeline (Sequential)",
        "body": "Each agent's output feeds the next.\n\nAgent 1: Research → \n  Agent 2: Analyze (using research) → \n    Agent 3: Write (using analysis)\n\nImplementation: Spawn agent 1, wait for completion, spawn agent 2 with agent 1's result, etc.\n\nSee: references/pipeline.md"
      },
      {
        "title": "3. Dependency Tree",
        "body": "Tasks with explicit dependencies. Don't start X until Y completes.\n\n#1 Research API surface\n#2 Research GraphQL tradeoffs  \n#3 Analysis (blocked-by: #1, #2)\n#4 Recommendation (blocked-by: #3)\n\nImplementation: Track state in a JSON file. Poll and spawn when dependencies clear.\n\nSee: references/dependency-tree.md"
      },
      {
        "title": "4. Human-in-the-Loop",
        "body": "Pause workflow for human input at checkpoints.\n\nAgent 1: Draft proposal →\n  [CHECKPOINT: Human approves/rejects] →\n    Agent 2: Implement approved proposal\n\nImplementation: Agent 1 completes, orchestrator messages human via sessions_send or channel message, waits for response before spawning agent 2."
      },
      {
        "title": "5. Supervisor Pattern",
        "body": "Orchestrator monitors agents and intervenes when stuck.\n\nwhile agents_running:\n    status = subagents list\n    for agent in status:\n        if stuck_too_long(agent):\n            subagents steer(target=agent, message=\"Try alternative approach...\")\n        if clearly_failed(agent):\n            subagents kill(target=agent)\n            # Retry or escalate"
      },
      {
        "title": "State Management",
        "body": "For complex orchestrations, track state in a file:\n\n// orchestration-state.json\n{\n  \"tasks\": {\n    \"research-a\": {\"status\": \"complete\", \"result\": \"...\", \"sessionKey\": \"...\"},\n    \"research-b\": {\"status\": \"running\", \"sessionKey\": \"...\"},\n    \"synthesis\": {\"status\": \"blocked\", \"blockedBy\": [\"research-a\", \"research-b\"]}\n  }\n}\n\nUpdate after each spawn, completion check, or state change."
      },
      {
        "title": "Best Practices",
        "body": "Label agents clearly — Use descriptive labels for subagents list readability\nSet timeouts — Use runTimeoutSeconds to prevent runaways\nDon't over-parallelize — More agents ≠ better. Consider token costs.\nCheckpoint expensive work — Write intermediate results to files\nHandle failures — Decide: retry, skip, or escalate to human\nKeep tasks focused — One clear goal per agent. Easier to debug."
      },
      {
        "title": "Anti-Patterns",
        "body": "❌ Polling in tight loops — Use reasonable intervals (30s+)\n❌ Spawning agents for trivial tasks — Just do it yourself\n❌ Giant context dumps — Summarize, don't copy entire histories\n❌ No failure handling — Agents fail. Plan for it."
      },
      {
        "title": "Choosing a Pattern",
        "body": "SituationPatternN independent research tasksFan-outStep A → Step B → Step CPipelineComplex task with prerequisitesDependency treeNeed human approval mid-flowHuman-in-the-loopLong-running with potential issuesSupervisorSimple one-off subtaskJust spawn one agent"
      },
      {
        "title": "Quick Reference",
        "body": "# Spawn a sub-agent\nsessions_spawn(task=\"Do X\", label=\"my-task\", runTimeoutSeconds=300)\n\n# Check status\nsubagents(action=\"list\")\n\n# Send guidance\nsubagents(action=\"steer\", target=\"my-task\", message=\"Focus on Y instead\")\n\n# Kill runaway\nsubagents(action=\"kill\", target=\"my-task\")"
      }
    ],
    "body": "Agent Orchestration — Quick Reference\n\nSimple patterns for multi-agent coordination. For advanced dynamic orchestration, see cord-trees.\n\nCore Primitives\nTool\tPurpose\nsessions_spawn\tCreate isolated sub-agent with task\nsubagents list\tCheck status of running agents\nsubagents steer\tSend guidance to running agent\nsubagents kill\tTerminate an agent\nsessions_send\tMessage another session\nSpawn vs Fork\n\nTwo context strategies for sub-agents:\n\nSpawn (Clean Slate)\n\nSub-agent gets only its task prompt. No parent context.\n\nUse when:\n- Task is self-contained\n- You want isolation (no context bleed)\n- Subtask doesn't need sibling results\n- Cheaper/faster (smaller context)\n\n\nExample: \"Research competitor X\" — doesn't need to know about competitors Y and Z.\n\nFork (Context-Inheriting)\n\nSub-agent receives accumulated results from siblings.\n\nUse when:\n- Synthesis/analysis across prior work\n- Task builds on what others discovered\n- Final integration step\n\n\nImplementation: Include sibling results in the task prompt:\n\nTask: Synthesize findings into recommendation.\n\nPrior research:\n- Competitor A: [result from agent 1]\n- Competitor B: [result from agent 2]\n- Market trends: [result from agent 3]\n\nPatterns\n1. Parallel Fan-Out\n\nSpawn N independent agents, wait for all to complete.\n\n# Pseudocode\ntasks = [\"research A\", \"research B\", \"research C\"]\nfor task in tasks:\n    sessions_spawn(task=task, label=f\"research-{i}\")\n\n# Poll until all complete\nwhile not all_complete(subagents list):\n    wait(30s)\n\n# Collect results from session histories\n\n\nSee: references/fan-out.md\n\n2. Pipeline (Sequential)\n\nEach agent's output feeds the next.\n\nAgent 1: Research → \n  Agent 2: Analyze (using research) → \n    Agent 3: Write (using analysis)\n\n\nImplementation: Spawn agent 1, wait for completion, spawn agent 2 with agent 1's result, etc.\n\nSee: references/pipeline.md\n\n3. Dependency Tree\n\nTasks with explicit dependencies. Don't start X until Y completes.\n\n#1 Research API surface\n#2 Research GraphQL tradeoffs  \n#3 Analysis (blocked-by: #1, #2)\n#4 Recommendation (blocked-by: #3)\n\n\nImplementation: Track state in a JSON file. Poll and spawn when dependencies clear.\n\nSee: references/dependency-tree.md\n\n4. Human-in-the-Loop\n\nPause workflow for human input at checkpoints.\n\nAgent 1: Draft proposal →\n  [CHECKPOINT: Human approves/rejects] →\n    Agent 2: Implement approved proposal\n\n\nImplementation: Agent 1 completes, orchestrator messages human via sessions_send or channel message, waits for response before spawning agent 2.\n\n5. Supervisor Pattern\n\nOrchestrator monitors agents and intervenes when stuck.\n\nwhile agents_running:\n    status = subagents list\n    for agent in status:\n        if stuck_too_long(agent):\n            subagents steer(target=agent, message=\"Try alternative approach...\")\n        if clearly_failed(agent):\n            subagents kill(target=agent)\n            # Retry or escalate\n\nState Management\n\nFor complex orchestrations, track state in a file:\n\n// orchestration-state.json\n{\n  \"tasks\": {\n    \"research-a\": {\"status\": \"complete\", \"result\": \"...\", \"sessionKey\": \"...\"},\n    \"research-b\": {\"status\": \"running\", \"sessionKey\": \"...\"},\n    \"synthesis\": {\"status\": \"blocked\", \"blockedBy\": [\"research-a\", \"research-b\"]}\n  }\n}\n\n\nUpdate after each spawn, completion check, or state change.\n\nBest Practices\nLabel agents clearly — Use descriptive labels for subagents list readability\nSet timeouts — Use runTimeoutSeconds to prevent runaways\nDon't over-parallelize — More agents ≠ better. Consider token costs.\nCheckpoint expensive work — Write intermediate results to files\nHandle failures — Decide: retry, skip, or escalate to human\nKeep tasks focused — One clear goal per agent. Easier to debug.\nAnti-Patterns\n\n❌ Polling in tight loops — Use reasonable intervals (30s+) ❌ Spawning agents for trivial tasks — Just do it yourself ❌ Giant context dumps — Summarize, don't copy entire histories ❌ No failure handling — Agents fail. Plan for it.\n\nChoosing a Pattern\nSituation\tPattern\nN independent research tasks\tFan-out\nStep A → Step B → Step C\tPipeline\nComplex task with prerequisites\tDependency tree\nNeed human approval mid-flow\tHuman-in-the-loop\nLong-running with potential issues\tSupervisor\nSimple one-off subtask\tJust spawn one agent\nQuick Reference\n# Spawn a sub-agent\nsessions_spawn(task=\"Do X\", label=\"my-task\", runTimeoutSeconds=300)\n\n# Check status\nsubagents(action=\"list\")\n\n# Send guidance\nsubagents(action=\"steer\", target=\"my-task\", message=\"Focus on Y instead\")\n\n# Kill runaway\nsubagents(action=\"kill\", target=\"my-task\")"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/MoltonBot000/agent-orchestrate",
    "publisherUrl": "https://clawhub.ai/MoltonBot000/agent-orchestrate",
    "owner": "MoltonBot000",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/agent-orchestrate",
    "downloadUrl": "https://openagent3.xyz/downloads/agent-orchestrate",
    "agentUrl": "https://openagent3.xyz/skills/agent-orchestrate/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-orchestrate/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-orchestrate/agent.md"
  }
}