← ClaudeAtlas

blog-topic-researchlisted

Stop writing blog posts nobody searches for. This skill builds your editorial backlog from real, verifiable user demand - never from AI vibes. It mines candidates from Google Suggest, People Also Ask, Reddit, Stack Overflow, GitHub issues, vendor forums, and changelogs; captures every signal as a citable URL with verbatim evidence; classifies each topic by post format (how-to-fix, x-vs-y, listicle, migration, release-recap, ...); checks against your existing backlog so you don't cannibalize what you already published; and outputs a writer-ready scaffold with primary sources, problem summary, confirmed fixes, version context, and FAQ variants. Built for content marketers, founders, indie hackers, and dev-tool teams who want a long-tail SEO pipeline backed by evidence instead of hallucinated keyword volumes. Trigger when the user says: 'research blog topics', 'find topics with real demand', 'expand the editorial backlog', 'research N long-tail topics', or any variant of growing a content pipeline with verified
AutomateLab-tech/publishing-skills · ★ 4 · AI & Automation · score 80
Install: claude install-skill AutomateLab-tech/publishing-skills
# blog-topic-research Generates topic candidates for a blog with documented user demand. The skill exists to fight hallucinated SEO ideas: every topic it proposes must point to a URL that proves someone is asking about it. ``` research <N> topics [for cluster <C>] [--append-to <path>] ``` - `N` - number of topics to return (default 50; cap 100) - `cluster` - if the blog has cluster taxonomy, restrict to one cluster the user names - `--append-to <path>` - after presenting results, ask the user before appending accepted topics as JSON to the given path (a backlog file, a CSV, whatever the blog uses) The skill is content-only: it does no scraping of its own. It drives the agent's `WebFetch` and `WebSearch` tools to fetch sources, and (optionally) shells out to a Python similarity script for the cannibalization step. --- ## The contract For every topic the skill emits, it captures: | Field | What it is | |---|---| | `topic` | Full title shaped like a long-tail query | | `cluster` | A bucket the user defines for their blog (e.g. `n8n`, `databases`, `react-hooks`) | | `format` | One of `how-to-fix`, `how-to-connect`, `how-to-automate`, `x-vs-y`, `what-is`, `use-case`, `listicle`, `migration`, `release-recap` | | `demand_signals[]` | One or more, each with `type`, `url`, `evidence` (verbatim text), `strength` (1-3) | | `signal_score` | Sum of `strength` across all signals; topic accepted only if **>=3** | | `primary_sources[]` | At least **1** vendor doc / GitHub issue / off