Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/migoxlab/webqa-agent/recoverynpx skills add MigoXLab/webqa-agent --skill recoverygit clone --depth 1 https://github.com/MigoXLab/webqa-agentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/migoxlab/webqa-agent/recovery)<a href="https://agentmods.dev/skills/migoxlab/webqa-agent/recovery"><img src="https://agentmods.dev/badge/skills/migoxlab/webqa-agent/recovery.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00011 | $0.01000 |
| Opus 5 | $0.00005 | $0.00500 |
| Sonnet 5 | $0.00002 | $0.00200 |
| Haiku 4.5 | $0.00001 | $0.00100 |
Grade A, and why
recovery scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Recovery Skill
Structured recovery for browser automation failures. Covers execution errors, semantic failures, state divergence, tool limitations, and environmental blockers.
When to Use
Load this skill when any of these occur:
- A tool returns an error (
is_errorin tool result). - A post-action screenshot shows no change or an unexpected change.
- A verification step (snapshot / verify) contradicts the expected state.
- An action succeeded but the effect is wrong (filled wrong field, clicked wrong element, upload didn't trigger, text truncated).
- An unexpected element blocks progress (modal, banner, CAPTCHA, cookie consent).
Recovery Loop
Follow three phases in order. Do not skip OBSERVE.
Step 1 — OBSERVE
Re-perceive the actual page state before making any recovery decision.
Batch these read-only tools in a single turn (the engine runs them concurrently):
take_snapshot— current DOM / accessibility tree.take_screenshot— current visual state.list_console_messages— JS errors that may explain the failure.list_network_requests— failed API calls or unexpected redirects.
Before / after comparison: Compare the current state against what the page looked like before the failed action. Ask:
- What changed? (anything at all — URL, DOM, visual layout)
- What should have changed but didn't?
- Are there new elements that weren't there before (modals, errors)?
Step 2 — DIAGNOSE
Classify the failure and assess progress.
Error classification — load the error-taxonomy reference for the
full list:
load_skill(skill_name="recovery", reference="error-taxonomy")
Key questions:
- Is this an execution error (tool reported failure) or a semantic error (tool succeeded but wrong effect)?
- Is the root cause a tool limitation, a wrong selector, a page state change, or an environmental blocker?
Progress assessment — did the action make any progress toward the goal?
- Partial progress (e.g. 3 of 5 fields filled): preserve what worked, recover only the failed part.
- Zero progress (nothing changed): the approach itself may be wrong; escalate sooner.
- Negative progress (broke something): undo if possible
(
evaluate_script({ code: "history.back()" })or navigate to the previous URL), then re-observe.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 120 lines · 11 tokens per session scan A 462fd7aa8f5a
recovery is a skill published in the GitHub repository MigoXLab/webqa-agent (230 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 11 tokens to every session and 1,000 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
web-exfiltration-detection
Detect data exfiltration via URL path encoding and chained webfetch navigation. Covers fake trusted UI injection, letter-level URL path exfiltration, and multi-hop navigation hijacking. Use when the agent has web/URL fetch capability and stores user memory or personal context.
browserwing-executor
Control browser automation through HTTP API. Supports page navigation, element interaction (click, type, select), data extraction, accessibility snapshot analysis, screenshot, JavaScript execution, and batch operations.
dev-browser
Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website"…
web-search
This skill should be used when users need to search the web for information, find current content, look up news articles, search for images, or find videos. It uses DuckDuckGo's search API to return results in clean, formatted output (text, markdown, or JSON). Use for research, fact-checking, finding recent…
langbot-testing
Test LangBot WebUI and core product flows with an automated browser and backend logs. Use when validating the configured LangBot frontend, pipeline Debug Chat, model provider setup and test buttons, bot and knowledge-base UI flows, or troubleshooting failed LangBot end-to-end tests.
browse
Use the browse CLI for Browserbase browser automation, Browserbase cloud APIs, Browserbase Functions, templates, web fetch/search, diagnostics, and Browse.sh skill discovery/installation. Use when the user asks to navigate pages, inspect browser state, run local or remote browser sessions, manage Browserbase…