Antithesis Bug Triage
Use the
skill to read and triage Antithesis test reports.
Gathering user input
Before starting, collect the following from the user:
- Report URL or Tenant ID (required) — A full triage report URL like
https://TENANT.antithesis.com/...
or just the tenant name. If neither is provided, ask the user.
- What they want to know — Are they investigating a specific failure? Getting a general overview? Comparing runs? This determines which workflow to follow.
Reference files
Each reference file contains the selectors and query file paths for a specific
task. Read the relevant file before performing that task.
| Page | When to read |
|---|
| Always — read first to set up the browser session |
references/run-discovery.md
| User wants to find or browse recent runs (no specific URL) |
references/run-metadata.md
| Need run title, date, or the Explore Logs link |
| Checking property pass/fail status, filtering properties |
references/environment.md
| Checking which Docker images were used |
| Viewing behavioral diffs between runs |
references/utilization.md
| Checking test hours or behavior discovery rate |
| Investigating logs for a specific property example |
Query files
Reference files contain references to queries. Queries are stored in the assets directory, organized by the page they are relevant to.
Use the following command pattern to evaluate a query file from the skill root:
cat assets/report/run-metadata.js \
| agent-browser eval --session-name "$SESSION" --stdin
Do not run report queries in parallel with
, hash-route
navigation, or any other command that can replace the page. Wait until the
target page is settled before starting
calls. On a single browser
session, run report queries sequentially; property scripts mutate tab and
expansion state and will interfere with each other if you launch them in
parallel.
Page Loading Checks
Each page type has a dedicated
query. Use the matching
one before running page-specific queries.
Command pattern:
for _ in $(seq 1 60); do
if [[ "$(
cat <loading-query-file> \
| agent-browser eval --session-name "$SESSION" --stdin
)" == "true" ]]; then
break
fi
sleep 1
done
If the report page still is not ready after about 60 seconds, inspect the
current state before retrying:
cat assets/report/loading-status.js \
| agent-browser eval --session-name "$SESSION" --stdin
Use these loading checks:
- Report page:
assets/report/loading-finished.js
- Logs page:
assets/logs/loading-finished.js
- Runs page:
assets/runs/loading-finished.js
The report-page loading check returns
only when the main report
sections have finished loading, including findings, properties, environment,
and utilization. The report hydrates asynchronously after the browser
event, and findings are often the last section to settle.
Report queries are only valid on the main report view. If you navigate to an
internal hash route such as
, reopen the original report
URL and rerun
assets/report/loading-finished.js
before using report queries
again.
Recommended workflows
Quick overview of a run
- Read — authenticate and open the report
- Read
references/run-metadata.md
— get the run title and date
- Read — use the all-properties query for totals, then failed/passed/unfound queries only if you need filtered subsets
- Summarize: total properties, how many passed/failed/unfound, and flag any failures
Investigate a failing property
- Read — authenticate and open the report
- Read — list properties, filter to failed
- Read — expand failed-property example tables, get log URLs, navigate to logs, find the highlighted assertion event and surrounding context
- Report the failure with: property name, assertion text, relevant log lines, and the timeline context
Find a specific run
- Read — authenticate
- Read
references/run-discovery.md
— browse the runs page to find the target run
- Continue with any of the above workflows once on the report
General guidance
- Always authenticate first. Every session starts with setup-auth.
- Don't fabricate selectors. The triage report uses custom web components and non-obvious class names. Always consult the resource page for the correct queries.
- Keep report queries on the main report view. If you click into a finding-focused hash route, reopen the original report URL before using report queries again.
- Do not overlap navigation with queries. calls can fail with an execution-context-destroyed error if the report is still navigating or hydrating.
- Logs require full auth. The report page may load with just an token in the URL, but navigating to log pages requires a fully authenticated session.
- Logs use virtual scrolling. Only ~50-70 rows render at a time. You may need to scroll to find specific entries.
- Present results clearly. When reporting property statuses, use a table or list. When reporting log findings, include the virtual timestamp, source, and log text.