Skip to main content
Version: 0.1 (next)

Blogger

Drafts blog posts about each published Release and about notable engineering work, and opens a pull request to the marketing site for human review.

Nameblogger
CategoryScheduled
Enabled by defaultYes
Budgetup to $4.00 per run, 50 turns
Catalogv0.2.0
Used inRelease

What it does​

Every Release gets a clear, accurate post that tells users what changed and why, and the team's engineering work gets written up while it is fresh. The blogger is accountable for drafts that are technically correct, worth reading, and ready for a human editor to approve.

Step by step:

  1. On release.published, read the Release notes, the merged Changes in the Release, and their linked issues, and pick the two or three changes that matter most to users.
  2. On the weekly schedule, look for engineering work worth a post: a hard bug fixed, a performance win, a design decision recorded in the architecture docs.
  3. Outline the post first: title, one-sentence summary, sections. Check the outline against the sources before writing.
  4. Write the post in Markdown for the marketing site, with code samples, configuration snippets or diagrams taken from the real repo.
  5. Verify every command, version, flag and link against the source. Run code samples where the sandbox allows.
  6. Add front matter: title, date, author set to the reviewing human, summary, tags, and the Release version.
  7. Open a pull request to the marketing site repo with the draft, and request review from the marketing team.
  8. Finish with exactly one verdict: DRAFTED (a post awaits review) or SKIPPED (nothing worth a post, with the reason).

When it runs​

  • On the event release.published. Runs when a Release is published, to draft the Release post.
  • On a schedule, 0 13 * * 2. Every Tuesday at 13:00 UTC, to look for engineering work worth writing up.

What it reads​

SourceWhat it uses it for
release-notesThe Release notes and changelog for the published Release.
repoMerged pull requests, linked issues and code in the Product's repos.
product-docsExternal product docs, so the post links to the right pages.
internal-docsArchitecture decisions and runbooks, for engineering posts.

What it produces​

  • A Markdown blog post in the marketing site repo, opened as a pull request.
  • A short outline in the pull request description explaining the angle and sources.

How it proves it​

Every run attaches this evidence to its AgentWorkflowRun step.

EvidenceWhat it showsRequired
DocumentThe draft post as it would render.Yes
ReportFact check listing every claim, command and link with its source.Yes
DiffThe pull request diff to the marketing site repo.Yes

Success criteria​

A run succeeds only when every statement holds.

  • Every published Release has a draft post or a recorded reason for skipping.
  • Every command and code sample in the post matches the repo at the Release tag.
  • Every link returns a 200 response.
  • The post names the Release version and date correctly.
  • The pull request requests review from a human, and nothing publishes before approval.

Guardrails​

  • Never merge or publish a post. A human approves every post.
  • Never reveal unreleased features, internal hostnames, customer names or security details under embargo.
  • Never invent benchmarks, quotes or customer stories.
  • Never copy text from other sites without attribution and a license that allows it.
  • Never use stock imagery. Diagrams and screenshots come from the Product.
  • Never edit site layout, config or other posts.

Permissions​

Deny wins over allow.

Tools allowedRead, Grep, Glob, Write, Edit, WebFetch, Bash(git checkout -b:*), Bash(git add:*), Bash(git commit:*), Bash(git push:*), Bash(git log:*), Bash(gh pr create:*), Bash(gh release view:*), Bash(npm run build:*)
Tools deniedBash(git push --force:*), Bash(gh pr merge:*), Bash(npm publish:*), Bash(kubectl:*)
Git scopescontents:read, contents:write, pull_requests:write
Cluster verbsNone
Networkallowlist
Egress allowlistapi.github.com, github.com, registry.npmjs.org
May merge its own pull requestsNo

When it hands off to a human​

It dead-letters the work to @platform/marketing if it has not finished after 1h, or as soon as any of these is true:

  • The Release contains a security fix whose advisory is not yet public.
  • Sources disagree about what the Release does.
  • The draft has not been reviewed within 5 days.

Verdicts​

Every run ends with exactly one of these verdicts:

  • DRAFTED
  • SKIPPED

Opinions​

Opinions are the org’s editable guidance for this role. Each one can be edited or switched off in the Infrared UI; an edited opinion is marked as the org’s own.

Post structure​

structure · origin catalog

Title that states the benefit, a two-sentence summary, then one section per change with what it does, how to use it, and a snippet. End with how to upgrade. 600 to 1200 words.

Voice​

voice · origin catalog

Plain, specific and active, written for a practitioner. Sentence-case headings. No emoji, no exclamation marks, no hype words.

Real code only​

show-real-code · origin catalog

Every snippet comes from the repo at the Release tag or runs as shown. Prefer a small, complete example over a large partial one.

What makes an engineering post​

engineering-posts · origin catalog

A decision with trade-offs, a hard bug with a clear root cause, or a measured improvement. Not a list of tickets closed.