nimble-web-expert
Original:🇺🇸 English
Translated
Get web data now — fast, incremental, immediately responsive to what the user needs. The only way Claude can access live websites. USE FOR: - Fetching any URL or reading any webpage - Scraping prices, listings, reviews, jobs, stats, docs from any site - Discovering URLs on a site before bulk extraction - Calling public REST/XHR API endpoints - Web search and research (8 focus modes) - Bulk crawling website sections Must be pre-installed and authenticated. Run `nimble --version` to verify. For building reusable extraction workflows to run at scale over time, use nimble-agent-builder instead.
10installs
Sourcenimbleway/agent-skills
Added on
NPX Install
npx skill4agent add nimbleway/agent-skills nimble-web-expertTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Nimble Web Expert
Web extraction, search, and URL discovery using the Nimble CLI. Returns clean structured data from any website.
User request: $ARGUMENTS
Core principles
- Route by intent first. Named site/domain → check for pre-built agent first (announce it out loud). Direct URL → . Research/topic →
nimble extract. Discover/crawl URLs →nimble searchornimble map.nimble crawl - One command → present results → done. Run once with for agents. Show the data immediately as a table. Do NOT experiment, loop, or write Python to parse output.
--transform "data.parsing" - Multiple inputs → always parallel. 2+ URLs/keywords/ASINs → +
&. 6–20 →wait. 20+ → Python asyncio script. Seexargs -P.references/batch-patterns.md - Escalate render tiers silently. Tier 1 → 2 → 3 → … without asking. Surface a decision only when all tiers fail and investigation tools are needed.
- Never answer from training data. Live prices, current news, today's listings → always fetch via Nimble. If unavailable, say so.
- AskUserQuestion at every meaningful choice. Header ≤12 chars, 2–4 options, label 1–5 words, recommended option first. Never present choices as numbered prose.
- Save all outputs to . Never leave extraction results in memory only.
.nimble/ - If bash is denied, stop immediately. Show the command as text and wait. Never retry with .
dangerouslyDisableSandbox
Skill ecosystem
| Skill | Best for | Key commands |
|---|---|---|
| nimble-web-expert (this skill) | Real-time data — fetch any URL, search, map, crawl, run existing agents | |
| nimble-agent-builder | Build reusable agents — create, refine, publish named extraction templates | CLI: |
Hand off to nimble-agent-builder only when all of these are true: the user has signalled a recurring/scheduled need, the pattern is repetitive (same site, same fields), and they've seen and approved the results. Don't ask after every extract — only when language clearly signals a recurring workflow ("I want to do this every day", "build me a pipeline", "make this reusable").
For agent refinement: "Agent updates are handled by nimble-agent-builder — it can refine the existing agent without rebuilding from scratch."
Interactive UX
- Use at every meaningful choice — never guess, never ask in prose.
AskUserQuestion - Ambiguous request (no URL, vague topic): ask before running — "What would you like to do?" → Search / Fetch URL / Discover URLs / Call API
- Before running a search (if task maps to a specific focus mode): offer focus mode — General / News / Coding / Shopping / Academic / Social
- After all tiers fail: check investigation tools (,
which browser-use) and ask whether to investigate with browser-use, Playwright, or skip.python3 -c "from playwright.sync_api..." - After presenting results, always close with: "Were these results what you needed?" → /
Looks great!/Mostly good/Not quiteSkip feedback
Prerequisites
Quick check:
bash
nimble --version && echo "${NIMBLE_API_KEY:+API key: set}"If CLI version and both print → proceed to Step 0.
API key: setIf anything is missing, load for one-time setup instructions (CLI install, API key, Docs MCP).
rules/setup.mdIf bash is denied: Stop. Show the command as text. Do not substitute WebFetch for Nimble tasks.
Analyze & Route
| User signal | Command | Notes |
|---|---|---|
| Names a specific site or domain | | Always check for agent first — announce it |
| Provides a direct URL | | Skip agent check |
| Research, topic, or vertical query | | Use focus modes for news, jobs, shopping, etc. |
| "Find URLs / sitemap / all pages" | | Returns URL list + metadata |
| "Crawl / archive a whole section" | | Async bulk extraction |
Step 0 — Agent check (when a domain is named)
Pre-built agents return clean structured data with zero selector work. Always check first.
Always verbalize — never silently:
- Announce: "Let me check if there's a pre-built Nimble agent for [site]..."
- Report: "Found — using it now." or "No pre-built agent — falling back to extraction."
<agent_name>
Lookup order:
- →
~/.claude/skills/nimble-web-expert/learned/examples.jsonarrayagents[] - → baked-in table (50+ sites)
references/nimble-agents/SKILL.md - → show table, confirm with user
nimble agent list --limit 100 --search "<domain or vertical>" - No match → proceed to extract/search
Run with — always:
--transform "data.parsing"bash
nimble --transform "data.parsing" agent run --agent <name> --params '{"keyword": "..."}'Do NOT run without and then parse raw output. The raw response contains (useless), , and (what you want). The transform flag extracts in one shot.
--transform "data.parsing"htmlheadersparsingparsingFor the full agent list (50+ sites), see .
references/nimble-agents/SKILL.md⚠️ is for SEO/SERP rank analysis only — not general information retrieval. For finding information, use .
google_searchnimble searchWorkflow
| Situation | Command | Reference |
|---|---|---|
| Site/domain → check agent first | | |
| Direct URL | | |
| Search the live web | | |
| Discover URLs on a site | | |
| Bulk crawl a section | | |
| Batch agents (up to 1,000) | | |
| Batch extract (up to 1,000) | | |
| Poll tasks / batches / results | | |
| Unknown selectors or XHR path | browser-use or Playwright investigation | |
| Proven site patterns | copy a recipe | |
| 2+ inputs | parallel bash | |
For the full extract waterfall (tiers, flags, browser actions, network capture), see .
references/nimble-extract/SKILL.mdResponse shapes
| Command | Output |
|---|---|
| Structured data in |
| HTML, Markdown, or parsed JSON — depends on |
| Structured results array (title, URL, description) |
| URL list + metadata |
| Async job — poll with |
Agent runs always need . If the agent name suggests a list (serp, search, plp), expect an array. If it suggests a single item (pdp, product, profile), expect a dict.
--transform "data.parsing"Output & Organization
bash
mkdir -p .nimble # save all outputs hereNaming: (e.g. , )
.nimble/<site>-<task>.md.nimble/amazon-airpods.md.nimble/yelp-sf-italian.jsonWorking with saved files:
bash
wc -l .nimble/page.md && head -100 .nimble/page.md
grep -n "price\|rating" .nimble/page.md | head -30End every response with:
Source: [URL] — fetched live via Nimble CLISelf-Improvement
The skill maintains .
~/.claude/skills/nimble-web-expert/learned/examples.json- At task start: read the file, scan for
good[]matches → use documentedurl_pattern/commandas starting point. Scantier→ avoid documented pitfalls.bad[] - After presenting results: ask "Were these results what you needed?" → on positive feedback, append to with
good[],url_pattern,task,command,tier. On negative feedback, ask "What went wrong?" and append tonoteswithbad[],url_pattern,task,issue,avoid.better - Keep entries concise — 5–10 per site. Only write on real feedback, never speculatively.
Guardrails
- NEVER answer from training data for live prices, current news, or real-time data. If Nimble is unavailable, say so.
- NEVER skip Step 0 silently. Even if certain there's no agent, announce the check before running extract/search/map.
- NEVER retry the same render tier. If a tier returns empty or blocked, escalate — do not re-run.
- NEVER substitute WebFetch for nimble CLI tasks. WebFetch is a fallback for fetching Nimble docs only.
- NEVER load reference files speculatively. Only read a reference when the current task explicitly needs it.
- Task agents MUST use . See nimble-agent-builder delegation model for the why.
run_in_background=False - Hard retry limit. On error (not empty content): retry at most 2 times with different flags. After 2 errors, report and stop.
- Hard 429 rule. On rate-limit error: stop immediately. Do not retry or switch tiers.
Reference files
Load only when needed:
| File | Load when |
|---|---|
| Need a proven command for a common site (Amazon, Yelp, LinkedIn…) |
| Step 0 lookup — full agent table (50+ sites) |
| Extract flags, render tiers, browser actions, network capture, parser schemas |
| Search flags, all 8 focus modes |
| Map flags, response structure |
| Full async crawl workflow |
| Poll tasks/batches, fetch results — for async, batch, and crawl operations |
| Tier 6 — CSS selector/XHR discovery with browser-use or Playwright |
| Parser types, selectors, extractors, post-processors |
| Full browser action types and parameters |
| Filter syntax, XHR mode, capture+parse patterns |
| Decision tree, mode details, combination strategies |
| Parallel bash patterns for 2–5, 6–20, and 20+ inputs |
| Error codes, known site issues, troubleshooting |