Agent skill

Content SEO

by jdevalk in jdevalk/skills

Audits a blog post draft or page copy for content-level SEO: search intent fit, focus keyphrase placement, E-E-A-T signals (experience, expertise, authoritativeness, trustworthiness), helpfulness…

MITAuto-check passedMarketing & SEO

Install Content SEO

skills CLI
$ npx skills add jdevalk/skills --skill content-seo -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jdevalk/skills content-seo --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jdevalk/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/content-seo .claude/skills/content-seo && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
content-seo
GitHub stars
104
Token cost
~2.3k tokens
SKILL.md length
1,211 words
Files
2
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Audits a blog post draft or page copy for content-level SEO: search intent fit, focus keyphrase placement, E-E-A-T signals (experience, expertise, authoritativeness, trustworthiness), helpfulness…

  • Works in 6 steps: Search intent fit → Focus keyphrase placement → E-E-A-T signals → …
  • The user asks will this rank
  • SKILL.md covers Before you audit, What to check, Scoring and Output format
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Content SEO is an agent skill from jdevalk/skills. Audits a blog post draft or page copy for content-level SEO: search intent fit, focus keyphrase placement, E-E-A-T signals (experience, expertise, authoritativeness, trustworthiness), helpfulness and originality, content freshness, and internal linking. Use when the user asks "will this rank", "SEO check this post", "content SEO audit", or "optimize this post for search" — or proactively after a readability pass on a post that's meant to rank. For how the prose reads, use the readability-check skill; for titles…

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `README.md`).

It sits in Marketing & SEO, covering On-page SEO, Technical SEO and Static sites and blogs. It works with Astro. The repository describes itself as: Agent skills for GitHub repos and profiles, WordPress and EmDash plugins, Astro SEO, and content readability. The licence is MIT.

When your agent uses it

  • The user asks will this rank
  • SEO check this post
  • Content SEO audit
  • Optimize this post for search —

Example prompts

  • “will this rank”
  • “SEO check this post”
  • “content SEO audit”
  • “/content-seo”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Search intent fit
  2. Focus keyphrase placement
  3. E-E-A-T signals
  4. Helpfulness and originality
  5. Freshness
  6. Internal linking and site fit

What it can do on your machine

Read from SKILL.md and the folder at commit 106fc68. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Content SEO loads about 2.3k tokens when it runs. Until then it costs about 169 tokens; SKILL.md has 1,211 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~169
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from jdevalk/skills at commit 106fc68, republished under its MIT licence (© jdevalk). 1,211 words, ~2,292 tokens.

Download SKILL.mdSave it as .claude/skills/content-seo/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
content-seo
description
Audits a blog post draft or page copy for content-level SEO: search intent fit, focus keyphrase placement, E-E-A-T signals (experience, expertise, authoritativeness, trustworthiness), helpfulness and originality, content freshness, and internal linking. Use when the user asks "will this rank", "SEO check this post", "content SEO audit", or "optimize this post for search" — or proactively after a readability pass on a post that's meant to rank. For how the prose reads, use the `readability-check` skill; for titles and meta descriptions, use `metadata-check`; for site-wide technical SEO (sitemaps, structured data, canonicals), use `astro-seo` or `static-seo`.

Content SEO audit

Audit a post or page draft for whether it earns a ranking — not how it reads. This skill covers the content-level questions: does the post match a real search intent, does it use the words searchers use, does it demonstrate experience and trustworthiness, and does it give the searcher a reason to stay.

This is the third pass in the writing-quality chain. Run readability-check first (how the prose reads), metadata-check on the title and meta description, and this skill on the question of whether the content deserves the click. Technical SEO — sitemaps, structured data, canonicals, performance — belongs to astro-seo or static-seo.

Before you audit

You need two facts. If the user hasn't supplied them, derive them and state your assumption — a wrong assumption flagged is better than a silent one:

  • The focus keyphrase: the exact query this post should rank for, in the words a searcher would type. If the user can't name one, derive the apparent keyphrase from the title and headings — and report that as the first finding, because a post written without a target query usually serves none.
  • The audience and their problem: who lands on this page and what they were trying to fix when they searched.

The reader decides what quality is, not the writer. Every check below reduces to one question: does this content serve the person who typed the query better than what's already ranking?

What to check

Read the full post, then report on each criterion below. For every issue, quote the specific text, reference its location, explain the problem, and suggest a concrete fix.

1. Search intent fit

Searchers arrive with one of four intents, and the content type must match:

  • Informational ("how does X work") — wants a guide or explainer, not a product pitch.
  • Commercial investigation ("best X for Y", "X vs Z") — wants comparison and honest trade-offs.
  • Transactional ("buy X", "X pricing") — wants a product or category page with a clear path to purchase.
  • Navigational ("X login", brand names) — wants a specific page; don't intercept it with a blog post.

Checks:

  • Name the keyphrase's dominant intent and verify the content type matches. A sales page targeting an informational query loses the visitor before the second paragraph — they wanted an answer, got a pitch.
  • Calls-to-action must match the intent. Informational page → soft CTA (related reading, newsletter); transactional page → direct path to the product. Flag a hard sell on an informational post.
  • The answer to the searcher's question should appear early, not after 800 words of preamble. A searcher who has to scroll for the answer goes back to the results — and that return is the negative signal that costs rankings.
2. Focus keyphrase placement

The keyphrase confirms to the searcher — and to the search engine — that this page answers their query. It should appear naturally in the places both of them weight most:

  • The page title and the first paragraph. A searcher should recognize their query within seconds of landing.
  • At least one or two headings, where it fits without contortion.
  • Several core sentences (the first sentence of a paragraph). In a well-structured post that stays on topic, this happens by itself — if you have to force it, the post has drifted off topic, and that's the real finding.
  • Use the searcher's words, not internal jargon. If the audience searches "site speed" and the post says "performance optimization" throughout, the post is invisible to its own audience.

And the inverse checks:

  • Never force it. If the keyphrase makes a sentence read wrong, the sentence wins. Search engines recognize synonyms and word forms; readers don't forgive stilted prose.
  • Vary it. Mechanical repetition of the exact phrase reads as stuffing to readers and engines alike. Synonyms and related phrases cover more queries and read better.
3. E-E-A-T signals

Search quality raters assess experience, expertise, authoritativeness, and trustworthiness. These aren't abstract virtues — each one is visible (or absent) in the text:

  • Experience: does the post show first-hand involvement — things only someone who actually did this would know? Real numbers, screenshots of real results, what went wrong, what surprised the author. A post assembled from other posts has none of this, and it shows.
  • Expertise: is the author identified, with a reason to trust them on this topic? Are claims sourced — linked to reliable references rather than asserted?
  • Authoritativeness: does the post cite or connect to recognized sources in the field? This is the weakest lever for most sites — if it doesn't apply, say so and weight the other three; don't fake it.
  • Trustworthiness: is it clear who is responsible for this content and how to reach them? Are claims accurate and current? For YMYL topics — health, money, safety, legal — hold every claim to the strictest standard; an unsourced medical or financial claim is a ✗, not a ⚠.
Show full SKILL.md (415 more words)Show less
4. Helpfulness and originality

The people-first test: would this post exist if search engines didn't?

  • Does the post add something the current top results don't — first-hand data, a sharper angle, a worked example, an honest limitation? A competent rehash of what already ranks gives the searcher no reason to prefer it and gives the engine no reason to rank it.
  • Is the answer complete? The searcher should not need to return to the results to finish the job. Flag questions the post raises but doesn't answer, and steps it mentions but doesn't explain.
  • Is the reader's problem named explicitly and solved by the end? A post that's about a topic but doesn't resolve anything serves the writer, not the reader.
5. Freshness
  • Flag content that will age: version numbers, prices, screenshots of UIs, "last year" / "recently" phrasing, references to current events. Either make them evergreen or date them explicitly so staleness is visible.
  • Flag content that has already aged: outdated facts, deprecated tools, superseded advice.
  • For time-sensitive topics, recommend a review cadence. A post that's right today and wrong in six months needs a calendar entry, not just a publish button.
6. Internal linking and site fit

A post doesn't rank in isolation — it ranks as part of a site:

  • The post should link to related content on the same site, especially the cornerstone article for its topic, with descriptive anchor text ("our guide to keyword research", never "click here").
  • Related posts should link back. A new post with no inbound internal links is an orphan — flag it and name the existing posts that should link to it, if the user has given you access to the site or its content inventory.
  • Check for cannibalization: does an existing post on the same site already target this keyphrase? Two posts competing for one query split their strength; recommend merging, differentiating, or re-targeting one of them.

Scoring

Per-category status — for each of the 6 checks above, assign one of:

  • ✓ Pass — no meaningful issues.
  • ⚠ Needs work — a few fixable issues; listed below.
  • ✗ Problem — systemic issue across the post.

Overall verdict — one of three:

  • Ready — publishes as-is; minor issues only.
  • Fixable — right content for the query, but the listed issues hold it back.
  • Wrong content for the query — the intent mismatch or originality gap can't be edited away; the post needs a different angle or a different target keyphrase. Say this plainly when it's true — polishing a post that targets the wrong query wastes the writer's time.

Output format

markdown
## Content SEO audit: [post title]

### Target
- Focus keyphrase: [phrase] ([stated by user / derived — assumption])
- Intent: [informational / commercial / transactional / navigational]
- Verdict: [Ready / Fixable / Wrong content for the query]
- Per-category: 1. ✓  2. ⚠  3. ✓  4. ✗  5. ✓  6. ⚠

### Summary
[One paragraph: what query this post serves, how well it serves it, and the one or two changes that would move it most.]

### Issues found
[Grouped by category. For each: location, quoted text, why it's a problem, concrete fix.]

### What's working
[Specific elements that earn the ranking — a genuinely first-hand example, a complete answer placed early, a well-linked cornerstone reference. Quote them so the writer can calibrate.]

© jdevalk, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in content-seo of jdevalk/skills.

  • SKILL.md
  • README.md

Open the folder on GitHubat commit 106fc68

Compare with similar skills

Content SEO next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Content SEO compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Content SEO this skilljdevalk/skills104—~2.3kAutomated safety check: PassMIT
Site ArchitectureAvdLee/RocketSimApp80210 repos~3.3kAutomated safety check: PassCustom licence
SEO Audit with Search Consolenowork-studio/notfair-plugin3.9k1 repos~15kAutomated safety check: WarnMIT
SEO Optimizerailabs-393/ai-labs-claude-skills4541 repos~3.2kAutomated safety check: PassMIT
SEO Setupalisamadiii/Portfolio180—~1.7kAutomated safety check: PassNone
SEO Auditfreekmurze/dotfiles1k33 repos~2.2kAutomated safety check: PassNone

Similar skills

  • Site Architecture

    AvdLee/RocketSimApp

    When the user wants to plan, map, or restructure their website's page hierarchy, navigation, URL structure, or internal linking.

    802 GitHub starsUsed in 10 repos~3.3k tokens
    Marketing & SEOAuto-check passed
  • SEO Audit with Search Console

    nowork-studio/notfair-plugin

    Runs a full SEO audit that combines Google Search Console, URL Inspection, PageSpeed Insights and a technical crawl, then ranks quick wins and a 30-day plan.

    3.9k GitHub starsUsed in 1 repo~15k tokens
    Marketing & SEOAuto-check: warnings
  • SEO Optimizer

    ailabs-393/ai-labs-claude-skills

    This skill should be used when analyzing HTML/CSS websites for SEO optimization, fixing SEO issues, generating SEO reports, or implementing SEO best practices.

    454 GitHub starsUsed in 1 repo~3.2k tokens
    Marketing & SEOAuto-check passed
  • SEO Setup

    alisamadiii/Portfolio

    Full SEO/metadata setup and audit for client websites (Astro, Next.js, any static site).

    180 GitHub stars~1.7k tokensUpdated today
    Marketing & SEOAuto-check passed
  • SEO Audit

    freekmurze/dotfiles

    When the user wants to audit, review, or diagnose SEO issues on their site.

    1k GitHub starsUsed in 33 repos~2.2k tokens
    Marketing & SEOAuto-check passed
  • Universal SEO Analysis

    AgriciDaniel/claude-seo

    Hub for site-wide SEO work: audits, technical checks, schema, content quality, local, hreflang and AI-search readiness, run through slash commands.

    18k GitHub stars~4.9k tokensUpdated 2 days ago
    Marketing & SEOAuto-check passed

More from jdevalk/skills

All 9 skills in this repo
  • Wp Static Clone

    jdevalk/skills

    Clones a live WordPress (or other CMS-driven) site into a static HTML site deployable on any static host (Cloudflare Pages, Netlify, Vercel, S3+CloudFront, plain Apache/nginx).

    104 GitHub stars~2.6k tokensUpdated 3 mo ago
    Auto-check passed
  • Astro SEO

    jdevalk/skills

    Audits and improves SEO for Astro sites. An agent skill from jdevalk/skills.

    104 GitHub stars~4.9k tokensUpdated 3 mo ago
    Auto-check passed
  • Metadata Check

    jdevalk/skills

    Reviews short high-value strings — page titles, meta descriptions, schema description fields, FAQ answers, GitHub repo taglines, profile bios, social-card copy, and other metadata where Flesch and…

    104 GitHub stars~1k tokensUpdated 3 mo ago
    Auto-check passed
  • Readability Check

    jdevalk/skills

    Runs a readability audit on a blog post draft or other multi-paragraph prose, calibrated for readers who read English as a second language.

    104 GitHub stars~3.3k tokensUpdated 3 mo ago
    Auto-check passed
  • Static SEO

    jdevalk/skills

    Audits and improves SEO for static HTML sites. An agent skill from jdevalk/skills.

    104 GitHub stars~4.8k tokensUpdated 3 mo ago
    Auto-check passed
  • GitHub Profile

    jdevalk/skills

    Audits and optimizes GitHub profile pages — profile README, metadata fields, pinned repositories, stats widgets, and contribution visibility.

    104 GitHub stars~1.9k tokensUpdated 3 mo ago
    Auto-check passed

Works with

Categories

Questions about Content SEO

What does Content SEO do?

Audits a blog post draft or page copy for content-level SEO: search intent fit, focus keyphrase placement, E-E-A-T signals (experience, expertise, authoritativeness, trustworthiness), helpfulness…. Content SEO is an agent skill from jdevalk/skills. Audits a blog post draft or page copy for content-level SEO: search intent fit, focus keyphrase placement, E-E-A-T signals (experience, expertise, authoritativeness, trustworthiness), helpfulness and originality, content freshness, and internal linking.

When should I use Content SEO?

Content SEO fits situations like: the user asks will this rank; SEO check this post; content SEO audit; optimize this post for search —.

How do I install Content SEO in Claude Code?

Run `npx skills add jdevalk/skills --skill content-seo -a claude-code`. Or copy the skill folder (content-seo in jdevalk/skills) into .claude/skills/content-seo in your project. Claude Code loads it when a task matches its description.

How do I install Content SEO in Codex?

Run `npx skills add jdevalk/skills --skill content-seo -a codex`. Or copy the skill folder (content-seo in jdevalk/skills) into .agents/skills/content-seo in your project. Codex loads it when a task matches its description.

Can I use Content SEO in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jdevalk/skills --skill content-seo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/content-seo, .gemini/skills/content-seo, .github/skills/content-seo and .opencode/skills/content-seo in your project.

What does Content SEO need to run?

SKILL.md names no scripts, command-line tools or credentials: Content SEO is instructions for the agent only.

Does Content SEO access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Content SEO safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Content SEO use?

Content SEO is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Content SEO use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Content SEO?

Skills that share tags, products or a category with Content SEO: Site Architecture (AvdLee/RocketSimApp, 802 stars), SEO Audit with Search Console (nowork-studio/notfair-plugin, 3.9k stars), SEO Optimizer (ailabs-393/ai-labs-claude-skills, 454 stars) and SEO Setup (alisamadiii/Portfolio, 180 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Content SEO?

jdevalk (a GitHub user) maintains it in jdevalk/skills, which has 104 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on July 5, 2026.

Source: jdevalk/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.