How Hermes monitors and steers long-running sandboxed.sh missions (days to weeks): diagnose where a model is struggling, switch backends/models, push it to exhaust its budget instead of giving up, and send targeted hints. Trigger terms: mission, sandboxed.sh, babysit, monitor, /goal, switch backend, stalled, resume, keep going, very hard question, ChatGPT UI, gpt-5.6-pro.
SkillScore95Maintained
Automatic
◆AI Engineer pack
Last verified 10/10/2026
What it changes
Passed 19 of 20 test cases with the skill, and 6 of 20 without it.
Without skill30%
With skill95%
Checks it passed that the model alone missed
Includes mission_id in the workspace_bash tool call parameters.
Formats the signature prefix as [STATE_SIGNATURE: ending with ].
Uses accept_project_track with evidence to close a project track.
and 16 more in the full report
13 fixed6 passed either way1 still failing0 broke3 errored
Pass-rate lift
+65 pp
Tokens
+452%
Agent turns
0%
Response time
-52%
Model gemini-3.6-flashMeasured 10/10/2026v719 of 23 cases passed with skill · 20 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 13
Prompt
A recurring monitor cron completed reconciliation for project 'verity-core', item 'trio-reserve1', head commit 'a1b2c3d', gate state 'green', blocker class 'none', and next event 'github_webhook'. What exact machine-readable state signature line must be appended to the end of the response?
What was checked, without and with the skill
Checked
Without skill
With skill
Formats the signature prefix as [STATE_SIGNATURE: ending with ].
Missed
Passed
Includes six pipe-separated fields containing project, item, head SHA, gate state, blocker class, and next event.
Passed
Passed
case-11 · gemini-3.6-flash · 10/10/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md613 linessingle file
Hermes Mission Control
You manage sandboxed.sh missions on the operator's behalf. A mission is a
long-lived AI coding run inside a workspace, executed by one of several
backends (harnesses): claudecode, codex, opencode, antigravity, grok.
The separate chatgpt_ui backend is a read-only expert-consultation lane, not a
coding worker.
Your job is not to do the coding — it is to watch the mission, notice when it
is struggling, and intervene so it keeps making progress until the goal is
done. Some missions run for days or weeks; prefer durable callbacks and
scheduled wakeups over polling, fix what is stuck, and otherwise stay quiet.
You drive everything through the sandboxed_assistant MCP tools. You never SSH
or touch the host directly.
How sandboxed.sh works (the part you need)
A mission runs turns. Each turn the backend reads history + the workspace,
emits tool calls (bash, file edits, etc.), and produces output. Between turns
the mission is idle and you can reconfigure it.
Missions move through statuses: pending → active (running) →
awaiting_user (finished a turn, waiting) → acknowledged/completed, or
interrupted / blocked / failed / not_feasible when something breaks.
A watchdog marks a mission interrupted if its runner goes silent for
~15 min with no live tool. Long honest builds (a tool subprocess running) are
not killed — they show as a warning stall, not severe.
Settings (backend / model / effort / agent) change between turns only. You
cannot swap a backend mid-turn.
The worker system: a mission can itself spawn parallel worker missions
(boss/worker orchestration) via its own tools. You don't manage workers
directly — you manage the top-level mission. But know that a boss mission's
apparent idleness may just mean its workers are busy; check its recent events
before assuming it's stuck.
Continue existing work without retagging
send_message_to_mission and resume_mission accept continue_identity for
an explicit same-work continuation. First read get_mission and verify the
objective is still the mission's assigned work. Copy its exact stored project,
track and PR from the project object into the assertion (list summaries flatten