Session Objective

Build Batch 1 of 16-routine automated ops system under /Users/samaguiar/Documents/Projects/routines-build. Batch 1 is the Monday SEO pack: 5 pure-Python GitHub Actions routines using GSC, PageSpeed, and WordPress sitemap APIs.

What Was Built

5 new GitHub Actions routines (run.py + CLAUDE.md + workflow)

Routine Schedule (ET) Purpose
cannibalization Mon 05:00 Finds query+page pairs where 2+ URLs split impressions in top 20
orphan_pages Mon 05:30 Crawls sitemap, flags URLs with zero inbound internal links
non_indexed Mon 06:00 GSC URL Inspection API, flags non-indexed sitemap URLs, 250/run rotation
cwv_pulse Mon 06:30 PageSpeed Insights on top 30 URLs by impressions, flags CWV regressions
gsc_rankings Mon 07:00 Last 7d vs prior 7d, flags query+page movements of 5+ positions

All 5 follow the broken_links canonical pattern: import from scripts/utils + scripts/notion_logger, write to outputs/YYYY-MM-DD/{routine}.md, save state/{routine}.json, log to Notion via NotionLogger.log_run(), create reminders on critical severity.

Filled gap

Workflow files

5 new .yml workflows in .github/workflows/, all mirroring the daily-broken-links.yml pattern: checkout, setup-python 3.12, pip install, run script with env from secrets, commit state + outputs, push. All have workflow_dispatch for manual testing.

Cron values are in UTC:

Verification

What Still Fails / Pending