antithesishq/antithesis-skills11 files

Antithesis Debug

>

Specification
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
How to use it

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 SESSION value such as antithesis-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-browser is not installed. See https://raw.githubusercontent.com/vercel-labs/agent-browser/refs/heads/main/README.md for installation options.
  • DO NOT PROCEED if agent-browser is older than version v0.23.4. You can upgrade with agent-browser upgrade.

Gathering user input

Before starting, collect the following from the user:

  1. Debugger URL (required) — A debugging-session URL like https://TENANT.antithesis.com/debugging-session/....
  2. What to investigate — Are we checking filesystem contents? Runtime state? Specific artifacts?
  3. 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.

ModeBest forHow it works
SimplifiedRunning shell commands, reading files, listing directories, extracting artifactsClick log lines to set moment/container, type bash commands, press Send
AdvancedProgrammatic inspection, branching, event sets, custom JavaScript, multi-step notebook workflowsMonaco 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 via bash...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)

PageWhen to read
references/setup-session.mdAlways — read first to set up the browser session
references/simplified-debugger.mdRunning commands, extracting files, reading logs in simplified mode

Advanced mode (using a notebook)

PageWhen to read
references/setup-session.mdAlways — read first to set up the browser session
references/advanced-debugger.mdRead this BEFORE other advanced refs — mental model, mode-switching, authorization, branches, time advancement, fault injector, host commands, common errors
references/notebook.mdReading or writing notebook source, injecting cells
references/actions.mdAuthorizing shell actions, reading action output
references/common-inspections.mdReady-to-use debug cell snippets for common tasks

Recommended workflows

Simplified: Run a command in a container

  1. Read references/setup-session.md — open the debugger URL
  2. Read references/simplified-debugger.md — click a log line to set the moment and container, enter a bash command, press Send, read the output
  3. Report findings with concrete evidence

Simplified: Extract a file

  1. Read references/setup-session.md — open the debugger URL
  2. Read references/simplified-debugger.md — click a log line, toggle "Extract file", enter the file path, press Send
  3. Read the download link from the output

Advanced: Programmatic investigation

  1. Read references/setup-session.md — open the debugger URL and inject runtime
  2. Switch to advanced mode: window.__antithesisDebug.switchMode("advanced"), then notebook.waitForReady()
  3. Read references/advanced-debugger.md — internalize moments, branches, reactive-vs-effectful, action grouping, and common errors
  4. Read references/notebook.md — mechanics of writing cells
  5. Read references/common-inspections.md — ready-to-use snippets
  6. Read references/actions.md — authorizing and reading action results
  7. Report findings with evidence chain

Download the events log for offline analysis

  1. Read references/setup-session.md — launch / open the debugger URL
  2. Read references/download-log.md — run assets/download-mvd-log.sh to capture and (for JSON) annotate the events log. The annotation step uses this skill's own assets/process-logs.py.

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.

Use this skill