Build comparable competitor profiles from live websites and DataForSEO metrics, preserving source snapshots and evidence limits.
Build comparable competitor profiles from live websites and DataForSEO metrics, preserving source snapshots and evidence limits.
# Marketing Skills Competitor Profiling ## Loadout capabilities Use <action-tag>composio:firecrawl_tools:firecrawl_search</action-tag> to discover each competitor's key indexed pages and public review candidates, and <action-tag>composio:firecrawl_tools:firecrawl_scrape</action-tag> to read selected pages. Use <action-tag>api:dataforseo_api:domain_keyword_competitor_research</action-tag> for organic keyword, domain overview, competitor overlap and relevant-page research. Use <action-tag>api:dataforseo_api:backlink_research</action-tag> for a backlink summary in both modes and referring-domain detail in deep profiles. Search snippets alone are not page or review evidence. ## Outcome and prerequisites Produce one dated Markdown profile per competitor and a comparable summary. Obtain competitor URLs, the user's product context, market/language, requested depth and focus. Use already supplied context before asking. Do not transmit private product context as a search query. Default to a quick scan; a requested deep profile or a list of at most three competitors can use deep coverage after stating the scope. For ten or more competitors, agree on a prioritized batch and spending bounds before broad collection. Inspect live Action schemas and Vault access before execution. Call Actions separately through capabilities_execute. The agent host must support saving research artifacts to the user's workspace; if it cannot, stop and report this prerequisite rather than claiming the raw archive exists. These are research output files, not additions to this public Skill package. ## Workflow 1. Establish one comparison scope: target domains, market, language, device if available, subdomain treatment and retrieval date. Normalize domains without conflating distinct products. Reuse verified context for the user's product, including its limitations. Record unknowns instead of assuming them. 2. Read [research modes and output contract](references/workflow.md). Create a new dated run directory under competitor-profiles/raw/ for each competitor. Add a run suffix for same-day reruns so prior evidence is never overwritten. Save raw returned page text and provider JSON before synthesis, with exact request scope and retrieval time but no credentials. 3. Search for each public website's key indexed pages with explicit bounded site-scoped queries. Select homepage and pricing for quick scans. Deep profiles add product/features, about, customers, integrations, blog index and changelog where present. Search establishes an indexed sample; it does not prove every page exists or exhaust the site. Scrape selected pages to Markdown. Save source and final URL, provider outcome and page date where supplied. 4. Extract positioning, target audience signals, claims, features, plan prices/currency/billing cadence, limits, trial terms, named customers and product-direction signals. Attribute company claims to the company. A logo is not proof of a current paid customer, and traffic estimates cannot establish revenue, customer counts, funding or team size. Do not infer feature absence merely because a page omits it. 5. Run the domain research Action with the exact actionName branches in the reference. Both modes require domain overview, ranked keywords and a backlinks_summary call through the backlink Action. Use identical location_name, language_code and comparable scope across competitors. Preserve provider timestamps, totals and limits. Page through results only within the agreed scope; distinguish returned rows from total ranking keywords. Never derive total keyword coverage by counting the first page. 6. For deep profiles, gather backlinks summary/referring domains and relevant pages, keywords-for-site and organic competitors. Label organic overlap as search overlap, not proof of a business competitor. Use historical observations for a trend; a single snapshot cannot establish growing or declining link acquisition or release velocity. 7. When useful, locate and retrieve accessible public reviews. Separate authentic customer statements from vendor copy, incentives and review-site summaries. Record rating scale, sample size, date, source URL and what portion was visible. Quote only brief necessary excerpts within the host's quotation rules; do not bypass authentication or access restrictions. 8. Synthesize comparable profiles using the reference template. Cite the exact supporting source for material claims, label inferred positioning, and mark missing fields unavailable. Estimate traffic and traffic value only with the provider label, period, market and methodology limits. A domain-rank metric belongs to its provider, not Google. Pricing comparisons use a consistent team size and billing basis. 9. Build the cross-competitor summary last. Identify evidenced strengths, weaknesses, opportunities and threats relative to the user's verified product. Distinguish observed facts, estimates and recommendations. Deliver the profile paths, summary path, raw archive location, scope, missing evidence and collection failures. ## Failure and update boundaries Authentication, insufficient credits, unsupported branches and provider errors must be reported accurately. Do not retry billable work blindly or replace a missing required metric with a guessed number. If deep-only access fails, label the result partial; never call it a complete deep profile. A quick scan still needs the domain metrics it promises. Save successful evidence and an error record, excluding secrets. For updates, preserve the prior snapshot, verify volatile pricing first, refresh SEO and changelog evidence, and add a dated change log. No scraping result authorizes account creation, outreach, publication or edits to any competitor's or user's site. Success is an attributable profile with comparable measured scope and a real raw-data archive, not a claim of improved rankings. ## Provenance See [UPSTREAM.md](UPSTREAM.md) for source and adaptation details and [LICENSE.txt](LICENSE.txt) for the preserved MIT license.
No verified related use cases are linked yet.