Overview
Weekly cron drives Claude Code with Scavio MCP attached. Per tracked keyword: pull SERP, AI Overview citations, top competitors, draft brief refresh.
Trigger
Weekly cron Monday 8am
Schedule
Weekly Monday 8am
Workflow Steps
Load tracked keyword set
20-100 keywords from a Postgres table.
Per keyword: Scavio search with include_ai_overview
Capture top-10 + AI Overview citations.
Identify position changes vs last week
Diff against historical store.
If position dropped >2 spots: trigger Claude brief refresh
Claude reads new top-3 + drafts updated brief.
If new AI Overview citation source: log it
Track which sources Google AIO is now citing.
Send Slack digest
Top movers, AIO changes, drafts ready for review.
Python Implementation
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def weekly_check(keyword, target_domain):
r = requests.post('https://api.scavio.dev/api/v1/search',
headers=H, json={'query': keyword, 'include_ai_overview': True}).json()
pos = next((i for i, x in enumerate(r['organic_results'], 1) if target_domain in x['link']), None)
aio_cites = [c['url'] for c in r.get('ai_overview', {}).get('citations', [])]
return {'position': pos, 'aio_citations': aio_cites}JavaScript Implementation
// Same in TS.Platforms Used
Web search with knowledge graph, PAA, and AI overviews