# Competitor intel Human Guide

## What This Is For
Run end-to-end competitor research and monitoring through the Hyper MCP — pick the set, scrape every public surface (site, blog, pricing, organic social, search rank, mentions, demand) via. It gives the agent a clearer input/output frame for competitive research: what context to ask for, what decisions to make, and what usable artifact to return.

Use this as a human-readable version of the Competitor intel agent skill. It is meant for marketers, operators, founders, and other non-coders who want the workflow without reading agent-specific implementation instructions.

## When To Use This
- Use this when you need a repeatable process for competitor intel.
- Use this when the task needs judgment, examples, constraints, or a clear output format rather than a one-off prompt.
- Use this when you want to hand an AI assistant enough context to produce a usable marketing artifact.

## When Not To Use This
- Do not use this when you only need a quick factual answer.
- Do not use this when the work depends on private data you cannot share with the assistant.
- Do not use this as a replacement for legal, compliance, financial, or medical review.

## What You Need Before Starting
- The goal or business outcome you want.
- The audience, customer segment, or market context.
- Any source material the assistant should respect, such as notes, briefs, examples, URLs, or brand guidance.
- Constraints such as tone, length, channel, deadline, region, or approval requirements.
- A clear definition of what a good final answer should look like.

## Step-By-Step Workflow
1. State the job clearly: "Use the Competitor intel guide to help me with..."
2. Add context: audience, goal, offer, channel, source material, and constraints.
3. Ask the assistant to identify missing inputs before producing the final output.
4. Have the assistant follow the skill-specific guidance below.
5. Review the result against the final checklist and ask for revisions where needed.

## Skill-Specific Guidance
- **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)
- **At least one of these toolkits** connected at [https://app.hyperfx.ai/apps](https://app.hyperfx.ai/apps):
- **Firecrawl** *(highly recommended — backbone for any site/blog/pricing-page work)*
- **HyperSEO** *(needed for rank, backlink, domain-overlap analysis)*
- **Apify scrapers** — Instagram, TikTok, LinkedIn, Twitter, Reddit, Google search, Google Trends
- **Image generation** *(optional — only if the brief feeds a comparison-page or battle-card asset downstream)*
- **Public-only data.** Never scrape behind login walls or paywalls. If a target is gated, stop and surface that — don't try to bypass.
- **HyperSEO is credit-metered.** Be intentional. Don't loop `hyperseo_domain_overview_get` over 12 competitors when you only need 4. Each call has cost — batch and cache.
- **Apify scrapers can be slow and rate-limited.** Don't kick off 8 scrapes in parallel. Sequence them, and surface partial results to the user as they arrive instead of waiting for the full run.
- **Stay clearly factual.** Use neutral language ("Competitor X published Y on date Z, copy reads as…") not value judgments ("Competitor X's strategy is broken…"). The brief is intel, not opinion.
- **Their domain** — needed to ground all relative comparisons.
- **The job** — what is this brief *for*? The shape changes by job:

## Decision Points And Nuance
The original skill emphasizes: Out of scope — defer to other skills, Requirements, Tool surface, Critical rules, Workflow, Phase 1 — Define the competitor set, Phase 2 — Build the source matrix, Phase 3 — Pull the data, Phase 4 — Diff, Phase 5 — Brief.

Use these questions to steer the work:
- What is the intended audience or buyer?
- What source material must be preserved?
- What should the assistant optimize for: clarity, persuasion, accuracy, speed, creativity, or conversion?
- What examples represent the desired quality bar?
- What should the assistant avoid?

## Common Mistakes
- **Public-only data.** Never scrape behind login walls or paywalls. If a target is gated, stop and surface that — don't try to bypass.
- **HyperSEO is credit-metered.** Be intentional. Don't loop `hyperseo_domain_overview_get` over 12 competitors when you only need 4. Each call has cost — batch and cache.
- **Apify scrapers can be slow and rate-limited.** Don't kick off 8 scrapes in parallel. Sequence them, and surface partial results to the user as they arrive instead of waiting for the full run.
- Then confirm the surfaced set with the user before continuing — never guess and proceed.
- Sequence the pulls; don't fire everything in parallel. Order matters for cost and for letting partial results inform the next call.
- Surface partial results as each phase completes — don't wait for the whole pull to finish before showing the user something.
- | Domain intersection (theirs ∩ yours) | Keywords *they* rank for and *you don't* — content gaps |
- For a first run, there's no "last" — the diff section in the brief becomes "baseline established, will diff against this on next run." Tell the user this explicitly so they don't expect insight on day 1.

## Copy-And-Paste Prompt
```text
Use the Competitor intel human guide.

My goal:
[Describe the business outcome]

Audience:
[Describe who this is for]

Context and source material:
[Paste notes, examples, links, or existing copy]

Constraints:
[Tone, length, channel, timeline, must-include items, must-avoid items]

Before producing the final output, ask me for any missing information that would materially improve the result.
```

## Final Checklist
- [ ] The output matches the original goal.
- [ ] The audience and context are reflected in the answer.
- [ ] Important constraints and source material were preserved.
- [ ] The assistant made the relevant decisions explicit.
- [ ] The final artifact is ready to use, review, or hand to the next person.

## Source
This guide was generated from the hyperfx-ai/marketing-skills skill entry for `competitor-intel`.

## Source Skill Notes
These notes preserve the nuance from the original skill. Use them as supporting reference when the workflow above feels too generic.

# Competitor Intel

End-to-end competitor research and monitoring. Define the set, pull from every public surface that matters, diff against last run (or your own), and produce a brief that's actually useful — battle card, weekly digest, board update, or comparison-page input.

## Out of scope — defer to other skills

| Request | Send them to |
| --- | --- |
| Competitor *paid ads* (Facebook / Instagram active ads) | [`meta-ads-library`](../meta-ads-library) |
| Pure SEO / keyword research with HyperSEO as the primary surface | [`seo-research`](../seo-research) — uses the same HyperSEO toolkit but goes much deeper on keyword work |
| Generating *creative* (images / copy) for a comparison campaign once the intel is in | [`ad-creative-generation`](../ad-creative-generation) |
| Pulling data from competitor *email programs* | Not feasible — opt-in only. Use `firecrawl_urls_scrape` on their landing pages instead. |

`competitor-intel` is the *integration layer* — it pulls from every source and synthesizes. It uses HyperSEO for the rank/backlink/intersection slice but isn't the SEO research skill itself.

## Requirements

- **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)
- **At least one of these toolkits** connected at [https://app.hyperfx.ai/apps](https://app.hyperfx.ai/apps):
  - **Firecrawl** *(highly recommended — backbone for any site/blog/pricing-page work)*
  - **HyperSEO** *(needed for rank, backlink, domain-overlap analysis)*
  - **Apify scrapers** — Instagram, TikTok, LinkedIn, Twitter, Reddit, Google search, Google Trends
  - **Image generation** *(optional — only if the brief feeds a comparison-page or battle-card asset downstream)*

If none of those tool prefixes appear in the agent's tool list (`firecrawl_*`, `hyperseo_*`, `scrape_instagram*`, `scrape_tiktok*`, `search_tweets`, `scrape_reddit*`, `search_google_results`, `scrape_google_trends`, `web_scrape_page`), stop and tell the user to enable the Hyper MCP and connect at least Firecrawl + one social scraper. The LinkedIn scraper (`scrape_linkedin_profiles`) is only present when that specific integration is enabled — gracefully skip the LinkedIn slice if it's missing rather than failing the whole brief.

## Tool surface

| Phase | Tools |
| --- | --- |
| Site & web content | `firecrawl_urls_scrape`, `firecrawl_urls_scrape_batch`, `firecrawl_websites_crawl`, `firecrawl_screenshots_create`, `firecrawl_branding_extract`, `web_scrape_page` (JS-rendering fallback, supports `ai_query` for targeted extraction), `web_fetch_page`, `web_loader` |
| Search rankings & backlinks | `hyperseo_competitors_search`, `hyperseo_competitor_domains_search`, `hyperseo_domain_overview_get`, `hyperseo_domain_keywords_get`, `hyperseo_domain_intersections_search`, `hyperseo_site_keywords_search`, `hyperseo_backlinks_history_get`, `hyperseo_rank_history_get`, `hyperseo_mentions_track` |
| Brand mentions in AI search & SERPs | `hyperseo_ai_overviews_get`, `hyperseo_ai_search_volume_get`, `hyperseo_mentions_track`, `search_google_results`, `web_search` |
| Organic social — Instagram | `scrape_instagram`, `scrape_instagram_posts`, `scrape_instagram_followers_count` |
| Organic social — TikTok | `scrape_tiktok_videos`, `scrape_tiktok_comments` |
| Organic social — LinkedIn | `scrape_linkedin_profiles` *(conditional — only available when the LinkedIn-scraper integration is enabled in your Hyper workspace)* |
| Organic social — Twitter / X | `search_tweets` |
| Community / sentiment — Reddit | `scrape_reddit`, `scrape_reddit_leads` |
| Ecommerce competitor specifics | `scrape_ecommerce_products`, `scrape_ecommerce_reviews` |
| Demand / trend signals | `scrape_google_trends`, `hyperseo_search_volume_get`, `hyperseo_intents_search` |
| Optional: comparison-page assets | `images_generate` |

## Critical rules

1. **Public-only data.** Never scrape behind login walls or paywalls. If a target is gated, stop and surface that — don't try to bypass.
2. **Pick the competitor set before scraping.** 3–5 competitors is the sweet spot. 10+ produces an unreadable brief and burns scraper credits. If the user doesn't have a list, run `hyperseo_competitors_search(domain=<their_domain>)` first to surface the top organic competitors, then confirm the set with them.
3. **Snapshot, then diff.** First run is just a baseline — there's nothing to compare against. The value compounds on the second and third runs (what changed in pricing, what new posts went up, who lost rank). Make this expectation clear when the user runs it for the first time.
4. **HyperSEO is credit-metered.** Be intentional. Don't loop `hyperseo_domain_overview_get` over 12 competitors when you only need 4. Each call has cost — batch and cache.
5. **Apify scrapers can be slow and rate-limited.** Don't kick off 8 scrapes in parallel. Sequence them, and surface partial results to the user as they arrive instead of waiting for the full run.
6. **Snapshot what you scraped, not just the analysis.** Always include the source URL, scrape timestamp, and a short excerpt for any claim in the brief — otherwise next week's diff has nothing to compare against and the brief becomes unfalsifiable.
7. **Don't over-interpret single data points.** "Competitor X dropped a Reel that got 12K likes" is noise. "Competitor X has averaged 8K likes/post for the last 30 days, up from 2K" is signal. Build comparisons on aggregates, not anecdotes.
8. **Stay clearly factual.** Use neutral language ("Competitor X published Y on date Z, copy reads as…") not value judgments ("Competitor X's strategy is broken…"). The brief is intel, not opinion.
9. **Disambiguate brand-name SERPs.** A search for `<competitor>` alone often returns unrelated results that share the brand name (e.g. a search for "hyperfx" returns mostly HyperX headphones, not hyperfx.ai). Always pair the brand with a category modifier — `<competitor> alternative`, `<competitor> reviews`, `<competitor> pricing`, `<competitor> vs <us>` — to get clean SERPs.
10. **Apify-backed scrapers fail intermittently.** Expect occasional `"fetch failed"` or empty-result responses from `scrape_instagram*`, `scrape_tiktok*`, `scrape_reddit*`, `scrape_google_trends`, `search_tweets`, and `search_google_results`. Retry once after a short delay before reporting the source as missing — and surface partial results to the user rather than failing the whole brief if a scraper stays down.

## Workflow

### Phase 1 — Define the competitor set

Ask the user (or infer):

1. **Their domain** — needed to ground all relative comparisons.
2. **Their competitor set** — 3–5 names + domains. If unclear, surface the top organic competitors. `hyperseo_competitors_search` takes the *keywords the user wants to win*, not their domain — so first agree on 3–5 high-intent keywords for the user's category, then run:

```
hyperseo_competitors_search(
  keywords=["<category keyword 1>", "<category keyword 2>", "<category keyword 3>"],
  location_code=2840,  # 2840=US, 2826=UK, 2124=CA, 2036=AU
  limit=10
)
```

Then confirm the surfaced set with the user before continuing — never guess and proceed.

3. **The job** — what is this brief *for*? The shape changes by job:
   - **Battle card for sales** → focus on positioning, pricing, "what to say when…" objection lines.
   - **Weekly digest for marketing/exec team** → focus on what *changed* this week.
   - **Comparison-page input for marketing** → focus on objective, comparable feature/pricing data.
   - **Board / board-prep update** → focus on aggregate position (share of voice, rank deltas, growth).
4. **The cadence** — one-shot or recurring? Recurring scopes the source matrix tighter so each run completes in reasonable time.
