← All Skills
AI Skill

seo-rhythm-quarterly

Last updated: 2026-05-17

Quarterly SEO rhythm — baseline refresh, strategic review, keyword re-validation, memory hygiene. TRIGGER automatically every 90 days. The zoom-out that asks &q

Quick Install
npx skills add seo-rhythm-quarterly

seo-rhythm-quarterly — Reset the Frame

Monthly asks "how did last month go?" Quarterly asks "are we still on the right track?" These are different questions. One is tactical; the other is strategic. Both matter.

Five tasks, in order

1. Refresh baseline

Capture a new baselines/baseline-{YYYY-MM-DD}.json snapshot. Same schema as the onboard baseline (see memory/README.md). Don't delete old baselines — the ability to compare back 2 years is valuable.

Compute quarterly progress delta vs:

  • Last quarter's baseline (90-day view)
  • Original onboard baseline (lifetime view)
Write reports/seo/quarterly/progress-{YYYY-QX}.md:
MetricOnboardLast QThis QLifetime ΔQuarter Δ
Clicks/mo1,2001,8502,340+95%+26%
...

2. Re-validate seo-config.yaml

Re-read every section. For each field, ask: does this still reflect reality?

  • Audience — is the ICP still the same? Have we pivoted?
  • Competitors — did any exit? Did new ones emerge? Swap the list to reflect current reality. Remove competitors we no longer realistically compete with; add ones we now do.
  • Templates — did we deprecate any? Add new ones?
  • Brand — did the brand color or CTA copy change?
  • Targets — are the current targets (clicks/mo, pages/wk, citation rate) realistic given trajectory? If we're hitting them easily, raise them. If they feel impossible, interrogate whether they're wrong or we need a different strategy.
  • Cadences — did any cadence prove wrong? (e.g., daily CTR sprint too aggressive for small sites)
Commit any changes to seo-config.yaml with a commit message referencing the quarterly review date.

3. Keyword strategy review

Open reports/seo/memory/facts/keyword-strategy.md (established during onboard, updated monthly with discoveries). Ask:

  • Are the keywords we've been optimizing for still commercially relevant? Has the product changed? Has the market moved?
  • Are we fighting for keywords the product will never credibly rank for (too competitive, too far from our ICP)?
  • Did AI search redistribute demand? (Reminder from AEO Conf: AI prompts average 60 words vs Google's 4 — long-tail is more valuable than it was 2 years ago.)
  • Any new categories we should be entering?
Delegate deep keyword research to seo-discover if the answers suggest a strategic shift.

Output: updated keyword-strategy.md with dated "Q{X} review" section noting what's in-scope, what's dropped, and why.

4. Memory hygiene

Quarterly is the only time we prune memory. Do it carefully, with an audit trail.

Playbooks — for each file in memory/playbooks/:
  • Not referenced by any experiment in last 180 days? → flag as "dormant" (not deleted; humans may still want them)
  • Last 3 experiments using this playbook all produced inconclusive/loss? → mark status: under-review
  • Has a superseding playbook replaced it? → mark status: deprecated, add a pointer to the new one
Facts — for each file in memory/facts/:
  • Last updated > 180 days? → flag for re-validation; kick a task: "verify competitor-{X} facts are still current"
Experiments archive — experiments older than 365 days → move to memory/experiments/archive/{year}/. They're still there for querying; just not clogging the active set. Lessons — read all of them. Any that are no longer relevant (e.g., because the underlying platform changed)? → mark status: historical. We keep them for institutional memory, but don't enforce them anymore.

Write a memory/hygiene-log/{YYYY-QX}.md documenting every move.

5. Strategic brief to owner

The output most valuable to the human owner. Write reports/seo/quarterly/strategic-brief-{YYYY-QX}.md:

# SEO Strategic Brief — Q{X} {YYYY}

Are we on the right track?

{one-paragraph honest answer. If we're not, say so.}

Last quarter's big wins

{3 named things. Not "we shipped 30 experiments" — which 3 experiments produced the most value and why.}

Last quarter's misses

{what we expected that didn't happen, and why.}

The competitive landscape shifted

{what changed. New competitors, positioning moves, traffic shifts.}

What AI search is doing to our category

{AEO-specific: how is our citation rate trending? Which AI platforms cite us? Which don't, and why?}

Proposed bets for next quarter (≤ 3)

{each with: hypothesis, why now, success metric, abandon criteria}

Risks

{things that could go sideways. Be honest.}

This brief is the most important document the agent produces all year. It's where the owner reads a clear-eyed strategic view, and it's where the agent demonstrates actual judgment — not just execution.

Quality bar

  • [ ] New baseline captured
  • [ ] seo-config.yaml re-validated field-by-field (not just skimmed)
  • [ ] Keyword strategy reviewed, dated note added
  • [ ] Memory hygiene pass completed with audit trail
  • [ ] Strategic brief delivered — with honest answer to "are we on track"
  • [ ] All old baselines preserved (not deleted)

What I refuse

  • To write a strategic brief that's cheerleading. If things are not on track, I say so.
  • To propose > 3 quarterly bets. Focus is the whole point.
  • To silently change seo-config.yaml without noting why. Every quarterly config change needs a commit trail.
  • To archive memory without logging. Lost institutional memory is expensive.
  • To skip the keyword strategy review because "we just did one last quarter". Markets move every 90 days in AI.

Integration

Called by:

  • Tycoon RoutineScheduler (every 90 days, computed from last run)
  • Standalone cron: ~/.claude/scripts/seo-quarterly.sh
  • Ad-hoc by owner: "run quarterly SEO review"
Composes:
  • seo-discover (if strategic shift suggests new keyword research)
  • technical-seo-audit (if baseline capture needs fresh technical data)
Writes:
  • memory/baselines/baseline-{YYYY-MM-DD}.json
  • reports/seo/quarterly/progress-{YYYY-QX}.md
  • reports/seo/quarterly/strategic-brief-{YYYY-QX}.md
  • memory/hygiene-log/{YYYY-QX}.md
  • Updates to seo-config.yaml, memory/facts/keyword-strategy.md