# Playbook: Publish / schedule a post

1. Draft via `post.create` status=`draft` (or update existing with `post.update`).
2. Check gaps: featured image, excerpt, title length (`content.gaps` or manual).
3. Optional: `seo.meta.generate` for the post.
4. Publish now: `post.update` status=`publish` (dangerous → approval).
5. Or schedule: `post.update` with `post_date` in the future (status becomes `future`).
6. Verify: `content.scheduled` or `post.list`.
