Source profileQuality 75/100

MoizIbnYousaf/marketing-cli/skills/openseo-competitive-landscape/SKILL.md

openseo-competitive-landscape

Map who is winning an SEO market with measured data — recurring SERP domains, organic footprints, winning content themes, backlink authority, and the gaps worth attacking. Use this skill for market-level questions ("who ranks for X", "how competitive is this space", "where are the SEO openings") before committing to keyword targets or content themes. For one named competitor, use openseo-competitor-analysis instead. Triggers: "competitive landscape seo", "who ranks for", "seo market map", "how c

Source repository stars
27
Declared platforms
0
Static risk flags
0
Last source update
2026-07-28
Source checked
2026-07-28

Decision brief

What it does—and where it fits

Answer with measured data: who is winning this SEO market, what content works for them, and where the openings are. Findings update brand/landscape.md (mktg's market memory) with an evidence tier mktg's landscape-scan cannot reach alone.

Best for

    Not for

    • Treating business competitors as SEO competitors — because the company that competes for customers often isn't who competes for SERPs (publishers and directories win informational queries). Label domain types; never mer…
    • Quoting estimate numbers as exact traffic — because third-party organic estimates can be off by multiples, and a plan built on fake precision breaks on contact with reality. Say "estimate" or "directional."

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/MoizIbnYousaf/marketing-cli --skill "skills/openseo-competitive-landscape"
    Safe inspection promptEditorial

    Inspect the Agent Skill "openseo-competitive-landscape" from https://github.com/MoizIbnYousaf/marketing-cli/blob/f12fbcbe4929584697b309b9096c9427b0cfce8e/skills/openseo-competitive-landscape/SKILL.md at commit f12fbcbe4929584697b309b9096c9427b0cfce8e. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Workflow

      1. Define the market query set (positioning-filtered, mixed intent). 2. findserpcompetitors for recurring domains; getkeywordmetrics to validate demand/difficulty. 3. Group recurring domains by type: direct product competitors, publishers/media, marketplaces/directories, communi…

      Define the market query set (positioning-filtered, mixed intent).findserpcompetitors for recurring domains; getkeywordmetrics to validate demand/difficulty.Group recurring domains by type: direct product competitors, publishers/media, marketplaces/directories, communities/forums, docs/resources.
    2. 02

      On Activation

      1. Catalog + binding: mktg catalog info openseo --json --fields configured + .seo/openseo.json. No OpenSEO → fall back to landscape-scan (Exa qualitative) and label authority/metrics unknown. 2. Brand grounding: read brand/landscape.md + brand/competitors.md (tolerate templates)…

      Catalog + binding: mktg catalog info openseo --json --fields configured + .seo/openseo.json. No OpenSEO → fall back to landscape-scan (Exa qualitative) and label authority/metrics unknown.Brand grounding: read brand/landscape.md + brand/competitors.md (tolerate templates) — known competitors seed the query set; positioning filters "SEO competitor" from "business competitor."1. Catalog + binding: mktg catalog info openseo --json --fields configured + .seo/openseo.json. No OpenSEO → fall back to landscape-scan (Exa qualitative) and label authority/metrics unknown. 2. Brand grounding: read br…
    3. 03

      OpenSEO MCP Tools

      researchkeywords + getkeywordmetrics: build + validate a 5–10 query market set (mixed intent: informational, commercial, comparison, tool terms).

      researchkeywords + getkeywordmetrics: build + validate a 5–10 query market set (mixed intent: informational, commercial, comparison, tool terms).findserpcompetitors: recurring domains across the keyword set at scale — use before manual SERP counting.getserpresults: inspect live SERP composition/features (≤10 queries per call).
    4. 04

      Output Format

      Review the “Output Format” section in the pinned source before continuing.

      Review and apply the “Output Format” source section.

    Permission review

    Static risk signals and limitations

    No configured static risk pattern was detected

    This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score75/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars27SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    MoizIbnYousaf/marketing-cli
    Skill path
    skills/openseo-competitive-landscape/SKILL.md
    Commit
    f12fbcbe4929584697b309b9096c9427b0cfce8e
    License
    MIT
    Collected
    2026-07-28
    Default branch
    main
    View the original SKILL.md

    OpenSEO Competitive Landscape

    Answer with measured data: who is winning this SEO market, what content works for them, and where the openings are. Findings update brand/landscape.md (mktg's market memory) with an evidence tier mktg's landscape-scan cannot reach alone.

    On Activation

    1. Catalog + binding: mktg catalog info openseo --json --fields configured + .seo/openseo.json. No OpenSEO → fall back to landscape-scan (Exa qualitative) and label authority/metrics unknown.
    2. Brand grounding: read brand/landscape.md + brand/competitors.md (tolerate templates) — known competitors seed the query set; positioning filters "SEO competitor" from "business competitor."

    OpenSEO MCP Tools

    • research_keywords + get_keyword_metrics: build + validate a 5–10 query market set (mixed intent: informational, commercial, comparison, tool terms).
    • find_serp_competitors: recurring domains across the keyword set at scale — use before manual SERP counting.
    • get_serp_results: inspect live SERP composition/features (≤10 queries per call).
    • get_domain_overview: organic footprint for top 3–5 recurring domains.
    • get_ranked_keywords: exact ranking keywords/URLs/intents for leaders.
    • get_backlinks_overview: authority comparison where rankings look authority-driven (may be unavailable on some accounts — continue without it).
    • get_search_console_performance: when the user's own domain is compared and GSC is connected, anchor THEIR side with first-party data instead of third-party estimates.

    Workflow

    1. Define the market query set (positioning-filtered, mixed intent).
    2. find_serp_competitors for recurring domains; get_keyword_metrics to validate demand/difficulty.
    3. Group recurring domains by type: direct product competitors, publishers/media, marketplaces/directories, communities/forums, docs/resources.
    4. get_domain_overview top 3–5; get_ranked_keywords for direct competitors + relevant publishers; get_backlinks_overview where authority explains wins.
    5. Synthesize: winning content types, SERP formats, authority advantages, underserved angles.
    6. Update brand/landscape.md: leaders, winnable area, biggest barrier, query set used, content formats that work, keyword/theme gaps — dated, with the measured-vs-estimate caveat.
    7. Recommend next: openseo-competitor-analysis (one domain), openseo-keyword-clustering (page mapping), or seo-content.

    Output Format

    DomainTypeWhy they matterOrganic footprintWinning themesWeakness/gap

    Anti-Patterns

    • Treating business competitors as SEO competitors — because the company that competes for customers often isn't who competes for SERPs (publishers and directories win informational queries). Label domain types; never merge the lists.
    • Quoting estimate numbers as exact traffic — because third-party organic estimates can be off by multiples, and a plan built on fake precision breaks on contact with reality. Say "estimate" or "directional."
    • Small query sets presented as market truth — because 4 queries is a peek, not a map. Call small-set results directional and say what would confirm them.
    • Stopping at "X is winning" without the why — because a leader list with no content-theme or authority explanation gives the user nothing to act on. Every leader gets a "why they win" and a "where they're weak."
    • Abandoning the analysis when backlinks are unavailable — because SERP + domain evidence still answers "who and what." Degrade gracefully and name the missing tier.

    Adapted from every-app/open-seo .agents/skills/competitive-landscape (MIT). Workflow upstream; mktg brand-memory writes and fallback wiring added here.

    Alternatives

    Compare before choosing

    Computed 9027

    MoizIbnYousaf/marketing-cli

    competitor-alternatives

    Creates high-converting 'X vs Y' and 'X alternatives' SEO pages that capture comparison search traffic. Researches competitors, writes honest comparison content, and adds schema markup (FAQPage, ItemList). Use when someone needs alternatives pages, comparison content, or says 'alternatives page', 'vs page', 'comparison', 'competitor alternatives', 'X vs Y page', or wants to capture competitor brand search traffic with SEO content. Also trigger when someone wants to rank for competitor brand name

    Computed 8627

    MoizIbnYousaf/marketing-cli

    seo-content

    Create high-quality, SEO-optimized content that ranks AND reads like a human wrote it. Performs live SERP gap analysis, writes with anti-AI detection techniques, and adds schema markup. Use when someone needs a blog post, article, SEO page, or wants content that drives search traffic. Triggers on 'SEO content', 'blog post', 'article', 'SERP', 'programmatic SEO', 'content at scale', 'write a post about', 'rank for', or 'search-optimized content'. Two modes: single article or programmatic SEO at s

    Computed 8227

    MoizIbnYousaf/marketing-cli

    openseo-competitor-analysis

    Deep-dive ONE competitor's organic footprint — exact ranking keywords and URLs, content themes, backlink profile, and exploitable gaps — with findings written into brand/competitors.md. Use this skill when the user names a competitor and wants to know what to learn from them, counter, or outrank, including head-to-head comparisons against the user's own domain. For market-level mapping first, use openseo-competitive-landscape. Triggers: "analyze competitor", "competitor keywords", "competitor ba

    Computed 8227

    MoizIbnYousaf/marketing-cli

    openseo-keyword-research

    Discover keyword opportunities with MEASURED volume, keyword difficulty, CPC, and intent from OpenSEO, then write them into brand/keyword-plan.md. Use this skill whenever someone asks for keyword difficulty, KD, search volume, keyword ideas with metrics, striking-distance opportunities from Search Console, or SERP-validated keyword priorities. For qualitative research without an OpenSEO connection, use mktg's keyword-research instead (metrics will be unknown). Triggers: "keyword difficulty", "se