seo-rhythm-quarterly
Quarterly SEO rhythm — baseline refresh, strategic review, keyword re-validation, memory hygiene. TRIGGER automatically every 90 days. The zoom-out that asks &q
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)
reports/seo/quarterly/progress-{YYYY-QX}.md:
| Metric | Onboard | Last Q | This Q | Lifetime Δ | Quarter Δ |
|---|---|---|---|---|---|
| Clicks/mo | 1,200 | 1,850 | 2,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)
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?
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 inmemory/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
memory/facts/:
- Last updated > 180 days? → flag for re-validation; kick a task: "verify competitor-{X} facts are still current"
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.yamlre-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.yamlwithout 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"
seo-discover(if strategic shift suggests new keyword research)technical-seo-audit(if baseline capture needs fresh technical data)
memory/baselines/baseline-{YYYY-MM-DD}.jsonreports/seo/quarterly/progress-{YYYY-QX}.mdreports/seo/quarterly/strategic-brief-{YYYY-QX}.mdmemory/hygiene-log/{YYYY-QX}.md- Updates to
seo-config.yaml,memory/facts/keyword-strategy.md