ワンクリックで
new-blog-post
Create, edit, audit, and prepare DEV.to posts using the repository templates, cover generator, and targeted quality checks.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create, edit, audit, and prepare DEV.to posts using the repository templates, cover generator, and targeted quality checks.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | new-blog-post |
| description | Create, edit, audit, and prepare DEV.to posts using the repository templates, cover generator, and targeted quality checks. |
Use this skill for new articles, edits to existing articles, cover generation, post audits, and publication preparation.
Ask only for missing information. Infer the year, slug, date, and template when the user's request makes them clear.
Gather or infer:
| Input | Required | Default |
|---|---|---|
| Title | Yes | None |
| Slug | No | Dash-cased title |
| Description | Yes | A concise summary, 150 characters maximum |
| Tags | Yes | Up to four relevant tags |
| Format | No | tutorial, announcement, deep-dive, or general |
| Series | No | null |
| Cover subtitle | No | Empty |
Choose Blog-template/tutorial.md for an executable guide, announcement.md for a release or news post, deep-dive.md for architecture and analysis, or BlogTemplate.md for another format.
Create posts/<year>/<slug>/, copy the selected template to <slug>.md, and create assets/ and code/ only when needed.
Replace every front-matter placeholder. Keep published: false, id: null, and canonical_url: null for a new post.
Generate the cover:
python scripts/cover_creative.py --title "<Title>" --subtitle "<Subtitle>" --output "posts/<year>/<slug>/assets/main.png"
Use --style or --seed when the user requests a controlled variation. The script's supported styles are authoritative.
Draft in British English. Use authoritative sources for factual or time-sensitive claims. Include runnable samples, expected output, and validation steps where relevant.
Run the targeted checks in the Validation section.
id, canonical_url, published, series, and the existing publication date unless the user explicitly requests a metadata change.For one post:
pwsh ./scripts/audit_posts.ps1 -Path posts/<year>/<slug>/<slug>.md -FailOnIssues
For changed posts in a branch:
pwsh ./scripts/audit_posts.ps1 -ChangedOnly -BaseRef origin/main -FailOnIssues
For an informational archive report, omit -FailOnIssues. Legacy posts are not required to satisfy the current contract unless they are edited.
Report findings by metadata, assets, links, structure, footer, style, and code. Include the file path and a practical correction for each finding.
title, published, description, tags, cover_image, canonical_url, id, series, and date.description is no longer than 150 characters, tags contain no more than four values, and date is ISO 8601 UTC.assets/main.png, 1000x420 pixels, referenced by the repository's raw GitHub URL.{% user pwd9000 %}, GitHub, X, LinkedIn, and a Date: DD-MM-YYYY line.Run locally:
npx prettier --write <changed files>
npx prettier --check <changed files>
npx embedme <post.md> --verify
pwsh ./scripts/audit_posts.ps1 -Path <post.md> -FailOnIssues
Use yarn embedme:write only when <!-- embedme ... --> directives need synchronising. Never use the missing cover_fix.py; cover dimensions are checked by audit_posts.ps1.
After completing work, report the post path, selected template, cover path, checks run, and any remaining issues. Remind the user that merging to main publishes the post through the repository workflow.