A target keyword and the three to five pages that rank for it (URLs, or pasted headings).
It records each page's structure, classifies the search intent from what ranks, builds a coverage table with counts, names the gaps as its own judgement, and drafts an outline, questions to answer and a meta description.
Before and after
Taken from the skill's README.
Before: A brief that says "write 2,000 words about radiators" and lists keywords with made-up volumes.
After (skill output, from a real test run): Test run for 'how to bleed a radiator' for a small UK heating installer. Two of three pages could be fetched (one site blocked the fetch) and the run said so, then used 'both' instead of '3 or more' for table stakes. Its main gap, in its words: neither page shows how to top up boiler pressure afterwards, 'the step where homeowners get stuck'. It marked its own extra questions as 'My additions (not from the pages)' and listed volume, difficulty and rankings under Not known.
What it does
Give it a target keyword and the three to five pages that rank for it (URLs, or pasted headings). It records each page's structure, classifies the search intent from what ranks, builds a coverage table with counts, names the gaps as its own judgement, and drafts an outline, questions to answer and a meta description. It does not invent search volume, difficulty or rankings.
How it was tested
1 real-data run on three public how-to pages (Claude Sonnet). One was blocked and the run handled it honestly.
Tested on a real example before release. The example is shown in the Before and after section above.
How we test, what we do not do, and which assistants we ran it on.
Limits
- It cannot see live search results, so you supply the ranking URLs. It will not guess what ranks.
- Pages that block fetching are left out and flagged. Paste their headings to include them.
- Gaps are judgement, labelled as such, not data.
- It does not promise rankings, and it does not give search volume or difficulty.
Works with
Works with any assistant that reads SKILL.md skills (Claude, Codex, Gemini CLI, Cursor and others), plus a paste-in prompt version for ChatGPT or any chatbot. Reading ranking pages needs a web fetch tool, otherwise paste each page's title and headings.
Install
- Run
npx skills add proskillpacks/skillsin your project and pick this skill. Or copy thesearch-intent-page-brieffolder from GitHub (https://github.com/proskillpacks/skills/tree/main/skills/marketing-seo/search-intent-page-brief). - Put the
search-intent-page-brieffolder where your assistant looks for skills. The generic path is.agents/skills/(ornpx skills addfrom a folder). Tool-specific paths:- Claude Code:
~/.claude/skills/(or.claude/skills/inside one project) - OpenAI Codex, Gemini CLI, Cursor and others:
.agents/skills/or the skills folder their docs name - claude.ai: zip the skill folder yourself, then Customize, Skills, the plus button, Create skill, Upload a skill (code execution must be on in Settings, Capabilities)
- ChatGPT or any chatbot: open the skill's
prompt.md, paste it into the chat, then paste your own text or link - Steps for each tool, with links to its official docs: how to install Agent Skills
- Claude Code:
- Ask for the job in plain words, for example: "Make a content brief for the keyword '...'. The page is for ... Top results: [URLs]". The skill loads by itself.
Get it
MIT licence. Use it, change it, share it.
Related
- Free guide to do it by hand: How do I brief a page from what already ranks for my keyword?
- Free paste-in prompt for any chatbot: Search intent content brief prompt for any chatbot
- AI Search Readiness Check (Free): Can ChatGPT, Perplexity and Google read a website? A score out of 100 from 8 checks, the evidence and the fixes in order.
- More for marketers and agencies: Marketers and agencies
Report a problem with this skill (GitHub, or write to kaiventura.founder@gmail.com).