semrush-baselinelisted
Install: claude install-skill mkreindel/seo-toolkit-template
# `/semrush-baseline` — SEMrush quarterly snapshot
Pulls a refreshed SEMrush snapshot for a given site and writes it as `sites/{site}/semrush-baseline-YYYY-MM-DD.md` for trend comparison over time. The 7th skill in the toolkit — targeted by the 3 quarterly-semrush-baseline cron entries in `.claude/schedules.yml`.
## Inputs
Required (asked at start if not given):
- **Site** — must match a folder under `sites/[name]/`. The skill reads its `site-info.md` Keyword tool default + SEMrush Position Tracking campaign ID.
Optional:
- `--cron` flag — cron mode (no AskUserQuestion; escalate to `_inbox/` on errors).
## Workflow
### Step 0 — Cron-mode detection (if invoked with `--cron`)
If the invocation contains `--cron`, this skill runs in cron mode (no user available). Required behavior:
1. **Idempotency check:** if `sites/{site}/semrush-baseline-YYYY-MM-DD.md` for today already exists, exit cleanly with `exit: "idempotent-skip"`.
2. **Escalation contract:** any decision that would normally prompt the user (missing site-info, SEMrush API errors that persist, missing API key) MUST be escalated by writing an item to `sites/{site}/_inbox/` via `scripts/lib/cron-mode.mjs` `writeInboxItem(...)` and exiting with `exit: "escalated"`. Do NOT use `AskUserQuestion` in cron mode.
3. **Defaults:** when a choice would normally be asked, default to `site-info.md` values. If site-info is silent, escalate per (2).
4. **Audit log:** ALWAYS write one line to the audit log on exit — success (`shi