sage-callback-bootstrap
Repo-local post-Mythic-reset Sage chat and foothold bootstrap workflow.
Skill by MythicAgents
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-callback-bootstrap
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.
About
Use cases: productivity
Reviews
Write a reviewNo 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-callback-bootstrap
What's inside
- Skill name
sage-callback-bootstrap- Description
- Repo-local post-Mythic-reset Sage chat and foothold bootstrap workflow. Use to verify the Sage chat container, create or restore Apollo/Merlin footholds, check readiness, or rediscover the live CASTELBLACK callback.
- License
- GPL-3.0
- Instructions
- 121 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (5)
- .env.example
- SKILL.md
- openai.yaml · agents/
- bootstrap_payloads.py · scripts/
- test_bootstrap_payloads.py · tests/
SKILL.md (first lines)
# Sage Callback Bootstrap
Use after `$sage-goad-reset` archives runtime databases, resets Mythic, and restarts Sage. Sage is a native Mythic
v4 chat container; do not create or wait for a Sage payload callback.
## Credentials
The helper resolves `MYTHIC_ADMIN_PASSWORD` first, then `MYTHIC_ENV_PATH`, then
`MYTHIC_ENV_PATH`; there is no checkout-name default. See `.env.example`.
## Workflow
Inspect Mythic:
```bash
.venv/bin/python skills/sage-callback-bootstrap/scripts/bootstrap_payloads.py inspect
```
Verify the Sage chat container and create a fresh Apollo payload:
```bash
.venv/bin/python skills/sage-callback-bootstrap/scripts/bootstrap_payloads.py bootstrap-reset
```
`bootstrap-reset` must report a running `sage_chat_container`, a wildcard-scoped API token owned by the current
operation's unique active bot, and an empty locked prepared channel named
`Sage GOAD Ready`, and `sage_payload_created: false`.
The standalone command keeps that prepare-chat behavior for compatibility. When the operator will create the
operation and demo chat manually, use:
```bash
.venv/bin/python skills/sage-callback-bootstrap/scripts/bootstrap_payloads.py bootstrap-reset --no-prepare-chat
```
Pair it with `readiness --no-require-prepared-channel`. This relaxes only the prepared-channel section; Sage
container, token, range, clock, BloodHound, and unique foothold requirements remain enforced.
After Apollo is launched as `NORTH\samwell.tarly` on CASTELBLACK, run:
```bash
.venv/bin/python skills/sage-callback-bootstrap/scripts/bootstrap_payloads.py post-callback-preflight
.venv/bin/python skills/sage-callback-bootstrap/scripts/bootstrap_payloads.py readiness --runtime-dbs-archived
```
Readiness delegates to the shared `sage-goad-reset` readiness contract. It is true only when the sanitized
startup identity, runtime DB archival, exact six-VM/IP state, clock check, BloodHound API/domains, BloodHound
MCP checkout and exact required tool set, Mythic chat/token, unique live foothold, and prepared channel are all
ready. `selected_sage_cb` is intentionally null.
`post-callback-preflight` is now strictly task-free. It waits for the selected live Apollo callback through
Mythic control-plane observation, synchronizes range clocks out of band, and returns explicit zero-task metadata.
It does not issue callback tasks, purge Kerberos tickets, or claim target-probed domain/identity output.
The `sage-goad-reset` orchestrator additionally proves this with observed Mythic task-count deltas before
admitting reset completion.
## Canonical Apollo Bootstrap Path
Do not re-derive Apollo bootstrap manually when these helpers cover the case.
- Fresh clean-baseline foothold with a newly built downloadable payload: `bootstrap-reset` → payload deploy skill `deploy` with the interactive Apollo
launch path → `post-callback-preflight` → `readiness --runtime-dbs-archived`.
- Pre-staged interactive foothold with retained callback metadata: `bootstrap-reset --use-retained-callback ...` → payload deploy skill
`launch-existing` or `launch_apollo_foothold.sh` with a settle window and unique-callback gate →
`post-callback-preflight` → `readiness --runtime-dbs-archived`.
- Batch-logon canary foothold: use `sage-foothold-launch` only when the selected Mythic payload is genuinely
downloadable and the operation explicitly accepts a batch-logon token.
Imported retained callback metadata can recreate a payload row with an empty server-side file path. That row binds
the staged executable's identity but cannot supply bytes to `deploy`; do not call `mythic.download_payload` for it.
It does not prove that an independently selected snapshot contains the same payload. For the qualified Trust Walker
fixture, validate the atomic snapshot/config/payload/task/executable identity in
`skills/sage-mythic-payload-deploy/SKILL.md` before launch.
Headless execution alone never changes the selected bootstrap mode. Satisfy the interactive wrapper's display
prerequisite or stop before allocation. See the authoritative decision table in
`skills/sage-mythic-payload-deploy/SKILL.md`.
For retained or purpose-range launches, do not call the foothold ready until the callback lane is unique after the
settle window. Always rediscover the active callback ID after launch; imported callback rows are historical metadata,
not tasking targets.
## Retained Foothold
Export before reset:
```bash
.venv/bin/python skills/sage-callback-bootstrap/scripts/bootstrap_payloads.py export-callback-config --callback <foothold-display-id> --output skills/sage-callback-bootstrap/merlin_callback_config.json
```
Import after reset:
```bash
.venv/bin/python skills/sage-callback-bootstrap/scripts/bootstrap_payloads.py bootstrap-reset --use-retained-callback --retained-callback-config skills/sage-callback-bootstrap/merlin_callback_config.json
```
Imported callback rows are forced inactive so they remain historical metadata and cannot be selected for
tasking. Launching the retained payload creates the active callback row used by Sage.
Then launch the retained payload and run:
```bash
.venv/bin/python skills/sage-callback-bootstrap/scripts/bootstrap_payloads.py readiness --runtime-dbs-archived --foothold-payload-type merlin
```
The baked Apollo import remains available through `--use-baked-apollo` for legacy snapshots only.
## Post-rebuild payloads and GraphQL notes
- `create-apollo` builds through the **currently running** apollo container. After a service rebuild
(e.g., a patched agent branch installed per `skills/sage-mythic-payload-deploy/SKILL.md`), every payload it
creates carries the patched agent version; confirm via Mythic GraphQL `payloadtype { name semver }`.
A new build parameters instance list (`buildparameterinstances { value buildparameter { name } }`) also
carries the build's C2 settings. Callback C2 parameters to mirror on a fresh payload can be read
(with keys redacted) from `export-callback-config`.
- Mythic GraphQL schema differences worth knowing (v3.4.x): `filemeta` has no `sha256` field;
`payload` has no `build_parameters`/`buildparameter` relation — use `buildparameterinstances`;
`payloadtype` exposes the agent version as `semver` (not `agent_version`); task artifacts live in
`task.taskartifacts { base_artifact artifact_text }` (no `artifact_details`); `response_text` is
base64-encoded. Introspect `__type(name: "...")` before guessing fields.From MythicAgents/sage, GPL-3.0.
More from MythicAgents/sage
- 0.655score
sage-trace-analysis
MythicAgents
Repo-local Sage trace, Phoenix, Mythic task-output, and run-log analysis workflow.
SkillAFreshness: A★ 29Claude Code +9 - 0.655score
sage-canary-attestation
MythicAgents
Independently attest a bounded native Mythic canary by reconstructing the run from Mythic's own records with a read-only Spectator credential, then diffing…
SkillAFreshness: A★ 29Claude Code +9 - 0.655score
sage-eval-gauge
MythicAgents
Repo-local Sage eval-gauge / hill-climbing Phase-0 toolkit.
SkillAFreshness: A★ 29Claude Code +9 - 0.655score
sage-focused-capability-tests
MythicAgents
Repo-local focused Sage capability, adapter, and notification validation workflow.
SkillAFreshness: A★ 29Claude Code +9 - 0.655score
sage-foothold-launch
MythicAgents
Build a live Apollo foothold on the GOAD range as NORTH\samwell.tarly through a pure WinRM scheduled-task batch logon.
SkillAFreshness: A★ 29Claude Code +9 - 0.652score
sage-live-runner
MythicAgents
Repo-local Sage native Mythic v4 chat execution and inspection workflow.
SkillAFreshness: A★ 29Claude Code +9 - 0.652score
sage-architecture-governor
MythicAgents
Use for Sage prompt, topology, tool, planner, runtime authority, and other consequential architecture changes; keep ordinary development measurement plumbing…
SkillAFreshness: A★ 29Claude Code +9 - 0.651score
sage-goad-reset
MythicAgents
Repo-local Sage GOAD/Trust Walker full lab reset and readiness workflow.
SkillAFreshness: A★ 29Claude Code +9 - 0.651score
sage-mythic-payload-deploy
MythicAgents
Download an existing Mythic payload, stage it onto a Ludus Windows host over WinRM, and launch it as the current user or a supplied run-as user.
SkillAFreshness: A★ 29Claude Code +9 - 0.650score
sage-forge-ops
MythicAgents
Repo-local Sage Forge/Codex helper workflow.
SkillAFreshness: A★ 29Claude Code +9 - 0.650score
phoenix-traces
MythicAgents
Analyze Sage's Phoenix/OpenInference trace database (phoenix.db) for the Sage LangGraph multi-agent system.
SkillAFreshness: A★ 29Claude Code +9 - 0.612score
sage-conversation-control
MythicAgents
Run repeated real-model perturbation trials against Sage's frozen conversation-control constitution and report pass^k, forbidden events, duplicate events…
SkillBFreshness: B★ 29Claude Code +9
Signals
- Stars
- 29
- Forks
- 5
- Open issues
- 1
- Last commit (this folder)
- Oct 15, 2026 (13 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- GPL-3.0
- Repository
- github.com/MythicAgents/sage
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from MythicAgents
- 0.655score
sage-canary-attestation
MythicAgents
Independently attest a bounded native Mythic canary by reconstructing the run from Mythic's own records with a read-only Spectator credential, then diffing…
SkillAFreshness: A★ 29Claude Code +9 - 0.655score
sage-trace-analysis
MythicAgents
Repo-local Sage trace, Phoenix, Mythic task-output, and run-log analysis workflow.
SkillAFreshness: A★ 29Claude Code +9 - 0.655score
sage-focused-capability-tests
MythicAgents
Repo-local focused Sage capability, adapter, and notification validation workflow.
SkillAFreshness: A★ 29Claude Code +9 - 0.655score
sage-foothold-launch
MythicAgents
Build a live Apollo foothold on the GOAD range as NORTH\samwell.tarly through a pure WinRM scheduled-task batch logon.
SkillAFreshness: A★ 29Claude Code +9 - 0.655score
sage-eval-gauge
MythicAgents
Repo-local Sage eval-gauge / hill-climbing Phase-0 toolkit.
SkillAFreshness: A★ 29Claude Code +9 - 0.652score
sage-live-runner
MythicAgents
Repo-local Sage native Mythic v4 chat execution and inspection workflow.
SkillAFreshness: A★ 29Claude Code +9
Cite this page
sage-callback-bootstrap skill. Agent Mart. https://agentmart.dev/skills/mythicagents-sage-callback-bootstrap (last updated 2026-10-24)