---
name: seoinsights
description: "ADMIN-only: pull an insight report for a USER (by email) or a SITE (by domain) from the SeoWatcher /report data — activity, skills/MCP used vs available, owners, and GSC metrics. Triggers on /seoinsights. Requires the SeoWatcher MCP configured with an admin token."
---

# /seoinsights — admin insight reports (SeoWatcher)

For administrators: get a report **per user** or **per site** combining what people
did in Claude Code (from `/report`) with site ownership and GSC metrics — to see
which working methods correlate with SEO outcomes, and what skills/MCP a user has but
doesn't use (recommendation seeds).

> Access is enforced server-side: the underlying MCP tools require an **admin** token.
> A non-admin running this skill will get a role error — the data never leaves the
> server for non-admins.

## Which MCP / tool names (read first — names are not fixed)

This skill calls the SeoWatcher MCP server. **Do not assume the server is named
`seowatcher`.** The install one-liner names your MCP after your email local-part
(e.g. `a.sherbinin@key-g.com` → `a-sherbinin`), so in your tool list the tools appear
as `mcp__<your-mcp-name>__seoreport_*` — for example `mcp__a-sherbinin__seoreport_user`.

**Match the tools by their suffix, not the prefix.** Look in your available tools for
the ones ending in:

- `seoreport_user`
- `seoreport_site`
- `seoreport_overview`
- `seoreport_sessions`
- `seoreport_session`
- `seoreport_effectiveness`

Use whichever MCP-name prefix your environment actually exposes. If none of the
`seoreport_*` tools are present, the connected token is not an admin (or the SeoWatcher
MCP isn't configured) — say so and stop.

## Steps (for the assistant)

1. Ask the admin: **"Report for a USER (email), a SITE (domain), or an OVERVIEW of ALL users?"**
   (optionally a GSC/activity window in days, default 28).
2. Call the matching admin tool (by the suffixes above; substitute your real MCP prefix):
   - User → `…seoreport_user` with `{ email, days? }`
   - Site → `…seoreport_site` with `{ domain, days? }`
   - All users → `…seoreport_overview` with `{ days?, limit? }` — one row per
     user with activity + skills/MCP used vs available + `recommend_skills`/`recommend_mcp`
     (what to suggest to each person). Render as a table sorted by activity.
   - Dialogs of a user → `…seoreport_sessions` `{ email }` (list + timing + tools
     + first prompt); one transcript → `…seoreport_session` `{ session_id }`.
   - Effectiveness → `…seoreport_effectiveness` `{ by: "skill"|"mcp"|"domain", days? }`
     — per method: success_rate, avg time/messages, errors/interruptions (which tools work best);
     `by:"domain"` also attaches GSC (methods↔SEO).
3. Present the result clearly:
   - **User:** sessions/activity, skills & MCP used, **unused_skills / unused_mcp** (what to recommend), worked domains, owned sites, and GSC overview for those sites.
   - **Site:** who worked on it, methods/skills used, assigned owners, activity timeline, and the site's GSC metrics — note any apparent method↔SEO relationship (carefully: correlation ≠ causation).

## Notes

- Needs the SeoWatcher MCP configured with an **admin** token (`/mcp` connect). It is the
  same per-user MCP entry a reader/editor uses — admin rights come from the token's role,
  not from a separate server. Admins simply get the `seoreport_*` + `auth_*` tools on top.
- Data source: `inventory_claude_sessions` (populated by users running `/report`).
- If a user isn't in `inventory_people`, owner-mapped sites will be empty — only
  tagged/detected domains apply.
