Skip to content
Marketing
Skill

/peec-outreach

Turns Peec AI's get_actions recommendations + forum/UGC discovery into a prioritized outreach pipeline with pitch templates, contact extraction, status tracking, and success measurement. Goes beyond "here is a list of domains" — produces ready-to-send pitches, covers Reddit /

From plugin
peec-ai-skills
109 skills1 hook

Claude Code

$ npx -y skills add AntonioBlago/peec-ai-skills --skill peec-outreach --agent claude-code

SKILL.md

peec-outreach.SKILL.md
name: peec-outreach
description: Turns Peec AI's get_actions recommendations + forum/UGC discovery into a prioritized outreach pipeline with pitch templates, contact extraction, status tracking, and success measurement. Goes beyond "here is a list of domains" — produces ready-to-send pitches, covers Reddit / Gutefrage / editorial / owned quadrants, and tracks citation gains week over week. Use when a Peec project has active competitor gaps and needs systematic off-site work, not just content production.
user-invocable: true

Citation Outreach

Role

Writing new content isn't enough — most AI-visibility lift comes from citations on domains LLMs already crawl. This skill turns `get_actions` plus forum discovery into a **prioritized outreach pipeline** with concrete, target-specific pitches, a tracker, and a citation-gain measurement after 4 weeks.

Input

  • `project_id` — Peec project
  • optional `scope` — `editorial` | `ugc` | `reference` | `owned` | `all` (default `all`)
  • optional `weekly_cap` — max pitches per week (default 5)
  • optional `own_asset_url` — an own URL to actively pitch (case study, pillar, tool)

Output

  • One outreach tracker at `<project>/outreach/YYYY-Wkk_outreach_log.md` (schema below)
  • One ready-to-send pitch per queued target, filled with concrete quote + concrete offer
  • After 4 weeks: one attribution summary feeding into `peec-report`

When to use

  • After `@peec-setup` Phase 8 or `@peec-content-intel` Phase 6 — when the opportunity list is in
  • Weekly ritual: 3–5 quality pitches to stay independent of Google
  • Whenever Peec `get_actions` surfaces high-opportunity `editorial` / `ugc` / `reference` rows

Do not use when:

  • No opportunity list from Peec (run `get_actions` first)
  • Brand has no reference page / case study to pitch yet (run `content-write` first)

---

Pipeline

0. Pre-flight — setup state required

Per [`_shared/SETUP_STATE.md`](../_shared/SETUP_STATE.md), this skill refuses to run without a completed setup:

Read <project>/growth_loop/setup_state.json
If missing OR completed_at missing OR phases_completed lacks
   {competitors, prompts, topics, tags}:
     STOP. Output:
       "No Peec setup state found at <project>/growth_loop/setup_state.json.
        Run /peec-setup first."
If completed_at older than 90 days: WARN once, continue.
Use peec_project_id from state — don't re-resolve via list_projects.

1. Aggregate opportunity sources

mcp__peec-ai__get_actions(project_id, scope="overview",  start_date, end_date)
mcp__peec-ai__get_actions(project_id, scope="editorial", start_date, end_date)
mcp__peec-ai__get_actions(project_id, scope="ugc", domain="reddit.com",  start_date, end_date)
mcp__peec-ai__get_actions(project_id, scope="ugc", domain="youtube.com", start_date, end_date)

mcp__peec-ai__get_domain_report(
  project_id, start_date, end_date,
  filters=[{field: "gap", operator: "gt", value: 0}],
  limit=40
)

Merge into one candidate table: `target_url | domain | type | opportunity_score | retrieval_% | citation_rate | mentioned_brand_ids`

2. Sort into 4 quadrants

         │  High impact     │  Low impact
─────────┼──────────────────┼──────────────────
Easy ask │  QUICK WINS      │  SNACKABLE
         │  (pitch now)     │  (when time allows)
─────────┼──────────────────┼──────────────────
Hard ask │  STRATEGIC       │  DROP
         │  (build relation)│
  • **Impact** = `opportunity_score × retrieval_%`
  • **Difficulty**:
  • `easy` = reddit thread (just post), Gutefrage, OMR forum
  • `medium` = editorial blog (email), LinkedIn author
  • `hard` = major publication, closed community

3. Extract contact per target

| Target type | Contact source | |---|---| | Editorial blog | `WebFetch(url)` → author box / LinkedIn / contact page | | Reddit thread | OP username visible in `mcp__peec-ai__get_url_content` output | | YouTube | channel URL from `channel_title` → `/about` page | | Gutefrage | no direct contact (post the answer directly) | | LinkedIn Pulse | author profile in URL path |

Produce: `target_url | target_type | contact_method | contact_handle | language | topic_focus`

4. Pick pitch template

**Write in the target's language.** The templates below are structural — fill them in the language of the target URL.

Editorial inclusion pitch

Subject: Expert quote for your article on <topic> — <1-line angle>

Hi <author>,

I came across your article "<title>" while researching <concrete tie-in>.
One section could use an added angle from my practice: <concrete section>.

I've worked <N> years as <role> with <specialization>. In a recent
<project context>, I observed <concrete number / finding>.

Would a 2–3 sentence expert quote or a short sidebar with my take work?
I can deliver copy + name + headshot within 48 hours.

<signature with own domain + 1 reference URL>

**Rule:** quote the concrete section, offer a concrete addition. No generic "happy to collaborate".

Reddit thread answer

Not a pitch — a direct, substantive answer to the OP (150–300 words). Rules:

1. First 2 sentences answer the question directly — no preamble 2. Middle: one concrete method / number / example from own practice 3. Optionally end with one own source — only if it completes the answer, never as CTA 4. Match the OP's language exactly 5. Use a personal account, never a brand account (reddit policy)

Gutefrage / forum answer

Same shape as Reddit, 100–200 words. Forum users prefer compact answers.

YouTube comment + follow-up

1. Substantive comment under the video (300–500 chars, question + addition) 2. After 48h without response: email to the channel owner referencing 3 of your own videos / posts that match the channel theme

5. Fill templates with project context

mcp__peec-ai__get_project(project_id)
# or: mcp__visiblyai__get_project(project_id)
#   → brand_name, USPs, custom_content_prompt, crawl_summary

Per candidate, replace every angle bracket with **speci

Read more
@antonioblago
Ships withpeec-ai-skills

Production-tested Claude Code skills for Peec AI — the brand-visibility tracking platform for LLM-powered search (ChatGPT, Perplexity, Google AI Overviews, Gemini).

Stars on GitHub

Momentum

stars in total
10
Star history of AntonioBlago/peec-ai-skills on GitHub, a chart by star-history.com

Other skills on peec-ai-skills.

peec-agent

peec-agent

Orchestrator for the 5 Peec AI growth skills (peec-setup, peec-content-intel, peec-cluster, peec-outreach, peec-report). Reads…

peec-cluster

peec-cluster

Turns a Peec AI prompt set into strategic content zones — not keyword groups. Groups prompts by buyer intent + funnel stage +…

peec-learn

peec-learn

Cross-project pattern layer for the Peec AI growth loop. After any Peec skill completes (or after peec-report closes a cycle),…

peec-report

peec-report

Weekly / monthly closed-loop reporter for Peec AI visibility growth. Measures what moved (visibility per prompt, cluster, zone)…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about peec-outreach.

Which coding agents can use peec-outreach?
peec-outreach installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.