- Skill ID
- antithesishq/antithesis-skills/antithesis-debug
- Publisher
- antithesishq
- Repository
- antithesis-skills
- Installs
- 0
- Files
- 11
- Requires
- Requires agent-browser v0.23.4+ (https://github.com/vercel-labs/agent-browser).
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
antithesishq/antithesis-skills/antithesis-debugInstalls these files- SKILL.md
- assets/antithesis-debug.js
- assets/download-mvd-log.sh
- assets/process-logs.py
- references/actions.md
- references/advanced-debugger.md
- references/common-inspections.md
- references/download-log.md
- references/notebook.md
- references/setup-session.md
- references/simplified-debugger.md
What this skill tells the agent
Antithesis Multiverse Debugger
Skill version: 2026-09-22 da29297
Use the agent-browser skill to interact with the Antithesis multiverse debugger.
Every debugging session should use:
- a fresh, unique
SESSIONvalue such asantithesis-debug-$(date +%s)-$$
Use --session-name antithesis so agent-browser manages shared authentication state automatically, while --session "$SESSION" keeps each debugging run isolated from other concurrent agents. Close the unique live session when debugging is complete.
When to use this skill
Use this when:
- the user gives an Antithesis debugging-session URL
- the user makes a request to inspect container filesystem, runtime state, or events inside Antithesis
- the triage skill has launched an MVD session when investigating the results of a run
For auth and report navigation, use the antithesis-agent-browser skill. It owns the agent-browser session and authentication flow. This skill handles the debugger itself.
Prerequisites
- DO NOT PROCEED if
agent-browseris not installed. Seehttps://raw.githubusercontent.com/vercel-labs/agent-browser/refs/heads/main/README.mdfor installation options. - DO NOT PROCEED if
agent-browseris older than versionv0.23.4. You can upgrade withagent-browser upgrade.
Gathering user input
Before starting, collect the following from the user:
- Debugger URL (required) — A debugging-session URL like
https://TENANT.antithesis.com/debugging-session/.... - What to investigate — Are we checking filesystem contents? Runtime state? Specific artifacts?
- Container name (if known) — The name of the container to target. If not provided, the log view or container dropdown will show available containers.
Simplified vs. advanced mode
The debugger has two modes. Prefer simplified mode — it is sufficient for most tasks.
| Mode | Best for | How it works |
|---|---|---|
| Simplified | Running shell commands, reading files, listing directories, extracting artifacts | Click log lines to set moment/container, type bash commands, press Send |
| Advanced | Programmatic inspection, branching, event sets, custom JavaScript, multi-step notebook workflows | Monaco editor with JavaScript cells, action authorization, runtime API |
Detecting which mode is active
Different tenants may open the debugger in either mode by default. After injecting the runtime (see references/setup-session.md), check which mode is active:
agent-browser --session "$SESSION" eval \
"window.__antithesisDebug.getMode()"Returns "simplified" or "advanced". To switch:
agent-browser --session "$SESSION" eval \
'window.__antithesisDebug.switchMode("simplified")'When to escalate to advanced mode
Switch to advanced mode only when you need:
- A target container that had crashed (or otherwise wasn't running) at the MVD recreate moment. The simplified container dropdown only lists containers running at that point. To inspect a container while it was alive, you must time-travel back via
moment.rewind_to(...)and target it by name viabash...run({container: "<name>"}). This is the one container-targeting case where advanced is strictly required. - Branching (
moment.branch()) and advancing time (branch.wait,branch.wait_until) - Exploring multiple random histories from the same moment (
branch.send_input) - Event set queries (
environment.events.up_to(moment),.contains({source})) - Fault injector state inspection or control (
environment.fault_injector.pause/unpause) - Background processes and process-exit awaiting (
run_in_background,p.exits) - Complex multi-cell notebook workflows with grouped authorization
- The full JavaScript notebook API
- As an escape hatch when something in simplified mode isn't working
To switch programmatically, call window.__antithesisDebug.switchMode("advanced"). This is what getMode() reports. Note: there is a separate "Simple mode" / "Advanced mode" tab strip in the right pane (.display_area__tabs) that switchMode() does NOT click; the two can disagree. The right-pane tab strip controls the help / pop-out panel content. To read the on-page advanced-mode help (a canonical ~5KB reference for the notebook API), click the "Advanced mode" tab in that strip and read document.querySelector(".display_area__layout").innerText. See references/advanced-debugger.md.
Reference files
Each reference file covers a specific interaction mode or task. Read the relevant file before performing that task.
Simplified mode (default — start here)
| Page | When to read |
|---|---|
references/setup-session.md | Always — read first to set up the browser session |
references/simplified-debugger.md | Running commands, extracting files, reading logs in simplified mode |
Advanced mode (using a notebook)
| Page | When to read |
|---|---|
references/setup-session.md | Always — read first to set up the browser session |
references/advanced-debugger.md | Read this BEFORE other advanced refs — mental model, mode-switching, authorization, branches, time advancement, fault injector, host commands, common errors |
references/notebook.md | Reading or writing notebook source, injecting cells |
references/actions.md | Authorizing shell actions, reading action output |
references/common-inspections.md | Ready-to-use debug cell snippets for common tasks |
Recommended workflows
Simplified: Run a command in a container
- Read
references/setup-session.md— open the debugger URL - Read
references/simplified-debugger.md— click a log line to set the moment and container, enter a bash command, press Send, read the output - Report findings with concrete evidence
Simplified: Extract a file
- Read
references/setup-session.md— open the debugger URL - Read
references/simplified-debugger.md— click a log line, toggle "Extract file", enter the file path, press Send - Read the download link from the output
Advanced: Programmatic investigation
- Read
references/setup-session.md— open the debugger URL and inject runtime - Switch to advanced mode:
window.__antithesisDebug.switchMode("advanced"), thennotebook.waitForReady() - Read
references/advanced-debugger.md— internalize moments, branches, reactive-vs-effectful, action grouping, and common errors - Read
references/notebook.md— mechanics of writing cells - Read
references/common-inspections.md— ready-to-use snippets - Read
references/actions.md— authorizing and reading action results - Report findings with evidence chain
Download the events log for offline analysis
- Read
references/setup-session.md— launch / open the debugger URL - Read
references/download-log.md— runassets/download-mvd-log.shto capture and (for JSON) annotate the events log. The annotation step uses this skill's ownassets/process-logs.py.
More from antithesishq
Use this skill in a project
Open any RiverX project, search the Skills panel for antithesishq/antithesis-skills/antithesis-debug, and install it in one click.
