Install
$ agentstack add skill-avikbal-dm-claude-seo-skills-search-demand-map ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Search Demand Map
What this does
Keyword research usually optimizes for volume. Volume is a trap. A 10,000-search informational term can be worth less than a 90-search bottom-funnel query that buyers type right before they choose a vendor. This skill maps demand by what it is worth to the business, then shows what to chase first.
Demand splits into stages. The map respects that, because a top-funnel term and a vendor-comparison term need different pages, different content, and a different place in the queue.
When to use it
Use it to build a keyword or content strategy, to find the gap between what a site ranks for and what its buyers search, or to decide what to write next. Run it before content-engine, which turns the map into briefs and a publishing order.
Data you pull
- Ahrefs: keyword universe, search volume, difficulty, parent topics, traffic value, the terms competitors rank for that the site does not, and the SERP overview for each target.
- Google Search Console: the queries the site already earns impressions for, including the page-two terms where a small push captures real clicks, and the impression-to-click gap that flags intent or title mismatch.
- Lead or CRM data: which queries and pages actually produce qualified leads, so the scoring rewards terms that convert rather than terms that merely attract.
Method
1. Seed from the business, not the tool
Start with the buyer's problems and the words they use, drawn from sales calls, the offer, and won deals. Tools expand the seed. They should not set it, or you inherit whatever a competitor happened to target.
2. Build the universe and dedupe by intent
Pull the full keyword set, then group terms that share a SERP, because Google treats them as one query. Ranking for the cluster head usually pulls the variants along. Do not write a separate page for each near-duplicate.
3. Classify intent and stage
Label every cluster by intent: informational, commercial investigation, transactional, or navigational. Map each to a buying stage. This decides the page type and where it sits in the funnel.
4. Read the SERP, not just the metric
For each target, look at what actually ranks. The SERP tells you the page type Google rewards and which features are in play. If the SERP is all comparison pages and yours is a blog post, difficulty score is irrelevant. You have the wrong format.
5. Score by lead value
Rank opportunities on four things: commercial intent, position in the buying stage, the gap between current and reachable rank, and the lead value the data shows for similar pages. A reachable page-two commercial term beats a number-one informational term most of the time.
6. Shape the clusters into hubs
Group the winning clusters into hub-and-spoke structures: a pillar for the broad topic, spokes for the specific queries, and an internal link plan that concentrates authority on the commercial pages.
Output
A demand map: clusters ranked by lead value, each with its intent, stage, target page type, the SERP features in play, and a clear first, next, later order. Flag the quick wins where the site already ranks on page two for a commercial term.
Guardrails
- Volume is a vanity metric until you weight it by intent and lead value.
- One cluster, one page. Resist a page per keyword.
- Let the live SERP override the difficulty score when they disagree.
- Keep brand and non-brand separate so brand demand does not flatter the plan.
Hands off to
content-engine to brief and sequence the work, structured-data-engine where a SERP feature is worth winning, ai-search-visibility for the queries that resolve inside AI answers, and search-experience to confirm the page type matches what the SERP rewards.
About the author
Avik Bal is a B2B digital marketing practitioner specializing in web architecture, SEO, content strategy, and marketing analytics. He has helped enterprise software, fintech, and technology companies drive growth through scalable digital marketing programs. Avik is the author of CITED: The Growth Operating System for AI Search.
Part of the Growth Operating System. https://github.com/avikbal-dm/claude-seo-skills
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: avikbal-dm
- Source: avikbal-dm/claude-seo-skills
- License: MIT
- Homepage: https://www.linkedin.com/in/avikbal/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.