Skip to content
Back to skills

Peec Start

ASecurity

Single-entry slash command for the Peec AI growth loop. Detects whether the current working directory has a setup_state.json, what state it's in (missing / fresh / stale / very stale / brownfield-importable), and hands off to the right skill — /peec-setup (full or import or audit) or /peec-agent. Use when the user says "/peec-start", "what should I do for Peec", "is my setup done", or any opening question about a Peec AI project where the next move is unclear.

  • 9 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 26, 2026
ai-agentsrailsapi

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned May 27, 2026

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

Installs into .claude/skills of the current project.

Are you the author of Peec Start?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Peec Start
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/antonioblago-peec-start/badge)](https://www.skillsdirectory.com/skills/antonioblago-peec-start)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: peec-start
description: Single-entry slash command for the Peec AI growth loop. Detects whether the current working directory has a setup_state.json, what state it's in (missing / fresh / stale / very stale / brownfield-importable), and hands off to the right skill — /peec-setup (full or import or audit) or /peec-agent. Use when the user says "/peec-start", "what should I do for Peec", "is my setup done", or any opening question about a Peec AI project where the next move is unclear.
user-invocable: true
---

# Start Peec

## Role
The single entry point for any Peec AI growth-loop session. Reads state, decides which skill is responsible for the next move, hands off. No content production, no analysis — pure dispatch.

## Input
None. The skill resolves everything from `<cwd>/growth_loop/setup_state.json` and (if missing) live Peec calls.

## Output
A 4–8 line decision block, then exactly one skill invocation as the next step. Nothing more.

## When to use
- Opening a Peec growth session and unsure where to start
- Periodic ritual ("what's the move this week?")
- After onboarding a new project that already has data in Peec
- When a hook injects `=== PEEC PROJECT DETECTED ===` context

Do not use when:
- The user already named a specific skill (`/peec-agent`, `/peec-content-intel`, etc.) — call that directly
- The user is mid-execution of another skill — don't interrupt

---

## Pipeline

### 1. Read local state

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

`<project>` = `$CLAUDE_PROJECT_DIR` env var if set, else cwd. Walk up at most 2 parents looking for `growth_loop/setup_state.json` (mirrors `hooks/peec-detect.py` behavior).

### 2. Branch — no state file

If file missing, run a single parallel Peec read:
```
mcp__peec-ai__list_projects
mcp__peec-ai__list_brands(project_id)         # only after project resolved
mcp__peec-ai__list_prompts(project_id, limit=5)
mcp__peec-ai__list_topics(project_id)
```

Then:

| Live Peec content | Decision |
|---|---|
| Empty (≤2 brands AND ≤4 prompts AND ≤0 topics) | Hand off to `/peec-setup` (mode = full, greenfield) |
| Populated (≥3 brands OR ≥5 prompts OR ≥1 topic) | Hand off to `/peec-setup` (mode = import, brownfield — see [`_shared/SETUP_STATE.md`](../_shared/SETUP_STATE.md) §`import` mode) |
| Peec MCP unreachable / no projects | STOP. Output: "No Peec MCP connection. Add it via `claude mcp add peec-ai --transport streamable-http https://api.peec.ai/mcp` then retry." |

### 3. Branch — state file present

Compute `age_days = now - completed_at`.

**User-intent split:** if the user opened with an *observational* phrase ("wo stehe ich?", "wie ist mein status?", "checkup", "was ist der stand?", "show me the picture") → route to `/peec-checkup` regardless of age. The agent path is for *deciding the next move*; checkup is for *seeing the picture*. They are complementary.

Otherwise (action-oriented intent — "was als nächstes?", "what's next", default `/peec-start` with no qualifier):

| Age | Decision |
|---|---|
| < 7 days, no actions logged | Hand off to `/peec-checkup` — too little data for `/peec-agent` decisions, but checkup still surfaces setup health + early signals. |
| 7–30 days | Hand off to `/peec-agent` (which itself orchestrates `/peec-checkup` first) |
| 30–90 days | Hand off to `/peec-agent`; mention "consider /peec-setup audit if cluster recommendations look thin" |
| > 90 days | Hand off to `/peec-setup` (mode = audit). Do not skip straight to growth-agent on stale taxonomy. |

If `phases_completed` is missing one of `{competitors, prompts, topics, tags}`, override the above and hand off to `/peec-setup partial:<missing-phase>` first.

### 4. Output schema

```markdown
# Start Peec — <YYYY-MM-DD>

State:        <found|missing|brownfield>
Project:      <domain> (peec_project_id=<id>)
Locale:       country=<XX> · language=<xx>
Setup age:    <N days> (<fresh|stale|very stale|n/a>)
Phases:       <list> · missing: <list>

Decision: <one sentence with the chosen skill + scope>

Why: <one sentence — which signal in the state caused this branch>

Next: <invoking the chosen skill now>
```

Then immediately invoke that skill. Do not wait for confirmation unless the chosen branch is destructive (`/peec-setup` in `full` mode on a populated Peec project — that always confirms once).

---

## Why this skill exists

Three frictions kept biting:
1. New users open a Peec project, don't know which of 7 skills to call first.
2. The hook (`hooks/peec-detect.py`) needs a manual counterpart for users who turned hooks off.
3. The orchestrator (`/peec-agent`) refuses to run without a setup state — so first-timers hit a dead end.

`peec-start` fixes all three by being the single safe entry point that always picks a defensible next step.

## Relationship to other skills

```
/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>)
```

Never produces deliverables itself. Never bypasses the [`_shared/SETUP_STATE.md`](../_shared/SETUP_STATE.md) protocol — uses the same age thresholds and the same import-mode trigger as Phase 0 of `peec-setup`, so the dispatcher and the orchestrator agree on what "fresh" means.

## Guardrails

- Never call `mcp__peec-ai__create_*` or `mcp__peec-ai__delete_*`. Dispatch only.
- Never write `setup_state.json`. Only `/peec-setup` writes it.
- Never silently default `target_country` / `prompt_language`. If state is missing both AND user hasn't said, ASK once before handoff.
- Never invoke more than one downstream skill per `/peec-start` run.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.