# Playbook: Weekly SEO

1. `content.gaps` with `days_stale=90` — list posts needing refresh.
2. `media.find_missing_alt` — images without alt text.
3. For a target post: `seo.article.audit` then `seo.meta.generate` if needed.
4. Schedule updates with `post.update` (`post_date` + status `future`) after human OK.
5. Confirm with `content.scheduled`.
