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 backlinks", "beat <competitor>", "competitor seo teardown".
- License 许可
- MIT
- 最近更新
- 2026-10-20
- Stars
- ★ 35
- Forks
- 5
01 前言 Front Matter
- name
- openseo-competitor-analysis
- tier
- nice-to-have
- layer
- strategy
- reads
- [ "brand/competitors.md", "brand/positioning.md" ]
- writes
- [ "brand/competitors.md" ]
- category
- seo
- env_vars
- [ "OPENSEO_API_KEY", "OPENSEO_MCP_URL" ]
- triggers
- [ "analyze competitor", "competitor keywords", "competitor backlinks", "beat competitor", "competitor seo teardown" ]
- description
- 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 backlinks", "beat <competitor>", "competitor seo teardown".
- allowed-tools
- [ "Bash(mktg catalog *)", "Bash(mktg run *)" ]
03 SKILL.md 正文
OpenSEO Competitor Analysis
Analyze one competitor deeply enough to decide what to learn from, avoid, counter-position against, or outrank. Findings merge into brand/competitors.md — mktg's competitor memory that competitive-intel maintains qualitatively and this skill now grounds in measured rows.
On Activation
- Readiness + binding:
mktg seo status --json --fields readiness,catalog.endpointError,project.not_configured→ hand off tocompetitive-intel(Exa qualitative), labeling metricsunknown. For a ready state, verify live access with the freewhoamiMCP tool before paid calls. - Brand grounding: read
brand/competitors.md+brand/positioning.md(tolerate templates). If the competitor isn't named, ask — never guess the domain.
OpenSEO MCP Tools
get_domain_overview: baseline organic traffic + keyword count (both domains when comparing).get_ranked_keywords: exact keyword/URL/rank/intent/traffic rows. UsemaxRank,minSearchVolume,excludeBrandTerms,resultTypesfilters to keep rows relevant.get_backlinks_overview: backlink/referring-domain profile (may be unavailable — continue without it).get_backlinks_profile: link-level sources, anchors, authority/spam signals, and lost/broken state when the decision needs more than a summary. Preserve target scope and pagination.find_serp_competitors: validate the named competitor actually overlaps in search.get_serp_results: head-to-head SERP checks for the important shared terms.get_search_console_performance: when comparing to the user's domain and GSC is connected, the USER's baseline is first-party — never estimate your own side from third-party data.research_keywords: expand gap terms.
Workflow
get_domain_overviewfor the competitor (and the user's domain when comparing).get_ranked_keywordsfor the competitor with sensible filters; same for the user, orget_serp_resultsfor shared terms when a lighter check suffices.find_serp_competitorswhen the supplied competitor's search overlap is unclear.- Group keywords into themes: product/category, alternatives/comparisons, templates/tools, educational guides, branded demand.
get_backlinks_overviewwhen authority appears to explain rankings.get_serp_resultsfor the important head-to-head terms.- Synthesize the plan: what they do well, where they're vulnerable, which pages/keywords to pursue, what NOT to copy.
- Merge into
brand/competitors.md(preserve existing sections; date the entry; confirm before overwriting populated competitor entries). - Hand off:
competitor-alternativesfor "X vs Y" pages,seo-contentfor gap-driven briefs,openseo-keyword-clusteringfor page mapping.
Output Format
Start with: snapshot, biggest lesson, best opportunity to beat them. Then:
| Area | Competitor pattern | Evidence | OpenSEO opportunity |
|---|
Anti-Patterns
- Treating every competitor keyword as desirable — because ranking for a term and PROFITING from a term are different things; filter through positioning before anything lands in a plan.
- Inferring page-level content strategy from keyword rows alone — because a keyword list can't tell you WHY a page works (structure, depth, format). Use SERP/web evidence for page-level claims.
- Estimating the user's own performance from third-party data when GSC exists — because first-party clicks/impressions/position are free and exact; third-party estimates of your own site are the worst data in the room.
- Recommending "copy what they do" — because imitation pages lose to the original on authority and freshness. Recommend a stronger angle on the same intent, never a replica.
- Separating evidence from inference nowhere — because "they rank for X" (evidence) and "their content strategy is Y" (inference) carry different confidence and must read differently in
brand/competitors.md.
Close the loop
After writing files, log completion so mktg plan / mktg status count the work (bare mktg run only logs loaded):
mktg run openseo-competitor-analysis --complete --writes <paths written> --result success --json
Adapted from every-app/open-seo .agents/skills/competitor-analysis (MIT). Workflow upstream; mktg brand-memory writes and handoff wiring added here.
04 同仓库更多 Skills
cmo-studio-integration
When mktg-studio is running on this machine, /cmo proactively narrates work into the dashboard via Bash + curl against the localhost HTTP API. Detect via /api/health, then log every meaningful action — the user sees what /cmo is doing in real time.
voice-extraction
Reverse-engineer any person's writing voice from their content. Paste in posts, articles, tweets, or essays and this skill launches 10 parallel Sonnet subagents to analyze every dimension of the voice, then synthesizes into a voice file. Use when someone says 'match this voice,' 'analyze this writing,' 'extract their voice,' 'make me sound like this,' 'study this person's writing,' or pastes in content they want to learn from.
visual-style
Build a persistent visual brand identity for image generation. Defines how the brand looks visually — aesthetic, lighting, composition, mood — and writes it to brand/creative-kit.md so /image-gen and other creative skills produce consistent on-brand visuals. Three modes: Extract (from website/URL), Build (interview), Reference (mood board/examples). Use when starting any project that needs images, when the user says "visual style", "brand aesthetic", "image style", "visual identity", "how should our images look", "build visual brand", "define our look", or when /image-gen outputs feel generic because no visual style exists yet.
video-content
Three-tier video pipeline: ffmpeg Quick (5s, instant) → ffmpeg Enhanced with Ken Burns (15s, polished) → Remotion Animated (60-90s, production-grade). Takes static slides from Paper MCP or any PNGs and assembles them into platform-ready video. Make sure to use this skill whenever the user has slides, images, or PNGs and wants to turn them into video — even if they just say 'make a video from these', 'animate my slides', 'I have images and need a TikTok', or 'stitch these together'. Also use when they mention ffmpeg video assembly, Remotion-animated slide assembly, Ken Burns effects, or any slides-to-video pipeline. Owns the slides→MP4 assembly pipeline; for writing, debugging, or running `remotion render` on Remotion code itself, see /remotion-best-practices; for screen-recorded product demos, see /marketing-demo. Works with any PNG source — Paper exports, Canva, screenshots, anything.
typefully
Create, schedule, and manage social media posts via Typefully. ALWAYS use this skill when asked to draft, schedule, post, or check tweets, posts, threads, or social media content for Twitter/X, LinkedIn, Threads, Bluesky, or Mastodon.
tiktok-slideshow
Orchestrator skill that chains /slideshow-script → /paper-marketing → /video-content for end-to-end TikTok slideshow production. Each phase is an independent Lego block — this orchestrator is just one recipe that combines them. Produces 5 publishable TikTok videos from a single positioning angle. Triggers on "TikTok slideshow", "TikTok video", "make TikTok", "slideshow video", "TikTok content".