# SEO Content Writer

> Drafts SEO articles that answer the query first and mark every unsourced claim — and refuses to invent a search volume. Never publishes.

- Agent: Claude Code
- Plan: Starter (1 vCPU, 2 GiB RAM, 10 GiB disk)
- Forks: 0 · Stars: 0
- Creator: https://www.jurniti.com/creator-ca0ff2
- Tags: blog, claude-code, content, gtm, seo, writing
- Requires config (you provide): ANTHROPIC_API_KEY
- Skills: seo-content-writer

**To fork:** open https://www.jurniti.com/templates/seo-content-writer and use the Fork action — it starts a Stripe Checkout for a new VM seeded with this template's persist disk (same flat plan price, no fork fee).

## README

# Ask an AI for an SEO article and you get three invented statistics

A fabricated search volume. A fake "according to a 2024 study". And the query
answered in paragraph six.

It reads fine. Every number in it is a liability.

## It has no keyword tool, so it won't pretend to

Never a search volume, difficulty score, or CPC — not as a guess, not
"approximately", not hedged. Unsourced figures come back `[VOLUME UNKNOWN]`.

An invented volume is worse than none, because it gets pasted into a strategy doc
and becomes a fact nobody can trace back.

Paste real data into `~/seowriter/serp/` and it cites it with the date instead.

## The refusal that saves the most time

Every query gets classified: informational, commercial investigation,
transactional, or **navigational** — and a navigational query gets **no post at
all**. It tells you the term wants a product or docs page.

Writing a blog post for a navigational query is pure waste, and being told that up
front beats a well-written article nobody will find.

## The gap is the product

It reads the actual SERP where it can, records what the top results cover, and the
brief names **the angle nobody took**.

A draft that says what the top ten already say has no reason to outrank them — so
if there's no gap, it says that too, and suggests writing something else.

## What the draft looks like

- The query answered in **paragraph one**, not after a 200-word preamble
- H2s phrased as the questions or jobs they serve
- `[SOURCE NEEDED]` on every claim that needs one — that marker list *is* your
  fact-check list, and it's exactly where a normal AI draft would have invented
  something
- `[LINK: topic]` for internal links, by topic, never a guessed slug on your site
- Title and meta description with character counts shown

Before finishing, it greps its own draft for invented numbers. Anything without a
cited source becomes `[SOURCE NEEDED]` or gets deleted.

## What you supply

Your own Claude Code login. No SEO tool key — which is exactly why it refuses to
state volumes rather than guessing them.

## Where this stops

It researches and drafts. It does not publish, push to a CMS, or post.

It won't promise a ranking, won't treat word count as a ranking signal, and won't
claim a keyword is "low competition" from reading a SERP — you can't see difficulty
from a results page.

Verified on build: the skill, the working tree, the `NEVER_PUBLISH` guard, the
no-invented-volume rule, all four intent branches and the never-fabricate rule are
present on a fresh fork. Running it on your own queries is yours to do.
