Creator ยท indranilbanerjee
Last updated ยท Sep 2, 2026
Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) โ outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and p
Creator ยท indranilbanerjee
Last updated ยท Sep 2, 2026
Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) โ outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and p
Creator ยท indranilbanerjee
Last updated ยท Sep 2, 2026
Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) โ outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and p
Creator ยท indranilbanerjee
Last updated ยท Sep 2, 2026
Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) โ outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and p
Sandbox only
Install targets
Codex install prompt
Install the "backlink-gap" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/backlink-gap. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) โ outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and pre-filled outreach templates. Triggers on \"/digital-marketing-pro:backlink-gap\", \"where are competitors getting links we aren't\", \"plan a link-building campaign\", \"quarterly backlink audit\", \"first 50 link targets for a new client\". Consumes backlink CSV exports from the brand's connected backlink MCP, runs scripts/backlink_gap.py, reads the brand profile for DR thresholds and voice, and hands off to /digital-marketing-pro:digital-pr and /digital-marketing-pro:pr-pitch. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"indranilbanerjee-backlink-gap","task":"Install backlink-gap","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Market data, SEC filings, portfolio analysis, quant research, backtesting, and risk workflows.
Scenario
Finance and quant
I need my agent to analyze markets, financial data, filings, portfolios, and quant strategies.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Maintenance
fresh
20d since push
Risk
Needs review
Permission surface may require sandboxing
GitHub quality
787
76/100 Quality ยท 78/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing ยท Financial research output is not financial advice; require human review before any live investment decision
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
787 GitHub stars
Repo activity
787 stars, 132 forks
Maintenance
20d since push
License
MIT
Install
npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gapDo not use when
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20backlink-gap%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20backlink-gap%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/indranilbanerjee-backlink-gap/install
Agent should check
Copy prompt
Task: Use backlink-gap in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20backlink-gap%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/indranilbanerjee-backlink-gap/install
Install command: npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/indranilbanerjee-backlink-gap/install
LLM text format
/api/skills/indranilbanerjee-backlink-gap/install?format=text
Find alternatives
/api/skills/search?q=backlink-gap&limit=3
Agent prompt
Use backlink-gap for this task. Review https://www.openagentskill.com/api/skills/indranilbanerjee-backlink-gap/install, then install with: npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gapRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/indranilbanerjee-backlink-gap
LLM text
/api/registry/manifest/indranilbanerjee-backlink-gap?format=text
Install alias
/api/registry/install/indranilbanerjee-backlink-gap
Recommend
/api/registry/recommend?task=Use%20backlink-gap%20in%20an%20agent%20workflow&limit=3
Agent fit
Research agents
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Research agents
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO787 GitHub stars
Stars/forks activity
INFO787 stars, 132 forks; issue activity unavailable in current metadata
Recent maintenance
PASS20d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Analyze markets
I need my agent to analyze markets, financial data, filings, portfolios, and quant strategies.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Workflow fit
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Alternative shortlist
Similar skills that may fit this task.
Wazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.
๐ต๏ธโโ๏ธ Collect a dossier on a person by username from 3000+ sites
Nuclei is a fast, customizable vulnerability scanner powered by the global security community and built on a simple YAML-based DSL, enabling collaboration to tackle trending vulnerabilities on the internet. It helps you find vulnerabilities in your applications, APIs, networks, DNS, and cloud configurations.
Infisical is the open-source platform for secrets, certificates, and privileged access management.
--- name: backlink-gap description: "Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) โ outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and pre-filled outreach templates. Triggers on \"/digital-marketing-pro:backlink-gap\", \"where are competitors getting links we aren't\", \"plan a link-building campaign\", \"quarterly backlink audit\", \"first 50 link targets for a new client\". Consumes backlink CSV exports from the brand's connected backlink MCP, runs scripts/backlink_gap.py, reads the brand profile for DR thresholds and voice, and hands off to /digital-marketing-pro:digital-pr and /digital-marketing-pro:pr-pitch." argument-hint: "[brand-name]" user-invocable: true ---
# /digital-marketing-pro:backlink-gap
## Purpose
Identify the highest-leverage backlink prospects โ domains that link to multiple competitors but not to you โ and rank them by an opinionated priority score that combines authority, link-overlap signal, downstream traffic, and topical relevance. Produces a numbered output bundle ready for outreach handoff.
## Context efficiency
Heavy skill. **Grep before Read** any referenced file, then `Read` only matched ranges with `offset` + `limit`. List `${CLAUDE_PLUGIN_DATA}/<brand>/` before opening files. On re-invocation mid-session, skip files already in context.
## When to Use
- Quarterly backlink audit โ "where did our competitors grow links this quarter and we didn't?" - Pre-launch link-building plan for a new product or content hub - Digital PR qualification โ separating "would-link-to-anyone" prospects from "high-confidence-will-link-to-our-space" - Competitive recovery โ a competitor displaced you and you want to know which links moved - Onboarding a new client and need a "first 50 link targets" backlog
**Don't use** when you just need backlink *quantity* numbers (use the brand's connected backlink MCP directly) or when you need *anchor-text* analysis of your own profile (that's a separate audit โ covered in `seo-audit`).
## Brand context (auto-applied)
1. Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json` 2. If no brand exists: ask "Set up a brand first (/digital-marketing-pro:brand-setup)?" โ or proceed with defaults 3. Apply `skills/context-engine/industry-profiles.md` for industry-specific link-quality thresholds (YMYL industries should set higher `--min-dr`) 4. Apply `skills/context-engine/compliance-rules.md` to filter out blocked publishers (e.g., PBN-style or paid-link networks the brand has explicitly banned)
## Inputs
| Input | Source | Required? | |---|---|---| | Our backlinks CSV | Export from connected backlink MCP (Ahrefs / Semrush / SE Ranking / Moz) for the brand's primary domain | yes | | Competitor backlinks CSVs (2+) | Same exporter, one per competitor (2 minimum for the link-overlap signal; 3-5 is the sweet spot) | yes | | Min DR / DA filter | CLI flag, brand-profile default, or industry standard | optional | | Top-N count | How many prospects to surface | optional |
**One competitor is allowed** (the script warns rather than errors) but the resulting "shared signal" is noise โ single-competitor gap analysis is really just "who links to them" rather than "who consistently links in our space."
## Process (10 steps, numbered-file output)
All outputs go to `${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{YYYY-MM-DD}/`.
1. **`00-input.md`** โ capture our domain, competitor list (with rationale: why these N?), filter parameters, run timestamp 2. **`01-data-pull.md`** โ pull backlinks for `{brand}.tld` and each competitor via brand's connected backlink MCP. **Budget guard**: if the MCP exposes credit cost, sum estimated cost and ask "Continue? (y/N โ default N)" before fetching when total > 200 credits. 3. **`02-ours.csv`** โ our backlink export (raw) 4. **`03-comp-{competitor}.csv`** โ one CSV per competitor (raw) 5. **`04-gap-run.json`** โ run the script: ```bash python "${CLAUDE_PLUGIN_ROOT}/scripts/backlink_gap.py" \ --ours "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/02-ours.csv" \ --competitors \ "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/03-comp-competitor1.csv" \ "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/03-comp-competitor2.csv" \ --min-dr {brand.profile.min_link_dr or 20} \ --top 100 \ --out "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/04-gap-run.json" ``` `--competitors` takes an explicit space-separated list of CSV paths (`nargs="+"`) โ **enumerate each `03-comp-*.csv` file; the script does not expand a `*` glob**, so a quoted `03-comp-*.csv` would fail with FileNotFoundError. List one path per competitor. 6. **`05-quality-scorecard.md`** โ read `quality_scorecard` from `04-gap-run.json`. If `status: needs_review`, diagnose: - `data_freshness: fail` โ input CSV(s) older than 90 days. Re-pull data; backlink graphs decay fast. - `sample_size: fail` โ any input < 50 unique referring domains. Either the domain is too new or the export was truncated. Re-export with no row limit. - `competitor_coverage: warn` โ only 1 competitor. Add at least 1 more for genuine overlap signal. - `link_overlap_signal: fail` โ fewer than 5 referring domains link to โฅ2 competitors. Either competitors are poorly chosen (they don't share a content space with each other) or the data is incomplete. Re-choose competitors. 7. **`06-prospect-shortlist.md`** โ top 30 prospects, formatted for outreach handoff: domain, DR, link count across competitors, suggested outreach angle (guest post, broken-link, resource-page mention) 8. **`07-broken-link-candidates.md`** โ subset where one or more competitor links return 4xx (run a quick HTTP HEAD pass on competitor backlink URLs โ use the brand's connected web-fetch MCP). These are "easy wins" โ pitch your URL as the replacement. 9. **`08-outreach-templates.md`** โ three template variants: (a) cold-pitch resource-page, (b) broken-link replacement, (c) competitor mention. Each pre-filled with brand voice from the brand profile's voice fields + `skills/context-engine/guidelines-framework.md`. 10. **`PLAN.md`** โ single-page summary: stats + scorecard + top 10 prospects with outreach angle + recommended cadence (3-5 pitches/week for sustainable outreach quality).
## Output format
``` ${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/2026-06-04/ โโโ 00-input.md โโโ 01-data-pull.md โโโ 02-ours.csv โโโ 03-comp-{competitor1}.csv โโโ 03-comp-{competitor2}.csv โโโ ... โโโ 04-gap-run.json โโโ 05-quality-scorecard.md โโโ 06-prospect-shortlist.md โโโ 07-broken-link-candidates.md โโโ 08-outreach-templates.md โโโ PLAN.md ```
## Quality scorecard (the four gates)
| Gate | What it checks | Why it matters | |---|---|---| | **data_freshness** | All input CSVs have mtime within 90 days | Backlink graphs decay fast โ stale data sends you chasing dead links | | **sample_size** | Each input has โฅ 50 unique referring domains | Below this, the gap math has too little signal to rank | | **competitor_coverage** | โฅ 2 competitor CSVs supplied | The "shared signal" is what separates real prospects from noise | | **link_overlap_signal** | โฅ 5 referring domains link to โฅ 2 of the competitors | If no domains shared, your competitors aren't actually competing in the same content space |
`status: ready` requires all four gates pass (`competitor_coverage: warn` does not block โ it's a soft signal).
## Priority score (0โ1, displayed in 04-gap-run.json)
``` priority = 0.40 ร DR_normalised + 0.25 ร link_count_normalised (how many competitors this domain links to) + 0.20 ร traffic_normalised + 0.15 ร topical_relevance ```
**Why link_count is weighted higher than traffic:** a domain that links to 3/3 competitors is unambiguously in your space and willing to link. A high-traffic domain that only links to 1 might just be a tier-1 publisher who happens to have covered one of you in passing.
## Chain handoffs
This skill is a producer in a longer chain:
1. `/digital-marketing-pro:competitor-analysis` โ picks the right competitors 2. **`/digital-marketing-pro:backlink-gap`** โ *this skill* 3. `/digital-marketing-pro:digital-pr` โ consumes `06-prospect-shortlist.md` + `08-outreach-templates.md` 4. `/digital-marketing-pro:pr-pitch` โ drafts individual pitches per prospect 5. `/digital-marketing-pro:performance-report` โ quarterly re-runs of this skill feed the "links gained" KPI
## Tips & caveats
- **More competitors โ better.** Three to five focused competitors beats ten random ones. The "shared signal" gate works best when all competitors are in the same content space. - **DR/DA from different exporters aren't comparable.** Don't mix an Ahrefs export with a Moz export โ the script doesn't know to normalise across exporters. Pick one provider per audit. - **Topical relevance is the weakest signal in most exports** because few exporters provide it well. The script defaults to 0.5 if absent, which is the right neutral. Override only if you have a curated topical-relevance score. - **Don't outreach 100 prospects in one week.** The output is a backlog, not a queue. Sustainable cadence: 3-5 highly personalised pitches per week per outreach lead. - **Broken-link candidates tend to have the highest hit rate** (broken-link replacement pitches typically out-reply cold pitches by a wide margin โ the "30-60% vs 5-15%" figures are an illustrative rule of thumb, not measured; validate against your own outreach data) โ always work the `07-broken-link-candidates.md` list first. - **Re-run quarterly,** not monthly. Backlink data moves slowly enough that monthly runs mostly produce noise. - **YMYL industries** (health, finance, legal) should set `--min-dr 40` to filter out low-authority publishers that could damage E-E-A-T.
## Agents used
- `seo-specialist` (primary) โ interpretation of prospect quality - `competitive-intel` โ competitor-set selection rationale (Step 1) - `pr-outreach` โ outreach template drafting (Step 8) - `brand-guardian` โ banned-publisher filter at Step 6
## See also
- `/digital-marketing-pro:competitor-analysis` โ pick the competitors for this audit - `/digital-marketing-pro:digital-pr` โ runs the actual outreach - `/digital-marketing-pro:seo-drift` โ re-run quarterly to track delta - `/digital-marketing-pro:seo-audit` โ broader site-level audit including own-profile health - `scripts/backlink_gap.py` โ the underlying gap engine
Source provenance
Decision snapshot
787 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for backlink-gap, ready for a manual X post.
backlink-gap: Find referring domains that link to your competitors but not to you, ranked by an outreach-pr... 787 stars https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=x
Listing + install path for backlink-gap: https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=x Install: npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to indranilbanerjee but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap/audit)
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)indranilbanerjee
@indranilbanerjee
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
Wazuh
Wazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.
16.3K StarsMaigret
๐ต๏ธโโ๏ธ Collect a dossier on a person by username from 3000+ sites
32.9K StarsNuclei
Nuclei is a fast, customizable vulnerability scanner powered by the global security community and built on a simple YAML-based DSL, enabling collaboration to tackle trending vulnerabilities on the internet. It helps you find vulnerabilities in your applications, APIs, networks, DNS, and cloud configurations.
29.2K StarsInfisical
Infisical is the open-source platform for secrets, certificates, and privileged access management.
27.4K StarsSandbox only
Install targets
Codex install prompt
Install the "backlink-gap" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/backlink-gap. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) โ outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and pre-filled outreach templates. Triggers on \"/digital-marketing-pro:backlink-gap\", \"where are competitors getting links we aren't\", \"plan a link-building campaign\", \"quarterly backlink audit\", \"first 50 link targets for a new client\". Consumes backlink CSV exports from the brand's connected backlink MCP, runs scripts/backlink_gap.py, reads the brand profile for DR thresholds and voice, and hands off to /digital-marketing-pro:digital-pr and /digital-marketing-pro:pr-pitch. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"indranilbanerjee-backlink-gap","task":"Install backlink-gap","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Market data, SEC filings, portfolio analysis, quant research, backtesting, and risk workflows.
Scenario
Finance and quant
I need my agent to analyze markets, financial data, filings, portfolios, and quant strategies.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Maintenance
fresh
20d since push
Risk
Needs review
Permission surface may require sandboxing
GitHub quality
787
76/100 Quality ยท 78/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing ยท Financial research output is not financial advice; require human review before any live investment decision
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
787 GitHub stars
Repo activity
787 stars, 132 forks
Maintenance
20d since push
License
MIT
Install
npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gapDo not use when
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20backlink-gap%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20backlink-gap%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/indranilbanerjee-backlink-gap/install
Agent should check
Copy prompt
Task: Use backlink-gap in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20backlink-gap%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/indranilbanerjee-backlink-gap/install
Install command: npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/indranilbanerjee-backlink-gap/install
LLM text format
/api/skills/indranilbanerjee-backlink-gap/install?format=text
Find alternatives
/api/skills/search?q=backlink-gap&limit=3
Agent prompt
Use backlink-gap for this task. Review https://www.openagentskill.com/api/skills/indranilbanerjee-backlink-gap/install, then install with: npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gapRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/indranilbanerjee-backlink-gap
LLM text
/api/registry/manifest/indranilbanerjee-backlink-gap?format=text
Install alias
/api/registry/install/indranilbanerjee-backlink-gap
Recommend
/api/registry/recommend?task=Use%20backlink-gap%20in%20an%20agent%20workflow&limit=3
Agent fit
Research agents
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Research agents
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO787 GitHub stars
Stars/forks activity
INFO787 stars, 132 forks; issue activity unavailable in current metadata
Recent maintenance
PASS20d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Analyze markets
I need my agent to analyze markets, financial data, filings, portfolios, and quant strategies.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Workflow fit
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Alternative shortlist
Similar skills that may fit this task.
Wazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.
๐ต๏ธโโ๏ธ Collect a dossier on a person by username from 3000+ sites
Nuclei is a fast, customizable vulnerability scanner powered by the global security community and built on a simple YAML-based DSL, enabling collaboration to tackle trending vulnerabilities on the internet. It helps you find vulnerabilities in your applications, APIs, networks, DNS, and cloud configurations.
Infisical is the open-source platform for secrets, certificates, and privileged access management.
--- name: backlink-gap description: "Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) โ outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and pre-filled outreach templates. Triggers on \"/digital-marketing-pro:backlink-gap\", \"where are competitors getting links we aren't\", \"plan a link-building campaign\", \"quarterly backlink audit\", \"first 50 link targets for a new client\". Consumes backlink CSV exports from the brand's connected backlink MCP, runs scripts/backlink_gap.py, reads the brand profile for DR thresholds and voice, and hands off to /digital-marketing-pro:digital-pr and /digital-marketing-pro:pr-pitch." argument-hint: "[brand-name]" user-invocable: true ---
# /digital-marketing-pro:backlink-gap
## Purpose
Identify the highest-leverage backlink prospects โ domains that link to multiple competitors but not to you โ and rank them by an opinionated priority score that combines authority, link-overlap signal, downstream traffic, and topical relevance. Produces a numbered output bundle ready for outreach handoff.
## Context efficiency
Heavy skill. **Grep before Read** any referenced file, then `Read` only matched ranges with `offset` + `limit`. List `${CLAUDE_PLUGIN_DATA}/<brand>/` before opening files. On re-invocation mid-session, skip files already in context.
## When to Use
- Quarterly backlink audit โ "where did our competitors grow links this quarter and we didn't?" - Pre-launch link-building plan for a new product or content hub - Digital PR qualification โ separating "would-link-to-anyone" prospects from "high-confidence-will-link-to-our-space" - Competitive recovery โ a competitor displaced you and you want to know which links moved - Onboarding a new client and need a "first 50 link targets" backlog
**Don't use** when you just need backlink *quantity* numbers (use the brand's connected backlink MCP directly) or when you need *anchor-text* analysis of your own profile (that's a separate audit โ covered in `seo-audit`).
## Brand context (auto-applied)
1. Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json` 2. If no brand exists: ask "Set up a brand first (/digital-marketing-pro:brand-setup)?" โ or proceed with defaults 3. Apply `skills/context-engine/industry-profiles.md` for industry-specific link-quality thresholds (YMYL industries should set higher `--min-dr`) 4. Apply `skills/context-engine/compliance-rules.md` to filter out blocked publishers (e.g., PBN-style or paid-link networks the brand has explicitly banned)
## Inputs
| Input | Source | Required? | |---|---|---| | Our backlinks CSV | Export from connected backlink MCP (Ahrefs / Semrush / SE Ranking / Moz) for the brand's primary domain | yes | | Competitor backlinks CSVs (2+) | Same exporter, one per competitor (2 minimum for the link-overlap signal; 3-5 is the sweet spot) | yes | | Min DR / DA filter | CLI flag, brand-profile default, or industry standard | optional | | Top-N count | How many prospects to surface | optional |
**One competitor is allowed** (the script warns rather than errors) but the resulting "shared signal" is noise โ single-competitor gap analysis is really just "who links to them" rather than "who consistently links in our space."
## Process (10 steps, numbered-file output)
All outputs go to `${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{YYYY-MM-DD}/`.
1. **`00-input.md`** โ capture our domain, competitor list (with rationale: why these N?), filter parameters, run timestamp 2. **`01-data-pull.md`** โ pull backlinks for `{brand}.tld` and each competitor via brand's connected backlink MCP. **Budget guard**: if the MCP exposes credit cost, sum estimated cost and ask "Continue? (y/N โ default N)" before fetching when total > 200 credits. 3. **`02-ours.csv`** โ our backlink export (raw) 4. **`03-comp-{competitor}.csv`** โ one CSV per competitor (raw) 5. **`04-gap-run.json`** โ run the script: ```bash python "${CLAUDE_PLUGIN_ROOT}/scripts/backlink_gap.py" \ --ours "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/02-ours.csv" \ --competitors \ "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/03-comp-competitor1.csv" \ "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/03-comp-competitor2.csv" \ --min-dr {brand.profile.min_link_dr or 20} \ --top 100 \ --out "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/04-gap-run.json" ``` `--competitors` takes an explicit space-separated list of CSV paths (`nargs="+"`) โ **enumerate each `03-comp-*.csv` file; the script does not expand a `*` glob**, so a quoted `03-comp-*.csv` would fail with FileNotFoundError. List one path per competitor. 6. **`05-quality-scorecard.md`** โ read `quality_scorecard` from `04-gap-run.json`. If `status: needs_review`, diagnose: - `data_freshness: fail` โ input CSV(s) older than 90 days. Re-pull data; backlink graphs decay fast. - `sample_size: fail` โ any input < 50 unique referring domains. Either the domain is too new or the export was truncated. Re-export with no row limit. - `competitor_coverage: warn` โ only 1 competitor. Add at least 1 more for genuine overlap signal. - `link_overlap_signal: fail` โ fewer than 5 referring domains link to โฅ2 competitors. Either competitors are poorly chosen (they don't share a content space with each other) or the data is incomplete. Re-choose competitors. 7. **`06-prospect-shortlist.md`** โ top 30 prospects, formatted for outreach handoff: domain, DR, link count across competitors, suggested outreach angle (guest post, broken-link, resource-page mention) 8. **`07-broken-link-candidates.md`** โ subset where one or more competitor links return 4xx (run a quick HTTP HEAD pass on competitor backlink URLs โ use the brand's connected web-fetch MCP). These are "easy wins" โ pitch your URL as the replacement. 9. **`08-outreach-templates.md`** โ three template variants: (a) cold-pitch resource-page, (b) broken-link replacement, (c) competitor mention. Each pre-filled with brand voice from the brand profile's voice fields + `skills/context-engine/guidelines-framework.md`. 10. **`PLAN.md`** โ single-page summary: stats + scorecard + top 10 prospects with outreach angle + recommended cadence (3-5 pitches/week for sustainable outreach quality).
## Output format
``` ${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/2026-06-04/ โโโ 00-input.md โโโ 01-data-pull.md โโโ 02-ours.csv โโโ 03-comp-{competitor1}.csv โโโ 03-comp-{competitor2}.csv โโโ ... โโโ 04-gap-run.json โโโ 05-quality-scorecard.md โโโ 06-prospect-shortlist.md โโโ 07-broken-link-candidates.md โโโ 08-outreach-templates.md โโโ PLAN.md ```
## Quality scorecard (the four gates)
| Gate | What it checks | Why it matters | |---|---|---| | **data_freshness** | All input CSVs have mtime within 90 days | Backlink graphs decay fast โ stale data sends you chasing dead links | | **sample_size** | Each input has โฅ 50 unique referring domains | Below this, the gap math has too little signal to rank | | **competitor_coverage** | โฅ 2 competitor CSVs supplied | The "shared signal" is what separates real prospects from noise | | **link_overlap_signal** | โฅ 5 referring domains link to โฅ 2 of the competitors | If no domains shared, your competitors aren't actually competing in the same content space |
`status: ready` requires all four gates pass (`competitor_coverage: warn` does not block โ it's a soft signal).
## Priority score (0โ1, displayed in 04-gap-run.json)
``` priority = 0.40 ร DR_normalised + 0.25 ร link_count_normalised (how many competitors this domain links to) + 0.20 ร traffic_normalised + 0.15 ร topical_relevance ```
**Why link_count is weighted higher than traffic:** a domain that links to 3/3 competitors is unambiguously in your space and willing to link. A high-traffic domain that only links to 1 might just be a tier-1 publisher who happens to have covered one of you in passing.
## Chain handoffs
This skill is a producer in a longer chain:
1. `/digital-marketing-pro:competitor-analysis` โ picks the right competitors 2. **`/digital-marketing-pro:backlink-gap`** โ *this skill* 3. `/digital-marketing-pro:digital-pr` โ consumes `06-prospect-shortlist.md` + `08-outreach-templates.md` 4. `/digital-marketing-pro:pr-pitch` โ drafts individual pitches per prospect 5. `/digital-marketing-pro:performance-report` โ quarterly re-runs of this skill feed the "links gained" KPI
## Tips & caveats
- **More competitors โ better.** Three to five focused competitors beats ten random ones. The "shared signal" gate works best when all competitors are in the same content space. - **DR/DA from different exporters aren't comparable.** Don't mix an Ahrefs export with a Moz export โ the script doesn't know to normalise across exporters. Pick one provider per audit. - **Topical relevance is the weakest signal in most exports** because few exporters provide it well. The script defaults to 0.5 if absent, which is the right neutral. Override only if you have a curated topical-relevance score. - **Don't outreach 100 prospects in one week.** The output is a backlog, not a queue. Sustainable cadence: 3-5 highly personalised pitches per week per outreach lead. - **Broken-link candidates tend to have the highest hit rate** (broken-link replacement pitches typically out-reply cold pitches by a wide margin โ the "30-60% vs 5-15%" figures are an illustrative rule of thumb, not measured; validate against your own outreach data) โ always work the `07-broken-link-candidates.md` list first. - **Re-run quarterly,** not monthly. Backlink data moves slowly enough that monthly runs mostly produce noise. - **YMYL industries** (health, finance, legal) should set `--min-dr 40` to filter out low-authority publishers that could damage E-E-A-T.
## Agents used
- `seo-specialist` (primary) โ interpretation of prospect quality - `competitive-intel` โ competitor-set selection rationale (Step 1) - `pr-outreach` โ outreach template drafting (Step 8) - `brand-guardian` โ banned-publisher filter at Step 6
## See also
- `/digital-marketing-pro:competitor-analysis` โ pick the competitors for this audit - `/digital-marketing-pro:digital-pr` โ runs the actual outreach - `/digital-marketing-pro:seo-drift` โ re-run quarterly to track delta - `/digital-marketing-pro:seo-audit` โ broader site-level audit including own-profile health - `scripts/backlink_gap.py` โ the underlying gap engine
Source provenance
Decision snapshot
787 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for backlink-gap, ready for a manual X post.
backlink-gap: Find referring domains that link to your competitors but not to you, ranked by an outreach-pr... 787 stars https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=x
Listing + install path for backlink-gap: https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=x Install: npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to indranilbanerjee but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap/audit)
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)indranilbanerjee
@indranilbanerjee
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
Wazuh
Wazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.
16.3K StarsMaigret
๐ต๏ธโโ๏ธ Collect a dossier on a person by username from 3000+ sites
32.9K StarsNuclei
Nuclei is a fast, customizable vulnerability scanner powered by the global security community and built on a simple YAML-based DSL, enabling collaboration to tackle trending vulnerabilities on the internet. It helps you find vulnerabilities in your applications, APIs, networks, DNS, and cloud configurations.
29.2K StarsInfisical
Infisical is the open-source platform for secrets, certificates, and privileged access management.
27.4K StarsSandbox only
Install targets
Codex install prompt
Install the "backlink-gap" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/backlink-gap. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) โ outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and pre-filled outreach templates. Triggers on \"/digital-marketing-pro:backlink-gap\", \"where are competitors getting links we aren't\", \"plan a link-building campaign\", \"quarterly backlink audit\", \"first 50 link targets for a new client\". Consumes backlink CSV exports from the brand's connected backlink MCP, runs scripts/backlink_gap.py, reads the brand profile for DR thresholds and voice, and hands off to /digital-marketing-pro:digital-pr and /digital-marketing-pro:pr-pitch. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"indranilbanerjee-backlink-gap","task":"Install backlink-gap","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Market data, SEC filings, portfolio analysis, quant research, backtesting, and risk workflows.
Scenario
Finance and quant
I need my agent to analyze markets, financial data, filings, portfolios, and quant strategies.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Maintenance
fresh
20d since push
Risk
Needs review
Permission surface may require sandboxing
GitHub quality
787
76/100 Quality ยท 78/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing ยท Financial research output is not financial advice; require human review before any live investment decision
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
787 GitHub stars
Repo activity
787 stars, 132 forks
Maintenance
20d since push
License
MIT
Install
npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gapDo not use when
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20backlink-gap%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20backlink-gap%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/indranilbanerjee-backlink-gap/install
Agent should check
Copy prompt
Task: Use backlink-gap in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20backlink-gap%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/indranilbanerjee-backlink-gap/install
Install command: npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/indranilbanerjee-backlink-gap/install
LLM text format
/api/skills/indranilbanerjee-backlink-gap/install?format=text
Find alternatives
/api/skills/search?q=backlink-gap&limit=3
Agent prompt
Use backlink-gap for this task. Review https://www.openagentskill.com/api/skills/indranilbanerjee-backlink-gap/install, then install with: npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gapRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/indranilbanerjee-backlink-gap
LLM text
/api/registry/manifest/indranilbanerjee-backlink-gap?format=text
Install alias
/api/registry/install/indranilbanerjee-backlink-gap
Recommend
/api/registry/recommend?task=Use%20backlink-gap%20in%20an%20agent%20workflow&limit=3
Agent fit
Research agents
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Research agents
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO787 GitHub stars
Stars/forks activity
INFO787 stars, 132 forks; issue activity unavailable in current metadata
Recent maintenance
PASS20d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Analyze markets
I need my agent to analyze markets, financial data, filings, portfolios, and quant strategies.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Workflow fit
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Alternative shortlist
Similar skills that may fit this task.
Wazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.
๐ต๏ธโโ๏ธ Collect a dossier on a person by username from 3000+ sites
Nuclei is a fast, customizable vulnerability scanner powered by the global security community and built on a simple YAML-based DSL, enabling collaboration to tackle trending vulnerabilities on the internet. It helps you find vulnerabilities in your applications, APIs, networks, DNS, and cloud configurations.
Infisical is the open-source platform for secrets, certificates, and privileged access management.
--- name: backlink-gap description: "Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) โ outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and pre-filled outreach templates. Triggers on \"/digital-marketing-pro:backlink-gap\", \"where are competitors getting links we aren't\", \"plan a link-building campaign\", \"quarterly backlink audit\", \"first 50 link targets for a new client\". Consumes backlink CSV exports from the brand's connected backlink MCP, runs scripts/backlink_gap.py, reads the brand profile for DR thresholds and voice, and hands off to /digital-marketing-pro:digital-pr and /digital-marketing-pro:pr-pitch." argument-hint: "[brand-name]" user-invocable: true ---
# /digital-marketing-pro:backlink-gap
## Purpose
Identify the highest-leverage backlink prospects โ domains that link to multiple competitors but not to you โ and rank them by an opinionated priority score that combines authority, link-overlap signal, downstream traffic, and topical relevance. Produces a numbered output bundle ready for outreach handoff.
## Context efficiency
Heavy skill. **Grep before Read** any referenced file, then `Read` only matched ranges with `offset` + `limit`. List `${CLAUDE_PLUGIN_DATA}/<brand>/` before opening files. On re-invocation mid-session, skip files already in context.
## When to Use
- Quarterly backlink audit โ "where did our competitors grow links this quarter and we didn't?" - Pre-launch link-building plan for a new product or content hub - Digital PR qualification โ separating "would-link-to-anyone" prospects from "high-confidence-will-link-to-our-space" - Competitive recovery โ a competitor displaced you and you want to know which links moved - Onboarding a new client and need a "first 50 link targets" backlog
**Don't use** when you just need backlink *quantity* numbers (use the brand's connected backlink MCP directly) or when you need *anchor-text* analysis of your own profile (that's a separate audit โ covered in `seo-audit`).
## Brand context (auto-applied)
1. Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json` 2. If no brand exists: ask "Set up a brand first (/digital-marketing-pro:brand-setup)?" โ or proceed with defaults 3. Apply `skills/context-engine/industry-profiles.md` for industry-specific link-quality thresholds (YMYL industries should set higher `--min-dr`) 4. Apply `skills/context-engine/compliance-rules.md` to filter out blocked publishers (e.g., PBN-style or paid-link networks the brand has explicitly banned)
## Inputs
| Input | Source | Required? | |---|---|---| | Our backlinks CSV | Export from connected backlink MCP (Ahrefs / Semrush / SE Ranking / Moz) for the brand's primary domain | yes | | Competitor backlinks CSVs (2+) | Same exporter, one per competitor (2 minimum for the link-overlap signal; 3-5 is the sweet spot) | yes | | Min DR / DA filter | CLI flag, brand-profile default, or industry standard | optional | | Top-N count | How many prospects to surface | optional |
**One competitor is allowed** (the script warns rather than errors) but the resulting "shared signal" is noise โ single-competitor gap analysis is really just "who links to them" rather than "who consistently links in our space."
## Process (10 steps, numbered-file output)
All outputs go to `${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{YYYY-MM-DD}/`.
1. **`00-input.md`** โ capture our domain, competitor list (with rationale: why these N?), filter parameters, run timestamp 2. **`01-data-pull.md`** โ pull backlinks for `{brand}.tld` and each competitor via brand's connected backlink MCP. **Budget guard**: if the MCP exposes credit cost, sum estimated cost and ask "Continue? (y/N โ default N)" before fetching when total > 200 credits. 3. **`02-ours.csv`** โ our backlink export (raw) 4. **`03-comp-{competitor}.csv`** โ one CSV per competitor (raw) 5. **`04-gap-run.json`** โ run the script: ```bash python "${CLAUDE_PLUGIN_ROOT}/scripts/backlink_gap.py" \ --ours "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/02-ours.csv" \ --competitors \ "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/03-comp-competitor1.csv" \ "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/03-comp-competitor2.csv" \ --min-dr {brand.profile.min_link_dr or 20} \ --top 100 \ --out "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/04-gap-run.json" ``` `--competitors` takes an explicit space-separated list of CSV paths (`nargs="+"`) โ **enumerate each `03-comp-*.csv` file; the script does not expand a `*` glob**, so a quoted `03-comp-*.csv` would fail with FileNotFoundError. List one path per competitor. 6. **`05-quality-scorecard.md`** โ read `quality_scorecard` from `04-gap-run.json`. If `status: needs_review`, diagnose: - `data_freshness: fail` โ input CSV(s) older than 90 days. Re-pull data; backlink graphs decay fast. - `sample_size: fail` โ any input < 50 unique referring domains. Either the domain is too new or the export was truncated. Re-export with no row limit. - `competitor_coverage: warn` โ only 1 competitor. Add at least 1 more for genuine overlap signal. - `link_overlap_signal: fail` โ fewer than 5 referring domains link to โฅ2 competitors. Either competitors are poorly chosen (they don't share a content space with each other) or the data is incomplete. Re-choose competitors. 7. **`06-prospect-shortlist.md`** โ top 30 prospects, formatted for outreach handoff: domain, DR, link count across competitors, suggested outreach angle (guest post, broken-link, resource-page mention) 8. **`07-broken-link-candidates.md`** โ subset where one or more competitor links return 4xx (run a quick HTTP HEAD pass on competitor backlink URLs โ use the brand's connected web-fetch MCP). These are "easy wins" โ pitch your URL as the replacement. 9. **`08-outreach-templates.md`** โ three template variants: (a) cold-pitch resource-page, (b) broken-link replacement, (c) competitor mention. Each pre-filled with brand voice from the brand profile's voice fields + `skills/context-engine/guidelines-framework.md`. 10. **`PLAN.md`** โ single-page summary: stats + scorecard + top 10 prospects with outreach angle + recommended cadence (3-5 pitches/week for sustainable outreach quality).
## Output format
``` ${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/2026-06-04/ โโโ 00-input.md โโโ 01-data-pull.md โโโ 02-ours.csv โโโ 03-comp-{competitor1}.csv โโโ 03-comp-{competitor2}.csv โโโ ... โโโ 04-gap-run.json โโโ 05-quality-scorecard.md โโโ 06-prospect-shortlist.md โโโ 07-broken-link-candidates.md โโโ 08-outreach-templates.md โโโ PLAN.md ```
## Quality scorecard (the four gates)
| Gate | What it checks | Why it matters | |---|---|---| | **data_freshness** | All input CSVs have mtime within 90 days | Backlink graphs decay fast โ stale data sends you chasing dead links | | **sample_size** | Each input has โฅ 50 unique referring domains | Below this, the gap math has too little signal to rank | | **competitor_coverage** | โฅ 2 competitor CSVs supplied | The "shared signal" is what separates real prospects from noise | | **link_overlap_signal** | โฅ 5 referring domains link to โฅ 2 of the competitors | If no domains shared, your competitors aren't actually competing in the same content space |
`status: ready` requires all four gates pass (`competitor_coverage: warn` does not block โ it's a soft signal).
## Priority score (0โ1, displayed in 04-gap-run.json)
``` priority = 0.40 ร DR_normalised + 0.25 ร link_count_normalised (how many competitors this domain links to) + 0.20 ร traffic_normalised + 0.15 ร topical_relevance ```
**Why link_count is weighted higher than traffic:** a domain that links to 3/3 competitors is unambiguously in your space and willing to link. A high-traffic domain that only links to 1 might just be a tier-1 publisher who happens to have covered one of you in passing.
## Chain handoffs
This skill is a producer in a longer chain:
1. `/digital-marketing-pro:competitor-analysis` โ picks the right competitors 2. **`/digital-marketing-pro:backlink-gap`** โ *this skill* 3. `/digital-marketing-pro:digital-pr` โ consumes `06-prospect-shortlist.md` + `08-outreach-templates.md` 4. `/digital-marketing-pro:pr-pitch` โ drafts individual pitches per prospect 5. `/digital-marketing-pro:performance-report` โ quarterly re-runs of this skill feed the "links gained" KPI
## Tips & caveats
- **More competitors โ better.** Three to five focused competitors beats ten random ones. The "shared signal" gate works best when all competitors are in the same content space. - **DR/DA from different exporters aren't comparable.** Don't mix an Ahrefs export with a Moz export โ the script doesn't know to normalise across exporters. Pick one provider per audit. - **Topical relevance is the weakest signal in most exports** because few exporters provide it well. The script defaults to 0.5 if absent, which is the right neutral. Override only if you have a curated topical-relevance score. - **Don't outreach 100 prospects in one week.** The output is a backlog, not a queue. Sustainable cadence: 3-5 highly personalised pitches per week per outreach lead. - **Broken-link candidates tend to have the highest hit rate** (broken-link replacement pitches typically out-reply cold pitches by a wide margin โ the "30-60% vs 5-15%" figures are an illustrative rule of thumb, not measured; validate against your own outreach data) โ always work the `07-broken-link-candidates.md` list first. - **Re-run quarterly,** not monthly. Backlink data moves slowly enough that monthly runs mostly produce noise. - **YMYL industries** (health, finance, legal) should set `--min-dr 40` to filter out low-authority publishers that could damage E-E-A-T.
## Agents used
- `seo-specialist` (primary) โ interpretation of prospect quality - `competitive-intel` โ competitor-set selection rationale (Step 1) - `pr-outreach` โ outreach template drafting (Step 8) - `brand-guardian` โ banned-publisher filter at Step 6
## See also
- `/digital-marketing-pro:competitor-analysis` โ pick the competitors for this audit - `/digital-marketing-pro:digital-pr` โ runs the actual outreach - `/digital-marketing-pro:seo-drift` โ re-run quarterly to track delta - `/digital-marketing-pro:seo-audit` โ broader site-level audit including own-profile health - `scripts/backlink_gap.py` โ the underlying gap engine
Source provenance
Decision snapshot
787 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for backlink-gap, ready for a manual X post.
backlink-gap: Find referring domains that link to your competitors but not to you, ranked by an outreach-pr... 787 stars https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=x
Listing + install path for backlink-gap: https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=x Install: npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to indranilbanerjee but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap/audit)
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)indranilbanerjee
@indranilbanerjee
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
Wazuh
Wazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.
16.3K StarsMaigret
๐ต๏ธโโ๏ธ Collect a dossier on a person by username from 3000+ sites
32.9K StarsNuclei
Nuclei is a fast, customizable vulnerability scanner powered by the global security community and built on a simple YAML-based DSL, enabling collaboration to tackle trending vulnerabilities on the internet. It helps you find vulnerabilities in your applications, APIs, networks, DNS, and cloud configurations.
29.2K StarsInfisical
Infisical is the open-source platform for secrets, certificates, and privileged access management.
27.4K StarsSandbox only
Install targets
Codex install prompt
Install the "backlink-gap" agent skill from https://github.com/indranilbanerjee/digital-marketing-pro/tree/main/skills/backlink-gap. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) โ outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and pre-filled outreach templates. Triggers on \"/digital-marketing-pro:backlink-gap\", \"where are competitors getting links we aren't\", \"plan a link-building campaign\", \"quarterly backlink audit\", \"first 50 link targets for a new client\". Consumes backlink CSV exports from the brand's connected backlink MCP, runs scripts/backlink_gap.py, reads the brand profile for DR thresholds and voice, and hands off to /digital-marketing-pro:digital-pr and /digital-marketing-pro:pr-pitch. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"indranilbanerjee-backlink-gap","task":"Install backlink-gap","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Market data, SEC filings, portfolio analysis, quant research, backtesting, and risk workflows.
Scenario
Finance and quant
I need my agent to analyze markets, financial data, filings, portfolios, and quant strategies.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Maintenance
fresh
20d since push
Risk
Needs review
Permission surface may require sandboxing
GitHub quality
787
76/100 Quality ยท 78/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing ยท Financial research output is not financial advice; require human review before any live investment decision
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
787 GitHub stars
Repo activity
787 stars, 132 forks
Maintenance
20d since push
License
MIT
Install
npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gapDo not use when
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20backlink-gap%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20backlink-gap%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/indranilbanerjee-backlink-gap/install
Agent should check
Copy prompt
Task: Use backlink-gap in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20backlink-gap%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/indranilbanerjee-backlink-gap/install
Install command: npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/indranilbanerjee-backlink-gap/install
LLM text format
/api/skills/indranilbanerjee-backlink-gap/install?format=text
Find alternatives
/api/skills/search?q=backlink-gap&limit=3
Agent prompt
Use backlink-gap for this task. Review https://www.openagentskill.com/api/skills/indranilbanerjee-backlink-gap/install, then install with: npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gapRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/indranilbanerjee-backlink-gap
LLM text
/api/registry/manifest/indranilbanerjee-backlink-gap?format=text
Install alias
/api/registry/install/indranilbanerjee-backlink-gap
Recommend
/api/registry/recommend?task=Use%20backlink-gap%20in%20an%20agent%20workflow&limit=3
Agent fit
Research agents
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Research agents
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO787 GitHub stars
Stars/forks activity
INFO787 stars, 132 forks; issue activity unavailable in current metadata
Recent maintenance
PASS20d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Analyze markets
I need my agent to analyze markets, financial data, filings, portfolios, and quant strategies.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Workflow fit
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Alternative shortlist
Similar skills that may fit this task.
Wazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.
๐ต๏ธโโ๏ธ Collect a dossier on a person by username from 3000+ sites
Nuclei is a fast, customizable vulnerability scanner powered by the global security community and built on a simple YAML-based DSL, enabling collaboration to tackle trending vulnerabilities on the internet. It helps you find vulnerabilities in your applications, APIs, networks, DNS, and cloud configurations.
Infisical is the open-source platform for secrets, certificates, and privileged access management.
--- name: backlink-gap description: "Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) โ outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and pre-filled outreach templates. Triggers on \"/digital-marketing-pro:backlink-gap\", \"where are competitors getting links we aren't\", \"plan a link-building campaign\", \"quarterly backlink audit\", \"first 50 link targets for a new client\". Consumes backlink CSV exports from the brand's connected backlink MCP, runs scripts/backlink_gap.py, reads the brand profile for DR thresholds and voice, and hands off to /digital-marketing-pro:digital-pr and /digital-marketing-pro:pr-pitch." argument-hint: "[brand-name]" user-invocable: true ---
# /digital-marketing-pro:backlink-gap
## Purpose
Identify the highest-leverage backlink prospects โ domains that link to multiple competitors but not to you โ and rank them by an opinionated priority score that combines authority, link-overlap signal, downstream traffic, and topical relevance. Produces a numbered output bundle ready for outreach handoff.
## Context efficiency
Heavy skill. **Grep before Read** any referenced file, then `Read` only matched ranges with `offset` + `limit`. List `${CLAUDE_PLUGIN_DATA}/<brand>/` before opening files. On re-invocation mid-session, skip files already in context.
## When to Use
- Quarterly backlink audit โ "where did our competitors grow links this quarter and we didn't?" - Pre-launch link-building plan for a new product or content hub - Digital PR qualification โ separating "would-link-to-anyone" prospects from "high-confidence-will-link-to-our-space" - Competitive recovery โ a competitor displaced you and you want to know which links moved - Onboarding a new client and need a "first 50 link targets" backlog
**Don't use** when you just need backlink *quantity* numbers (use the brand's connected backlink MCP directly) or when you need *anchor-text* analysis of your own profile (that's a separate audit โ covered in `seo-audit`).
## Brand context (auto-applied)
1. Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json` 2. If no brand exists: ask "Set up a brand first (/digital-marketing-pro:brand-setup)?" โ or proceed with defaults 3. Apply `skills/context-engine/industry-profiles.md` for industry-specific link-quality thresholds (YMYL industries should set higher `--min-dr`) 4. Apply `skills/context-engine/compliance-rules.md` to filter out blocked publishers (e.g., PBN-style or paid-link networks the brand has explicitly banned)
## Inputs
| Input | Source | Required? | |---|---|---| | Our backlinks CSV | Export from connected backlink MCP (Ahrefs / Semrush / SE Ranking / Moz) for the brand's primary domain | yes | | Competitor backlinks CSVs (2+) | Same exporter, one per competitor (2 minimum for the link-overlap signal; 3-5 is the sweet spot) | yes | | Min DR / DA filter | CLI flag, brand-profile default, or industry standard | optional | | Top-N count | How many prospects to surface | optional |
**One competitor is allowed** (the script warns rather than errors) but the resulting "shared signal" is noise โ single-competitor gap analysis is really just "who links to them" rather than "who consistently links in our space."
## Process (10 steps, numbered-file output)
All outputs go to `${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{YYYY-MM-DD}/`.
1. **`00-input.md`** โ capture our domain, competitor list (with rationale: why these N?), filter parameters, run timestamp 2. **`01-data-pull.md`** โ pull backlinks for `{brand}.tld` and each competitor via brand's connected backlink MCP. **Budget guard**: if the MCP exposes credit cost, sum estimated cost and ask "Continue? (y/N โ default N)" before fetching when total > 200 credits. 3. **`02-ours.csv`** โ our backlink export (raw) 4. **`03-comp-{competitor}.csv`** โ one CSV per competitor (raw) 5. **`04-gap-run.json`** โ run the script: ```bash python "${CLAUDE_PLUGIN_ROOT}/scripts/backlink_gap.py" \ --ours "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/02-ours.csv" \ --competitors \ "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/03-comp-competitor1.csv" \ "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/03-comp-competitor2.csv" \ --min-dr {brand.profile.min_link_dr or 20} \ --top 100 \ --out "${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/{date}/04-gap-run.json" ``` `--competitors` takes an explicit space-separated list of CSV paths (`nargs="+"`) โ **enumerate each `03-comp-*.csv` file; the script does not expand a `*` glob**, so a quoted `03-comp-*.csv` would fail with FileNotFoundError. List one path per competitor. 6. **`05-quality-scorecard.md`** โ read `quality_scorecard` from `04-gap-run.json`. If `status: needs_review`, diagnose: - `data_freshness: fail` โ input CSV(s) older than 90 days. Re-pull data; backlink graphs decay fast. - `sample_size: fail` โ any input < 50 unique referring domains. Either the domain is too new or the export was truncated. Re-export with no row limit. - `competitor_coverage: warn` โ only 1 competitor. Add at least 1 more for genuine overlap signal. - `link_overlap_signal: fail` โ fewer than 5 referring domains link to โฅ2 competitors. Either competitors are poorly chosen (they don't share a content space with each other) or the data is incomplete. Re-choose competitors. 7. **`06-prospect-shortlist.md`** โ top 30 prospects, formatted for outreach handoff: domain, DR, link count across competitors, suggested outreach angle (guest post, broken-link, resource-page mention) 8. **`07-broken-link-candidates.md`** โ subset where one or more competitor links return 4xx (run a quick HTTP HEAD pass on competitor backlink URLs โ use the brand's connected web-fetch MCP). These are "easy wins" โ pitch your URL as the replacement. 9. **`08-outreach-templates.md`** โ three template variants: (a) cold-pitch resource-page, (b) broken-link replacement, (c) competitor mention. Each pre-filled with brand voice from the brand profile's voice fields + `skills/context-engine/guidelines-framework.md`. 10. **`PLAN.md`** โ single-page summary: stats + scorecard + top 10 prospects with outreach angle + recommended cadence (3-5 pitches/week for sustainable outreach quality).
## Output format
``` ${CLAUDE_PLUGIN_DATA}/{brand}/seo/backlink-gap/2026-06-04/ โโโ 00-input.md โโโ 01-data-pull.md โโโ 02-ours.csv โโโ 03-comp-{competitor1}.csv โโโ 03-comp-{competitor2}.csv โโโ ... โโโ 04-gap-run.json โโโ 05-quality-scorecard.md โโโ 06-prospect-shortlist.md โโโ 07-broken-link-candidates.md โโโ 08-outreach-templates.md โโโ PLAN.md ```
## Quality scorecard (the four gates)
| Gate | What it checks | Why it matters | |---|---|---| | **data_freshness** | All input CSVs have mtime within 90 days | Backlink graphs decay fast โ stale data sends you chasing dead links | | **sample_size** | Each input has โฅ 50 unique referring domains | Below this, the gap math has too little signal to rank | | **competitor_coverage** | โฅ 2 competitor CSVs supplied | The "shared signal" is what separates real prospects from noise | | **link_overlap_signal** | โฅ 5 referring domains link to โฅ 2 of the competitors | If no domains shared, your competitors aren't actually competing in the same content space |
`status: ready` requires all four gates pass (`competitor_coverage: warn` does not block โ it's a soft signal).
## Priority score (0โ1, displayed in 04-gap-run.json)
``` priority = 0.40 ร DR_normalised + 0.25 ร link_count_normalised (how many competitors this domain links to) + 0.20 ร traffic_normalised + 0.15 ร topical_relevance ```
**Why link_count is weighted higher than traffic:** a domain that links to 3/3 competitors is unambiguously in your space and willing to link. A high-traffic domain that only links to 1 might just be a tier-1 publisher who happens to have covered one of you in passing.
## Chain handoffs
This skill is a producer in a longer chain:
1. `/digital-marketing-pro:competitor-analysis` โ picks the right competitors 2. **`/digital-marketing-pro:backlink-gap`** โ *this skill* 3. `/digital-marketing-pro:digital-pr` โ consumes `06-prospect-shortlist.md` + `08-outreach-templates.md` 4. `/digital-marketing-pro:pr-pitch` โ drafts individual pitches per prospect 5. `/digital-marketing-pro:performance-report` โ quarterly re-runs of this skill feed the "links gained" KPI
## Tips & caveats
- **More competitors โ better.** Three to five focused competitors beats ten random ones. The "shared signal" gate works best when all competitors are in the same content space. - **DR/DA from different exporters aren't comparable.** Don't mix an Ahrefs export with a Moz export โ the script doesn't know to normalise across exporters. Pick one provider per audit. - **Topical relevance is the weakest signal in most exports** because few exporters provide it well. The script defaults to 0.5 if absent, which is the right neutral. Override only if you have a curated topical-relevance score. - **Don't outreach 100 prospects in one week.** The output is a backlog, not a queue. Sustainable cadence: 3-5 highly personalised pitches per week per outreach lead. - **Broken-link candidates tend to have the highest hit rate** (broken-link replacement pitches typically out-reply cold pitches by a wide margin โ the "30-60% vs 5-15%" figures are an illustrative rule of thumb, not measured; validate against your own outreach data) โ always work the `07-broken-link-candidates.md` list first. - **Re-run quarterly,** not monthly. Backlink data moves slowly enough that monthly runs mostly produce noise. - **YMYL industries** (health, finance, legal) should set `--min-dr 40` to filter out low-authority publishers that could damage E-E-A-T.
## Agents used
- `seo-specialist` (primary) โ interpretation of prospect quality - `competitive-intel` โ competitor-set selection rationale (Step 1) - `pr-outreach` โ outreach template drafting (Step 8) - `brand-guardian` โ banned-publisher filter at Step 6
## See also
- `/digital-marketing-pro:competitor-analysis` โ pick the competitors for this audit - `/digital-marketing-pro:digital-pr` โ runs the actual outreach - `/digital-marketing-pro:seo-drift` โ re-run quarterly to track delta - `/digital-marketing-pro:seo-audit` โ broader site-level audit including own-profile health - `scripts/backlink_gap.py` โ the underlying gap engine
Source provenance
Decision snapshot
787 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for backlink-gap, ready for a manual X post.
backlink-gap: Find referring domains that link to your competitors but not to you, ranked by an outreach-pr... 787 stars https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=x
Listing + install path for backlink-gap: https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=x Install: npx skills add indranilbanerjee/digital-marketing-pro --skill backlink-gap
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to indranilbanerjee but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap/audit)
[](https://www.openagentskill.com/skills/indranilbanerjee-backlink-gap?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)indranilbanerjee
@indranilbanerjee
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
Wazuh
Wazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.
16.3K StarsMaigret
๐ต๏ธโโ๏ธ Collect a dossier on a person by username from 3000+ sites
32.9K StarsNuclei
Nuclei is a fast, customizable vulnerability scanner powered by the global security community and built on a simple YAML-based DSL, enabling collaboration to tackle trending vulnerabilities on the internet. It helps you find vulnerabilities in your applications, APIs, networks, DNS, and cloud configurations.
29.2K StarsInfisical
Infisical is the open-source platform for secrets, certificates, and privileged access management.
27.4K StarsPermission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Usable metadata, review docs
Risk summary
Install readiness
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Usable metadata, review docs
Risk summary
Install readiness
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Usable metadata, review docs
Risk summary
Install readiness
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Usable metadata, review docs
Risk summary
Install readiness