Install
$ agentstack add skill-nimbleway-agent-skills-competitor-intel ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Competitor Intelligence
Real-time competitive intelligence 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 skill-competitor-intel. MCP path: not yet supported — seereferences/nimble-playbook.mdfor status. - Profile exists → read
~/.nimble/memory/competitors/index.mdto identify which
competitor files exist and their last-updated dates. If the index doesn't exist (first run or upgrade), fall back to reading all ~/.nimble/memory/competitors/*.md directly — the index is an optimization, not a gate. Then load the relevant competitor files for known signals (used for dedup in Steps 3 + 5). Follow cross-references ([[path/entity]] links) to load related context. Determine mode using smart date windowing from references/nimble-playbook.md:
- Full mode: first run OR last run > 14 days ago
- Quick refresh: last run "What's your company's website domain? (e.g., acme.com)"
Verify — make two Bash calls simultaneously:
nimble search --query "[domain]" --include-domain '["[domain]"]' --max-results 3 --search-depth litenimble search --query "[domain] company" --max-results 5 --search-depth lite
Prompt 2 — confirm company + choose competitor method (use AskUserQuestion):
> I found that [Company] ([domain]) is [brief description]. > Is this right? And how should I find your competitors? > - Yes — find competitors for me > - Yes — I'll list them myself > - Wrong company — let me clarify
If "find competitors", make three Bash calls simultaneously:
nimble search --query "[Company] competitors" --max-results 10 --search-depth litenimble search --query "[Company] vs" --max-results 10 --search-depth litenimble search --query "[Company] alternatives" --max-results 5 --search-depth lite
Propose the list. Once the user confirms, create the profile and start Steps 2+3. When creating the profile, also ask for or infer each competitor's domain and the user's industry keywords. See references/profile-and-onboarding.md for the full profile schema (company, competitors with domains/categories, industry_keywords, integrations, preferences).
Step 2: WSA Discovery
For each competitor domain and the user's domain, discover available WSAs:
nimble agent list --search "{domain}" --limit 20
Run one search per domain simultaneously. From the results, filter for WSAs with entity_type matching SERP or PDP, prefer managed_by: "nimble", and validate each with nimble agent get --template-name {name}. Cache discovered WSA names + params for the run. Use discovered WSAs alongside nimble search in Steps 3-4 for richer data. If no WSAs found, continue with nimble search alone.
Step 3: Research the User's Company
Use --include-domain to avoid noise from generic company names. Make two Bash calls:
nimble search --query "product updates OR changelog OR releases" --include-domain '["[company-domain]"]' --start-date "[start-date]" --max-results 5 --search-depth litenimble search --query "[UserCompany] news" --focus news --start-date "[start-date]" --max-results 5 --search-depth lite
**Fallback if 14 days since last) — structured briefing:
- TL;DR — 3-5 P1 signals, most recent first, every one dated with source
- Per competitor — "Recent" and "Older Context" subsections, "Where They Win
vs. Where You Win" table, "What This Means" (1-2 sentences)
- Industry Trends — signals from industry searches
- Your Company Update — releases/news from Step 2
- Cross-Competitor Patterns — converging trends
- What This Means for [Company] — strategic implications + suggested actions
Quick refresh mode (last run Next steps: > - Run competitor-positioning to analyze how competitors present themselves online > - Run company-deep-dive for a full 360 profile on any competitor from this report > - Run meeting-prep if you're meeting with someone at a competitor
Agent Teams Mode (Dual-Mode)
Check at startup: echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
Team mode (flag set): Spawn full teammates instead of sub-agents:
- Lead (you): Assign competitors, synthesize the final briefing
- One teammate per competitor: Uses
references/competitor-agent-prompt.mdwith discovered WSAs —
teammates can message each other when they find overlapping signals
- Devil's Advocate (optional): Challenges findings, looks for blind spots
- Lead synthesizes a cross-validated briefing with higher confidence
Solo mode (flag not set): Standard sub-agent flow from Step 3.
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 competitor.
- Search timeout: Retry once, then skip that call and continue — consistent with
the playbook's timeout policy.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Nimbleway
- Source: Nimbleway/agent-skills
- License: MIT
- Homepage: https://www.nimbleway.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.