Debug Skyvern task and workflow failures locally
Skyvern workflows can fail after several browser decisions. BrowserTrace wraps task and workflow calls so you can inspect inputs, outputs, status, errors, and export a trace for review.
Try the trace viewer first
uvx --from "browsertrace[ui] @ git+https://github.com/aaronlab/browsertrace@v0.1.14" browsertrace doctor
uvx --from "browsertrace[ui] @ git+https://github.com/aaronlab/browsertrace@v0.1.14" browsertrace demo
uvx --from "browsertrace[ui] @ git+https://github.com/aaronlab/browsertrace@v0.1.14" browsertrace
Open http://127.0.0.1:3000 and inspect the failed checkout-agent run before wiring a real Skyvern client.
Wrap a Skyvern-shaped client
from skyvern import Skyvern
from browsertrace import Tracer
from browsertrace.integrations.skyvern import wrap_skyvern
tracer = Tracer()
skyvern = wrap_skyvern(Skyvern(...), tracer, name="skyvern invoice run")
await skyvern.run_task(
url="https://example.com",
prompt="extract the invoice total",
wait_for_completion=True,
)
skyvern.close()
The wrapper records high-level run_task and run_workflow calls without importing Skyvern at BrowserTrace install time.
What the trace captures
- The Skyvern method, task prompt, URL, and keyword arguments.
- The returned task/workflow payload when available.
- Run IDs and status fields when the response exposes them.
- Exception type and message if the task call fails.
- Exportable HTML with optional prompt/model I/O redaction.
Share only what is safe
browsertrace list
browsertrace export <run_id> -o full.html
browsertrace export <run_id> --redact -o public.html
browsertrace export <run_id> --public -o public.html
Use --public before attaching a real trace to a public issue or community thread. Use individual redaction flags when you want to keep some fields visible.
First-class Skyvern adapter feedback is tracked in issue #4.