Use this skill to interactively debug Antithesis test runs using the multiverse debugger. Open a debugging-session URL, inspect container filesystems and runtime state, run shell commands, and extract evidence from inside the Antithesis environment. Supports both the simplified debugger (default) and the advanced notebook mode.
94
92%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Use the agent-browser skill to interact with the Antithesis multiverse
debugger.
Every debugging session should use:
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.
Use this when the user gives:
For auth and report navigation, use the antithesis-triage skill. It already
encodes the right agent-browser session model. This skill handles the
debugger itself.
Before starting, collect the following from the user:
https://TENANT.antithesis.com/debugging-session/....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 |
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")'Switch to advanced mode only when you need:
moment.branch()) and advancing timeenvironment.events.up_to(moment))To switch modes, use the three-dot menu (vertical dots icon) in the top-right
corner of the debug timeline header. See references/simplified-debugger.md
for details.
Each reference file covers a specific interaction mode or task. Read the relevant file before performing that task.
| 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 |
| Page | When to read |
|---|---|
references/setup-session.md | Always — read first to set up the browser session |
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 |
references/setup-session.md — open the debugger URLreferences/simplified-debugger.md — click a log line to set the
moment and container, enter a bash command, press Send, read the outputreferences/setup-session.md — open the debugger URLreferences/simplified-debugger.md — click a log line, toggle
"Extract file", enter the file path, press Sendreferences/setup-session.md — open the debugger URL and inject runtimewindow.__antithesisDebug.switchMode("advanced")references/notebook.md — understand the seeded notebookreferences/common-inspections.md — pick inspection cellsreferences/actions.md — authorize actions and read resultsThe JS runtime is required for both simplified and advanced modes. It
provides the window.__antithesisDebug API with three namespaces:
simplified, notebook, and actions.
Use the browser-side runtime file:
assets/antithesis-debug.jsInject it into the current page with:
cat assets/antithesis-debug.js \
| agent-browser --session "$SESSION" eval --stdinInjecting the file registers methods on window.__antithesisDebug. Call those
methods with agent-browser eval.
Method call examples:
# Simplified mode
agent-browser --session "$SESSION" eval \
'window.__antithesisDebug.simplified.runCommand("ls -la /")'
# Advanced mode
agent-browser --session "$SESSION" eval \
"window.__antithesisDebug.notebook.getSource()"agent-browser eval awaits Promises automatically, so async and sync methods
use the same call pattern.
If window.__antithesisDebug is missing, inject assets/antithesis-debug.js and retry the method call.
Do not run method calls in parallel with agent-browser open, navigation, or
any other command that can replace the page. Wait until the target page is
settled before starting eval calls. Run queries sequentially; mutations will
interfere with each other if launched in parallel.
After every open call or any interaction that may navigate or replace the
page, first confirm the browser has landed on the debugger page, then inject
assets/antithesis-debug.js and call the appropriate waitForReady() before
running other methods.
After navigation, inject the runtime, then call the appropriate waitForReady:
# Simplified mode
agent-browser --session "$SESSION" eval \
"window.__antithesisDebug.simplified.waitForReady()"
# Advanced mode
agent-browser --session "$SESSION" eval \
"window.__antithesisDebug.notebook.waitForReady()"Both poll for up to 60 seconds and return { ok, ready, attempts, waitedMs }.
On timeout, the result also includes details.
One-shot probes:
agent-browser --session "$SESSION" eval \
"window.__antithesisDebug.simplified.loadingFinished()"
agent-browser --session "$SESSION" eval \
"window.__antithesisDebug.notebook.loadingFinished()"Diagnostics:
agent-browser --session "$SESSION" eval \
"window.__antithesisDebug.simplified.loadingStatus()"
agent-browser --session "$SESSION" eval \
"window.__antithesisDebug.notebook.loadingStatus()"antithesis-triage skill's
references/setup-auth.md for the interactive login flow. Use the same
--session-name antithesis so auth state is shared.SESSION for each debugging
run, pair it with the shared --session-name antithesis, and
agent-browser --session "$SESSION" close when you finish or abort.environment.containers.list({moment}) (advanced) to determine valid
container names.open call or page
reload, inject assets/antithesis-debug.js and call
notebook.waitForReady() before the next method call.window.__antithesisDebug is undefined or missing, inject the runtime and
rerun the same method.bash\...`` cell needs explicit
authorization. Read the result before injecting the next cell.Before declaring this skill complete, review your work against the criteria below. This skill's output is conversational (summaries, evidence, analysis), so the review should happen in your current context. Re-read the guidance in this file, then systematically check each item below against the answers and analysis you produced.
Review criteria:
a851a75
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.