← All Skills
AI Skill

seo-rhythm-weekly

Last updated: 2026-05-17

Weekly SEO rhythm — Monday report, Wednesday AEO citation probe, Friday retrospective. TRIGGER automatically by cron or Tycoon RoutineScheduler; the three fixed

Quick Install
npx skills add seo-rhythm-weekly

seo-rhythm-weekly — The Feedback Loop

The week has three moments. Each one serves a distinct purpose. Missing any one breaks something downstream.

Monday 09:03 — Weekly Report

Synthesize last week's work into a 1-screen brief for the owner.

Invoke seo-monitor.weekly_report(). It produces reports/seo/weekly/weekly-{YYYY-WWW}.md with:

  • 3-week trend on key KPIs (clicks, impressions, avg position, indexed pages, citation rate)
  • Wins — experiments that hit targets in last 7 days
  • Losses — experiments that regressed
  • Open experiments — what we're still measuring
  • ≤ 3 recommendations for next week, each citing a playbook or experiment

Regression detector

After monitor runs, scan the 3-week trend table. If any KPI dropped ≥ 30% week-over-week, invoke seo-postmortem immediately with that metric as the trigger.

This is the one moment of the week that can cascade into emergency action. Don't skip the scan.

Status write

daily-status/{YYYY-MM-DD}.log:
09:07 ✅ Weekly report shipped. 2 wins, 1 loss, 3 open experiments.

Wednesday 10:07 — AEO Citation Probe

Our 20 representative queries need a weekly refresh so citation rate trend isn't noise.

The 20 queries live in memory/facts/aeo-probe-queries.yaml (established during seo-onboard, updated monthly). They represent the queries where we most want to be cited.

Workflow

For each query in the list, run against:

  • ChatGPT (via API or web scrape)
  • Perplexity (via API)
  • Claude (via API)
  • Google AI Overviews (via scraping)
For each platform × query, record:
  • Was our brand cited?
  • What position in the citation list?
  • What exact URL was cited?
  • Top 3 other domains cited (for competitive intel)
Write to reports/seo/aeo/aeo-probe-{YYYY-MM-DD}.json.

Compute citation_rate = (cited queries × platforms) / (total queries × platforms).

Append to reports/seo/data/aeo-history.json for trend tracking.

Flag changes

If citation_rate dropped > 20% week-over-week → trigger seo-postmortem. If a new competitor surfaced in ≥ 3 citations this week → update memory/facts/competitor-{name}.md.

Friday 16:00 — Retrospective

The load-bearing moment of the week. Invoke seo-retro.

Retro measures every experiment where measure_at <= today. It assigns win/loss/inconclusive verdicts and writes reports/seo/retros/retro-{YYYY-MM-DD}.md.

After retro completes

  • If any experiment hit the delta_vs_expected < -0.5 threshold → retro auto-triggered seo-postmortem. Verify it ran.
  • If the retro surfaced a pattern with ≥ 3 recent wins → flag for seo-learn (which runs monthly).
  • If discipline check failed (experiments overdue, changes without logs) → append to next Monday's report as a reminder.

Week closure

Write reports/seo/weekly-close/{YYYY-WWW}.md:

# Week {WWW} close — {end_date}

Shipped

{count} experiments logged, {count} measured this week

Learned

{short summary of retro findings}

Deferred

{any experiments measuring next week}

For next week

{top 3 from retro recommendations}

Quality bar

  • [ ] All three moments ran
  • [ ] Regression detector fired on Monday (or was noise-free)
  • [ ] AEO probe covered all 20 queries across ≥ 3 platforms
  • [ ] Retro measured every due experiment
  • [ ] Weekly report has ≤ 3 recommendations
  • [ ] weekly-close/{WWW}.md exists

What I refuse

  • To skip Friday's retro. That breaks the learning loop — all subsequent weeks drift.
  • To defer an AEO probe because "we ran one last week". Citation rates move in days, not months.
  • To let a 30%+ regression sit without postmortem.
  • To ship a Monday report with > 3 recommendations. Over-recommendation produces paralysis.

Integration

Called by:

  • Tycoon RoutineScheduler (cron rules: 3 9 1, 7 10 3, 0 16 5)
  • Standalone cron equivalent
Composes:
  • seo-monitor (Monday)
  • seo-retro (Friday)
  • seo-postmortem (on regressions, any day)
Writes:
  • reports/seo/weekly/weekly-{YYYY-WWW}.md
  • reports/seo/aeo/aeo-probe-{date}.json
  • reports/seo/retros/retro-{date}.md
  • reports/seo/weekly-close/{YYYY-WWW}.md