Evidence-backed competitor and market analysis
Data & analysis
PostKing · Competitor Intel
Try itKnow exactly who you're up against. Discover, classify, and track competitors and pull comparison data. Delivers a live competitor map and comparison pages that sharpen your positioning and win side-by-side searches.
What it does
Discover, register, and analyze a brand's competitors on PostKing — probe rival domains, classify candidates, and pull comparison intelligence.
The skill document
Competitor Intelligence
Build a competitive-intelligence picture for a brand in PostKing — discover rivals, classify them, register and analyze them, and review the resulting comparison/overview data.
Once competitors are registered on the brand, PostKing's SEO clustering automatically becomes competitor-aware — see the postking-seo skill for how registered competitors then shape keyword clustering (product-fit classification + competitor "conquest" brief plans).
When to Use
Use this skill when a user wants to know who their competitors are, wants specific domains tracked and analyzed, or wants a head-to-head comparison or landscape overview against registered rivals.
When NOT to Use
Not for keyword/content work itself — once competitors are registered, hand off to postking-seo for competitor-aware clustering and conquest briefs. Not for generic brand content — that's postking-social/postking.
Minimal tool subset
This skill needs 7 core tools:
competitor_probe— discover candidate rival domains for the brand.competitor_probe_status— poll the probe.competitor_probe_classify— classify each candidate as direct / similar / not_relevant.competitor_add— register up to 20 domains as tracked competitors (async).competitor_analyze— re-run analysis on existing, pending/failed BrandCompetitor rows (async). RequiresbrandCompetitorIds(array of 1–20 tracked-competitor row IDs) — get them fromcompetitor_add's result orcompetitor_list.competitor_list— review registered competitors and their status.get_job— poll any async operation.
Going deeper (optional) — read/refresh intelligence on already-registered competitors:
competitor_get_comparison— head-to-head keyword comparison against a competitor.competitor_recompute_comparison— refresh that comparison.competitor_get_overview— AI-synthesized landscape summary.competitor_generate_overview— (re)generate that overview (async).competitor_comparison_sources— the SEO sources feeding a comparison.competitor_update— edit a competitor row (e.g. toggle exclusion flags).competitor_delete— remove a competitor.
Prerequisites
- Authenticated with credits — see the
postking-getting-startedskill. - A brand already onboarded — see the
postking-getting-startedskill.
Procedure
"Find our competitors and register them."
Async tools return { operationId, status } — poll get_job({ operationId }) until state is completed, failed, partially_failed, or cancelled. competitor_probe returns { started: true }; poll competitor_probe_status instead.
- Probe.
competitor_probe({ brandId })— kicks off discovery of candidate rival domains. Returns{ started: true }. - Poll.
competitor_probe_status({ brandId })— poll until the probe completes. - Classify.
competitor_probe_classify({ brandId })— classifies each discovered candidate asdirect,similar, ornot_relevant. Review the results with the user before adding — don't blindly register every candidate. - Add.
competitor_add({ brandId, domains: [...] })— registers up to 20 domains as tracked competitors; each domain triggers its own crawl + profile analysis. Async, pollget_job. - Get the tracked-competitor IDs.
competitor_list({ brandId, detail: "medium" })— returns each registered competitor'sidandanalysisState. - Analyze (retry pending/failed rows).
competitor_analyze({ brandId, brandCompetitorIds: [...] })—brandCompetitorIdsis required: 1–20 BrandCompetitor row IDs from step 5 (or directly fromcompetitor_add's result) whoseanalysisStateispendingorfailed. Async, pollget_job. - Review.
competitor_list({ brandId, detail: "medium" })— status + analysis state per competitor. - (Optional) Go deeper.
competitor_get_comparison/competitor_recompute_comparisonfor head-to-head keyword comparison against a specific competitor;competitor_get_overview/competitor_generate_overview(async, pollget_job) for an AI-synthesized landscape summary;competitor_comparison_sourcesfor the SEO sources feeding the comparison;competitor_update(e.g. toggle exclusion flags) orcompetitor_deleteto manage the list.
Next: with competitors registered, run the SEO pipeline in the postking-seo skill — clustering will now automatically flag competitor-dominated clusters and draft conquest briefs.
CLI fast path
Most competitor management has a pking competitors CLI equivalent — it's not MCP-only:
pking competitors list [--brand ]
pking competitors add ... [--no-wait] # register up to 20 domains, async
pking competitors import --file [--no-wait] # bulk-import domains from a file
pking competitors delete --destructive
pking competitors refresh [--no-wait] # re-analyze all (async)
pking competitors comparison # head-to-head keyword comparison
pking competitors comparison recompute # refresh that comparison
pking competitors sample # example competitor card
Discovery and read-only intelligence genuinely have no CLI path today — competitor_probe, competitor_probe_status, competitor_probe_classify, competitor_get_overview, competitor_generate_overview, and competitor_comparison_sources are MCP-only; drive those steps via MCP tool calls.
Expected Output
A set of registered, classified, analyzed competitors on the brand, plus (optionally) a saved head-to-head comparison and landscape overview.
Pitfalls
INSUFFICIENT_CREDITS— point the user to thepostking-getting-startedskill's billing section (billing_list_packs→billing_topup).RATE_LIMITED— back off using theretryAftervalue from the error envelope before retrying.UNAUTHORIZED— re-run the login flow described in thepostking-getting-startedskill.- Assuming all
competitor_*tools lack a CLI equivalent — only the discovery/probe and read-only overview/comparison-sources tools do;list/add/import/delete/refresh/comparison/recompute/sampleall havepking competitorscommands.
Verification
competitor_list({ brandId })should return successfully and reflect any domains just added.- After
competitor_analyzecompletes,competitor_list({ brandId, detail: "medium" })should show updatedanalysisStatevalues.
Related skills
Analyze one named competitor's organic footprint, ranking keywords, content themes, backlinks, and weaknesses. Use for a deep dive on a single domain. Requires a connected Conqueror MCP server.
When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions 'competitor profile,' 'competitor research,' 'competitor analysis,' 'profile this competitor,' 'analyze competitor,' 'competitive intelligence,' 'competitor deep dive,' 'who are my competitors,' 'competitor landscape,' 'competitor dossier,' 'competitive audit,' or 'research these competitors.' Input is a list of competitor URLs. Output is structured competitor profile markdown files. For creating comparison/alternative pages from profiles, see competitors. For sales-specific battle cards, see sales-enablement.
SEO and GEO competitor brief that shows what to copy, where to attack, and which gap to own.
Analyzes a competitor's Instagram content strategy and performance using apidojo's Instagram scraper on Apify. Triggers when the user asks to: analyze what a competitor posts on Instagram, benchmark a competitor's Instagram engagement, see what content types perform best for a competitor on Instagram, reverse-engineer a competitor's Instagram content calendar, identify content gaps vs. a competitor on Instagram, compare posting frequency or content themes, or understand why a competitor's Instagram is growing. Returns post frequency, content type mix, top-performing posts, hashtag strategy, and engagement benchmarks. Ideal for social media managers, brand strategists, and content marketing teams.
Analyse competitor moves and translate them into strategic implications for your product roadmap. Use when a competitor announces a new feature, pricing chan...