From nimble
Generates sourced 360° reports on specific companies using real-time Nimble web data APIs, covering funding, leadership, products/tech, market position, news, and strategic outlook. Activates on company research queries.
npx claudepluginhub nimbleway/agent-skills --plugin nimbleThis skill is limited to using the following tools:
360° company research powered by Nimble's web data APIs.
Researches companies for job applications or interviews, generating intelligence briefs with overview, recent news, culture, team structure, key contacts, and smart questions.
Searches live web via Nimble CLI for competitor news, product launches, hiring signals, funding; compares prior findings to highlight updates. For competitive intelligence requests.
Researches companies or people for sales intel including overviews, news, hiring, and key contacts via web search. Supercharged by enrichment and CRM data. Triggers on 'research [company]' etc.
Share bugs, ideas, or general feedback.
360° company research powered by Nimble's web data APIs.
User request: $ARGUMENTS
Before running any commands, read references/nimble-playbook.md for Claude Code
constraints (no shell state, no &/wait, sub-agent permissions, communication style).
Run the preflight pattern from references/nimble-playbook.md (5 simultaneous Bash
calls: date calc, today, CLI check, profile load, index.md load).
From the results:
references/profile-and-onboarding.md, stop~/.nimble/memory/companies/index.md to check if the target company already has
prior research. Follow [[path/entity]] cross-references to load related context.
Parse the target company from $ARGUMENTS or the user's message.
If clear (e.g., "research Stripe", "tell me about Datadog"):
nimble search --query "[Company] official site" --max-results 3 --search-depth litenimble search --query "[Company] company overview" --max-results 5 --search-depth liteIf ambiguous (e.g., "research Mercury" — could be bank, auto, or other):
If missing — ask: "Which company would you like me to research?"
Scope selection — if the user hasn't specified depth, default to full deep dive. If they say "quick overview", "brief", or "summary", run a quick mode that skips the Deep Extraction step and produces a shorter report.
Discover available WSAs for the target company's domain. Run both searches simultaneously:
nimble agent list --search "{company-domain}" --limit 20
nimble agent list --search "{company-name}" --limit 20
From the results, filter for WSAs with entity_type matching SERP or PDP, and
prefer managed_by: "nimble". Validate each with
nimble agent get --template-name {name}, then cache discovered WSA names + params
for the run. Pass them to dimension agents in Step 3 for enrichment alongside
nimble search. If no WSAs found, continue with nimble search alone.
Read references/dimension-agent-prompt.md for the full agent prompt template.
Follow the sub-agent spawning rules from references/nimble-playbook.md
(bypassPermissions, batch max 4, explicit Bash instruction, fallback on failure).
Spawn nimble-researcher agents (agents/nimble-researcher.md) with
mode: "bypassPermissions". Each agent researches one dimension of the company.
Pass discovered WSA names from Step 2 to each agent so they can use them for
enrichment alongside nimble search.
Important: The Nimble API has a 10 req/sec rate limit per API key. With each agent running 4-5 searches in parallel, limit concurrent agents to 2 per batch to stay under the limit. Run overview searches in their own phase, not alongside agent batches.
Call estimation & Scaled Execution: Before launching agents, estimate total API
calls: 2 overview searches + ~5 searches per agent × 5 agents = ~27 calls. Each agent
should use extract-batch or agent run-batch for 11+ calls instead of individual
calls. See the Scaled Execution pattern in references/nimble-playbook.md for tier
selection.
Phase A — Overview searches (run directly, before agents):
nimble search --query "about" --include-domain '["[domain]"]' --max-results 3 --search-depth litenimble search --query "[Company] Wikipedia OR Crunchbase OR Pitchbook" --max-results 5 --search-depth liteThese give foundational context (founding date, HQ, employee count, mission) that frames all dimensional findings.
Phase B — Batch 1 (2 agents simultaneously):
| Agent | Dimension | Focus |
|---|---|---|
| 1 | Funding & Financials | Funding rounds, valuation, revenue signals, investors, financial health |
| 2 | Product & Technology | Products, tech stack, recent launches, engineering blog, open-source |
Phase C — Batch 2 (2 agents simultaneously):
| Agent | Dimension | Focus |
|---|---|---|
| 3 | Leadership & Team | Founders, C-suite, key hires, departures, team size, culture signals |
| 4 | Recent News & Events | Press coverage, announcements, partnerships, awards, conferences |
Phase D — Batch 3 (1 agent):
| Agent | Dimension | Focus |
|---|---|---|
| 5 | Market Position | Competitors, market share, positioning, analyst coverage, customer reviews |
Refresh mode adjustment: If prior research exists, pass the known facts to each
agent as context so they focus on what's new. Agents should use --start-date to
filter for recent data only.
Fallback: If any agent fails or returns empty, run those dimension searches directly from the main context. Don't leave gaps in the report.
From all agents' results, identify the top 5-8 most informative URLs across dimensions. Prioritize:
Make one Bash call per URL, all simultaneously:
nimble extract --url "https://..." --format markdown
For extraction failures, follow the fallback in references/nimble-playbook.md.
Quick mode: Skip this step entirely. Report from search snippets only.
WSA enrichment: If WSAs were discovered in Step 2, use them here for richer
extraction on key URLs before falling back to nimble extract.
Structure the output as a 360° Company Report:
# [Company Name] — Deep Dive
*As of [today's date]*
## Quick Assessment
[2-3 sentence verdict: what this company is, where they stand, and the one thing
that matters most right now. This is the "if you read nothing else" paragraph.]
## Company Overview
- Founded: [year] | HQ: [location] | Employees: [estimate]
- Domain: [domain] | Industry: [industry]
- Mission/focus: [one line]
## Funding & Financials
[Latest round, total raised, key investors, valuation signals, revenue indicators.
Every claim dated and sourced.]
## Leadership & Team
[Founders, C-suite, notable recent hires or departures. Executive perspectives
on company direction — direct quotes when available from interviews or talks.]
## Product & Technology
[Core products, recent launches, tech stack signals, engineering culture,
open-source contributions. What they're building and how.]
## Market Position
[Key competitors, differentiation, market share signals, analyst perspectives,
customer sentiment from reviews (G2/Capterra/Reddit).]
## Recent News & Events
[Chronological, most recent first. Each entry dated with source.]
## Strategic Outlook
[Synthesis across all dimensions: where the company is heading, key risks,
growth signals, and strategic bets. This is insight, not summary.]
## Sources
[Numbered list of all URLs cited in the report]
Core rules:
Make all Write calls simultaneously:
~/.nimble/memory/reports/company-deep-dive-[date].md~/.nimble/memory/companies/[company-name-slug].md
(use the format in references/memory-and-distribution.md). Add [[path/entity]]
cross-references for key people discovered (e.g., [[people/jane-smith]]),
competitors in the same space (e.g., [[competitors/widgetco]]), and any other
related entities.last_runs.company-deep-dive in
~/.nimble/business-profile.jsonreferences/memory-and-distribution.md: update
index.md rows for all affected entity files, append a log.md entry for this run.The company profile in companies/ should contain structured key facts (overview,
financials, leadership, products) that can be loaded by future runs of any skill
that needs context on this company.
Always offer distribution — do not skip this step. Follow
references/memory-and-distribution.md for connector detection, sharing flow, and
source links enforcement.
Sibling skill suggestions:
Next steps:
- Run
competitor-intelto track this company as a competitor over time- Run
meeting-prepif you're meeting with someone at this company- Run
competitor-positioningto analyze their messaging vs yours
Check at startup: echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
Team mode (flag set): Spawn 3 teammates instead of sub-agents. Each teammate covers related dimensions and can message the others to cross-check findings.
| Teammate | Dimensions | Cross-checks with |
|---|---|---|
| Financials & News | Funding, revenue, recent news, events | Market (valuation vs positioning) |
| Product & Leadership | Products, tech stack, founders, key hires | Financials (pivots vs funding) |
| Market | Competitors, positioning, reviews, analysts | Product (differentiation claims) |
Lead (you): Create shared tasks, wait for all teammates to complete, then synthesize the final report. When a teammate finds a claim that another should verify (e.g., a funding amount that implies a valuation), it posts a task for the relevant teammate.
Solo mode (flag not set): Standard sub-agent flow from Step 3.
competitor-intel. This skill goes deep on ONE company.meeting-prep.
This skill researches companies, not individuals.competitor-intel with the company added.See references/nimble-playbook.md for the standard error table (missing API key, 429,
401, empty results, extraction garbage). Skill-specific errors:
--focus flag. If still failing, retry with a
simplified query (shorter terms, no date filter). Log the failure but don't skip
the dimension.