skill
peec-ai-skills
Production-tested Claude Code skills for Peec AI brand-visibility tracking in LLM search (ChatGPT, Perplexity, Gemini, Google AI Overviews). Includes ai-visibility-setup (9-phase project configuration
Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/AntonioBlago/peec-ai-skills itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 17, 2026Peec AI Skills for Claude Code
Production-tested Claude Code skills for Peec AI — the brand-visibility tracking platform for LLM-powered search (ChatGPT, Perplexity, Google AI Overviews, Gemini).
These skills turn a freshly-invoked Peec AI project into an operator-ready setup with the right competitors, the right prompts, a proper customer-journey taxonomy, and an actionable content pipeline — using the Peec AI MCP server, Visibly AI (GSC/GA4), and web research.
Quick install (60 seconds)
# 1. Clone + install all 9 skills into ~/.claude/skills/
git clone https://github.com/AntonioBlago/peec-ai-skills.git ~/peec-ai-skills
cd ~/peec-ai-skills
./claude-peec-ai.sh # use --copy on Windows without dev mode
# 2. Connect the Peec AI MCP (OAuth in browser on first tool call)
claude mcp add peec-ai --transport streamable-http https://api.peec.ai/mcp
# 3. Restart Claude Code, then in any directory:
# /peec-start → detects state, dispatches the right skill
That's it. /peec-start reads growth_loop/setup_state.json if present, otherwise probes Peec live and either offers brownfield import or runs greenfield setup. Optional MCPs (Visibly AI, SkillMind) are documented under Prerequisites.
📑 5-minute overview: docs/presentation/peec-ai-skills-deck.pdf — 20-slide pitch + tutorial.
Skill system (8 skills + 1 orchestrator + 1 entry point)
Not a feature list — a closed growth loop with a cross-project memory layer underneath. Every skill has a specific job; the orchestrator (peec-agent) decides which one runs next; peec-learn lifts lessons out of one project into priors for the next.
┌────────────────────────────────────────────────────────┐
│ │
│ ENTER peec-start (manual entry) │
│ hooks/peec-detect.py (auto) │
│ ↓ │
│ UNDERSTAND peec-setup │
│ (prompts, peec-content-intel (demand) │
│ demand, ↓ │
│ taxonomy) │
│ │
│ DIAGNOSE peec-checkup │
│ (read-only (setup health + brand snapshot │
│ health pass) + ranked improvements) │
│ ↓ │
│ ANALYZE peec-cluster │
│ (strategic peec-content-intel (sources) │
│ zones) ↓ │
│ │
│ DECIDE ◄──────── peec-agent (orchestrator) │
│ (one move) calls /peec-checkup first │
│ ↓ │
│ │
│ EXECUTE @content-write (Visibly skill) │
│ (build + peec-outreach │
│ distribute) ↓ │
│ │
│ LEARN peec-report │
│ (attribution, ↓ │
│ next moves) │
│ │
└────────→ feeds back into UNDERSTAND ───────────────────┘
│
▼
┌────────────────────────────────────────────────────────┐
│ CROSS-PROJECT MEMORY peec-learn │
│ (patterns, priors) read: priors for next loop │
│ write: patterns after lift │
└────────────────────────────────────────────────────────┘
| Skill | What it does | Credits | When to trigger |
|---|---|---|---|
peec-start (entry point) | Single-entry slash command. Detects setup_state.json, picks the correct downstream skill (setup / checkup / agent / audit) based on state age + user intent (observational vs action). Pure dispatch — never produces deliverables itself. | free | "Where do I start?", /peec-start |
peec-setup | End-to-end Peec project configuration: competitor discovery from real AI chats, forum pain-mining (Reddit, Gutefrage, t3n, OMR), customer-journey prompt design across Awareness → Consideration → Decision → Retention, and structured topic/tag taxonomy. 9 phases + Phase 0 (full / import / audit / partial / skip). | free | "Set up Peec for [client]", "My Peec competitors are wrong", "Restructure Peec topics" |
peec-checkup | Read-only health pass. One report covering inventory (counts), setup-quality audit (red flags), brand-performance snapshot (visibility per stage / engine, hero prompts winning vs losing, source diversity), and 5–8 priority-ranked improvements. Never writes. Works from day 1 of data. | free | "Wo stehe ich?", "Mein Setup checken", "Verbesserungspotenziale?" |
peec-content-intel | Content-intelligence workflow: Peec gap-URLs → Query Fan-Out (via mcp__visiblyai__query_fanout ≥ v0.6.0) → Reddit/forum pain mining (via Peec's scraped index, bypassing Reddit's WebFetch block) → Visibly backlinks + onpage → opportunity scoring → publish-ready content brief. 6 phases. | ~10–45 Visibly cr | "Which content wins Peec prompt X?", "Build a content brief from Peec data" |
peec-cluster | Turns a flat Peec prompt set into strategic topic zones — clustered by intent × funnel stage × visibility gap × demand signal. Produces 4-8 zones, each with a concrete "one move now" action and a measurable success metric. Persists zones as Peec tags for later attribution. | ~5–15 cr | "I have 20+ prompts, give me a content architecture, not a calendar" |
peec-outreach | Converts Peec's get_actions + forum/UGC discovery into a prioritized outreach pipeline: contact extraction, pitch templates per channel type (editorial / Reddit / Gutefrage / YouTube), tracker file, citation-gain measurement. 5 pitches/week cap by default. | free | "Content is shipped — now I need external citations" |
peec-report | Weekly/monthly loop-closer: measures visibility delta per prompt/zone, attributes it to specific content + outreach investments, detects winning patterns, outputs a ≤ 400-word narrative with 3 next-actions and at least 1 "stop doing". Persists learnings for the next cycle. | free | Weekly ritual or after any major action |
peec-learn | Cross-project memory layer. After a Peec skill produces a measurable outcome, extracts 1–3 transferable patterns (causal, falsifiable, evidence-backed) and persists them to SkillMind. On the next orchestrator run, recalls matching patterns as priors — lessons from project A inform decisions on project B. | free | After peec-report closes a cycle, or when a pitch / brief / zone lift is measured |
peec-agent (orchestrator) | The decision-making layer. Always invokes /peec-checkup first to get inventory + setup health + brand performance, then picks one next move with a measurable 4-week metric. Hands off to the right skill with parameters pre-filled. Tells you "do exactly this now" instead of "here is a dashboard". | free | "What should I work on this week?" |
All skills are user-invocable — Claude Code triggers them automatically when the conversation matches, and users can invoke them explicitly with /peec-start, /peec-setup, /peec-checkup, /peec-content-intel, /peec-cluster, /peec-outreach, /peec-report, /peec-learn, or /peec-agent.
Prerequisites
Required:
- Claude Code (CLI, VS Code extension, or JetBrains plugin)
- Peec AI MCP server connected (provides
mcp__peec-ai__*tools — see below)
Peec AI — hosted MCP (OAuth, zero install)
Peec AI ships a remote MCP server at https://api.peec.ai/mcp with OAuth — no API key file, just a browser redirect on first use.
claude mcp add peec-ai --transport streamable-http https://api.peec.ai/mcp
…or add it directly to your Claude Code settings.json / ~/.claude.json:
{
"mcpServers": {
"peec-ai": {
"type": "http",
"url": "https://api.peec.ai/mcp"
}
}
}
The first time any skill calls a mcp__peec-ai__* tool, Claude Code opens a browser to sign you in to Peec AI and authorize access. Tokens persist; subsequent runs are silent. Full docs: docs.peec.ai/mcp/setup.
Optional but strongly recommended:
Visibly AI — hosted MCP (zero install)
Visibly AI is a remote MCP server — no pip install required. Just add the connection to your Claude Code settings.json:
{
"mcpServers": {
"visiblyai": {
"type": "http",
"url": "https://mcp.visibly-ai.com/mcp",
"headers": {
"Authorization": "Bearer lc_your_key"
}
}
}
}
Get your API key under Account → API Keys. Without the Authorization header, only the 8 free tools are available. Full developer docs: antonioblago.com/de/entwickler/mcp.
Provides: GSC / GA4 read-through, backlinks, onpage analysis, classify_keywords, and — since v0.6.0 — the query_fanout coverage analyzer.
SkillMind — local MCP (pip install)
SkillMind is a local MCP server that provides the cross-project memory layer used by peec-learn. Install:
pip install "skillmind[pinecone,mcp,youtube]"
# or for everything:
pip install "skillmind[all]"
Then add to Claude Code settings.json:
{
"mcpServers": {
"skillmind": {
"command": "python",
"args": ["-m", "skillmind.mcp.server"],
"env": {
"PINECONE_API_KEY": "your-pinecone-key",
"SKILLMIND_BACKEND": "pinecone",
"ANTHROPIC_API_KEY": "your-anthropic-key"
}
}
}
}
Credentials can also live in a .env file in your project root instead of the env block. Repo: github.com/AntonioBlago/skillmind.
How skills remember setup (setup_state.json)
Setup is expensive — discovering competitors from real AI chats, designing 20 funnel-spread prompts, building taxonomy. You don't want it re-run from scratch every time the orchestrator asks "what next?". So the skills share one state file:
<project>/growth_loop/setup_state.json
peec-setupowns it: reads at Phase 0 to decidefull | audit | partial | skip, writes at Phase 9 with merged phases + a fresh count snapshot + the resolvedtarget_country/prompt_language.- All other skills (
peec-agent,peec-content-intel,peec-cluster,peec-outreach,peec-report) refuse to run without it. If the file is missing, they output one line:No Peec setup state found at <project>/growth_loop/setup_state.json. Run /peec-setup first.
This means: every consumer skill knows the project ID, the language to write briefs in, the country to filter SERPs by, and which forums to mine — without re-asking you and without silently defaulting to English. Setup older than 90 days triggers a warning; older than that without audit mode is a yellow flag in any output.
Schema and full read/write protocol: skills/_shared/SETUP_STATE.md.
Auto-detection: /peec-start + hooks
Two ways the right next move surfaces without you remembering which of 7 skills to call:
1. /peec-start — slash command (manual entry point)
Always-safe single command. Reads setup_state.json, optionally probes Peec live, then hands off:
/peec-start
│
├── no state, Peec empty → /peec-setup (full)
├── no state, Peec populated → /peec-setup (import)
├── state present, < 90 days → /peec-agent
├── state present, > 90 days → /peec-setup (audit)
└── state has missing phases → /peec-setup (partial:<phase>)
Use this when you forget the right starting skill or a hook isn't installed.
2. Hooks — automatic context injection
Two hooks in ~/.claude/settings.json wrap hooks/peec-detect.py. The script is silent unless it has something to say — it never pollutes non-Peec sessions.
{
"hooks": {
"UserPromptSubmit": [{
"hooks": [{
"type": "command",
"command": "python \"<repo>/hooks/peec-detect.py\"",
"timeout": 10,
"statusMessage": "Peec context check..."
}]
}],
"SessionStart": [{
"hooks": [{
"type": "command",
"command": "python \"<repo>/hooks/peec-detect.py\" --session-start",
"timeout": 10,
"statusMessage": "Peec setup state..."
}]
}]
}
}
| Trigger | Behavior |
|---|---|
Session opens in a dir with growth_loop/setup_state.json (own dir or up to 2 parents) | Injects state summary + recommended skill into Claude's context |
| Session opens elsewhere | Silent |
Prompt mentions a Peec keyword (peec, sichtbarkeit, ai visibility, /peec-start, …) | Injects setup hint or current state |
| Prompt is unrelated | Silent |
Output is a JSON envelope (hookSpecificOutput.additionalContext) per the Claude Code hook schema — Claude sees it as system context and decides whether to act.
If you change the hook config, run /hooks once or restart Claude Code so the settings watcher reloads.
Tool matrix
| Phase | MCP tool | Provider | Credits | Used by |
|---|---|---|---|---|
| 1 · Gap URLs | mcp__peec-ai__get_url_report (filter gap > 0) | Peec | free | content-intel |
| 1 · Brands & prompts | mcp__peec-ai__list_brands / list_prompts / list_topics / list_tags | Peec | free | visibility-setup |
| 2 · Query Fan-Out + coverage | mcp__visiblyai__query_fanout | Visibly ≥ 0.6.0 | ~3-5 | content-intel (primary), visibility-setup (optional) |
| 3 · Chat mining (competitors + language) | mcp__peec-ai__list_chats → get_chat | Peec | free | visibility-setup |
| 3 · Reddit / forum content | mcp__peec-ai__get_url_content (Peec has already scraped Reddit) | Peec | free | both |
| 4 · GSC keywords | mcp__visiblyai__get_keywords / query_search_console | Visibly | 0 (via GSC) | visibility-setup |
| 4 · Backlinks & authority | mcp__visiblyai__get_backlinks | Visibly | variable | content-intel |
| 4 · 24-point OnPage audit | mcp__visiblyai__onpage_analysis | Visibly | 15 | content-intel |
| 4 · Keyword intent + funnel | mcp__visiblyai__classify_keywords | Visibly | 1 | both |
| 5 · Brand CRUD | mcp__peec-ai__create_brand / delete_brand | Peec | free | visibility-setup |
| 5 · Prompt CRUD | mcp__peec-ai__create_prompt / update_prompt / delete_prompt | Peec | free | visibility-setup |
| 6 · Topic/Tag CRUD | mcp__peec-ai__create_topic / create_tag / delete_topic | Peec | free | visibility-setup |
| 7 · Recommendations | `mcp__peec-ai__get_actions(scope=overview | owned | editorial | ugc)` |
Graceful degradation
The skills work even when pieces are missing:
- Without Visibly AI: the skills still do the Peec-side setup, competitor discovery from chats, Reddit / forum mining via Peec's scraped index, and taxonomy setup. They skip: GSC keyword mapping (Phase 4 of visibility-setup) and coverage analysis (Phase 2 of content-intel). The content brief is still generated, just without depth / coverage scores.
- Without
query_fanout(Visibly MCP < 0.6.0): the content-intel skill falls back to an inline 6-axis heuristic (synonym, decision, comparison, problem, long-tail, forum). Coverage matching is skipped. - Without
classify_keywords: funnel-stage detection drops to keyword pattern matching inside the SKILL.md logic. - Without SkillMind:
peec-learnfalls back to appending patterns to<project>/growth_loop/patterns.mdand flags the skip. The orchestrator skips the cross-projectrecallcall in Phase 1 — patterns are a bonus prior, not a requirement.
Install
The repo ships with claude-peec-ai.sh — a single script that installs all 7 skills into ~/.claude/skills/ (or a target you choose). Symlink by default; git pull in the repo then updates every installed skill in place.
git clone https://github.com/AntonioBlago/peec-ai-skills.git ~/peec-ai-skills
cd ~/peec-ai-skills
./claude-peec-ai.sh # symlink all 7 skills into ~/.claude/skills/
Flags:
./claude-peec-ai.sh --copy # copy instead of symlink (no git-pull updates)
./claude-peec-ai.sh --target ./.claude # per-project install (project-local .claude/)
./claude-peec-ai.sh --force # overwrite existing skill dirs
./claude-peec-ai.sh --dry-run # preview, no filesystem changes
./claude-peec-ai.sh --uninstall # remove the 7 skill entries
./claude-peec-ai.sh --only peec-learn,peec-agent # partial install
Symlink mode on Windows needs either Developer Mode or admin rights; the script falls back to copy automatically if the symlink call fails. On WSL / Git Bash it usually just works.
Verify
Start a Claude Code session and type:
/peec-setup
If the skill registers, Claude Code picks it up and the workflow begins.
Usage examples
Set up Peec for a new client project
Set up Peec for example.com — SEO retainer offer, focused on DACH E-Commerce
Claude Code invokes peec-setup and walks through all 9 phases: initial audit, competitor discovery from chat history, forum pain-mining, customer-journey prompt design, taxonomy setup, reporting.
Build a content brief from an underperforming prompt
Peec prompt pr_abc123 has 0% visibility — analyze what I need to rank
Claude Code invokes peec-content-intel: pulls gap-URLs, runs Query Fan-Out, extracts pain-point quotes from forum threads Peec already scraped, scores competitor URLs, outputs a publish-ready content brief.
How the skills work under the hood
Claude Code skills are markdown workflow definitions with YAML frontmatter. The AI reads the SKILL.md content as a playbook and orchestrates the tool calls interactively — no additional Python or JavaScript runtime is required.
Both skills reference MCP tools that must exist in your Claude Code environment:
| Tool family | Provider | Example calls used by these skills |
|---|---|---|
mcp__peec-ai__* | Peec AI MCP | list_projects, get_url_report, get_chat, list_chats, get_url_content, create_brand, create_prompt, list_tags |
mcp__visiblyai__* | Visibly AI MCP (hosted, optional) | get_google_connections, query_search_console, get_keywords, get_backlinks, onpage_analysis, classify_keywords, query_fanout |
mcp__skillmind__* | SkillMind MCP (local, optional) | add_pattern, remember, recall, list_patterns, update_memory, consolidate, export_obsidian |
| Built-in | Claude Code | WebSearch, WebFetch, Read, Write, Edit, Bash |
If any MCP tool is missing when a skill runs, the skill explicitly states which step is being skipped and continues with the remaining ones.
Design principles
- Evidence over narrative. Every prompt, competitor, and content recommendation is grounded in actual AI chat responses (via Peec's scraped history) or forum data — never invented.
- Funnel-complete. Prompts are designed across Awareness → Consideration → Decision → Retention; single-stage setups are flagged as a red flag in phase 1.
- Buyer language. Forum pain points are quoted verbatim, never paraphrased into marketing-speak.
- Credit-aware. Visibly AI and paid MCP calls are budgeted; heuristic fallbacks exist for every credit-costly step.
- Idempotent. Re-running a skill on the same project updates without duplicating (uses Peec's content-hash checks and upsert semantics).
Contributing
Found a better prompt template, a new forum to mine, or a scoring formula improvement? PRs welcome.
- Keep SKILL.md files under 600 lines; long appendices go into
skills/<name>/appendix/*.md. - Frontmatter must include
name,description,user-invocable: true. - German and English triggers both welcome — German community is primary.
License
MIT © Antonio Blago — Neuro-SEO System®
See also
- Peec AI — the platform these skills integrate with
- visiblyai-mcp-server — companion MCP server for GSC / backlinks / OnPage data
- Claude Code skills documentation