# SeoWatcher — Content Owner Onboarding

Short guide for the person who **writes articles for their site(s)** with `/write` and reviews them
on `/drafts`. Role — `editor` + ownership of your site(s). This is what the admin sends to a new
content owner.

> All links are at `https://seowatcher.org`. Sign in everywhere with your `key-g.com` Google account.

## 1. Get an access key

Go to `https://seowatcher.org/signup`, sign in with Google. A `psk_…` key appears —
**save it right away, it is shown only once**. Its status will be `pending`. Ping the admin to:
1. **approve** the key, **2.** grant you the **`editor`** role, and **3.** assign you as **owner of
your site(s)** — `/write` and `/drafts` only show drafts for sites you own.

## 2. Connect the tool (after the admin approves)

Open `https://seowatcher.org/account`, sign in with Google — there's your key (**Regenerate** if you
lost it) and the **MCP NAME** field. Put both into the installer (the `write` argument adds the skill):

```sh
curl -fsSL https://seowatcher.org/install.sh | sh -s -- <YOUR_KEY> <your-MCP-NAME> write
```

Restart `claude`. Check: type `/write` — the skill should be picked up.

> **No API keys, nothing to install.** `/write` runs the whole pipeline **server-side over the MCP** —
> the server holds the keys, grounds the facts, runs the quality gates and stores the draft. You only
> need the MCP connected.

## 3. Write an article

Just say what you want, e.g.:

- **`/write for blog.example.com`** — auto mode: it asks **how many** articles (default 1), picks the
  topic(s) from real demand data for your site, and writes each one.
- **`/write for blog.example.com about summer city breaks`** — picks a topic within that theme.
- **`/write about things to do in london this weekend`** — writes that exact topic.

Behind the scenes it discovers a topic, grounds every fact, runs the fact-check + SEO/GEO/AI gates
(retrying until they pass), and **stores the draft only if it passes**. You get back a
**review link** (`/drafts?id=…`). Nothing half-baked is ever stored.

> Daily limit: **20 new posts/day** per person by default (the admin can change it). Re-writing or
> editing an existing draft doesn't count against it.

## 4. Review and rate (`/drafts`)

Open the review link (or `https://seowatcher.org/drafts`, Google sign-in). For each draft you see:

- the **article** (rendered);
- a **pipeline / checks panel** — why it's structured that way, the fact-check verdict, SEO/GEO/AI
  scores, which header/SEO checks passed, and **"How it was produced"** (how many passes it took);
- **status controls** — move it `draft → review → approved → published` right on the page;
- **rating + comment** — give it **1–5 stars** and leave a note; your latest rating wins, and the
  average + everyone's comments show inline. (Same thing over MCP via `content_rate`.)
- **Copy article** / **Download .md** to take the text wherever you publish.

## 5. What you can do (editor role + ownership)

Through the MCP `<your-MCP-NAME>`: everything a reader can do (inventory + GSC read), **plus** write
articles for **your** sites (`content_write`, `content_store_draft`), move draft status
(`content_set_status`), rate any draft you can see (`content_rate`), and edit whitelisted inventory
fields on your sites. You **don't** see other owners' sites or manage tokens — that's admin.

## 6. If it doesn't work

- `not authorized for this draft` / empty `/drafts` → the admin hasn't assigned you as **owner** of
  that site yet (or you used the wrong key). Ping them; take the key from `/account` (**Regenerate**).
- `HTTP 403 no associated email` → wrong key; use the one from `/account`.
- `/write` not picked up → restart `claude`; check `~/.claude/skills/write/` exists.
- `daily quota reached` → you hit the 20/day limit; ask the admin to raise it (`content_set_quota`).
- a write came back **not stored** → it failed the fact-check/score gates; the reply lists what was
  unverified — narrow the topic or ask to retry with more passes.
