peec-agent
Orchestrator for the 5 Peec AI growth skills (peec-setup, peec-content-intel, peec-cluster, peec-outreach, peec-report). Reads project state and last…
Content-intelligence workflow that turns a Peec AI visibility gap into a publish-ready content brief. Combines Peec (prompt visibility, source URLs, scraped chat responses), Visibly AI (backlinks, onpage, keywords, GSC), and Reddit / forum mining. Uses Query Fan-Out to expand
$ npx -y skills add AntonioBlago/peec-ai-skills --skill peec-content-intel --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/peec-content-intelContext preview
The summary Claude sees to decide when to auto-load this skill.
Content-intelligence workflow that turns a Peec AI visibility gap into a publish-ready content brief. Combines Peec (prompt visibility, source URLs, scraped chat responses), Visibly AI (backlinks, onpage, keywords, GSC), and Reddit / forum mining. Uses Query Fan-Out to expand
name: peec-content-intel description: Content-intelligence workflow that turns a Peec AI visibility gap into a publish-ready content brief. Combines Peec (prompt visibility, source URLs, scraped chat responses), Visibly AI (backlinks, onpage, keywords, GSC), and Reddit / forum mining. Uses Query Fan-Out to expand one prompt into 5–8 sub-queries and scores competitor URLs for attackability. Use when the user wants to find content opportunities, evaluate competitor content, build a content brief from Peec data, or discover what content wins specific AI prompts. user-invocable: true
For one Peec prompt that the brand is losing, produce one publish-ready content brief: sub-queries, verbatim buyer pains, competitor breakdown, outline, focus keywords, and outreach targets.
One markdown brief per prompt, saved at `briefs/<YYYY-MM-DD>_<prompt-slug>/brief.md`, plus the raw data next to it (`competitor-urls.json`, `forum-pains.json`, `scoring.json`). No dashboards.
Every brief starts with a **front-matter block** that downstream skills (`peec-report`, `peec-learn`) consume for attribution:
--- brief_id: <YYYY-MM-DD>_<prompt-slug> prompt_id: pr_xxxxxx business_type: b2b-service page_type: landing_page # MUST be in setup_state.page_type_taxonomy target_url: /seo-retainer # planned publish path funnel_stage: Decision # from the prompt's topic audience: primary: "Shop-Owner DACH, 3-20 MA, Shopify" pain_hook: "3 Agenturen gewechselt, keine Ergebnisse" success_metric_4w: prompt_visibility: "0% → ≥15%" zone_visibility: "4% → ≥20%" ---
A brief without this front-matter block is invalid and will be rejected by `peec-report`.
Do not use when:
---
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.mcp__peec-ai__get_brand_report(
project_id, start_date, end_date,
dimensions=["prompt_id"],
filters=[{field: "prompt_id", operator: "in", values: [prompt_id]}]
)
mcp__peec-ai__get_url_report(
project_id, start_date, end_date,
dimensions=["prompt_id"],
filters=[
{field: "prompt_id", operator: "in", values: [prompt_id]},
{field: "gap", operator: "gt", value: 0}
],
limit=25
)Output: up to 25 URLs, sorted by retrieval frequency, each with a `classification` (LISTICLE / ARTICLE / COMPARISON / HOW_TO_GUIDE / PROFILE / DISCUSSION).
Interpretation:
**Primary path — `mcp__visiblyai__query_fanout`** (Visibly MCP ≥ v0.6.0, ~3–5 credits):
mcp__visiblyai__query_fanout( url="https://<own-or-competitor-domain>/<page>", keyword="<focus_keyword>", data_source="dataforseo", # or "gsc" / "both" gsc_property=null, # required if data_source includes gsc language="de" # or "en" )
Returns: `fanout_queries[]`, `coverage_score` (0–1), `covered_count` / `total_count`, `gaps[]` (sub-queries not addressed on the URL — this is the content backlog), `coverage_details[]`.
Fire once per top gap URL from Phase 1. Replaces sub-query generation + crawling + semantic match in one call.
**Fallback — inline heuristic** (if Visibly MCP unavailable or credits tight):
Generate 6 sub-queries along fixed intent axes: 1. Synonym (same intent, different wording) 2. Decision ("what does it cost", "when to switch") 3. Comparison ("X vs Y") 4. Problem ("why doesn't X work") 5. Long-tail (narrow niche) 6. Forum / community (informal phrasing)
Coverage matching is then skipped — flag that explicitly in the brief
Production-tested Claude Code skills for Peec AI — the brand-visibility tracking platform for LLM-powered search (ChatGPT, Perplexity, Google AI Overviews, Gemini).
Repo: AntonioBlago/peec-ai-skills
Orchestrator for the 5 Peec AI growth skills (peec-setup, peec-content-intel, peec-cluster, peec-outreach, peec-report). Reads project state and last…
Read-only health check for an existing Peec AI project. In one pass produces (1) a setup-quality audit (red flags from the structural setup — wrong…
Turns a Peec AI prompt set into strategic content zones — not keyword groups. Groups prompts by buyer intent + funnel stage + visibility gap + shared demand…
Cross-project pattern layer for the Peec AI growth loop. After any Peec skill completes (or after peec-report closes a cycle), extract 1–3 concrete patterns…
Turns Peec AI's get_actions recommendations + forum/UGC discovery into a prioritized outreach pipeline with pitch templates, contact extraction, status…
Weekly / monthly closed-loop reporter for Peec AI visibility growth. Measures what moved (visibility per prompt, cluster, zone) against what was invested…