Help us improve
Share bugs, ideas, or general feedback.
From seo-aeo-pro
Analyzes competitor backlinks, identifies toxic links, discovers unlinked brand mentions, and generates outreach plans and monthly SEO reports.
npx claudepluginhub mangollc/claude-seo-skill --plugin seo-aeo-proHow this skill is triggered — by the user, by Claude, or both
Slash command
/seo-aeo-pro:seo-backlinksThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Load client context first. See seo-keywords [rules/client-setup.md](../seo-keywords/rules/client-setup.md).
Finds referring domains linking to competitors but not to you, ranked by outreach-priority score combining DR, link-overlap, traffic, and topical relevance. Use for link-building campaigns, digital-PR qualification, or quarterly backlink-gap audits.
Plan and execute off-page SEO: link building, digital PR, brand mentions, citation building, and external authority signals. Use for backlink strategies, guest post outreach, linkable assets, lost link recovery, or profile audits.
Designs sustainable link acquisition strategies to improve domain authority and organic search rankings through ethical content-driven outreach.
Share bugs, ideas, or general feedback.
Load client context first. See seo-keywords rules/client-setup.md.
backlinks/
├── competitor-profiles/
│ └── {competitor-slug}.json # Per-competitor backlink data
├── opportunities.json # Scored link opportunities
├── outreach-plan-{date}.json # 90-day outreach plan
├── toxic-links.json # Toxic backlink report
├── unlinked-mentions.json # Brand mentions without links
└── disavow.txt # Google disavow file format
reports/
├── monthly-{year}-{month}.md # Monthly SEO reports
└── quarterly-{year}-q{n}.md # Quarterly summaries
For each competitor in client config, discover their link sources:
# Find pages linking to competitor
firecrawl search "link:{competitor-domain}" --limit 50 -o .seo/clients/{slug}/backlinks/.firecrawl/links-{comp}.json --json &
# Find brand mentions (potential link sources)
firecrawl search "\"{competitor-name}\" -{competitor-domain}" --limit 30 -o .seo/clients/{slug}/backlinks/.firecrawl/mentions-{comp}.json --json &
# Find guest posts by competitor
firecrawl search "\"{competitor-name}\" guest post OR contributed by OR written by" --limit 20 -o .seo/clients/{slug}/backlinks/.firecrawl/guest-{comp}.json --json &
wait
For each discovered link source, analyze:
{
"competitor": "Competitor Name",
"domain": "competitor.com",
"link_sources": [
{
"source_url": "https://referring-site.com/article",
"source_domain": "referring-site.com",
"link_type": "editorial|guest-post|directory|resource-page|forum|comment|partnership",
"anchor_text": "anchor text used",
"follow": true,
"relevance": "high|medium|low",
"replicable": true,
"notes": "Blog post about industry topic, could pitch similar content"
}
],
"summary": {
"total_sources_found": 45,
"editorial_links": 20,
"guest_posts": 8,
"directories": 10,
"resource_pages": 5,
"other": 2
}
}
Score each prospect on a 0-100 scale across 4 dimensions:
| Dimension | Weight | Criteria |
|---|---|---|
| Relevance | 25 pts | Industry match, topical alignment, audience overlap |
| Authority | 25 pts | Domain reputation, traffic indicators, content quality |
| Achievability | 25 pts | Accepts guest posts? Has resource pages? Responded to outreach before? Open contact info? |
| Traffic Potential | 25 pts | Referral traffic value, audience size, social engagement |
Priority tiers:
Targets:
Actions:
Targets:
Actions:
Targets:
Actions:
Guest Post Pitch:
Subject: Content idea for {site_name}: {topic}
Hi {editor_name},
I noticed {site_name} covers {topic area} and thought your readers might enjoy an article on {specific topic idea}.
I'm {author_name}, {brief credential}. I'd cover:
- {Point 1}
- {Point 2}
- {Point 3}
I'll make sure the piece is original, well-researched, and a great fit for your audience. Would this be of interest?
{name}
{title}, {company}
Unlinked Mention:
Subject: Thanks for mentioning {brand}!
Hi {name},
I noticed you mentioned {brand} in your article "{article title}" — thank you!
Would you mind adding a quick link to {url} where you reference us? It helps our readers find us and would be a nice complement to your article.
Thanks!
{name}
Broken Link:
Subject: Broken link on {page title}
Hi {name},
I was reading your helpful resource page "{page title}" and noticed the link to {broken resource} appears to be broken (returns a 404).
We have a similar resource at {client url} that covers the same topic. Would you consider updating the link?
{name}
Search for links that could harm the client:
firecrawl search "link:{client-domain}" --limit 100 -o .seo/clients/{slug}/backlinks/.firecrawl/all-links.json --json
Toxic link patterns to flag:
# Toxic backlinks identified on {date}
# Client: {client_name}
# Domain: {client_domain}
# Individual URLs
https://spammy-site.com/page-with-link
https://another-spam.com/article
# Entire domains
domain:spam-domain.com
domain:link-farm.net
Find brand mentions without links:
# Search for brand mentions excluding own site
firecrawl search "\"{brand_name}\" -{client-domain}" --limit 50 -o .seo/clients/{slug}/backlinks/.firecrawl/brand-mentions.json --json
# Also search for common misspellings or variations
firecrawl search "\"{brand_variation}\" -{client-domain}" --limit 20 -o .seo/clients/{slug}/backlinks/.firecrawl/brand-variations.json --json
For each mention, scrape the page to verify:
Generate a reusable monthly report covering all SEO activities and results.
# Monthly SEO Report — {Month} {Year}
## {Client Name} | {Domain}
Prepared by {Agency Name} | {Date}
---
## Executive Summary
{2-3 sentences: key wins, changes in performance, top priority for next month}
## Technical Health
- Overall Score: {score}/100 (vs {previous_score}/100 last month)
- Issues Fixed: {count}
- New Issues Found: {count}
- Top remaining issue: {description}
## Keyword Performance
- Total keywords tracked: {count}
- Keywords in top 10: {count} ({change} vs last month)
- Keywords in top 3: {count} ({change} vs last month)
- New keyword opportunities identified: {count}
- Top keyword wins: {list top 3 improvements}
## Content
- New pages published: {count}
- Pages optimized/refreshed: {count}
- Average on-page score: {score}/100
- Content gaps remaining: {count}
## Local SEO (if applicable)
- GBP posts published: {count}
- GBP views: {metric if available}
- New reviews: {count} (avg rating: {stars})
- Citations updated: {count}
## Backlinks
- New links acquired: {count}
- Links lost: {count}
- Outreach emails sent: {count}
- Response rate: {percent}
- Top new links: {list top 3}
## AI Search Visibility (AEO)
- AI Overview appearances: {observed/not observed}
- Brand mentions in AI results: {count}
- Schema markup coverage: {percent of pages}
## Priorities for Next Month
1. {Priority 1}
2. {Priority 2}
3. {Priority 3}
---
## Appendix: Detailed Data
{Link to JSON data files in .seo/ directory}
.seo/clients/{slug}/ subdirectories.seo/clients/{slug}/reports/monthly-{year}-{month}.md