Guides

blog-topic-judge for Claude Code: a skill that decides whether a topic is worth a post

3 min read#claude-code#codex#skills#blog-topic-judge#marketing

Who this is forMarketers, solo founders, and writers who have more candidate topics than time and want a consistent way to pick which ones become posts.

Series · Claude Code & Codex skills, one at a time part 12 of 15, expand to see all
  1. pm-skills for Claude Code and Codex: a product planning skill pack, installed and run
  2. distilly for Claude Code and Codex: turn a person's judgment into a skill
  3. wondelai/skills for Claude Code and Codex: business book frameworks as agent skills
  4. yc-office-hours for Claude Code: a business mentor skill that asks before you build
  5. research for Claude Code: a skill that saves web research as sourced documents
  6. flow-map for Claude Code: a skill that keeps dated versions of your flow diagrams
  7. meeting-agenda for Claude Code: a skill for agendas built around decisions
  8. marketingskills for Claude Code and Codex: a 50-skill marketing pack, installed and run
  9. humanizer for Claude Code and Codex: a skill that edits out machine-like prose
  10. claude-ads for Claude Code and Codex: an ad account audit skill pack, installed and run
  11. blog-post for Claude Code: a skill that runs one blog post from sources to deployment
  12. blog-topic-judge for Claude Code: a skill that decides whether a topic is worth a post
  13. technical-writer for Claude Code: a skill with writing steps for each document type
  14. korean-writing-style for Claude Code: a skill that filters translationese from Korean
  15. card-news for Claude Code: a skill that builds mobile card news decks from one JSON file

blog-topic-judge is a skill that evaluates a blog topic on five axes and decides whether it should be written at all. This post covers the problem it solves, who it suits, how to set it up and trigger it, and the one thing that catches people when they adapt it.

What problem it solves

Most blogs do not fail because posts are badly written. They fail because the topics drift. A video script gets turned into a post because it already exists, a trending subject gets covered because it is trending, and after a few months the blog is a mixed bag with no clear reader and no path to anything the author sells. Asking an agent “should I write this?” usually gets an encouraging yes.

blog-topic-judge makes the answer stricter. It divides the reader’s learning journey into four slots: understanding, exploration, comparison, and recommendations. A topic that fits none of them is rejected. A topic that fits but has no real material behind it, because the author has not tried the subject firsthand, gets conditional approval with that hands-on work as a prerequisite. This is one of the four content marketing skills I use on my own blog, which is why it has no public repository.

Who it fits

The chapter rates four situations. Three are enough to decide.

Situation Fit Reason
Deciding whether to turn a video script into a post Good fit A use case in the description
Filtering several candidate topics Good fit Evaluates each independently
A diary-like blog without a purpose Poor fit Assumes readers and a conversion path

Moving old blog posts sits in the middle. It works one post at a time, but bulk migration is prohibited.

Setup and first run

There is no repository to install from. You build your own skill with this layout in your blog repository, including a purpose document and a script that fetches engagement signals.

# Example layout from the blog repository root
my-blog/
  .claude/skills/blog-topic-judge/SKILL.md
  .claude/skills/blog-topic-judge/assets/decision-tree.html
  docs/blog-purpose.md
  scripts/topic-signal.sh

It activates on requests such as “Should I blog about this?” or “Evaluate this topic,” and it makes a judgment without writing anything.

Should I blog about this topic?

The run follows a fixed order. It checks reader and cluster fit first, then the conversion path, format, and whether there is enough real material such as captures, tables, and judgments. Last comes reuse, meaning whether the topic can feed other channels. Reuse is secondary and can only rank approved topics, never reverse a decision. The output is one of three verdicts with reasons by axis, plus a single rework proposal that combines a title, section structure, and ending call to action. On borderline topics it takes the stricter option.

What trips people up

High engagement on social media is tempting to read as a green light, and the skill is written to resist that. The instructions say to check which channel the numbers come from and what the blog’s current bottleneck is before letting them set production priority, and not to claim causation without a control group. The catch is that the script that retrieves those engagement signals lives outside the skill folder. SKILL.md tells the agent to fetch signals with that command rather than estimate them, so if you copy only the skill, that step has nothing to call. Build the script, or decide deliberately to drop the signal step.

Where this comes from

This post adapts part of chapter 02-05 of The Claude Code & Codex Skills Guidebook. The full chapter covers the complete six-row table of evaluation axes with the question each one asks, and how to replace the blog purpose, reader personas, and CTA products that are set to the author’s environment, and the book has 52 more skills like this one. Read the full chapter in The Claude Code & Codex Skills Guidebook on Gumroad.

Frequently asked questions

Who is the blog-topic-judge skill a good fit for?
It fits anyone deciding whether to turn a video script into a post or filtering several candidate topics, since it evaluates each one independently. It is a poor fit for a diary-like blog without a purpose, because it assumes defined readers and a conversion path.
Does blog-topic-judge write the post for me?
No. It only makes a judgment and returns its reasoning by axis. Approved topics move on to a separate post production skill, and topics the author has not tried firsthand get conditional approval at most.