# Link Opportunities

> >

- **Type:** Skill
- **Install:** `agentstack add skill-siddiqss-semantic-seo-suite-link-opportunities`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [siddiqss](https://agentstack.voostack.com/s/siddiqss)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [siddiqss](https://github.com/siddiqss)
- **Source:** https://github.com/siddiqss/semantic-seo-suite/tree/main/skills/link-opportunities

## Install

```sh
agentstack add skill-siddiqss-semantic-seo-suite-link-opportunities
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# link-opportunities

The authority layer the content engine omits. A perfect map on a zero-authority domain
still loses to funded incumbents — this plans the external links (and the citations that
travel with them) that make ranking possible. It reads the same brand workspace, respects
the tier, and tags every prospect's provenance.

Read first: `../../framework/off-page-authority.md` (plays, anchor rules, the honesty
line), then `../../framework/eeat-signals.md` (why off-site entity consistency matters).

## Preconditions
- `entity-profile.json` (competitors drive the backlink gap) + `topical-map.json`.
- Prospect *discovery* needs `web_search: true` (T1) or `dataforseo: true` (T2). At T0 the
  skill produces the plan, plays, and anchor mix but cannot name real prospects — say so;
  do not invent domains.

## Workflow

1. **Build the plan skeleton (T0, offline).**
   ```
   python ../../scripts/link_prospects.py --map brands//topical-map.json \
     --entity-profile brands//entity-profile.json --brand "" \
     --out brands//outreach/link-plan.md
   ```
   Emits, per node (priority-ordered core→outer): the fitting plays, an off-page anchor
   mix, and a competitor backlink-gap worksheet. Priorities are `derived`; play notes are
   `asserted`.

2. **Discover real prospects.**
   - **T1 (web_search):** for top-priority commercial nodes, search the target query +
     "best/ alternatives/ vs" and record the listicles/reviews that already rank —
     inclusion targets. For each competitor, search their brand + "review / integration /
     alternative" to surface sites already covering the category.
   - **T2 (DataForSEO backlinks):** pull each competitor's referring domains, filter for
     topical relevance, and rank the gap. Authority numbers here are `measured`.
   - Record every prospect with: URL, why-relevant, authority (`measured` **or** left
     blank — never guessed), the node it supports, and the play. Score with
     `link_prospects.py:score_prospect` (unknown authority scores on relevance + link
     type, flagged unknown).

3. **Write the outreach queue** → append to `brands//outreach/link-plan.md`:
   - Ranked prospect table (prospect · node · play · authority[measured|unknown] · angle).
   - Suggested anchor per placement, drawn from the node's anchor examples, honoring the
     mix (keep exact-match ~10%).
   - **No fabricated contacts.** If you can't find a real, published contact, mark it
     "contact: research needed" — do not invent an email.

4. **Feed the loop.**
   - A high-priority node with no realistic prospects → recommend building a *linkable
     asset* for it (free tool / data study), not low-value link spam.
   - Queries where competitors are linked/cited and the brand is absent → shared signal
     with **answer-engine-optimizer**.
   - When a link lands, record the URL on the node; it raises that node in
     **seo-performance-tracker**.

## Definition of done
- `link-plan.md` written: anchor mix, competitor gap worksheet, priority-ordered plays.
- If T1/T2 on: a ranked prospect queue with provenance on every authority value and no
  invented domains or emails. If T0: the plan only, with an explicit note that discovery
  needs web_search/DataForSEO.
- Nothing fabricated — the whole point of doing this inside the suite.

## Grounding ladder
- **T0:** offline plan skeleton, plays, anchor mix, competitor worksheet. Useful alone.
- **T1 (web_search):** + real listicle/review/resource prospects, `measured` + dated.
- **T2 (DataForSEO):** + competitor backlink-gap with `measured` authority numbers.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [siddiqss](https://github.com/siddiqss)
- **Source:** [siddiqss/semantic-seo-suite](https://github.com/siddiqss/semantic-seo-suite)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-siddiqss-semantic-seo-suite-link-opportunities
- Seller: https://agentstack.voostack.com/s/siddiqss
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
