Claude Blog 开源博客写作技能发布,含 32 个技能与 5 个专职 Agent
AgriciDaniel/claude-blog
AgriciDaniel 发布 Claude Blog,一个面向 Claude Code 的免费开源博客写作技能,输入主题后自动检索来源、撰写文章、检查 SEO,并由独立评审 Agent 打分。
Free, open-source AI blog writer for Claude Code.
Posts that are researched, sourced and reviewed before you read a word.
Install · Demo · Commands · Team · Pricing · How it works · FAQ
Claude Blog is a free blog writing skill for Claude Code. Give it a topic and it researches current sources, writes the post, checks the SEO, has an independent reviewer score it and runs five delivery gates. You only see the post once it passes.
What you get:
- A finished post. Markdown, rendered HTML and PDF, a hero image with its license, and screenshots at phone, tablet and desktop widths plus dark mode.
- A reviewer that can say no. The
blog-revieweragent scores every post out of 100 and blocks anything under 90 or with a P0 issue. - Sources you can check. Statistics come from tier 1 to 3 sources with dates, and
/blog factcheckfetches every cited page to confirm the claim is there. - SEO for Google and AI answers. Answer-first structure, Schema.org markup and Google's latest guidance, so one post works for rankings and for citations in Google AI Overviews, ChatGPT, Perplexity and Gemini.
- Any language.
/blog multilingualwrites the post, translates and localizes it, and adds the hreflang tags.
Claude Blog is built from 32 skills and 5 specialist agents, with 30 /blog commands for everything around the post: strategy, topic clusters, audits, refreshes, images and audio.
See it in action
Type /blog in Claude Code to see every command:
Write a post from one line, through research, review and all five gates:
Watch the full walkthrough on YouTube or read how it works.
Install
You need Claude Code and Python 3.11 or newer. Run these two commands inside Claude Code, then restart it:
/plugin marketplace add AgriciDaniel/claude-blog /plugin install claude-blog@agricidaniel-blog
The analyzer's two packages install with pip install -r requirements.txt. Rendering, screenshots and generated heroes use the optional presentation extra in pyproject.toml (Patchright, WeasyPrint, Markdown, Pillow, requests and google-genai); without a renderer, gate 3 blocks delivery instead of skipping it.
Standalone installer for Unix, macOS and Windows, with digests and uninstall
Recommended: clone, review, then install. <commit-sha-or-release-tag> is a release from v2.3.0 on or a commit you reviewed, ideally a full commit SHA.
git clone https://github.com/AgriciDaniel/claude-blog.git cd claude-blog git checkout <commit-sha-or-release-tag> # Review install.sh, uninstall.sh and scripts/installer_ownership.py. chmod +x install.sh ./install.sh
Download and run on Unix and macOS, with the digest check:
curl -fsSL -o install.sh https://raw.githubusercontent.com/AgriciDaniel/claude-blog/main/install.sh echo "fea1faa0bbdea3f1b577bd84cc685a2f7c4f75da248b7a116b39969b2817f6e3 install.sh" | sha256sum -c CLAUDE_BLOG_REF=<commit-sha-or-release-tag> bash install.sh
Windows PowerShell:
$env:CLAUDE_BLOG_REF = "<commit-sha-or-release-tag>" irm https://raw.githubusercontent.com/AgriciDaniel/claude-blog/main/install.ps1 -OutFile install.ps1 pwsh -File ./install.ps1
Integrity is only as pinned as CLAUDE_BLOG_REF. Each digest is the SHA-256 of that one file with CRLF line endings normalized to LF, the form raw.githubusercontent.com serves (install.sh: the digest above; install.ps1: 55c40999f3d9c2261917f5160c8e880c23debc2941b1c13df4a6fc2379de180e). The digests do not cover the code that does the work: the wrapper clones the repository at CLAUDE_BLOG_REF and hands over to that revision's own installer. A branch such as main moves, a tag can be re-pointed by whoever controls the repository, and a full commit SHA cannot. Pin a commit SHA you reviewed.
Do not install or uninstall from the v2.2.0 tag: its uninstall.sh deletes whole blog and blog-* skill folders, including files you added. The safe installer starts at v2.3.0. It never uses sudo, backs up any file it replaces to ~/.claude/claude-blog-backups/<timestamp>/, and stops with recovery steps if it finds a managed file you edited.
Uninstall with ./uninstall.sh (Unix, macOS) or .\uninstall.ps1 (Windows). More in docs/INSTALLATION.md.
Your first post:
claude # start Claude Code /blog strategy "freelance CRM software" # find the topics worth writing /blog write "best CRM for freelancers" # research, write, review, gates /blog analyze posts/best-crm.md # score any post you already have /blog multilingual "best CRM for freelancers" --languages de,fr,es
The platform is detected for you (Next.js MDX, Astro, Hugo, Jekyll, WordPress, Ghost, 11ty, Gatsby or static HTML), and frontmatter, images and schema follow it.
Commands
30 commands in six groups. Open one to see what is inside; the full reference is in docs/COMMANDS.md.
Write and shape (7 commands)
/blog write <topic>: A new post: researched, written, reviewed and gated/blog rewrite <file>: Improve an existing post with sourced statistics (alias/blog update)/blog outline <topic>: An outline shaped by what already ranks/blog brief <topic>: A content brief with competitive analysis/blog style learn <paths>: Learn your voice from 5 to 10 of your posts/blog persona [create | list | use | show]: Writing personas with tone settings/blog brand [init | show | update]: BRAND.md and VOICE.md that every skill reads
Plan and research (5 commands)
/blog strategy <niche>: Positioning and the topics worth writing/blog calendar [monthly | quarterly] [niche]: An editorial calendar built on topic clusters/blog cluster [plan | execute] <seed or cluster-plan.json>: Plan and write a pillar with its supporting posts/blog discourse <topic>: What people ask on Reddit, YouTube and Hacker News, no API keys/blog notebooklm ask <question>: Source-grounded answers from your NotebookLM notebooks
Check quality (6 commands)
/blog analyze <file or url>: The 100-point score in five categories/blog seo-check <file>: On-page SEO checklist after writing/blog factcheck <file>: Fetch every cited source and check the claim/blog audit [directory]: Health check for a whole blog/blog cannibalization [directory]: Posts competing for the same keyword/blog decay <current> <previous>: Posts losing clicks, from Search Console exports
Search and AI answers (4 commands)
/blog geo <file>: How ready a post is to be cited by AI answers/blog schema <file>: JSON-LD structured data for the post/blog google [command]: PageSpeed, CrUX, Search Console, GA4, NLP, YouTube and Keyword Planner data/blog flow [find | optimize | win | prompts | sync]: FLOW framework prompts
More languages (4 commands)
/blog multilingual <topic> --languages <codes>: Write, translate, localize and add hreflang in one go/blog translate <file> --to <language>: Translation that keeps formatting, schema and charts/blog localize <file> --locale <locale>: Cultural adaptation for one market/blog locale-audit <directory>: Quality checks across every language version
Media and distribution (4 commands)
/blog image [generate | edit]: Hero and inline images with Gemini, after you approve the cost/blog audio [generate | voices | setup]: Narration with Gemini text to speech, after you approve the cost/blog repurpose <file>: Turn a post into posts for Reddit, LinkedIn, YouTube and newsletters/blog taxonomy [suggest | sync | audit]: Tags and categories for your CMS
Meet the team
All five agents and the editor
| Agent | Job | Tools |
|---|---|---|
/blog (your session) |
Plans the post, resolves images, charts and links, renders, runs the gates | Skills and scripts |
blog-researcher |
Current statistics from tier 1 to 3 sources, image leads, content gaps | WebSearch, WebFetch, Read, Grep, Glob |
blog-writer |
Answer-first drafts with every number sourced | Read, Write, Edit, Grep, Glob |
blog-seo |
Title, meta description, headings, links, canonical and Open Graph tags | Read, Grep, Glob |
blog-reviewer |
The 100-point score and the blocking verdict | Read, Grep, Glob |
blog-translator |
Native translations that keep markdown, schema and charts intact | Read, Write, Edit, Glob, Grep |
Of the five agents, only the writer and the translator can edit files. The researcher is the only agent with web access, and agents cannot start other agents: /blog sends each one its job.
Who it is for:
- Bloggers and solo founders who want posts they can publish without rewriting them first.
- Content and SEO teams that want every post scored, sourced and checked the same way.
- Agencies that write for several clients, in several languages, from one setup.
Pricing
The full comparison
| Writing it yourself | Hiring a writer | AI writing apps | Claude Blog | |
|---|---|---|---|---|
| Cost per post | Your hours | $300 to $1,000 or more | A monthly plan | Free, with your Claude Code plan |
| Every statistic sourced and dated | Depends | Depends | Rarely | Yes, tier 1 to 3 sources |
| Independent review before delivery | You | An editor, if you pay for one | No | Yes, 90 out of 100 to ship |
| Checked for AI answers | Rarely | Rarely | Sometimes | Yes, scored out of 15 |
| Translations with hreflang | No | Extra cost | Sometimes | Yes, /blog multilingual |
| Your files stay with you | Yes | Yes | Often in their cloud | Yes, on your machine |
Typical market prices, for illustration. Your numbers may differ. Generated images and narration use the paid Gemini API, and Claude Blog asks before it spends anything.
How a post ships
- It researches first.
blog-researcherfinds current statistics from tier 1 to 3 sources, with dates, plus image leads and the gaps other posts leave open. - It writes answer first.
blog-writerdrafts the post with every number sourced, and/blogrenders it as Markdown, HTML and PDF with a hero image. - It has to pass.
blog-reviewerscores the exact draft that ships, and five gates check it. When a gate blocks, the draft is fixed, rendered again and reviewed again, with 3 runs in all. If the third still fails you get the diagnostic, never a half-checked post.
| Gate | What it checks |
|---|---|
| 1. Capability | The reviewer agent and a way to get a hero image are there before writing starts |
| 2. Format | .md, .html, .pdf and a valid hero exist, no leftover [IMAGE], [CHART] or [INTERNAL-LINK] markers, clean HTML |
| 3. Visual | Screenshots at 375, 768 and 1280 pixels and in dark mode, valid JSON-LD, nothing overflowing |
| 4. Review | blog-reviewer gives 90 or more with zero P0 issues, on the exact draft that ships |
| 5. Links | Images resolve, links work, and the word count matches the schema |
See a review: the scorecard the reviewer returns
## Quality Review: Best CRM for Freelancers ### Overall Score: 94/100 - Exceptional | Category | Score | Max | |-----------------------|-------|-----| | Content Quality | 28 | 30 | | SEO Optimization | 24 | 25 | | E-E-A-T Signals | 14 | 15 | | Technical Elements | 14 | 15 | | AI Citation Readiness | 14 | 15 | zero P0 issues found Nonce: 3f9c1e... BLOCKING: false (cleared review gate; 94/100 overall, no P0)
The nonce ties the review to the draft it read. Change the post and the gates ask for a new review. Example scores.
Every rule lives in one file: blog-delivery-contract.md. Read the architecture for the rest.
FAQ
Is it really free?
Yes. Claude Blog is MIT licensed and runs on your Claude Code plan. Gemini images, narration and NotebookLM are optional, and Claude Blog asks before using any of them.
Does it make up statistics?
It is built to stop that. Statistics must come from tier 1 to 3 sources with a date, the reviewer blocks unsupported claims that the post depends on, and /blog factcheck fetches each cited page to check the number is there. You should still read what you publish.
Do I need API keys?
No. Writing, reviewing and the gates work without keys, and the hero image falls back to free Openverse photos. Keys add options: Gemini for generated images and narration, Unsplash, Pexels or Pixabay for stock photos, and Google APIs for Search Console, PageSpeed and Analytics data.
Will my posts get cited by ChatGPT and Google AI Overviews?
Nobody can promise a citation. Claude Blog writes in the shape AI answers quote: a direct answer first, sourced numbers, clear headings, FAQ sections and schema, and the reviewer scores AI citation readiness out of 15. /blog geo checks any post you already have.
How is it different from asking Claude to write a post?
A prompt gives you one draft. Claude Blog runs a pipeline: research with sources, an outline, the draft, an independent review and five gates that code enforces, plus commands for everything around the post such as audits, refreshes, clusters and translations.
Does it work with WordPress, Next.js or Hugo?
Yes. It detects Next.js MDX, Astro, Hugo, Jekyll, WordPress, Ghost, 11ty, Gatsby and static HTML, and writes frontmatter, image paths and schema the way that platform expects.
Does my content leave my computer?
Claude Blog runs inside Claude Code, so your drafts are sent to Claude, the same as anything else you work on there. The researcher reads public web pages to find sources. Files are written to your machine. When you have no image keys, the free hero search sends the post title and a few tags to Openverse. No other service sees your content unless you turn on an optional API yourself.
Good to know: requirements, Blog Studio and a known warning
Requirements. Claude Code and Python 3.11 or newer. PDF rendering and screenshots need the presentation extra in pyproject.toml.
Blog Studio. An optional companion plugin in the same marketplace: a live status band, a pipeline and five-gate panel, a history of past posts and a Run checks button. Install it with /plugin install blog-studio@agricidaniel-blog. It lives on the blog-studio branch, needs claude-blog 2.3.2 or later, and the standalone installers never enable it.
Known warning. claude plugin validate on Claude Code 2.1.292 and later reports the name claude-blog as reserved. The plugin still installs and loads, and CI tolerates exactly that one finding. See docs/TROUBLESHOOTING.md.
What's new
v2.3.2 makes Blog Studio work with the real engine, makes paid image calls opt-in in code and tightens the review gate. v2.3.1 added Blog Studio as an optional second plugin, and v2.3.0 brought the safe standalone installer, which backs up what it replaces and never deletes your own files. Full notes in the changelog.
More from the same family
| Project | What it does |
|---|---|
| Claude SEO | SEO audits for Google and AI search, with 19 specialist agents |
| Claude Obsidian | An AI second brain that turns your sources into a linked Obsidian wiki |
| Claude Ads | Paid ads audits across 12 platforms, from Google and Meta to TikTok |
| Claude Banana | AI image generation for posts and social previews |
| FLOW | An evidence-led SEO framework with AI prompts (CC BY 4.0) |
Docs: Installation · Commands · Architecture · Templates · Troubleshooting · MCP integration · Publishing · Security · Citation
Star history
License and contributing
MIT License, see LICENSE. Contributions are welcome: read CONTRIBUTING.md first and mention the checks you ran in your pull request. The animated scenes star the three bots from my GitHub profile; brand marks belong to their owners.
Author
Built by Agrici Daniel, AI Workflow Architect, with help from the AI Marketing Hub community.
来源:GitHub · github.com

