Three free repos keep coming up when people ask how to get Claude Code to write and rank content. They look alike from a distance. All three are MIT-licensed, all three live on GitHub, and all three promise SEO help. Up close they are built for different people, and installing the wrong one costs you an afternoon of setup you then throw away.
This comparison covers TheCraigHewitt/seomachine, AgriciDaniel/claude-blog and coreyhaines31/marketingskills. I pulled every number from the GitHub API and the READMEs on 2 November 2026. I did not run benchmark articles through all three, so this is a documentation-based comparison. Where I say a tool does something, that comes from its own docs, not from my test results.
If skills are new to you, read what Claude Code skills are first.
The short answer: which one should you pick?
Pick marketingskills if you want broad marketing help with zero setup. Pick claude-blog if blogging is your main job and you want a strict quality gate before you see a draft. Pick seomachine if you run content for one business and want a project folder wired to DataForSEO, Google Analytics, Search Console and WordPress.
That is the whole answer for most readers. The rest of this post shows why, so you can check the reasoning against your own setup.
Here is the snapshot from the GitHub API, pulled 2 November 2026:
| seomachine | claude-blog | marketingskills | |
|---|---|---|---|
| Repo | TheCraigHewitt/seomachine | AgriciDaniel/claude-blog | coreyhaines31/marketingskills |
| Stars | 7,567 | 2,608 | 57,852 |
| Forks | 986 | 442 | 8,512 |
| Licence | MIT | MIT | MIT |
| Last push | 2026-10-23 | 2026-10-30 | 2026-10-31 |
| Shape | Workspace you clone and work inside | Plugin: orchestrator plus sub-skills and agents | Library of standalone skills |
| Scope | SEO blog and landing pages for one business | Blog writing, auditing and distribution | Marketing broadly (CRO, copy, SEO, ads, email, pricing) |
| Paid data needed | DataForSEO account listed as a prerequisite | Optional (Google APIs, Gemini) | None to start |
Takeaway: star count tracks breadth of audience, not fit. marketingskills has roughly seven times the stars of seomachine because every marketer can use it, not because it writes better blog posts.
What each repo actually is
Before comparing features, get the category right. These three repos are three different kinds of thing, and that matters more than any single command.
seomachine: a workspace, not a skill
The README calls seomachine “a specialized Claude Code workspace for creating long-form, SEO-optimized blog content for any business.” You clone the repo, fill in its context files, and run Claude Code from inside that folder. Your research, drafts and published posts live in its directories: topics/, research/, drafts/, published/, rewrites/ and output/.
The repo root holds a .claude folder with three parts. I counted 24 command files (such as research.md, write.md, optimize.md, rewrite.md, publish-draft.md and a set of landing-* commands), 11 agent files (including seo-optimizer, meta-creator, internal-linker, keyword-mapper and editor), and a skills folder. The README says it ships 26 marketing skills as slash commands, grouped into copywriting, CRO, strategy, channels, SEO and analytics.
There are also Python research scripts at the root: research_quick_wins.py, research_competitor_gaps.py, research_serp_analysis.py, research_topic_clusters.py, research_trending.py and others. They need the packages in data_sources/requirements.txt. A Dockerfile and docker-compose.yml are included if you prefer containers.
claude-blog: a gated plugin
claude-blog describes itself as a “Claude Code blog skill suite.” The README for v2.3.1 says it has 32 skill directories: one orchestrator called blog plus 31 sub-skills, of which 30 are user-facing /blog commands. It adds 5 specialised agents, templates, a pytest suite and a bundled “Claude Blog Brain” folder.
The selling point is what the README calls the 5-gate Blog Delivery Contract. Its own summary: “the user is never the first reviewer.” Every draft gets scored against a 100-point rubric, delivery is blocked below 90, and it iterates up to three times before escalating to you.
One detail worth knowing: the repo description says active development happens in a separate AI-Marketing-Hub/claude-blog repo tied to a paid community, and public releases ship to the AgriciDaniel repo. So the public repo is a release channel.
marketingskills: a library you pick from
marketingskills is the broadest of the three. Its README calls it “a collection of AI agent skills focused on marketing tasks” for “technical marketers and founders.” The skills folder had 53 entries when I checked, covering copywriting, cro, seo-audit, ai-seo, programmatic-seo, schema, site-architecture, ad-creative, cold-email, pricing, launch, churn-prevention and many more.
It also works outside Claude Code. The README lists Claude Code, OpenAI Codex, Cursor, Windsurf and any agent that supports the Agent Skills spec. There is a tools folder with setup docs and a registry of integrations, plus a disclosed partner program that funds the project.
Takeaway: seomachine is a place you work, claude-blog is a pipeline you run, marketingskills is a toolbox you pull from.
Head-to-head: features compared
This table puts the documented features side by side. A tick means the README or repo contents describe it. A dash means I found no mention. That is a statement about the docs, not proof the feature is absent.
| Capability | seomachine | claude-blog | marketingskills |
|---|---|---|---|
| Keyword and SERP research command | /research, /research-serp, /research-gaps | /blog brief, /blog outline (SERP-informed) | seo-audit, ai-seo, content-strategy skills |
| Long-form article writing | /write (2,000 to 3,000+ words per README) | /blog write | copywriting (page copy focus) |
| Rewrite existing posts | /rewrite | /blog rewrite | copy-editing |
| Automatic post-write review | Agents run after /write | 5-gate contract, 90/100 floor | - |
| Scoring an existing post | /analyze-existing | /blog analyze (0 to 100) | seo-audit |
| JSON-LD schema | schema-markup skill | /blog schema | schema skill |
| Topic clusters | /cluster | /blog cluster | site-architecture, programmatic-seo |
| Content decay and cannibalisation | /performance-review | blog-decay, blog-cannibalization | - |
| AI citation (GEO/AEO) focus | /research-ai-citations | blog-geo | ai-seo |
| Image generation | - | Gemini via /blog image | image skill |
| Audio narration | - | Gemini TTS (blog-audio) | - |
| Translation and localisation | - | blog-translate, blog-localize, blog-multilingual | - |
| Publish to WordPress | /publish-draft with Yoast metadata | - | - |
| Landing page workflow | /landing-research, /landing-write, /landing-audit, /landing-publish | - | cro, copywriting, signup, popups |
| Non-content marketing (pricing, email, ads) | 26 bundled marketing skills | - | Yes, most of the library |
| Works outside Claude Code | No (workspace built for it) | Agent Skills compatible badge | Codex, Cursor, Windsurf and others |
Two things stand out. First, only seomachine documents a publish step to a CMS. Second, only claude-blog enforces a numeric quality floor in code before you see anything.
Setup and running cost
Free licence does not mean free to run. Here is what each one asks of you before the first useful output.
seomachine setup
The README prerequisites are Claude Code, a Claude subscription or Anthropic Console billing, and a DataForSEO account. It notes that Claude subscriptions and API billing are separate, and that DataForSEO, Google Analytics and Search Console “require their own credentials.”
Steps from the README:
- Clone the repo.
- Run
pip install -r data_sources/requirements.txt. - Add credentials to
data_sources/config/.env. - Fill in eight context files:
brand-voice.md,writing-examples.md,features.md,internal-links-map.md,style-guide.md,target-keywords.md,competitor-analysis.mdandseo-guidelines.md.
Step four is the real work. The repo ships a filled-in example for Castos, a podcast hosting company, under examples/castos/, so you can copy the pattern. Budget a few hours if you want the context files to be good, because the writing quality depends on them.
DataForSEO is pay-as-you-go with a $50 minimum top-up. Your spend depends on how many SERP and keyword calls you make, so I cannot give you a monthly figure.
claude-blog setup
The README shows a plugin install path and shell installers (install.sh and install.ps1) with uninstallers. It lists Python 3.11+ on its badge. The core writing flow does not need a paid data account. Optional extras do: image generation goes through a Banana MCP or the Gemini API, audio uses Gemini TTS, and the Google integrations cover PageSpeed Insights, CrUX, Search Console, GA4, NLP, YouTube, URL Inspection and Keyword Planner.
A Spanish-language write-up on pasqualepillitteri.it advised cloning and reading the installer before running it, rather than piping it into a shell. That is good advice for any repo that writes into ~/.claude.
marketingskills setup
This is the lightest. The README recommends:
npx skills add coreyhaines31/marketingskills
You can install single skills with --skill, or use /plugin install marketing-skills inside an interactive Claude Code session. The README warns that running the CLI from inside an agent session may install to .agents/skills/, which Claude Code does not read, and tells you to pass -a claude-code. Read that line before you wonder why nothing shows up.
No paid data account is needed to start. The tools folder documents optional connections if you want the skills to read live accounts.
| seomachine | claude-blog | marketingskills | |
|---|---|---|---|
| Install method | git clone + pip | plugin or installer script | npx skills add or /plugin |
| Python needed | Yes | Yes (3.11+ badge) | No for core skills |
| Paid account listed as required | DataForSEO | None for core | None |
| Context to fill in first | 8 files | Brand/persona skills available | product-marketing-context pattern |
| Rough time to first output | Hours (context files) | Under an hour (my estimate from docs) | Minutes |
The “time to first output” row is my estimate from reading the docs, not a timed test.
For a deeper install walkthrough, see how to install Claude Code skills.
Writing quality controls compared
All three can produce a draft. The question is what stops a bad draft from reaching you.
claude-blog has the strictest documented control. Its Gate 4 requires a blog-reviewer score of 90 or higher with zero P0 issues, tied to a review nonce so a stale review counts as a violation. Gate 5 checks that images resolve, an og:image exists, links pass a verified-URL policy and the word count matches the schema within 5%. There is also a pre-commit hook, scripts/quality_gate.py, that blocks posts scoring below 70 from being committed.
The README is honest about the limits. It says the nonce “stops accidents and casual forgery; it does not stop a process running as the same user that can read its state file.” It also notes external link checks need network access, so a failure might be DNS rather than a dead link. That kind of candour in docs is a good sign.
seomachine uses agents after the draft. The README says that after /write, agents run automatically: the SEO Optimizer gives on-page recommendations and the Meta Creator gives multiple title and description options, along with others in the agents folder. That is review as advice. Nothing in the docs says it blocks delivery on a score.
marketingskills leaves review to you. The copy-editing skill is a structured editing pass, and seo-audit checks a page. But there is no pipeline that runs them in sequence on every draft. You choose when to call them.
Which matters for you depends on volume. If you publish two posts a month and read each one closely, a gate is nice but not essential. If you are pushing twenty drafts a week, a hard floor saves you from shipping the weak ones.
None of the three removes the need for a human read. A rubric score is the tool scoring its own work. Pair any of them with a humanising pass; I cover options in Claude Code skills for humanizing AI writing.
Data sources and live SEO signals
A content tool that cannot see search data is guessing. This is where the three split hardest.
seomachine is the most data-wired for SEO. It lists Google Analytics 4, Google Search Console and DataForSEO as integrations. The README says its analysis uses Search Console rankings and CTR plus DataForSEO competitive data. The root scripts read like an SEO analyst’s to-do list: seo_baseline_analysis.py, seo_bofu_rankings.py, seo_competitor_analysis.py, research_quick_wins.py and research_performance_matrix.py. If you already pay for DataForSEO, this is the shortest path from raw data to a prioritised list of posts.
claude-blog leans on Google’s own APIs. It covers PageSpeed Insights, CrUX, Search Console, GA4, Natural Language, YouTube, URL Inspection and Keyword Planner. The README scopes Indexing API use to JobPosting or livestream URLs only, which matches Google’s own rules for that API. It also connects to NotebookLM for answers grounded in documents you upload.
marketingskills is neutral about data. The tools/REGISTRY.md file lists integrations, and the README names sponsored “Verified Partners” (Converly, Ploy, AIsa and Omnia when I checked). The README says partners are “listed alongside the neutral options and never influencing what the core skills recommend.” The skills themselves work fine with whatever data you paste in.
| Data source | seomachine | claude-blog | marketingskills |
|---|---|---|---|
| DataForSEO | Built in, listed as prerequisite | - | Via AIsa partner (per README) |
| Google Search Console | Yes | Yes | Via tools registry |
| GA4 | Yes | Yes | Via tools registry |
| PageSpeed / CrUX | - | Yes | - |
| Keyword Planner | - | Yes | - |
| WordPress publish | Yes (REST API + Yoast) | - | - |
If keyword data is your weak spot, my roundup of Claude Code skills for keyword research covers more options.
Who each one is built for
Reading the READMEs, each author had a clear user in mind.
seomachine suits the in-house content lead
The example folder is a real SaaS company. The context files assume one brand voice, one feature list, one internal-link map. The landing page commands assume you are selling something. This is built for someone who owns a company blog on WordPress and wants a repeatable research-write-optimise-publish loop.
It suits agencies less well out of the box. You would need one clone per client, because the context lives in the repo. That is workable, just more admin than a plugin.
claude-blog suits the high-volume blogger or agency
The command list is long and blog-specific: calendars, briefs, outlines, persona, taxonomy, decay checks, cannibalisation checks, repurposing, translation and audio. The quality gate exists because someone was tired of reviewing weak drafts. If blogs are your product, this repo has thought about more of your problems than the others. Agencies with many sites may find the multilingual and locale-audit skills useful.
marketingskills suits founders and generalist marketers
Most of the library is not about blogging at all. It covers pricing pages, onboarding flows, churn, referral programs, cold email, paid ads and launches. The SEO skills (seo-audit, ai-seo, programmatic-seo, schema, site-architecture) are solid starting points, but they are one slice. If you wear six hats, this is the one to install first. I list more picks in Claude Code skills for founders and Claude Code skills for marketers.
Takeaway: match the repo to your job title before you match it to a feature list.
Overlap: can you run more than one?
Yes, and for some people that is the right move. There are a few things to watch.
marketingskills plus claude-blog is the cleanest pair. claude-blog handles the blog pipeline. marketingskills handles landing pages, pricing, email and ads. The command namespaces barely collide, because claude-blog puts everything under /blog.
seomachine plus marketingskills overlaps a lot. seomachine’s .claude/skills folder includes names such as copywriting, copy-editing, page-cro, pricing-strategy, seo-audit, schema-markup and programmatic-seo. Several of those names match skills in marketingskills. I did not diff the files, so I cannot tell you whether they are the same text, older copies or independent work. In practice, if you install marketingskills globally and then work inside the seomachine folder, you may have two skills with the same name. Claude Code will pick one, and you may not know which. Check with /skills inside the session.
seomachine plus claude-blog is redundant for most people. Both want to own research, writing and optimisation for blog posts. Pick one pipeline.
| Combination | Verdict |
|---|---|
| marketingskills + claude-blog | Good fit, little collision |
| marketingskills + seomachine | Works, but check duplicate skill names |
| claude-blog + seomachine | Usually redundant |
| All three | Only if you enjoy debugging which skill fired |
If you would rather build a small custom skill than stack three repos, start with how to build a Claude Code skill.
Community signal and maintenance
Stars measure attention. Recent pushes measure whether someone is still fixing things. All three were pushed within ten days of my check, so all three are maintained.
- marketingskills: 57,852 stars, 8,512 forks, last push 31 October 2026. It also ships a
VERSIONS.mdand validation scripts (validate-skills.sh,validate-skills-official.sh), which suggests the maintainer checks skills against the spec. - seomachine: 7,567 stars, 986 forks, last push 23 October 2026. Coverage includes a dev.to walkthrough, a mintlify docs site and a May 2026 episode of the AEO Engine podcast describing it as a free repo for SEO agency work. A sourcepulse mirror and a gittrend page also track it. Star counts in older third-party articles were lower, which fits steady growth.
- claude-blog: 2,608 stars, 442 forks, last push 30 October 2026. It has a
CHANGELOG.md,CITATION.cff, pre-commit config and tests, which is more engineering scaffolding than the other two show at the root. A June 2026 Spanish article reported about 1,126 stars at that time.
Reddit discussion of these exact repos was thin when I searched. Most hits were mirror snapshots rather than reddit.com threads, and one “claude-blog” result was a different repo (maun11/claude-blog-engine) whose poster said it had “a lot of room to improve.” Do not confuse the two.
I found no independent benchmark comparing the output quality of these three. If you see one, check whether the same prompt and model were used.
Paid alternatives worth a look
If you would rather pay than configure, three options came up in my research. I have not bought these for this post; details come from their sales pages and pricing.
| Option | Price | What it is | Fit vs the free three |
|---|---|---|---|
| Ultimate Claude SEO & AEO Skills Pack (Contra) | $39 | A paid pack of SEO and AEO skills | Narrower than marketingskills, cheaper than your time configuring seomachine |
| Inflectual Master Marketing Skills Bundle | $167 one-time | A large bundle of marketing skills | Wide like marketingskills, but paid and closed |
| DataForSEO | Pay-as-you-go, $50 minimum top-up | Data API, not a skill | Powers seomachine; also usable with any skill that accepts pasted data |
My honest read: the free repos here cover more ground than either paid pack appears to, based on what is public. Paid packs make sense if you want someone else’s curation and you value a single download. DataForSEO is the one paid item that changes what the tools can see, rather than how they write.
For more paid and free picks focused on search, see Claude Code skills for SEO.
Common mistakes when choosing
These come from reading the docs closely and from the setup traps the READMEs themselves warn about.
- Choosing by star count. marketingskills has the most stars because it serves the most people. If you only write blog posts, that number does not tell you much.
- Skipping seomachine’s context files. The writing depends on
brand-voice.mdandwriting-examples.md. Leave them as templates and you get generic output, then blame the tool. - Installing marketingskills from inside an agent session without
-a claude-code. The README warns this can install to a folder Claude Code ignores. - Treating claude-blog’s 90/100 score as a guarantee. It is a rubric score from the tool’s own reviewer agent. It catches structural problems. It does not prove your facts are right.
- Forgetting the paid data bill. seomachine lists DataForSEO as a prerequisite. Budget for the $50 top-up and your call volume.
- Running two pipelines at once. seomachine and claude-blog both want to own the article flow. Running both creates duplicate work and conflicting advice.
- Piping install scripts straight into a shell. Read the script first, especially for anything writing into
~/.claude.
How to decide in ten minutes
Answer these in order and stop at the first yes.
- Do you publish to WordPress and already pay for, or plan to pay for, DataForSEO? Install seomachine.
- Is blogging the main thing you produce, at more than a few posts a month? Install claude-blog.
- Do you need help across pricing, landing pages, email, ads and SEO? Install marketingskills.
- Still unsure? Install marketingskills first. It costs minutes, needs no paid account, and you can add claude-blog later without collisions.
Pick seomachine if…
You run one company’s content, you are comfortable with Python and .env files, and you want research scripts, agents and a WordPress publish step in one folder.
Pick claude-blog if…
You want the tool to reject its own weak drafts before you read them, you need translation, audio or charts, and you produce a lot of blog content.
Pick marketingskills if…
You want the fastest install, you work across many marketing tasks, or you also use Codex, Cursor or Windsurf.
Claude Code skills for content writers covers more writing-focused picks if none of these three fits.
FAQ
What is seomachine?
seomachine is an MIT-licensed Claude Code workspace by TheCraigHewitt for researching, writing, optimising and publishing long-form SEO content. You clone it and work inside the folder.
What is claude-blog?
claude-blog is an MIT-licensed Claude Code plugin by AgriciDaniel with one orchestrator skill, 31 sub-skills and 5 agents for blog writing and auditing, gated by a 5-step delivery contract.
What is marketingskills?
marketingskills is an MIT-licensed library of marketing skills by Corey Haines covering CRO, copywriting, SEO, analytics, ads, email and growth. It works with Claude Code and other agents.
Which is best for SEO blog posts?
For blog posts specifically, claude-blog or seomachine. claude-blog has the stricter quality gate. seomachine has the deeper SEO data wiring through DataForSEO and Search Console.
Are they all free?
The code is free under MIT. seomachine lists a DataForSEO account as a prerequisite, which is pay-as-you-go. claude-blog’s image and audio features use the Gemini API, which may bill you.
Which has the most GitHub stars?
marketingskills, with 57,852 stars on 2 November 2026. seomachine had 7,567 and claude-blog had 2,608.
Do I need to know Python?
For seomachine and claude-blog, some comfort helps, because both install Python dependencies. marketingskills installs with one npx command and its core skills need no Python.
Can I use marketingskills outside Claude Code?
Yes. Its README lists OpenAI Codex, Cursor, Windsurf and any agent supporting the Agent Skills spec.
Does seomachine publish to WordPress?
Yes. The README describes publishing through the WordPress REST API with Yoast SEO metadata, plus a separate landing page publish command.
What is the claude-blog Delivery Contract?
Five gates that run before you see a draft: capability discovery, format completeness, visual verification, content review (90+ score, zero P0 issues) and asset and link integrity. It iterates up to three times.
Can I run marketingskills and claude-blog together?
Yes. claude-blog namespaces its commands under /blog, so the two rarely collide. This is the pairing I would suggest for most marketers who blog.
Can I run seomachine and marketingskills together?
You can, but several skill names overlap, such as copywriting and seo-audit. Check which version fires with /skills inside your session.
Is claude-blog the same as claude-blog-engine?
No. claude-blog-engine by maun11 is a separate repo shared on Reddit. This post covers AgriciDaniel/claude-blog.
Did you test the output of all three?
No. This is a documentation-based comparison from the READMEs and GitHub API on 2 November 2026. I have not run the same brief through each tool.
Which is easiest for a non-developer?
marketingskills. It installs in one command and needs no credentials. See Claude Code skills for non-developers for more.
Do these help with AI search visibility (GEO)?
All three have something. seomachine has /research-ai-citations, claude-blog has blog-geo, and marketingskills has ai-seo. My Claude Code skills for GEO post goes deeper.
Are the paid packs better than these?
Not on breadth, from what is public. The Contra SEO & AEO pack costs $39 and the Inflectual bundle $167 one-time. They suit people who want a single curated download.
Sources and methodology
All repo figures came from the GitHub API (gh api repos/<owner>/<repo>) and directory listings on 2 November 2026: stars, forks, licence, last push and folder contents. Feature descriptions come from each repo’s README at that date. Third-party context came from the dev.to seomachine walkthrough, the mintlify seomachine docs, the AEO Engine podcast (May 2026), pasqualepillitteri.it on claude-blog, and Reddit mirror snapshots. No output tests were run. Prices for paid alternatives are as listed by the sellers and may change.
Repos:
- https://github.com/TheCraigHewitt/seomachine
- https://github.com/AgriciDaniel/claude-blog
- https://github.com/coreyhaines31/marketingskills
Your next step
Open a terminal and install marketingskills with npx skills add coreyhaines31/marketingskills -a claude-code. Run seo-audit on one live page this week. If blogging turns out to be the bottleneck, add claude-blog next. If you need data-driven topic picks and WordPress publishing, clone seomachine and spend an afternoon on the context files. Start small, and add the second tool only when the first one runs out.