Skip to content
Agentmart
Submit a tool

sage-live-runner

Repo-local Sage native Mythic v4 chat execution and inspection workflow.

Skill by MythicAgents

IndexedGPL-3.0★ 29
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/mythicagents-sage-live-runner

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Repo-local Sage native Mythic v4 chat execution and inspection workflow. Use for strict one-shot GOAD solves, chat readiness probes, channel/request monitoring, or legacy payload-task diagnosis.

Use cases: productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/sage-live-runner
  • C:\\Windows\\Temp

What's inside

Skill name
sage-live-runner
Description
Repo-local Sage native Mythic v4 chat execution and inspection workflow. Use for strict one-shot GOAD solves, chat readiness probes, channel/request monitoring, or legacy payload-task diagnosis.
License
GPL-3.0
Instructions
169 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (13)

  • SKILL.md
  • openai.yaml · agents/
  • live_model_smoke.py · scripts/
  • native_chat.py · scripts/
  • restart_sage_process.py · scripts/
  • run_essos_da.py · scripts/
  • run_unguided_essos_da.py · scripts/
  • sage_task.py · scripts/
  • stage_runtime_tools.py · scripts/
  • walk.py · scripts/
  • test_live_model_smoke.py · tests/
  • test_native_chat_inspection.py · tests/
  • test_stage_runtime_tools.py · tests/

SKILL.md (first lines)

# Sage Live Runner

Use from the repository root. Sage is a Mythic v4 chat container. A normal solve does not require a Sage
payload or Sage callback.

## Native Chat

Check the running chat container and reusable API token:

```bash
.venv/bin/python skills/sage-live-runner/scripts/native_chat.py inspect
```

Prepare the visible empty channel used by the next run:

```bash
.venv/bin/python skills/sage-live-runner/scripts/native_chat.py prepare
```

Run the stock strict one-shot objective through a fresh locked AI channel:

```bash
.venv/bin/python skills/sage-live-runner/scripts/native_chat.py run --autonomous --prompt 'From the current foothold, achieve administrative control of essos.local.' --timeout 5400
```

`--output-mode full` is the default and returns the complete operator-visible message record. Automated
evaluation consumers may select `--output-mode eval` to receive only the versioned, positive-allowlist runtime
evidence projection. Eval mode does not alter what Sage sees or what Mythic stores and displays.
While a request is in flight, the runner now emits JSONL request-start/progress/terminal events on stderr so
the channel ID, request ID, and evolving status are visible immediately without waiting for the terminal JSON.
The observer deadline also bounds each status query. Expiration raises `RequestWaitTimeout` (a `TimeoutError`)
and emits `request_wait_timeout`; this stops observation and does not attest that remote execution stopped.
The exception retains the last observed snapshot for private evidence capture. Cancellation or independent
quiescence verification remains a separate caller responsibility.
Pass `--manifest-path <path>` to write a redacted demo manifest that binds clean/resumed status, runtime identity,
range/snapshot context, callback/channel/request identity, tasks/proofs, and artifact hashes when those inputs are
available. Allocate that path with `sage-artifact-retention` and record it after the run; a decision-bearing demo
manifest must not live only in `/tmp`.

**`--manifest-path` has two preconditions, and both fail the run in under a second if unmet.** It
requires `--runtime-dbs-archived`, and it runs a demo-manifest preflight that requires the *whole*
shared readiness contract to be ready — including a prepared chat channel, which unlike the
`readiness` subcommand it will not waive. So a manifest-writing run needs `native_chat.py prepare`
first. Without `--manifest-path`, `run` creates its own locked channel and neither precondition
applies.

The first invocation after a full reset consumes the empty `Sage GOAD Ready` channel created by bootstrap.
Later invocations create fresh locked channels and report `chat_channel_id`, `chat_request_id`, terminal status,
and messages. A prepared channel is reused only when its stored configuration is actually `mode=auto` with
`autonomous_solve=true` and its wildcard backing token belongs to the current operation's unique active bot;
otherwise the run creates a fresh correctly configured channel. Fresh channels remain locked by the invoking
operator, while their backing token belongs to that bot so derived chat credentials and callback tasks are
attributed to Sage. Use `--new-channel` to
bypass a prepared channel. The helper configures autonomous mode explicitly.
New channels default to Mythic's `expanded; max=15` metadata display; an explicit caller override remains authoritative.
It resolves credentials in this order:
`MYTHIC_ADMIN_PASSWORD`, then `MYTHIC_ENV_PATH`. No checkout-name default — see `.env.example`.

Do not reuse an old channel for a seeded proof. Do not add route hints, callback IDs, hostnames, credentials, or
intermediate goals to the objective.

## Request Inspection And Transcript Export

Inspect one request without waiting, or follow it through terminal completion or a native HITL pause:

```bash
.venv/bin/python skills/sage-live-runner/scripts/native_chat.py status --request-id <id>
.venv/bin/python skills/sage-live-runner/scripts/native_chat.py follow --latest --channel-id <channel-id>
```

`--latest` is restricted to active Sage AI channels and may be narrowed to one channel. `follow` emits the same
redacted progress heartbeats as `run` and stops at `operator_input_requested` only for an unresolved card whose
input status is exactly `pending`. Historical accepted, rejected, responded, or selected cards do not pause it.

Export a full-fidelity, ordered request transcript for offline analysis:

```bash
.venv/bin/python skills/sage-live-runner/scripts/native_chat.py transcript --request-id <id>
```

The default export is a private, manifested file under `.sage_history/<year>/<month>/transcripts/native-chat/`.
Use `--output <path>` only for an explicitly temporary or externally managed copy. The export is intentionally
operator-sensitive and is not the allowlisted evaluator projection.
Export fails closed unless the request, channel, and every returned message carry one consistent request identity.

## Supervised Canary

Create a fresh supervised, non-autonomous channel and stop at the first native approval request:

```bash
.venv/bin/python skills/sage-live-runner/scripts/native_chat.py canary --prompt 'Run pwd on callback 1.' --max-steps 20
```

The canary never reuses a prepared Auto channel and never posts an approval response. It may still perform
control-plane reads needed to construct the proposed action. Approval or rejection remains an explicit Mythic UI
action. The existing `run` command remains Auto and autonomous by default, and it **refuses without an explicit `--autonomous` acknowledgement** (exit 2) and points at `canary`. That guard exists because prose warnings like this one, and the matching one in `AGENTS.md`, do not prevent a `run` invoked as a "read-only probe" from executing a full autonomous solve against the live range.

For an explicitly authorized engineering check of real-provider invocation and same-channel memory, use
`scripts/live_model_smoke.py --live-test`. It creates one fresh supervised/non-autonomous channel, posts two
harmless nonce prompts, refuses on HITL/task/identity/trace drift, and manifests both transcripts plus its report.
It never submits an approval response.

## BHUSA Demo Helpers

Create a locked BHUSA demo channel owned by the current operation's unique active bot account. The helper selects or creates
that bot's wildcard API token, then fixes the channel metadata to supervised mode, `autonomous_solve=false`,
`policy_mode=hybrid`, `max_steps=200`, and metadata display `expanded; max=15`:

```bash
.venv/bin/python skills/sage-live-runner/scripts/native_chat.py demo-prepare
```

When a supervised request pauses on exactly one unresolved approval card, accept that exact card through Mythic's
native `chatInputResponse` mutation:

```bash
.venv/bin/python skills/sage-live-runner/scripts/native_chat.py approve-pending --request-id <id>
```

From MythicAgents/sage, GPL-3.0.

More from MythicAgents/sage

Signals

Stars
29
Forks
5
Open issues
1
Last commit (this folder)
Oct 20, 2026 (8 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
GPL-3.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from MythicAgents

Cite this page

sage-live-runner skill. Agent Mart. https://agentmart.dev/skills/mythicagents-sage-live-runner (last updated 2026-10-24)