Pack · #228 trending skills repo · ↗ +68 stars this week
Claude Blog
AgriciDaniel/claude-blog
Free, open source blog writer for Claude Code. Researches current sources, writes answer-first posts for Google and AI answers, has an independent reviewer score each one out of 100 and ships only after five delivery gates. 32 skills, 30 /blog commands, 5 agents. Active development at AI-Marketing-Hub/claude-blog; public releases ship here.
- Stars
- 2.7k
- This week
- +68
- Forks
- 458
- Open issues
- 4
- Skills inside
- 33
Get started
Install the skills
npx skills add AgriciDaniel/claude-blogInstalls into Claude Code, Codex, Cursor, OpenCode and the other agents it finds on your machine.
/plugin marketplace add AgriciDaniel/claude-blog
/plugin install claude-blog@agricidaniel-blogRun inside Claude Code, then pick what to install from /plugin.
git clone --depth 1 https://github.com/AgriciDaniel/claude-blog.git /tmp/claude-blog
cp -r /tmp/claude-blog ~/.claude/skills/claude-blogClaude Code reads ~/.claude/skills/ (or .claude/skills/ in a project). Other agents read the same SKILL.md format from their own skills folder.
Inside this repo
33 skills
brainblog-analyzeScore one blog post (or a folder of posts) on a 5-category 100-point scale covering content quality, SEO, E-E-A-T, technical elements, and AI citation readiness. Runs the deterministic analyzer first, then adds judgment and prioritized Critical/High/Medium/Low fixes. Advisory style diagnostics neverskills/blog-analyzeblog-audioPaid Gemini TTS audio for a finished blog post: summary, full read-aloud, or two-speaker dialogue, with an MP3 and an HTML5 embed. Asks for explicit consent before the first paid call. Runs only on an explicit request: /blog audio, "generate audio for this blog post", "narrate this blog post", "audiskills/blog-audioblog-auditFull-site blog health assessment scanning all blog files for quality scores, orphan pages, topic cannibalization, stale content, and AI citation readiness. Runs canonical batch analysis before site-wide checks. Produces per-post scores and a prioritized action queue. Use when the user asks for a sitskills/blog-auditblog-brandEstablish durable brand and voice context for cross-skill consumption. Generates BRAND.md (audience, positioning, do/don't editorial rules, taboo phrases, competitor differentiation) and VOICE.md (existing persona JSON re-expressed as readable prose), both written to the project root. When present, skills/blog-brandblog-briefCreate a content brief for ONE planned post: target and secondary keywords, search intent, template choice, competitor gaps from the live SERP, sourced statistics to include, section plan, internal-link targets, and distribution ideas. Use when the user says "content brief", "blog brief", "SEO briefskills/blog-briefblog-calendarBuild a dated monthly or quarterly editorial calendar: which posts to publish or review when, content mix, templates, distribution timing, and a material-change review queue. Use when the user says "editorial calendar", "content calendar", "publishing schedule", "what should I write this month". Notskills/blog-calendarblog-cannibalizationDetect keyword cannibalization across blog posts by extracting primary keywords from titles and headings, clustering semantically similar targets, and flagging posts competing for the same search intent. Supports a free local mode (file analysis) and a paid DataForSEO API mode that runs only after tskills/blog-cannibalizationblog-chartInternal capability, not user-invocable: the orchestrator calls it while running blog-write or blog-rewrite to turn research data into dark-mode compatible inline SVG charts (horizontal bar, grouped bar, donut, line, lollipop, area, radar) for HTML or MDX. Produces accessible markup (role=img, aria-skills/blog-chartblog-clusterSemantic topic cluster planning and automated execution engine for claude-blog. Performs SERP-based keyword research, groups keywords by search intent and SERP overlap, builds a hub-and-spoke cluster architecture, generates an interactive SVG cluster map, and executes the full cluster by orchestratiskills/blog-clusterblog-decayCompare two Google Search Console page exports (current vs previous period) to flag pages whose clicks or impressions fell by a chosen threshold, with a triage hint (refresh, query shift, consolidate, prune). The 20% default is a screening heuristic, not proof of decay. Use for "/blog decay", "conteskills/blog-decayblog-discourseResearch what people are actually saying about a topic in the last 30 days across Reddit, X / Twitter, YouTube, Hacker News, dev.to, Medium, and other public discourse platforms. API-free; uses WebSearch with platform-targeted site operators plus recency filters. Produces DISCOURSE.md (a structured skills/blog-discourseblog-factcheckVerify statistics and claims in blog posts by fetching cited source URLs and checking if the claimed data actually appears on the page. Extracts all load-bearing claims (statistics, product or policy claims, ranking and comparative claims, named sources), validates cited URLs before fetching, and scskills/blog-factcheckblog-flowFLOW framework integration for bloggers. Evidence-led content workflow using the Find, Optimize, Win loop with stage-specific AI prompts from the FLOW knowledge base (30 blog-applicable prompts, adapted from FLOW under CC BY 4.0). Use when user says "FLOW framework", "blog flow", "/blog flow", "evidskills/blog-flowblog-geoAudit one blog post file for AI-citation readiness (self-contained, sourced passages, entity clarity, structure, crawler access) and score it with an internal 0-100 heuristic plus per-surface notes for AI Overviews, AI Mode, ChatGPT, Perplexity, Claude, Gemini, and Copilot. Use when the user says "gskills/blog-geoblog-googleCredentialed Google API calls for a blog: PageSpeed Insights, CrUX history, Search Console performance and URL Inspection, GA4 organic traffic, Cloud NLP entities, YouTube video search, Google Ads Keyword Planner, and the Indexing API (job and livestream pages only). Uses the user's Google credentiaskills/blog-googleblog-imagePaid Gemini image generation for blog heroes, inline illustrations, and OG cards (direct API by default, optional MCP for edits). Asks for explicit consent before the first paid call. Runs only on an explicit request: /blog image, "generate a blog hero image", "blog illustration", "edit this blog imskills/blog-imageblog-locale-auditRead-only audit of a folder of existing multilingual blog posts: translation coverage, parity, hreflang and canonical consistency, meta-tag parity, and stale translations, with a prioritized report. Use when the user says "locale audit", "check translations", "multilingual audit", "hreflang check", skills/blog-locale-auditblog-localizeDeep cultural adaptation of an already translated blog post for one target market: local examples, CTAs, legal references, statistic sources, and formality (Sie/du, tu/vous). Built-in profiles for DACH, Francophone, Hispanic, and Japanese markets. Use when the user says "localize blog", "cultural adskills/blog-localizeblog-multilingualOne-command multilingual blog creation. Writes a blog post, translates it into user-specified languages, applies cultural adaptation, and emits hreflang tags, sitemap entries, and a CMS-ready language map. The complete write-to-publish pipeline for international content. Orchestrates blog-write, bloskills/blog-multilingualblog-notebooklmQuery a user's Gemini Notebook (formerly NotebookLM) for source-grounded answers through a logged-in browser session on their Google account. Uses the account's usage limits and writes browser state. Runs only on an explicit request: /blog notebooklm, "ask my Gemini Notebook", "ask my NotebookLM notskills/blog-notebooklmblog-outlineSERP-informed outline generation with H2/H3 heading hierarchy, competitive content gap analysis, section-by-section word count targets, chart and image placement markers, optional FAQ question planning, and internal linking zones. Skeleton only: structure, H2/H3 hierarchy, word counts, optional FAQ skills/blog-outlineblog-personaCreate and manage writing personas with NNGroup 4-dimension tone framework (Funny-Serious, Formal-Casual, Respectful-Irreverent, Enthusiastic-Matter-of-fact). Personas define readability targets, sentence length distribution, vocabulary tier, contraction frequency, and summary box label. blog-write skills/blog-personablog-repurposeTurn an existing blog post into draft text for other channels: X threads, LinkedIn posts, Threads/Bluesky, short-video scripts, YouTube scripts, Reddit posts, newsletter excerpts, podcast scripts. Saves drafts to files; it never posts anywhere. Never invents personal stories or results: first-hand fskills/blog-repurposeblog-rewriteRewrite and optimize existing blog posts for Google SEO (E-E-A-T, helpful content) and AI citation visibility as one SEO discipline. For AI-citation-only audit (no Google work), use blog-geo instead. Replaces fabricated statistics with sourced data, applies answer-first formatting, adds images, geneskills/blog-rewriteblog-schemaGenerate JSON-LD for ONE blog post (BlogPosting with Person, Organization, BreadcrumbList, ImageObject, VideoObject; FAQPage only as optional entity markup) in a single @graph, and check it against Google's current structured data support. Use when the user says "generate schema", "json-ld for this skills/blog-schemablog-seo-checkPost-writing SEO validation with pass/fail checklist covering title tag clarity and uniqueness, meta description quality, heading hierarchy, internal/external link audit with anchor text analysis, canonical URL verification, Open Graph meta tags (og:title, og:description, og:image), Twitter Card valskills/blog-seo-checkblog-strategyBuild a blog-level strategy for a niche or business: audience segments, 3-5 content pillars with hub-and-spoke clusters, competitive gaps, measurement plan, and a 90-day roadmap. Use when the user says "blog strategy", "content strategy", "blog positioning", "content pillars", "what should I blog abskills/blog-strategyblog-styleMeasure writing-style statistics (sentence length, vocabulary, transitions, phrasing) from 5 to 10 posts you or your client wrote, and produce a voice profile for VOICE.md, blog-persona, and blog-write. Use for "learn my style", "build a writing baseline". It describes style; it does not detect or askills/blog-styleblog-taxonomySuggest tags and categories for a blog post from its content, audit a site's tag and category health, and, only after the user approves a shown plan, sync tags and categories to WordPress, Shopify, Ghost, Strapi, or Sanity. suggest and audit are read-only; sync is dry-run by default and never deleteskills/blog-taxonomyblog-translateTranslate existing blog posts into one or more target languages with SEO-optimized localization. Produces native-quality translations that preserve markdown structure, frontmatter, schema JSON-LD, image and chart embeds, and evidence-backed explanations. Localizes keywords, meta tags, numbers, datesskills/blog-translateblog-writeWrite a new blog article from scratch for Google rankings and AI citations, then take it through the delivery gates. Generates the full article with template selection, answer-first formatting, Key Takeaways box, sourced statistics, licensed images, built-in SVG charts, optional FAQ and internal linskills/blog-writeblogFull-lifecycle blog engine with 31 sub-skills, 12 templates, 100-point scoring, and 5 agents. Routes requests to the right sub-skill: writing, rewriting, analysis, outlines, audits, schema, charts, images, repurposing, AI citation SEO, FLOW prompts, topic clusters, and multilingual publishing. Optimskills/blogDocumentation
README
Claude Blog
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.
Releases
Recent versions
v2.3.2Claude Blog v2.3.2: safer by default, a stricter reviewer and an animated READMEv2.3.1Claude Blog v2.3.1: Blog Studio, an optional live companionv2.3.0Claude Blog v2.3.0: one delivery pipeline, safer installers, verified CIv2.2.0Claude Blog v2.2.0: Verified currentness and market-ready Brainv2.1.1Claude Blog v2.1.1 — Google guidance alignment and public safeguardsv1.9.1v1.9.1 - Security hardening + Blog Delivery Contract