Long-horizon robot task execution workflow for multi-step manipulation tasks. Use this skill when one user goal must be decomposed into ordered subtasks, each subtask needs explicit success checks, retries, or recovery, and every prompt-driven policy rollout should be executed through $monitored-subtask-execution instead of calling raw MCP robot tools directly.
Use this skill to execute a multi-step robot task as an ordered sequence of verifiable subtasks. Build or refine the subtask plan, execute one policy rollout at a time through $monitored-subtask-execution, verify each result, and update the remaining plan until the full task is complete.
global_goal: one-sentence description of the overall tasksubtask_plan: ordered subtask list; each item should include subtask_id, prompt, success_check, reset_after, and max_retriescompletion_criteria: observable conditions that define overall task completionrun_dir: directory for progress logs and final run summarypolicy host/port: optional policy server passed through to $monitored-subtask-executionstep_interval: optional PolicyTask step interval passed through to $monitored-subtask-executiontimeout_s and poll_interval_s: rollout timeout and poll interval used by $monitored-subtask-executionIf the user gives only a high-level execution goal, infer a minimal one-pass plan instead of blocking on every missing field.
subtask_plan is missing, derive a short ordered plan from global_goal.run_dir is missing, create a timestamped default such as runs/long-horizon/<goal-slug>-<timestamp>.$monitored-subtask-execution.corobot_mcp_server___* directly from this skill.status, selected_skill, next_skill, and skill_args.global_goal into a short ordered list of subtasks.reset_after choice.references/subtask-plan-template.md for a minimal schema.AgentTools___ensure_run_artifacts to create run_dir if needed.run_dir/logs/subtasks.jsonl, that records every attempt with subtask_id, prompt, parameters, timestamps, status text, and verification result.AgentTools___append_jsonl_record for progress-log writes instead of keeping state only in chat history.todo.$monitored-subtask-execution$monitored-subtask-execution.{
"status": "continue",
"selected_skill": "long-horizon-execution",
"next_skill": "monitored-subtask-execution",
"skill_args": {
"prompt": "<current subtask prompt>",
"success_check": "<observable verification rule>",
"reset_after": false,
"max_retries": 1,
"timeout_s": 90,
"poll_interval_s": 1.0
}
}
$monitored-subtask-execution, such as policy.host, policy.port, or step_interval.success_check.done and move to the next one.$monitored-subtask-execution.completion_criteria.Return one top-level JSON object.
status = "continue"selected_skill = "long-horizon-execution"next_skill = "monitored-subtask-execution"skill_args = {...} with the exact inputs for the delegated subtask skillstatus = "ask_human"selected_skill = "long-horizon-execution"questionreasonstatus = "done"selected_skill = "long-horizon-execution"summarycompletion_check$monitored-subtask-execution to stop and reset deterministically before the next decision.$eap-data-collection instead when the goal is to collect forward/reverse trajectory pairs into dataset D.references/subtask-plan-template.md: minimal subtask schema, logging fields, and a concrete example plan$monitored-subtask-execution: monitored single-subtask policy execution and hard reset workflow