nimbleway/nimble
Live web search for AI agents. Find current pages, read any URL, and run research agents that work across many sources and return findings with citations. Includes reusable Extraction Templates for consistently shaped records from known sites, and Web Search Agents for research, enrichment, and dataset building.
Changelog
[1.6.1] - 2026-08-10
Changed
interface.shortDescriptionis now "Expert web search for agents", replacing "Live web search for AI agents".interface.longDescriptionopens on accuracy and cost, replacing "Nimble gives agents live access to the public web." with "Nimble gives agents governed, accurate access to the public web, at a lower token cost per answer." The rest of the paragraph is unchanged; it is now 639 characters.
Only .codex-plugin/plugin.json carries an interface block, so it is the only file whose copy changes; the rest of this release is the 1.6.1 version bump. The shared description remains byte-identical across all five plugin manifests and marketplace.json.
[1.6.0] - 2026-08-10
Changed
- Plugin listing copy is now consistent across every manifest. The same
descriptionis shared by all five plugin manifests andmarketplace.json, and it now leads with live web search rather than data extraction. Trimmed from 397 to 313 characters. displayNameis nowNimble, replacingNimble Web Data Toolkitin.cursor-plugin/plugin.jsonand.codex-plugin/plugin.json. The pluginnameis unchanged atnimble, so every skill identifier,npx skills add --skill <name>invocation, and MCP tool prefix keeps working.interface.shortDescriptionis now "Live web search for AI agents", andinterface.longDescriptionis 591 characters, down from 1638. It describes what each capability returns rather than how it works internally.interface.defaultPromptno longer uses internal product vocabulary. The starter prompts are phrased as questions a new user would actually ask.- Categories reconciled.
.codex-plugin/plugin.jsonmoves fromData & AnalyticstoDeveloper Toolsandmarketplace.jsonfromdatatodevelopment;.cursor-plugin/plugin.jsonwas alreadydeveloper-tools.
[1.5.0] - 2026-08-09
Added
- Conformance with Agent Plugins v1.0.0, the vendor-neutral package format for Agent Skills and MCP servers used by VS Code, Cursor, GitHub Copilot, Kiro, and ChatGPT & Codex. A root
plugin.jsoncarries the portable manifest with the canonical$schemaand only the permitted fields, and rootmcp.jsoncarries the portable MCP config. Theskills/tree already conformed. This is additive: no current consumer reads a rootplugin.json, so the four per-client manifests keep working untouched. - Portable-package CI gates in
scripts/check-plugin-manifests.py. The manifest is checked for the exact$schema, the required fields, the closed field set, the name pattern and length, the restrictedauthorsub-keys, and keyword and extension types. The MCP config is checked for the exact$schema, the two permitted top-level keys, and a transport fromstdio/streamable-http/ssewith its required field.scripts/tag-release.shcovers the new manifest, taking version parity to 22 references.
Changed
- Root
mcp.jsonnow declares native Streamable HTTP. It previously held the supersededmcp-remotestdio shim with a bearer token in argv, so a client reading the portable canonical path got the retired pattern instead of OAuth..mcp.jsonis unchanged — it declares"type": "http", which the portable schema rejects, and it is the file Claude Code auto-registers as a Connector. The two describe one endpoint in mutually exclusive vocabularies and are kept separate deliberately; the portable schema setsadditionalProperties: falseat the root and on every server, so one file could not carry both. - Corrected the platform-compatibility table. It listed root
mcp.jsonas Cursor's MCP config. Cursor reads the user's own.cursor/mcp.json; nothing in this repository loads rootmcp.json.README.mdandCLAUDE.mdnow document the vocabulary split so the files are not merged later.
[1.4.0] - 2026-08-09
Added
- xAI/Grok plugin layer. New
.grok-plugin/plugin.jsondeclares the shared./skills/tree to Grok Build. Verified against xAI's ownscripts/plugin_catalog.py: the plugin now indexes 15 skills, 2 agents, 1 command, and 1 HTTP MCP server. No Grok-only skill copies, no second repository — the marketplace is an index, so distribution is one catalog entry in xAI's repo pinning a commit from this one. mcpServersdrift assertion inscripts/check-plugin-manifests.py. The Grok manifest declares its MCP server as an inline object rather than as a path to.mcp.json, which duplicates one server config. The checker now asserts the two copies agree — matching server names and identical config — and fails if the Grok manifest is changed to a path declaration. Verified against fixtures for URL drift, a server present in only one file, and the path-declaration case.
Changed
scripts/tag-release.shalso asserts.grok-plugin/plugin.json. All five manifests, the README badge, and every skill's frontmatter must agree on the version, so a partial bump fails CI.README.md,CLAUDE.md, andCONTRIBUTING.mddocument Grok as a fourth packaging target, including why the Grok manifest declares MCP inline. xAI's indexer reads only themcpServerskey out of a.mcp.jsonfile, and this repo's is a bare server map, so a path declaration would index zero servers and the Grok listing would claim the plugin ships no MCP server. Declaring inline is also what keeps.mcp.jsonbyte-identical, preserving Claude Code's Connector registration over native HTTP with OAuth.
[1.3.0] - 2026-08-06
Added
- OpenAI/Codex plugin layer. New
.codex-plugin/plugin.jsondeclaresskillsas the single./skills/string path (an array is rejected withplugin_skills_path_wrong_type),mcpServerspointing at the existing root.mcp.json, and aninterfaceblock carrying the listing metadata: display name, short and long descriptions, developer name, category, capabilities, brand colors, three starter prompts, and the requiredlogoandcomposerIconassets. The long description andcapabilitiesseparate the four data capabilities explicitly — Search, Extract, Extraction Templates, and Web Search Agents — alongside Map and Crawl. The shared skill tree, the hosted MCP configuration, and all Claude, Cursor, and CLI behavior are unchanged; no OpenAI-only skill copies were added. assets/nimble-logo.pngat the repository root, referenced byinterface.logoandinterface.composerIcon. Square 200×200 PNG, satisfying the square, minimum 48×48, maximum 4096×4096, and 5 MiB asset gates.scripts/check-plugin-manifests.py. Validates the manifest fields the structure check and a JSON parse both pass straight over:skillsdeclared as a string rather than an array, the requiredlogoandcomposerIconassets and their dimensions read from the file header, brand-color contrast against both the light and dark surfaces, thecategoryenum, and the display-name, description, and starter-prompt length limits. Each check is named after the error code OpenAI would raise, so a CI failure maps onto the published submission-error reference directly. Standard library only — no new dependency.scripts/check-plugin-structure.shand aPlugin packagingCI workflow. Asserts everySKILL.mdis an immediate child ofskills/, that noSKILL.mdexists under anyreferences/directory, that each skill's frontmatternamematches its directory, that<plugin>:<skill>stays within 64 characters, that frontmatter is present and closed, that descriptions stay within 1024 characters, and thatmarketplace.jsonenumerates exactly the skills that exist. Runtime discovery is recursive on both Claude Code and Codex, so these violations work locally while blocking OpenAI submission and silently emptying the xAI index — a CI gate is the only thing that surfaces them.
Changed
- Reference documents under
skills/nimble-web-expert/references/are now namedreference.mdinstead ofSKILL.md. The seven affected documents cover Search, Extract, Extraction Templates, Web Search Agents, Map, Crawl, and Tasks. A.codex-plugin/plugin.jsonis read as a Legacy-format manifest whose loader scans forSKILL.mdrecursively, so these progressive-disclosure documents registered as seven extra skills in the model-visible catalog — 22 instead of 15. Every pointer was updated acrossCLAUDE.md,_shared/nimble-playbook.mdand its synced copies,nimble-web-expert'sSKILL.md,README.md,rules/nimble-web-expert.mdc, andreferences/batch-patterns.md. Directory names are unchanged, so no skill identifier moves. scripts/tag-release.shalso asserts.codex-plugin/plugin.json. All four manifests, the README badge, and every skill's frontmatter must agree, so a partial bump fails CI instead of shipping manifests that disagree about the version.- Trimmed the
brand-mention-monitorandlaunch-monitordescriptions to 1006 and 1005 characters, from 1102 and 1072. Both exceeded the 1024-character cap and would have been rejected withskill_description_too_long. Only descriptive prose was removed — every trigger phrase and every negative trigger is intact.
[1.2.0] - 2026-08-05
Changed
- Flattened the skills tree. All 15 skills are now direct children of
skills/instead of being grouped into vertical subdirectories (business-research/,data-platforms/,healthcare/,human-resources/,marketing/,productivity/,seo/,web-search-tools/). Skill directory names are unchanged, so every skill identifier (nimble:competitor-intel,nimble:meeting-prep, …) and everynpx skills add --skill <name>invocation keeps working exactly as before. Both plugin platforms require the flat layout: OpenAI/Codex rejects nested skill directories at submission (skill_manifest_nested,skill_manifest_missing), and xAI indexes only direct children ofskills/. Runtime discovery in Claude Code and Codex is recursive, so the previous layout worked locally while being absent from both catalogs. - Verticals are now recorded as
metadata.categoryin each skill'sSKILL.mdfrontmatter rather than as directory names. The README skills table keeps the same categories and links to each skill directly. .claude-plugin/plugin.jsonskillsis now a single./skills/entry instead of eight vertical paths;.claude-plugin/marketplace.jsonlists the 15 flat skill paths..cursor-plugin/plugin.jsonwas already pointing at./skills/and is unchanged.scripts/sync-shared.shglobsskills/*/referencesinstead ofskills/*/*/references.CONTRIBUTING.mdnow instructs contributors to create skills directly underskills/and setmetadata.category, and to register them inmarketplace.jsononly — the plugin manifests no longer need a per-skill path.CLAUDE.mddocuments the flat-tree requirement and both platforms' constraints so the layout can't silently regress.
Fixed
- Broken relative link in
skills/nimble-web-expert/README.md—../../README.mdresolved to a nonexistentskills/README.mdat the previous nesting depth and now resolves to the root README.
[1.1.0] - 2026-07-29
Added
- Three Web Search Agent run modes, taught and routed. The canonical WSA reference and the shared playbook now lead with a mode decision table: named create-or-reuse (
agents run --agent-name <name>, no agent ID — the default for skills, since a repeated name resolves to the sameweb_search_agent_id), explicit agent (agents:runs create --agent-id <id>), and caller-anonymous (agents runwith neither, which still returns a generatedweb_search_agent_id). Documented the routing trap behind it:agents:runs createrequires--agent-idand ignores--agent-name, so Modes 1 and 3 must go throughnimble agents run. use_caselocking semantics.research/enrichment/dataset_buildingare documented exactly.use_caseis stored when the agent is created (including on a Mode 1 first call), accepted as a no-op when it matches an existing agent, and rejected when it differs — it is not a per-run override. Also documented the two server-side rules that come withdataset_building: anoutput_schemais required, and effort must behighor above.- Run-level
skilloverride. Against an existing agent,--skillapplies to that run only and leaves stored config untouched; on the call that creates the agent,--skilland--use-casebecome its stored configuration instead. - Verified live-progress documentation. On the CLI,
--enable-eventsplusagents:runs stream-eventsemitstask_run.state/task_run.progress_msg.*/task_run.progress_statsevents and closes on its own at a terminal state (--max-items <n>closes it afternevents). The stream never carries the output —agents:runs resultis still required. On production MCP the documented approach is bounded status polling, verified separately rather than assumed from the CLI behavior. - Error table for the run contract —
409"Run still active",404run/agent mismatch, the four distinct422shapes (lockeduse_case, invalid enum, missingdataset_buildingschema, effort too low), thesourcesshape rejection, and theRequired flag "agent-id" not setrouting mistake.
Added
- Routing eval for
nimble-web-expert(scripts/run-routing-eval.py+evals/nimble-web-expert-routing.json). Ten cases assert which capability the routing guidance selects for a given prompt, and whether the researched-report/quick-scan fork is offered. The runner reads the routing text out of SKILL.md at run time, so the eval and the doc can't drift; it makes no Nimble calls, so it needs no API key and spends no credits. Currently 10/10, unanimous over three runs per case. It earned its keep immediately: it caught thatdataset_building'shigh+ effort floor was documented only in the on-demand reference, leaving the fork rule undecidable at routing time — now stated inline.
Changed
nimble-web-expertrouting split into two gates. Gate A asks where the data lives (URL →extract, site + item → Extraction Template, sitemap →map, section →crawl); anything with no location signal — and any named site with no template — falls through to Gate B, which asks what the user wants back.nimble searchreturns raw material to skim; a Web Search Agent returns a finished, cited answer, and the prompt's deliverable noun decides which. Previously the routing table keyed only on input shape, so a request like "create a report on X" carried no distinguishing signal and defaulted tosearch— the flat table has been replaced, the core-principles bullet no longer contradicts it, a lexical trigger table was added, and a guardrail now forbids answering a synthesis deliverable with raw search results.- The expensive fork is now offered rather than silently taken. When Gate B lands on a Web Search Agent at
higheffort or above, the skill offers oneAskUserQuestion— researched report (minutes, cited) vs quick scan (nimble search, seconds) — instead of picking for the user. Belowhighit just runs. Web Search Agent runs must also announce their expected duration and narrate progress, since on MCP progress comes from bounded polling and an un-narrated multi-minute run reads as a hang. Added "Research & report" to the ambiguous-request options, which previously offered no path to a Web Search Agent at all. - CLI prerequisite raised to 1.2.0, the first release exposing the complete run contract. Updated in the playbook transport table, the onboarding install/upgrade flow, and the
nimble-web-expertdescription. - Corrected the
use_caseenum. The stale valuedata_enrichmentis replaced with the releasedenrichmenteverywhere. - Documented the real
--sourcesshape.allow/blockare arrays of ordered source groups ({title, domains, order});prioritize/avoidare plain guidance strings. The previous docs implied a single uniform shape, which the API rejects. - Separated enrichment input from output shape.
--input-datacarries the rows you already have;--output-schemadescribes the shape of the answer. Enriching several rows needs an array schema — an object schema returns a single object. Fields carried in frominput_datacome back asconfidence: "pre_existing"with no citations and must not be presented as sourced findings. - Discovery is client-side filtering everywhere.
agents listandagents:templates listtake no server-side search term, matching the already-documentedextract:templates listbehavior. - Transport differences are now documented per capability rather than assumed parity. Modes 1 and 2,
use_case,skill,sources,output_schema,input_data, andeffortwork the same on both transports. Three CLI-path capabilities have a documented MCP approach instead:enable_events/stream-events→ bounded status polling;previous_interaction_id→ restate prior context ininput; and Mode 3 → pass anagent_name, sincenimble_agents_runrequiresagent_idoragent_name. Addednimble_agents_getto thenimble-web-expertMCP allow-list so an agent's storeduse_casecan be checked before a run. - Attribution unchanged —
--client-source nimble-agent-skillson every CLI call; production MCP still exposes no integration-specific attribution parameter, so the managed-transport exception is retained.
Verified
Every command, parameter, and error documented above was exercised against live services — nothing was inferred from SDK types or --help output.
On CLI 1.2.0: all three run modes; same-name reuse returning the same agent ID; a run-level skill override leaving stored config untouched; a locked-use_case rejection; a structured enrichment run with input_data + output_schema + sources; event streaming to self-termination, plus a capped stream (--max-items) confirmed not to cancel its run; terminal result retrieval with trust/citations; and the not-ready (409) and validation-error (422) paths, including the sources group title requirement.
On production MCP: Modes 1 and 2, status polling, and result retrieval with trust metadata. Mode 3 was probed too: nimble_agents_run takes agent_id or agent_name, so the transport table routes Mode 3 to a named agent on MCP rather than claiming blanket parity.
[1.0.0] - 2026-07-22
Changed
- Migrated the plugin to Nimble's current web-data surface (CLI 1.1.0+ / production MCP). The taxonomy is now Search · Extract · Extraction Templates · Web Search Agents · Map · Crawl, using Nimble's own product names.
nimble-web-expertwas reworked around this taxonomy and the Ask-Nimble tool-selection model (including the "no template for a site → use a Web Search Agent" rule and the Web Search Agent reuse-priority chain). Addedreferences/nimble-extract-templates/(existing-only discover/inspect/run) and reworkedreferences/nimble-agents/into the Web Search Agents / Agent API V2 lifecycle (agents/agents:templates/agents:runs) with the agent-authoring schema and per-claim trust/citation metadata. - Repointed every skill off the removed singular
nimble agentcommand group. CLI 1.1.0 replaced it withextract:templates *(structured site scrapers — the oldamazon_pdp/google_maps/yelp/NPI-style agents) andagents:runs *(open-ended research). Business, healthcare, marketing, HR, and SEO skills now discover viaextract:templates list+ client-side filter (the--searchflag is gone) and run viaextract:templates run. The response envelope is unchanged (data.parsing). - Request attribution is now the stable integration tag
nimble-agent-skills, carried on the CLI path via--client-source/CLIENT_SOURCE. MCP requests are attributed at the transport level, so the CLI path is used when per-integration attribution matters.
Removed
nimble-agent-builderskill — removed entirely. Building/publishing new templates or agents is out of scope for the plugin; use existing Extraction Templates and Web Search Agents, or the Nimble app to author new ones. Removed from both plugin manifests and the marketplace.
[0.25.0] - 2026-06-24
Added
launch-monitorskill inmarketing/— monitors press, social, developer communities, and competitor channels around a product launch, tracking sentiment, flagging mischaracterizations, surfacing competitor responses, and recommending actions in real time. Delivers a Response War Room dashboard with a live signal feed, mischaracterization tracker, competitor response panel, and sentiment velocity chart. Ships withreferences/template.htmlandreferences/sources.md.
[0.24.0] - 2026-06-24
Added
brand-mention-monitorskill inmarketing/— scans Reddit, X, LinkedIn, Instagram, TikTok, YouTube, blogs, news, and review platforms for brand mentions, scores each on reach/velocity/sentiment/risk-topic match, and buckets into Crisis / Watch / Engage / Log with routing and response windows. Ships withreferences/template.html(interactive triage console) andreferences/sources.md(per-platform query templates).
[0.23.0] - 2026-06-14
Changed
nimble-databricks-data-products— SQL-native agent discovery. Replaced thenimble agent getCLI introspection with the newnimble_agent_describe()Unity Catalog SQL function, so the full discovery path runs through SQL (nimble_agent_list()→nimble_agent_describe()→nimble_agent_run()) with nonimbleCLI dependency.references/nimble-agents.md§2 now reads inputs vianimble_agent_describe('<agent>')and splits input discovery (fromdescribe) from output-field discovery (the §2.5 run-probe).SKILL.mdupdates the "discover, don't assume" golden rule and Phase 2, and dropsBash(nimble:*)fromallowed-tools(it existed only fornimble agent get). This removes the skill's only hardnimble-CLI dependency for discovery — the Phase 0 unblock for packaging it into Databricks Genie Code (SQL/notebook-native, no shell). Requires thenimble_agent_describeUDTF from the Nimble cookbook.
[0.22.0] - 2026-06-12
Added
nimble-databricks-data-productsskill in a newdata-platforms/vertical — turns a one-line brief (e.g. "pricing comparison on dog products from Amazon and Walmart in Databricks") into working Databricks data products (Delta tables, an AI/BI dashboard, and/or a deployed app), end to end — equally for production data products or quick demos. It runs Phase 0 preflight (auth, warehouse, integration gate, writable-schema confirm), discovers the right Nimble agents at runtime via thenimble_integrationUnity Catalog functions (never hardcoded), ingests live web data into Delta tables using a control-table + correlatedLATERAL nimble_agent_runpattern (one set-based, expandable INSERT — not per-keyword files), and produces an AI/BI dashboard and/or a deployed Databricks App, branded "Powered by Nimble". Bundles reference cookbooks (preflight, agent discovery/ingest, Lakeview dashboard, AppKit app, branding, official-databricks-*-skill delegation map, integration-install fallback), helper scripts (build_dashboard.pyfor one-shot dashboard creation,ingest.shfor async statement fan-out), and the Nimble logo asset. Encodes hard-won gotchas: defensive numeric casts for currency-string prices, per-agent localization, probe-before-fan-out, reconcile-against-control-table verification, Lakeview JSON pitfalls, and AppKit numeric-string / light-mode fixes. Registered in.claude-plugin/plugin.json,.cursor-plugin/plugin.json, and.claude-plugin/marketplace.json.
[0.21.3] - 2026-05-27
Fixed
- Cowork / claude.ai connector detection & hallucinated auth flows — in those hosts the plugin is often installed while its MCP connector isn't connected. The previous guidance was reactive ("if the first call errors, then guide"), so agents fired a data call, got back an OAuth authorization URL, and improvised a fabricated recovery flow ("paste the full URL from your address bar back here and I'll complete the connection"). The fix makes connection verification a proactive preflight (one read-only
nimble_agents_listprobe before any work), corrects the connect path everywhere toCustomize → Connectors → Nimble → Connect → browser login(superseding the 0.21.1Personal plugins → … → Add to your teamwording), adds an inline sign-up note for users without a Nimble account, and adds a hard anti-hallucination rule (present any "Authorize" link verbatim and stop; never invent a completion step; never claim tools "will activate" then call them in the same turn). Touches_shared/canonical sources, all 11 synced business-skillreferences/directories, both core skills'SKILL.md+rules/setup.md, andREADME.md. - Missing probe-tool permission — added
mcp__plugin_nimble_nimble__nimble_agents_listtonimble-agent-builder'sallowed-toolsso it can actually run the mandated preflight probe in MCP-only hosts. - Dangling reference — both core
SKILL.mdfiles pointed connector guidance at areferences/profile-and-onboarding.mdthat doesn't exist in those skills; guidance is now self-contained and points torules/setup.md.
[0.21.1] - 2026-05-13
Fixed
- Cowork onboarding — when the plugin is installed but the connector isn't activated yet (typical Cowork / claude.ai first-run state), the skills were silently falling back to WebFetch instead of guiding the user to activate. The fix adds a dedicated "plugin installed but connector not activated" state to the transport-selection table in
_shared/nimble-playbook.md, a matching sub-section in_shared/profile-and-onboarding.md, and an explicit hard-stop rule in both core SKILL.md files. When this state is detected, the skill now surfaces verbatim instructions:Customize → Personal plugins → Nimble → Connectors → Add to your team, then stops. WebFetch / WebSearch / curl substitution is explicitly forbidden. Synced into all 11 business-skillreferences/directories viascripts/sync-shared.sh.
[0.21.0] - 2026-05-13
Changed
- MCP server ID renamed to
nimble(wasnimble-mcp-server) across.mcp.json,mcp.json(Cursor), README, both core-skill SKILL.mdallowed-toolswhitelists, theclaude mcp listhealth check, and all CLI→MCP mapping tables innimble-agent-builder. New tool prefix:mcp__plugin_nimble_nimble__*. Aligns with the lowercase server-ID convention used by every Anthropic-official plugin (linear, github, asana, etc.). - Onboarding rewritten around the plugin install path. Every install instruction now leads with
/plugin install nimblefor any Claude product (Claude Code, Claude Cowork, claude.ai) — the plugin's.mcp.jsonauto-registers as a Connector inCustomize → Personal plugins → Nimble → Connectors, and OAuth handles auth on first tool call. Updated_shared/nimble-playbook.md(Transport Selection block),_shared/profile-and-onboarding.md(prerequisite-check flow),README.md,nimble-agent-builder/README.md, bothrules/setup.mdfiles, and both core skills' Prerequisites sections. Synced into all 11 business-skillreferences/folders viascripts/sync-shared.sh. - Transport selection is now explicit. Skills pick CLI or MCP at session start (
nimble --version→ CLI;claude mcp list | grep nimble→ plugin MCP) and stick with it for the session. - CLI package name corrected in onboarding docs:
@nimbleway/cli→@nimble-way/nimble-cli(the actual published package).
[0.20.0] - 2026-05-13
Changed
- Plugin MCP config — migrated
.mcp.jsonfrom themcp-remotestdio shim with bearer-token header to native HTTP transport with OAuth (type: "http",url, no headers). Matches the canonical pattern inanthropics/claude-plugins-official(Linear, Asana). Removes thenpx -y mcp-remote@latestcold-start and the${NIMBLE_API_KEY}header — Claude Code now drives the full OAuth 2.1 + PKCE + Dynamic Client Registration flow againstmcp.nimbleway.comautomatically. Root-levelmcp.jsonpreserved for Cursor compatibility.
[0.19.0] - 2026-04-20
Added
- Human Resources vertical (
skills/human-resources/) — new vertical for HR and recruiting workflows; scoped to cover future skills like comp-analysis, interview-prep, and onboarding - talent-sourcing — distribution step (Step 8) added; skill now offers Notion/Slack report delivery via connector detection pattern from
memory-and-distribution.md
Changed
- Renamed
skills/talent/→skills/human-resources/— "talent" was ambiguous; human-resources is the standard term and the right scope for the vertical - Updated
.claude-plugin/plugin.jsonandmarketplace.jsonto reference./skills/human-resources/
[0.18.0] - 2026-04-13
Added
seo-intel— single-skill SEO intelligence toolkit covering the full lifecycle via 7 router-dispatched workflows: keyword research, rank tracking, technical site audit, content gap analysis, competitor keyword reverse-engineering, AI visibility measurement (ChatGPT, Perplexity, Google AI, Gemini, Grok), and GitHub repository SEO. One install, one entry point — intent detection routes to the right workflow, and workflows chain naturally across a session.
Changed
_shared/— removedai-platform-profiles.md(only SEO-specific) andoutput-quality.md(marginal value, overlaps playbook) from the shared sync set
[0.17.0] - 2026-04-07
Added
- Two-tier wiki index — global
index.md(one line per directory) + per-directory{dir}/index.mdcatalogs for scalable entity lookup - Chronological activity log (
log.md) — append-only timestamped record of skill runs and findings, rotated at 90 days - Cross-entity references — Obsidian-compatible
[[path/entity]]wiki links between related entities (people → companies, competitors → competitors) - Ad-hoc insights — "save this" / "remember that" files insights into relevant entity pages with
[ad-hoc]tags - Cross-entity synthesis pages (
synthesis/) — dynamically created when patterns emerge across 3+ entities, with YAML source tracking for deterministic staleness detection - Research backlog (
backlog.md) — tracks knowledge gaps and unanswered questions across skill runs
Changed
- All 9 business skills now run 5 preflight calls (added index load) and reference wiki update patterns in their save steps
- competitor-intel — new Step 7.5 generates synthesis pages using
nimble-analystagent; save step adds cross-references and appends to backlog - meeting-prep — preflight follows cross-references from person files to load related competitor/company context
- company-deep-dive — save step adds cross-references for discovered people and related competitors
- Bootstrapping now creates
synthesis/directory alongside existing entity directories
[0.16.0] - 2026-04-06
Changed
- All 5 business skills now discover WSAs dynamically at runtime via
nimble agent list --searchinstead of hardcoding agent names - local-places — replaced 10 hardcoded WSA names across Steps 4-7 with a new WSA Discovery step (Step 4) that discovers, classifies, and caches WSAs for all phases
- competitor-intel, company-deep-dive, meeting-prep, competitor-positioning — added slim WSA discovery step before main execution, prioritizing search/extract/crawl/map WSAs
wsa-pipeline.mdreference converted from static WSA inventory to discovery strategy document- Added sibling skill suggestions to follow-up sections across all business skills
- Fixed weakness language in competitor-positioning battlecard template
[0.15.1] - 2026-04-06
Changed
- All 5 business skills now reference Scaled Execution pattern from
nimble-playbook.mdwith call estimation guidance - Added explicit 500 retry and timeout handling to error sections of company-deep-dive, meeting-prep, competitor-positioning, local-places, and competitor-intel
[0.15.0] - 2026-04-05
Added
- healthcare-providers-verify skill — cross-references provider data against authoritative sources (NPI registry, state licensing boards) for accuracy verification
[0.14.0] - 2026-04-05
Added
- healthcare-providers-enrich skill — enriches extracted provider records with reviews, credentials, and contact info from multiple web sources
[0.13.0] - 2026-04-05
Added
- healthcare-providers-extract skill — first skill in the
healthcare/vertical; extracts structured practitioner directories from any web source using dynamic WSA discovery
Changed
- Fixed
--shared-inputsYAML syntax in shared playbook - Strengthened entity dedup normalization rules
[0.12.1] - 2026-04-05
Added
- Audit mode for market-finder skill — validates a reference list against live web data, scores market presence, and produces gap analysis
[0.12.0] - 2026-04-05
Added
- market-finder skill in
business-research/— discovers all businesses of a given type in any geography using Nimble WSAs - 6 vertical presets (Healthcare, SaaS, Restaurants, Legal, Auto/Home, Custom) with dynamic WSA discovery
- SaaS treated as first-class vertical with two-pass discovery and funding verification
- Shared "Scaled Execution" pattern added to
_shared/nimble-playbook.md(tiered: individual → batch → multi-batch → confirmation gate)
[0.11.0] - 2026-04-05
Added
- local-places skill in
productivity/— discovers, enriches, and scores local businesses using Nimble WSAs (Google Maps, Yelp, Facebook, Instagram, DoorDash, Uber Eats) - Skill-specific WSA pipeline reference with category detection, location disambiguation, and interactive Leaflet.js map generation
[0.10.2] - 2026-04-03
Added
CONTRIBUTING.mdwith contributor guidelines- Shared patterns and conventions for new skill development
Changed
- Rewrote README with category-level skill table
- Fixed sync script for shared reference distribution
[0.10.1] - 2026-04-02
Added
CLAUDE.mdwith repo context, skill authoring rules, and conventions
Changed
- Added agent CLI commands (
nimble agent list,nimble agent get,nimble agent run) to all business skill playbooks - Added MCP fallback table and fixed
agent getflag syntax - Updated plugin descriptions across both manifests
[0.10.0] - 2026-03-30
Changed
- Grouped skills into vertical directories:
business-research/,healthcare/,marketing/,productivity/,web-search-tools/ - Updated
plugin.jsonandmarketplace.jsonfor grouped directory structure - Standardized author metadata across all skills
[0.9.0] - 2026-03-26
Added
- Business skills foundation — shared references (
_shared/nimble-playbook.md,profile-and-onboarding.md,memory-and-distribution.md), custom sub-agents (nimble-researcher,nimble-analyst) - competitor-intel skill — ongoing competitor monitoring with signal classification and delta detection
- company-deep-dive skill — 360-degree company research from web sources
- meeting-prep skill — attendee research and meeting briefings with calendar detection
- competitor-positioning skill — marketing-focused positioning analysis with before/after change tracking
Changed
- Added signal date validation to filter stale events from reports
- Added value positioning section to meeting-prep briefings
- Enforced DRY across all business skills: replaced
site:operator with--include-domain, standardized placeholder names, added same-day detection
[0.8.0] - 2026-03-08
Changed
- nimble-agents skill renamed to nimble-agent-builder — clearer name that reflects its purpose (build, discover, and run structured-data agents)
- Folder:
skills/nimble-agents/→skills/nimble-agent-builder/ - YAML
name:field updated fromnimble-agentstonimble-agent-builder
- Folder:
- nimble-web-expert skill — major structural overhaul (v2.0.0)
- Rewritten as thin hub (~430 lines) with 12 load-on-demand reference files under
references/ - References reorganised into subfolders:
nimble-agents/,nimble-crawl/,nimble-extract/,nimble-map/,nimble-search/ - Added YAML
argument-hint,allowed-tools(9 tools),license, andmetadatafields - Added
$ARGUMENTSvariable at top of skill body - Added Core principles section (10 hard rules replacing prose CRITICAL BEHAVIOR block)
- Added Response shapes table (all command/flag combinations with output shape and access pattern)
- Added Final response format (Step 4 summary table + attribution)
- Added Guardrails section (11 NEVER/hard rules consolidated at bottom)
- Added
run_in_background=Falserule for all Task agents - Added Hard 429 rule and hard retry limit (max 2 on error)
- Added AskUserQuestion format constraints: header ≤12 chars, label 1–5 words,
(Recommended)first - All reference files gained YAML frontmatter (
name,description) - Playwright added as free Tier 6 alternative to browser-use
- Nimble Docs MCP section added (
claude mcp add nimble-docs)
- Rewritten as thin hub (~430 lines) with 12 load-on-demand reference files under
- Version bumped to 0.8.0 across all plugin configs
- README.md updated with new skill name and directory structure
[0.7.0] - 2026-02-28
Added
- nimble-web-expert skill — extract-first scraping expert replacing
nimble-web-tools- Lean SKILL.md (~500 lines) covering extract, search, map, crawl, parallelization, and example workflows
- 5 reference files: parsing-schema, browser-actions, network-capture, search-focus-modes, error-handling
- 2 rules files: nimble-web-expert.mdc (routing), output.md (security)
- Render escalation tiers (1-5): static → render → stealth → browser actions → network capture
- Geo targeting, parser schemas, XHR mode for public APIs
Removed
- nimble-web-tools skill (fully replaced by
nimble-web-expert)
Changed
- Version bumped to 0.7.0 across all plugin configs
- README.md updated with new skill name, directory structure, and examples
rules/nimble-tools.mdcupdated to reference nimble-web-expert
[0.6.1] - 2026-02-24
Changed
- nimble-agents skill — comprehensive rewrite for MCP reliability and best practices
- Fixed
allowed-toolsprefix (mcp__plugin_nimble_nimble-mcp-server__format) - Task agents now use
run_in_background=Falseto preserve MCP access (#13254) - Added MCP tool registry blocks to all Task prompt templates
- Enforced
nimble_web_search(MCP) as only search method — banned WebSearch, WebFetch, curl - Description rewritten to third-person with specific trigger phrases
- Step 3 condensed; detailed content moved to
references/generate-update-and-publish.md - Added anti-hallucination guardrails for subagent prompts
- Fixed
- Version bumped to 0.6.1 across all plugin configs
- Deduplicated
google_searchcaveat inerror-recovery.md
[0.5.0] - 2026-02-23
Added
- nimble-web-tools skill — replaces
nimble-web-searchwith full Nimble CLI wrappernimble search— web search with 8 focus modesnimble extract— extract content from any URL (JS rendering, geolocation, parsing)nimble map— discover URLs and sitemaps on a websitenimble crawl— bulk crawl website sections with depth/path control
Changed
- Skills now use Nimble CLI (
@nimble-way/nimble-cli) instead of curl-based wrapper scripts - Version bumped to 0.5.0 across all plugin configs
rules/nimble-tools.mdcupdated to referencenimble-web-toolsskill- README.md updated with CLI installation and new skill documentation
Removed
nimble-web-searchskill (replaced bynimble-web-tools)scripts/search.shandscripts/validate-query.shcurl wrapper scriptsexamples/andreferences/directories from old web-search skill
[0.4.0] - 2026-02-18
Added
- nimble-agents skill — find, generate, and run agents for structured data from any website
.cursor-plugin/plugin.json— Cursor IDE plugin support.mcp.json/mcp.json— MCP server configuration for Claude Code and Cursorrules/nimble-tools.mdc— Cursor rule for preferring Nimble tools- Multi-platform support: Claude Code, Cursor, and Vercel Agent Skills CLI
Changed
- Plugin renamed from
nimble-webtonimble(unified plugin) - Version bumped to 0.4.0 across all skills and config files
.claude-plugin/plugin.jsonupdated with new name, description, and keywords.claude-plugin/marketplace.jsonupdated to reflect unified plugin.gitignoreupdated to include.cursor/,.claude/,*.bakREADME.mdrewritten to cover all installation channels
[0.1.0] - 2025-01-01
Added
- Initial release with
nimble-web-searchskill - 8 focus modes: general, coding, news, academic, shopping, social, geo, location
- AI-powered answer generation
- Agent Skills standard compatibility