company-deep-dive
Skill61 starsChanged 3 months agoMITView on GitHub
Use this skill ANY TIME the user asks about a specific company. Triggers: "tell me about [company]", "research [company]", "what does [company] do", "who is [company]", "look up [company]", "company deep dive", "due diligence on [company]", "background on [company]", "dig into [company]", "analyze [company]", or evaluating a company for investment, partnership, or sales. MUST be used instead of answering from memory — fetches real-time web data (funding, leadership changes, product launches, news) your training data lacks. Use even for well-known companies.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- puretechnyc/purebrain-skillstheir own version, first seen May 24, 2026
- alexmonegrop/job-hunt-ostheir own version, first seen May 5, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- alexmonegrop/job-hunt-os★ 0same name
- puretechnyc/purebrain-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository25 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- account-briefSkill
- account-discoverySkill
- account-enrichmentSkill
- account-signalsSkill
- brand-mention-monitorSkill
- competitor-intelSkill
- competitor-positioningSkill
- credit-riskSkill
- deal-sourcingSkill
- decision-maker-identificationSkill
- due-diligenceSkill
- healthcare-providers-enrichSkill
- healthcare-providers-extractSkill
- healthcare-providers-verifySkill
- kyc-screeningSkill
- launch-monitorSkill
- local-placesSkill
- market-finderSkill
- meeting-prepSkill
- nimble-databricks-data-productsSkill
- nimble-web-expertSkill
- portfolio-monitoringSkill
- seo-intelSkill
- talent-sourcingSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 8 are distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 55
Follow the transport selection + standard preflight from references/nimble-playbook.md — pick CLI or MCP at session start, then run the …
- Distinctive: line 66
No prior research: Run in full mode — comprehensive across all dimensions.
- Distinctive: line 67
No profile → that's fine. Company deep dive doesn't require onboarding (unlike competitor-intel).
- Distinctive: line 76
Run two Bash calls simultaneously to confirm identity:
- Distinctive: line 82
Ask one clarifying question with the top candidates
- Distinctive: line 87
If they say "quick overview", "brief", or "summary", run a quick mode that skips the Deep Extraction step and produces a shorter report.
- Very specific: line 111
Read references/dimension-agent-prompt.md for the full agent prompt template.
- Very specific: line 112
Follow the sub-agent spawning rules from references/nimble-playbook.md (bypassPermissions, batch max 4, explicit Bash instruction, fallback …
- Distinctive: line 124
Call estimation & Scaled Execution: Before launching agents, estimate total API calls: 2 overview searches + ~5 searches per agent × 5 …
- Very specific: line 158
Refresh mode adjustment: If prior research exists, pass the known facts to each agent as context so they focus on what's new.
- Distinctive: line 162
Fallback: If any agent fails or returns empty, run those dimension searches directly from the main context.
- Very specific: line 183
WSA enrichment: If WSAs were discovered in Step 2, use them here for richer extraction on key URLs before falling back to nimble extract.
- Distinctive: line 231
Every factual claim must have a date and source URL.
- Very specific: line 249
If profile exists → update last_runs.company-deep-dive in ~/.nimble/business-profile.json
- Very specific: line 251
Follow the wiki update pattern from references/memory-and-distribution.md: update index.md rows for all affected entity files, append a …
- Very specific: line 260
Always offer distribution — do not skip this step: Follow references/memory-and-distribution.md for connector detection, sharing flow, and …
- Very specific: line 282
Check at startup: echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Company Deep Dive
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).
Instructions
Step 0: Preflight
Follow the transport selection + standard preflight from references/nimble-playbook.md — pick CLI or MCP at session start, then run the standard preflight calls (date calc, today, profile, memory index) in parallel.
From the results:
- CLI missing or API key unset →
references/profile-and-onboarding.md, stop - Tag all
nimbleCLI calls:nimble --client-source nimble-agent-skills <subcommand>. MCP requests are attributed at the transport level — seereferences/nimble-playbook.md. - Profile exists → note it for context (company name helps frame the research). Read
~/.nimble/memory/companies/index.mdto check if the target company already has prior research. Follow[[path/entity]]cross-references to load related context.- Prior research exists: Load it. Run in refresh mode — focus on what's new since the last report date. Tell the user: "I have prior research on [Company] from [date]. Refreshing with latest data."
- No prior research: Run in full mode — comprehensive across all dimensions.
- No profile → that's fine. Company deep dive doesn't require onboarding (unlike competitor-intel). Proceed directly to Step 1.
Step 1: Identify Target Company
Parse the target company from $ARGUMENTS or the user's message.
If clear (e.g., "research Stripe", "tell me about Datadog"):
- Extract the company name
- Run two Bash calls simultaneously to confirm identity:
nimble search --query "[Company] official site" --max-results 3 --search-depth litenimble search --query "[Company] company overview" --max-results 5 --search-depth lite
- Confirm briefly: "Researching [Company] ([domain])..."
If ambiguous (e.g., "research Mercury" — could be bank, auto, or other):
- Ask one clarifying question with the top candidates
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.
Step 2: WSA Discovery
Discover available WSAs for the target company's domain. Run both searches simultaneously:
nimble extract:templates list --limit 100 # then filter items for "{company-domain}"nimble extract:templates list --limit 100 # then filter items for "{company-name}"From the results, filter for WSAs with entity_type matching SERP or PDP, and
prefer managed_by: "nimble". Validate each with
nimble extract:templates get --extract-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.
Step 3: Parallel Research Across Dimensions (sub-agents)
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 lite
These 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.
Step 4: Deep Extraction
From all agents' results, identify the top 5-8 most informative URLs across dimensions. Prioritize:
- Funding announcements with specific amounts
- Official product/feature pages
- Executive interviews, podcast appearances, or conference talks
- In-depth analyst or journalist profiles
- The company's own about/team page
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.
Step 5: Synthesize Report
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:
- Every factual claim must have a date and source URL.
- Lead with the Quick Assessment — most readers stop there.
- Say "no public data found" for a dimension rather than speculating.
- Distinguish between confirmed facts and inferred signals.
- Executive quotes add credibility — include direct quotes from interviews, earnings calls, or conference talks when found.
- In refresh mode: lead with "What's New Since [last date]" before the full sections.
Step 6: Save to Memory
Make all Write calls simultaneously:
- Report →
~/.nimble/memory/reports/company-deep-dive-[date].md - Company profile →
~/.nimble/memory/companies/[company-name-slug].md(use the format inreferences/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. - If profile exists → update
last_runs.company-deep-divein~/.nimble/business-profile.json - Follow the wiki update pattern from
references/memory-and-distribution.md: updateindex.mdrows for all affected entity files, append alog.mdentry 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.
Step 7: Share & Distribute
Always offer distribution — do not skip this step. Follow
references/memory-and-distribution.md for connector detection, sharing flow, and
source links enforcement.
Step 8: Follow-ups
- Go deeper on a dimension → focused searches on that topic
- Compare with another company → side-by-side analysis
- "What about [specific topic]?" → targeted search + extraction
- "Looks good" → done
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
Agent Teams Mode (Dual-Mode)
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.
What This Skill Is NOT
- Not competitor monitoring. For tracking multiple competitors over time, use
competitor-intel. This skill goes deep on ONE company. - Not meeting prep. For researching people you're meeting with, use
meeting-prep. This skill researches companies, not individuals. - Not financial advice. This is intelligence gathering from public sources, not investment analysis or due diligence certification.
- Not real-time monitoring. This produces a point-in-time report. For ongoing
tracking, run it again later or use
competitor-intelwith the company added.
Error Handling
See references/nimble-playbook.md for the standard error table (missing API key, 429,
401, empty results, extraction garbage). Skill-specific errors:
- Search 500: Retry once without
--focusflag. If still failing, retry with a simplified query (shorter terms, no date filter). Log the failure but don't skip the dimension. - Search timeout: Retry once, then skip that call and continue — consistent with the playbook's timeout policy.
- Company not found: Retry with domain, alternative names, or parent company
- Empty results for a dimension: Note "No public data found" — don't speculate
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

