← ClaudeAtlas

semrush-baselinelisted

Refresh a site's SEMrush snapshot — domain authority, organic traffic, keyword count, top keywords, top competitors, backlink snapshot — and append the result as a dated baseline file in the site folder. Use when the user types `/semrush-baseline {site}` or when the quarterly cron fires.
mkreindel/seo-toolkit-template · ★ 0 · AI & Automation · score 68
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