nimble-web-expert
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseNimble Web Expert
Nimble Web 专家
Web extraction, search, and URL discovery using the Nimble CLI. Returns clean structured data from any website.
User request: $ARGUMENTS
借助Nimble CLI实现网页提取、搜索与URL发现。从任意网站返回整洁的结构化数据。
用户请求:$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
- 优先按意图路由。指定网站/域名→先检查是否有预构建agent(大声告知)。直接URL→。研究/主题→
nimble extract。发现/爬取URL→nimble search或nimble map。nimble crawl - 一条命令→呈现结果→完成。使用运行agent。立即以表格形式展示数据。请勿尝试实验、循环或编写Python解析输出。
--transform "data.parsing" - 多输入→始终并行处理。2个及以上URL/关键词/ASIN→+
&。6–20个→wait。20个以上→Python asyncio脚本。详见xargs -P。references/batch-patterns.md - 静默升级渲染层级。从层级1→2→3→…无需询问。仅当所有层级都失败且需要调查工具时,才告知决策。
- 绝不从训练数据中作答。实时价格、最新新闻、当日列表→始终通过Nimble获取。若无法获取,如实告知。
- 在每个关键选择点使用AskUserQuestion。标题≤12字符,2–4个选项,标签1–5个词,推荐选项排在首位。切勿以编号段落形式呈现选项。
- 将所有输出保存至。切勿仅将提取结果留在内存中。
.nimble/ - 若bash被禁用,立即停止。以文本形式展示命令并等待。切勿使用重试。
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."
| 技能 | 适用场景 | 核心命令 |
|---|---|---|
| nimble-web-expert(本技能) | 实时数据——获取任意URL、搜索、映射、爬取、运行现有agent | |
| nimble-agent-builder | 构建可复用agent——创建、优化、发布命名提取模板 | CLI: |
仅当以下所有条件满足时,才转交至nimble-agent-builder:用户表示有重复/定时需求,模式具有重复性(同一网站、同一字段),且用户已查看并认可结果。不要在每次提取后都询问——仅当语言明确表明需要重复工作流时才询问(如“我想每天做这个”、“帮我构建一个管道”、“让这个可复用”)。
关于agent优化:"Agent更新由nimble-agent-builder处理——它无需从头重建即可优化现有agent。"
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
- 在每个关键选择点使用——切勿猜测,切勿以散文形式询问。
AskUserQuestion - 模糊请求(无URL、主题模糊):运行前询问——“您想执行什么操作?”→搜索 / 获取URL / 发现URL / 调用API
- 运行搜索前(若任务对应特定聚焦模式):提供聚焦模式选项——通用 / 新闻 / 编程 / 购物 / 学术 / 社交
- 所有层级失败后:检查调查工具(,
which browser-use)并询问是否使用browser-use、Playwright进行调查,或跳过。python3 -c "from playwright.sync_api..." - 呈现结果后,始终以以下问题收尾:“这些结果符合您的需求吗?”→/
看起来不错!/大体符合/不太符合跳过反馈
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.
快速检查:
bash
nimble --version && echo "${NIMBLE_API_KEY:+API key: set}"若CLI版本和均正常输出→继续至步骤0。
API key: set若有缺失,加载获取一次性设置说明(CLI安装、API密钥、Docs MCP)。
rules/setup.md若bash被禁用:停止操作。以文本形式展示命令。切勿用WebFetch替代Nimble任务。
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 |
| 用户信号 | 命令 | 备注 |
|---|---|---|
| 指定特定网站或域名 | | 始终先检查agent——告知用户 |
| 提供直接URL | | 跳过agent检查 |
| 研究、主题或垂直查询 | | 针对新闻、职位、购物等场景使用聚焦模式 |
| "查找URL / 站点地图 / 所有页面" | | 返回URL列表+元数据 |
| "爬取 / 归档整个板块" | | 异步批量提取 |
Step 0 — Agent check (when a domain is named)
步骤0 — Agent检查(当指定域名时)
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 search预构建agent可返回整洁的结构化数据,无需选择器配置。始终先检查。
务必告知用户——切勿静默操作:
- 告知:"让我检查是否有针对[网站]的预构建Nimble agent..."
- 反馈:"找到——正在使用。" 或 "无预构建agent——将回退至提取模式。"
<agent_name>
查找顺序:
- →
~/.claude/skills/nimble-web-expert/learned/examples.json数组agents[] - → 内置表格(50+个网站)
references/nimble-agents/SKILL.md - → 展示表格,确认用户
nimble agent list --limit 100 --search "<domain or vertical>" - 无匹配项→继续提取/搜索
始终使用运行:
--transform "data.parsing"bash
nimble --transform "data.parsing" agent run --agent <name> --params '{"keyword": "..."}'切勿不使用就运行然后解析原始输出。原始响应包含(无用)、和(所需内容)。转换标志可一次性提取内容。
--transform "data.parsing"htmlheadersparsingparsing完整agent列表(50+个网站)详见。
references/nimble-agents/SKILL.md⚠️ 仅用于SEO/SERP排名分析——不用于通用信息检索。查找信息请使用。
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.md| 场景 | 命令 | 参考文档 |
|---|---|---|
| 网站/域名→先检查agent | | |
| 直接URL | | |
| 实时网页搜索 | | |
| 发现网站上的URL | | |
| 批量爬取板块 | | |
| 批量运行agent(最多1000个) | | |
| 批量提取(最多1000个) | | |
| 轮询任务/批量/结果 | | |
| 未知选择器或XHR路径 | 使用browser-use或Playwright调查 | |
| 已验证的网站模式 | 复制示例脚本 | |
| 2个及以上输入 | 并行bash | |
完整提取流程(层级、标志、浏览器操作、网络捕获)详见。
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"| 命令 | 输出 |
|---|---|
| |
| HTML、Markdown或解析后的JSON——取决于 |
| 结构化结果数组(标题、URL、描述) |
| URL列表+元数据 |
| 异步任务——使用 |
运行agent必须使用。若agent名称暗示列表(serp、search、plp),则返回数组。若暗示单个条目(pdp、product、profile),则返回字典。
--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 CLIbash
mkdir -p .nimble # 所有输出保存至此命名规则:(例如、)
.nimble/<site>-<task>.md.nimble/amazon-airpods.md.nimble/yelp-sf-italian.json处理已保存文件:
bash
wc -l .nimble/page.md && head -100 .nimble/page.md
grep -n "price\|rating" .nimble/page.md | head -30每个响应末尾必须添加:
来源: [URL] — 通过Nimble CLI实时获取Self-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.
本技能维护文件。
~/.claude/skills/nimble-web-expert/learned/examples.json- 任务开始时:读取文件,扫描中的
good[]匹配项→使用已记录的url_pattern/command作为起点。扫描tier→避免已记录的陷阱。bad[] - 呈现结果后:询问“这些结果符合您的需求吗?”→若反馈积极,将、
url_pattern、task、command、tier追加至notes。若反馈消极,询问“哪里出问题了?”并将good[]、url_pattern、task、issue、avoid追加至better。bad[] - 条目保持简洁——每个网站5–10条。仅在收到真实反馈时添加,切勿推测性添加。
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.
- 绝不从训练数据中作答实时价格、最新新闻或实时数据。若Nimble不可用,如实告知。
- 绝不静默跳过步骤0。即使确定没有agent,也要在运行提取/搜索/映射前告知用户已完成检查。
- 绝不重试同一渲染层级。若某层级返回空内容或被阻止,升级层级——切勿重新运行。
- 绝不使用WebFetch替代Nimble CLI任务。WebFetch仅作为获取Nimble文档的备用方案。
- 绝不推测性加载参考文件。仅当当前任务明确需要时才读取参考文件。
- 任务agent必须使用。详见nimble-agent-builder委托模型了解原因。
run_in_background=False - 严格重试限制。出现错误(非空内容)时:最多使用不同标志重试2次。2次错误后,报告并停止。
- 严格429规则。遇到速率限制错误时:立即停止。切勿重试或切换层级。
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 |
仅在需要时加载:
| 文件 | 加载时机 |
|---|---|
| 需要针对常见网站(Amazon、Yelp、LinkedIn…)的成熟命令时 |
| 步骤0查找——完整agent表格(50+个网站) |
| 提取标志、渲染层级、浏览器操作、网络捕获、解析器模式 |
| 搜索标志、全部8种聚焦模式 |
| 映射标志、响应结构 |
| 完整异步爬取工作流 |
| 轮询任务/批量、获取结果——用于异步、批量和爬取操作 |
| 层级6——使用browser-use或Playwright发现CSS选择器/XHR路径 |
| 解析器类型、选择器、提取器、后处理器 |
| 完整浏览器操作类型及参数 |
| 过滤语法、XHR模式、捕获+解析模式 |
| 决策树、模式详情、组合策略 |
| 针对2–5个、6–20个及20个以上输入的并行bash模式 |
| 错误代码、已知网站问题、故障排查 |