Blog agent
Research, write, and publish SEO blog posts grounded in your project, Search Console keywords, commits, and live web research.
Writing a post
In the Write tab, type a topic (or leave it broad and let the writer pick an angle) and hit Generate. Every post is grounded in real signal, not just the model's training data: your project context (profile, repo README/stack, the same context agents share), recent commit history from your linked repo (real "what shipped" activity, not invented features), the keywords your site already ranks for if Search Console is connected, live web research for anything current, and your saved Voice instructions.
You get a full structured draft - title, slug, SEO meta description, keywords, and a Markdown body with a write/preview toggle. Use the Refine box to iterate ("make the intro punchier", "add a code example", "more technical"). When it's good, Save to Drafts.
Hero images
Three ways to set a post's hero image, all in the Write tab:
- Generate - AI-generated, editorial style (Pro).
- Pexels - search real stock photos; credit is added automatically.
- Upload - use your own image.
Pexels and Upload are available on every plan. AI hero generation is included in trial/Pro.
Analytics
The Analytics tab pulls Search Console clicks, impressions, CTR, and position for published posts (matched by slug or published URL), plus optional pageviews from Plausible, GA, or DataFast. Soft suggestions on Drafts and playbooks on Analytics feed back into Write so the agent improves over time — same loop as Social.
For AI visibility (GEO), new drafts open with a direct answer, clear headings, and an optional FAQ block (also stored in frontmatter for schema). Allow AI crawlers on your site and consider an llms.txt — see Analytics overview.
SEO & metadata
The collapsible SEO & metadata section in the Write tab adds an SEO title override (falls back to the on-page title if left blank), a canonical URL (for cross-posting), and a category/tag. Set your Author name and avatar once in the Voice tab - it applies as the byline on every post.
Drafts
Click any draft to open a full reading-layout preview (not a dialog) with the hero image, byline, and rendered Markdown. From there, Edit reopens it in the Write tab with everything loaded - saving updates the same row instead of creating a duplicate.
Voice - your signature
The Voice tab holds your Author name/avatar and a single instruction box that's injected into every generation. This is where you make the output sound like you: first person, no hashtags, always open with a concrete problem, end with one takeaway - whatever your style is. It autosaves.
Publishing
Set a publish target once in the Automation tab. Two options:
- GitHub repo - commits a Markdown (or MDX) file to your linked repo's blog folder, with YAML frontmatter. Your host (Vercel/Netlify) rebuilds and the post goes live. Nothing to build on your end - just link a repo and pick a folder. If you linked that repo only for AI context (not as your blog publish target), pick Webhook instead - the Automation tab warns you exactly which repo/path GitHub would commit into.
- Webhook - we POST each post to an endpoint you host, authenticated with a Bearer token we generate. Works with any stack (a database, a headless CMS, anything). This is also how Astrodesk publishes its own blog: the built-in receiver at
/api/blog/importstores posts straight into astrodesk.dev's own /blog, no GitHub commit involved.
From Drafts, each post has Publish (ships to your target now) and Copy markdown (the full document with frontmatter, paste-ready for any static site generator).
Automation (Pro)
Pro accounts can put writing on a calm schedule from the Automation tab:
- Writing schedule - Weekly (recommended default: one strong post), Daily (capped at 3 per run), or Only when I ask. Use Generate now / Fill next month anytime for a short runway of drafts to review.
- Topic queue - tell it exactly what to write next; auto-generate works through your queue in order (one topic consumed per draft) before falling back to Search Console keywords or picking its own angle.
- Publish schedule (opt-in, off by default) - auto-generated drafts publish to your target on a cadence you set. Left off, drafts wait for you to review and click Publish.
- Announce on social(opt-in, off by default) - when a post goes live, Astrodesk can draft or queue a social post about it, following your Social agent's review vs autopilot setting.
Trial & Pro
Full Blog automation (auto-generate and auto-publish) is available during your trial and on Pro. See Trial & Pro.