Skip to content

to-blog-issue

to-blog-issue

to

To blog issue

Park a blog idea before it evaporates. The maintainer flags something mid-flow ("this could make a good blog post"); this captures it as a single GitHub issue so a future agent can draft the post without re-deriving the thinking.

It is deliberately low-ceremony. A blog idea is a braindump, not a spec — one issue, no slicing, no triage tree. That's the whole difference from to-issues.

What the issue carries

Pull the idea from the conversation (and whatever the maintainer just said). The body is raw material for drafting, not a finished outline:

  • The angle — the hook or tension the post turns on, in a sentence.
  • Why it matters — what the reader gets, why it's worth writing.
  • Points to cover — the bullets worth hitting (loose is fine).
  • Source material — links, the file/PR/issue refs this came from, anything already written to lean on. Capture this session's context while it's fresh.
  • Voice — a one-line pointer to docs/agents/blog-writing.md, so whoever drafts it writes in the house style.

Workflow — capture, confirm, file

  1. Gather the idea + context. Keep it a braindump; don't pad it into a plan.
  2. Draft the issue — title Blog: <working title>, body with the sections above. This is the skill: a fresh agent should be able to draft the post from this issue alone.
  3. Surface it and confirm. Show the draft title + body and get a yes before filing — it writes to GitHub (surface-then-confirm, per .claude/rules/skills.md).
  4. File one issue via mcp__github__issue_write (method create):
    • label Blog post plus the Area label Harness (posts live in the wiki). No milestone (backlog). Leave Issue Type unset — a content idea isn't a Bug/Feature.
    • if the Blog post label doesn't exist yet, creating the issue with it auto-creates it.
  5. Report the issue link, rendered clickable ([#N](…/issues/N)).

Drafting later (not this skill)

When the idea is picked up, an agent reads the issue, writes the post into harness-dashboard/blog/, wires the nav/sidebar in .vitepress/config.mjs, builds (cd harness-dashboard && npm run build), and opens a PR — all in the voice from docs/agents/blog-writing.md. This skill only parks the idea.

How this gets triggered

A UserPromptSubmit hook (.claude/hooks/blog-writing-reminder.sh) nudges this skill when a prompt says "this could make a good blog post" / "blog this". You can also invoke it directly. It never files without your confirm.