Draft a blog post for the portfolio and publish it to Payload. Use when the user says any of "write a blog post", "draft a post", "new post about X", "/new-post", "blog post about X", or anything similar. Orchestrates topic refinement, outlining, drafting in `content/blog/<slug>/en.md`, applying `elements-of-style:writing-clearly-and-concisely`, and printing the publish command.
This skill owns the blog-authoring workflow for the jv-portfolio repo. Follow it exactly — the publish pipeline depends on the artifacts produced here.
Drafts a blog post on disk at content/blog/<slug>/en.md (and optionally pt.md), with an optional cover image at content/blog/<slug>/cover.*. The content/ directory is gitignored — drafts never touch the repo. A separate script (pnpm publish:post --slug <slug>) pushes the finished post to Payload CMS.
The author is the repo owner; this skill is an assistant, not an automaton. Confirm decisions with the user at the checkpoints listed below.
You MUST step through these in order. Create a task per item via TaskCreate if the post is non-trivial.
en.mdelements-of-style:writing-clearly-and-concisely to the full prose (mandatory)Ask the user for the topic if not provided. Derive a kebab-case slug from the topic (e.g. "How I typed my Lexical nodes" → typed-lexical-nodes). The slug is the folder name; there is no slug field in front matter.
Confirm the slug with the user before creating any file. If a folder already exists at content/blog/<slug>/, ask whether to overwrite or pick a different slug.
If the user has not already committed to an angle, propose 2–3 distinct framings for the topic. Keep each to one sentence. Let the user pick one or redirect. Skip this step if the user's request already states the angle clearly.
Create content/blog/<slug>/en.md with complete front matter and H2 headings only. Do not write body prose yet. Use this exact schema:
---