Claude-skill-registry draft-article
Create a new blog post draft via the Bhart Blog Automation API when the user provides a subject and thoughts for the article. Use for requests to draft, outline, or publish a new post (not edits) and when you need to format the draft in the house writing style and submit it as a draft.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/draft-article" ~/.claude/skills/majiayu000-claude-skill-registry-draft-article && rm -rf "$T"
manifest:
skills/data/draft-article/SKILL.mdsource content
Draft Article
Overview
Create a new post draft from a subject and raw thoughts, following the house writing style and the Blog Automation API workflow.
Load
references/agents.md before generating or submitting drafts.
Workflow
1) Gather required inputs
- Generate a
,title
,summary
,tags
, andseo_title
if one is not supplied. Useseo_description
,author_name
from the most recent article if not supplied.author_email - Generate suggestions for any optional items the user cares about:
,slug
,hero_image_url
,hero_image_alt
.featured - If tags are unclear, offer to fetch tag suggestions with
.GET /tags
2) Draft the article
- Use the writing style in
.references/agents.md - Avoid typical LLM tells: no "not X but Y" framing, no em dashes, no scare quotes around ordinary words, and use straight ASCII quotes/apostrophes only.
- Prefer prose over bulleted lists; use bullets sparingly and only when they add clarity.
- Open with a hook and a clear thesis early (bold or standalone sentence).
- Include 2-4 ideas or mental models with reasoning and tradeoffs.
- Structure with
headings as claims, short paragraphs, and whitespace.## - End with a conclusion or an invitation to reach out or discuss.
3) Submit draft via API
- Call
withPOST /posts
and required fields, includingstatus: "draft"
andseo_title
.seo_description - If the user asked to publish, confirm and set
withstatus: "published"
.published_at - Show the user the payload before submitting if anything is inferred.
Output format
- Provide the drafted
,body_markdown
,title
,summary
,tags
, andseo_title
for review.seo_description - If requested, immediately submit the draft and return the created post ID/slug.
API usage
Use the
references/agents.md API spec and examples. Prefer curl for visibility and reproducibility.
Notes
- Keep all content in ASCII unless the existing post uses Unicode.
- If the user wants revisions, update only the draft content, not unrelated fields.