Skip to content
Marketing
Skill

/peec-setup

End-to-end Peec AI project setup — competitor discovery from real AI chats, customer-journey prompt design across Awareness → Consideration → Decision → Retention, topic/tag taxonomy, GSC-based keyword mapping, forum pain-point mining (Reddit, Gutefrage, t3n, OMR), and a

From plugin
peec-ai-skills
99 skills1 hook
Install
$ npx -y skills add AntonioBlago/peec-ai-skills --skill peec-setup --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/peec-setup

Context preview

The summary Claude sees to decide when to auto-load this skill.

End-to-end Peec AI project setup — competitor discovery from real AI chats, customer-journey prompt design across Awareness → Consideration → Decision → Retention, topic/tag taxonomy, GSC-based keyword mapping, forum pain-point mining (Reddit, Gutefrage, t3n, OMR), and a

SKILL.md

peec-setup.SKILL.md
name: peec-setup
description: End-to-end Peec AI project setup — competitor discovery from real AI chats, customer-journey prompt design across Awareness → Consideration → Decision → Retention, topic/tag taxonomy, GSC-based keyword mapping, forum pain-point mining (Reddit, Gutefrage, t3n, OMR), and a categorized executable backlog. Use when the user wants to set up, restructure, or audit a Peec AI project for their own brand or a client. 9 phases, full funnel coverage, real buyer language.
user-invocable: true

AI Visibility Setup

Role

Take a Peec AI project from empty (or broken) to operator-ready: correct competitors, full-funnel prompts, coherent taxonomy, GSC keyword mapping, forum-mined buyer language, and a categorized executable backlog the client can run for the next 2 weeks.

Input

  • `project_id` (resolved via `mcp__peec-ai__list_projects`)
  • `target_country` — ISO 3166-1 alpha-2 (`DE`, `AT`, `CH`, `US`, `UK`, ...). Default `DE`. Drives SERP/GSC filters and forum source selection.
  • `prompt_language` — ISO 639-1 (`de`, `en`, `fr`, ...). Default = lowercase of `target_country` (`DE` → `de`). Drives the language Peec prompts are authored in.
  • Optional: `secondary_languages` — list, default `[]`. Used for multi-market projects (e.g. DE primary + EN secondary).
  • Optional: `offer_keywords` (retainer, monthly, etc.), `own_domain`
  • Optional: `scope` — `full` | `audit` | `partial:<phase>` | `competitors_only` | `prompts_only` | `taxonomy_only` (default: auto-detected from setup state, see Phase 0)

**Resolving language/country at start:** 1. If state file exists with these fields → use them, skip the question. 2. Else if user passed them as arguments → use those. 3. Else infer from `own_domain` TLD (`.de` → DE/de, `.at` → AT/de, `.ch` → CH/de + ask de/fr, `.com` → ASK). 4. Else ASK the user **once** before Phase 1: "Target country (ISO, e.g. DE)? Prompt language (ISO, e.g. de)?". Persist the answer in state.

Never silently default to `EN`/`en` when the project has no signal — this corrupts every downstream skill.

Output

A setup report with: before/after counts, funnel distribution (e.g. 5/5/5/5), the single **hero prompt** to win first, the refresh timeline (24h for fresh data), a categorized P0/P1/P2 backlog, and any user-preference memories saved. No dashboards.

When to use

  • "Set up Peec for <client>"
  • "My Peec competitors are wrong / not real competitors"
  • "Design prompts for my customer journey"
  • "Map GSC keywords to my Peec prompts"
  • "Restructure Peec topics / tags"
  • Audit of an existing AI-visibility tracking setup

Prerequisites

  • Peec AI MCP connected (`mcp__peec-ai__*`)
  • Visibly AI MCP connected (`mcp__visiblyai__*`) — optional, only for GSC
  • GSC + GA4 connected inside Visibly AI (check via `get_google_connections`)

State

This skill **owns** the setup state file. See [`_shared/SETUP_STATE.md`](../_shared/SETUP_STATE.md) for the full schema and protocol.

  • **Reads** `<project>/growth_loop/setup_state.json` at Phase 0 to decide the run mode (`full | audit | partial | skip`).
  • **Writes** the same file at the end of Phase 9 with merged `phases_completed` and a fresh `snapshot`.

All other skills in this repo refuse to run without this file — never bootstrap a setup from inside another skill.

---

Phase 0 — State check & mode selection

Always runs first. Cheap (single file read + at most one parallel Peec read in brownfield case). Determines whether the rest of the run is needed at all.

1. Read <project>/growth_loop/setup_state.json

2. If state file MISSING:
   2a. Live-detect Peec content (parallel reads):
         list_brands(project)
         list_prompts(project, limit=5)
         list_topics(project)
         list_tags(project)
   2b. If Peec is empty (≤2 brands AND ≤4 prompts AND ≤0 topics):
         → mode = full     (greenfield — proceed to Phase 1)
   2c. If Peec is populated (≥3 brands OR ≥5 prompts OR ≥1 topic):
         → mode = import   (brownfield — see "Import mode" below)

3. If state file PRESENT, branch on `completed_at`:
     < 30 days ago       → mode = skip      (show summary, ASK user before continuing)
     30–90 days ago      → mode = audit     (live-diff snapshot, only redo drifted phases)
     > 90 days ago       → mode = full      (warn: stale)

4. If user passed an explicit `scope`, that wins over auto-detection.

5. Print one line:
     "Setup state: <found|missing|imported> · age: N days · mode: <full|import|audit|partial|skip>"

`import` mode (brownfield) — runs entirely inside Phase 0

Per [`_shared/SETUP_STATE.md` §`import` mode](../_shared/SETUP_STATE.md), this mode reconstructs `setup_state.json` from live Peec data without re-doing discovery.

1. Show user one line:
     "Detected existing Peec setup: <N> brands, <M> prompts, <T> topics, <G> tags."
2. ASK three things at once (single user turn):
     - "Import this as the setup state, or run full setup from scratch? [import/full]"
     - "Target country (ISO, e.g. DE)?"
     - "Prompt language (ISO, e.g. de)?"
3. If user picks `import`:
     a. Infer completed_at (NEVER default to now silently):
          read created_at from list_brands + list_prompts;
          completed_at = min(created_at across first 5 brands AND first 5 prompts)
          If unavailable → list_chats(limit=1, sort=asc).timestamp
          If still unavailable → ASK user one bucket question
            ("when did you set this up? [today/past month/past quarter/past year/older]")
            and map to a date.
     b. Build state object:
          phases_completed = inferred from non-empty buckets (brands≥3 → +competitors; etc.)
          snapshot         = the counts just read
          completed_at     = inferred per (a) above
          imported_at      = now (UTC)
          last_audit_at    = now
          hero_prompt_id   = null
          target_country, prompt_language = from user answers in step 2
          notes            = "imported from existing Peec
Read more
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).

Get the whole plugin
Stats
9
Stars
0
Forks
Maintained
Maintenance
Python
Language
MIT
License
4mo ago
Last commit
4mo ago
Created

Repo: AntonioBlago/peec-ai-skills

Other skills on peec-ai-skills.