Skill
Community

nimble-web-expert

Install
1
Install the plugin
$
npx claudepluginhub anthropics/claude-plugins-official --plugin nimble

Want just this skill?

Then install: npx claudepluginhub u/[userId]/[slug]

Description

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.

Tool Access

This skill is limited to using the following tools:

Bash(nimble:*)Bash(mkdir:*)Bash(cat:*)Bash(head:*)Bash(ls:*)Bash(python3:*)Bash(uv:*)Bash(npm:*)Bash(open:*)Bash(export:*)Bash(wait:*)ReadWriteEditGlobGrepTaskAskUserQuestionWebFetch
Supporting Assets
View in Repository
README.md
references/batch-patterns.md
references/error-handling.md
references/nimble-extract/browser-actions.md
references/nimble-extract/browser-investigation.md
references/nimble-extract/network-capture.md
references/nimble-extract/parsing-schema.md
references/nimble-search/search-focus-modes.md
references/recipes.md
rules/nimble-web-expert.mdc
rules/output.md
rules/setup.md
Skill Content

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 → nimble extract. Research/topic → nimble search. Discover/crawl URLs → nimble map or nimble crawl.
  • One command → present results → done. Run once with --transform "data.parsing" for agents. Show the data immediately as a table. Do NOT experiment, loop, or write Python to parse output.
  • Multiple inputs → always parallel. 2+ URLs/keywords/ASINs → &+wait. 6–20 → xargs -P. 20+ → Python asyncio script. See 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 .nimble/. Never leave extraction results in memory only.
  • If bash is denied, stop immediately. Show the command as text and wait. Never retry with dangerouslyDisableSandbox.

Skill ecosystem

SkillBest forKey commands
nimble-web-expert (this skill)Real-time data — fetch any URL, search, map, crawl, run existing agentsextract, search, map, crawl, agent run
nimble-agent-builderBuild reusable agents — create, refine, publish named extraction templatesMCP: generate, update, publish

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 AskUserQuestion at every meaningful choice — never guess, never ask in prose.
  • 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, python3 -c "from playwright.sync_api...") and ask whether to investigate with browser-use, Playwright, or skip.
  • After presenting results, always close with: "Were these results what you needed?" → Looks great! / Mostly good / Not quite / Skip feedback

Prerequisites

Quick check:

nimble --version && echo "${NIMBLE_API_KEY:+API key: set}"

If CLI version and API key: set both print → proceed to Step 0.

If anything is missing, load rules/setup.md for one-time setup instructions (CLI install, API key, Docs MCP).

If bash is denied: Stop. Show the command as text. Do not substitute WebFetch for Nimble tasks.


Analyze & Route

User signalCommandNotes
Names a specific site or domainnimble agentnimble extract if no agentAlways check for agent first — announce it
Provides a direct URLnimble extractSkip agent check
Research, topic, or vertical querynimble searchUse focus modes for news, jobs, shopping, etc.
"Find URLs / sitemap / all pages"nimble mapReturns URL list + metadata
"Crawl / archive a whole section"nimble crawlAsync 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:

  1. Announce: "Let me check if there's a pre-built Nimble agent for [site]..."
  2. Report: "Found <agent_name> — using it now." or "No pre-built agent — falling back to extraction."

Lookup order:

  1. ~/.claude/skills/nimble-web-expert/learned/examples.jsonagents[] array
  2. references/nimble-agents/SKILL.md → baked-in table (50+ sites)
  3. nimble agent list --limit 100 --search "<domain or vertical>" → show table, confirm with user
  4. No match → proceed to extract/search

Run with --transform "data.parsing" — always:

nimble --transform "data.parsing" agent run --agent <name> --params '{"keyword": "..."}'

Do NOT run without --transform "data.parsing" and then parse raw output. The raw response contains html (useless), headers, and parsing (what you want). The transform flag extracts parsing in one shot.

For the full agent list (50+ sites), see references/nimble-agents/SKILL.md.

⚠️ google_search is for SEO/SERP rank analysis only — not general information retrieval. For finding information, use nimble search.


Workflow

SituationCommandReference
Site/domain → check agent firstnimble agent listnimble agent runreferences/nimble-agents/SKILL.md
Direct URLnimble extractreferences/nimble-extract/SKILL.md
Search the live webnimble searchreferences/nimble-search/SKILL.md
Discover URLs on a sitenimble mapreferences/nimble-map/SKILL.md
Bulk crawl a sectionnimble crawl runreferences/nimble-crawl/SKILL.md
Poll async task / fetch resultsnimble tasks get / nimble tasks resultsreferences/nimble-tasks/SKILL.md
Unknown selectors or XHR pathbrowser-use or Playwright investigationreferences/nimble-extract/browser-investigation.md
Proven site patternscopy a recipereferences/recipes.md
2+ inputsparallel bash &+wait or generated scriptreferences/batch-patterns.md

For the full extract waterfall (tiers, flags, browser actions, network capture), see references/nimble-extract/SKILL.md.


Response shapes

CommandOutput
nimble agentStructured data in data.parsing — array (SERP/list) or dict (PDP/product)
nimble extractHTML, Markdown, or parsed JSON — depends on --format and --parse
nimble searchStructured results array (title, URL, description)
nimble mapURL list + metadata
nimble crawlAsync job — poll with nimble crawl status <job_id>

Agent runs always need --transform "data.parsing". 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.

Output & Organization

mkdir -p .nimble   # save all outputs here

Naming: .nimble/<site>-<task>.md (e.g. .nimble/amazon-airpods.md, .nimble/yelp-sf-italian.json)

Working with saved files:

wc -l .nimble/page.md && head -100 .nimble/page.md
grep -n "price\|rating" .nimble/page.md | head -30

End every response with: Source: [URL] — fetched live via Nimble CLI


Self-Improvement

The skill maintains ~/.claude/skills/nimble-web-expert/learned/examples.json.

  • At task start: read the file, scan good[] for url_pattern matches → use documented command/tier as starting point. Scan bad[] → avoid documented pitfalls.
  • After presenting results: ask "Were these results what you needed?" → on positive feedback, append to good[] with url_pattern, task, command, tier, notes. On negative feedback, ask "What went wrong?" and append to bad[] with 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 run_in_background=False. See nimble-agent-builder delegation model for the why.
  • 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:

FileLoad when
references/recipes.mdNeed a proven command for a common site (Amazon, Yelp, LinkedIn…)
references/nimble-agents/SKILL.mdStep 0 lookup — full agent table (50+ sites)
references/nimble-extract/SKILL.mdExtract flags, render tiers, browser actions, network capture, parser schemas
references/nimble-search/SKILL.mdSearch flags, all 8 focus modes
references/nimble-map/SKILL.mdMap flags, response structure
references/nimble-crawl/SKILL.mdFull async crawl workflow
references/nimble-tasks/SKILL.mdPoll task status, fetch results — for agent run-async and crawl page tasks
references/nimble-extract/browser-investigation.mdTier 6 — CSS selector/XHR discovery with browser-use or Playwright
references/nimble-extract/parsing-schema.mdParser types, selectors, extractors, post-processors
references/nimble-extract/browser-actions.mdFull browser action types and parameters
references/nimble-extract/network-capture.mdFilter syntax, XHR mode, capture+parse patterns
references/nimble-search/search-focus-modes.mdDecision tree, mode details, combination strategies
references/batch-patterns.mdParallel bash patterns for 2–5, 6–20, and 20+ inputs
references/error-handling.mdError codes, known site issues, troubleshooting
Stats
Stars13
Forks1
Last CommitMar 19, 2026

Similar Skills