Skip to content

SEO & promotion

A finished article should be found and shared, not just exported. Two layers prepare it - and it’s worth being blunt about their boundary up front:

With auto_promote on (the default), both run automatically after the manuscript is assembled. You can also run them by hand at any time.

writing-agent seo (or the automatic pass) writes seo_report.md and keywords.json. It has two halves:

  • A deterministic on-page audit (no model call): title and meta-description lengths, whether the primary keyword appears in the title, the opening, and the headings - the kind of checks an on-page SEO linter runs.
  • A one-call flash keyword pack: the piece’s primary and secondary keywords, a meta description, and per-platform hashtags.

The keyword isn’t bolted on at the end - it’s threaded into the writer from the start, and the title is optimized after validation, so the piece is built around the target rather than retrofitted to it.

Terminal window
writing-agent seo # infer the primary keyword
writing-agent seo --keyword "rag evals" # pin it explicitly

You can also pin the keyword ahead of a run with the seo_keyword setting.

writing-agent promote (or the automatic pass) writes a promo/ pack - platform-native variants of the finished piece, reusing the SEO keyword pack:

  • x-thread - an X thread
  • linkedin - a LinkedIn post
  • newsletter-teaser - a short teaser
  • tldr - a one-paragraph summary

…plus five headline variants. Choose formats with --to:

Terminal window
writing-agent promote # every format
writing-agent promote --to x-thread,linkedin # just these
writing-agent promote --keyword "rag evals" # pin the keyword

The same repurposing engine can re-voice the whole manuscript into a target style (register) / persona / emotion - preserving structure, citations, and facts - in one flash call. It writes restyled/<combo>.md and leaves the original alone. It’s exposed as Rewrite in the web dashboard’s Export tab; see Exporting → restyle.

articles/<project>/
seo_report.md on-page audit + keyword pack summary
keywords.json the keyword-pack signals (primary/secondary/meta/hashtags)
promo/ x-thread.md · linkedin.md · newsletter-teaser.md · tldr.md · headlines
restyled/ voice rewrites you request

All local. All yours to review before anything leaves your machine.