Content brief skill
SERP-driven content brief for a target keyword — what ranks, what to cover, headings, questions, internal links from your own data.
by Ryze-AI-Adgent·MIT license·★ 3,135 Stars on the repo·GitHub ↗
Use now
npx degit Ryze-AI-Adgent/open-seo-mcp-skills/skills/content-brief#main ~/.claude/skills/content-briefChecked ·commit main
Files of Content brief
SKILL.md
Show the full text33 lines
Content Brief
Requires
The free Ryze MCP connector (https://connector.get-ryze.ai/mcp). Claude Code: claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp. claude.ai / Desktop / Cursor: add it as a custom connector with the same URL. Setup: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp
A brief grounded in the live SERP plus the site's own data — not a generic outline.
Workflow
- The SERP. If the workspace exposes DataForSEO SERP tools, pull the live Google top 10 for the target keyword (
native__get_provider_docs, providerdataforseo, for the request shape) — titles, URLs, SERP features (featured snippet, PAA, video). If unavailable, fetch the top results via web search instead; the brief must be built from a real SERP either way. - Read the top 3. Fetch and skim the top-ranking pages: their structure, depth, angle, what they all cover (table stakes) and what none cover (the opening).
- Keyword set.
google_ads__generateKeywordIdeasseeded with the target — secondary keywords and question variants worth folding in, with volumes viagoogle_ads__generateKeywordHistoricalMetrics. - Your existing foothold.
google_search_console__runRawSearchAnalyticsfiltered to the topic — queries the site already gets impressions for (work them into headings), and existing pages on adjacent topics (internal-link sources; also flag if one already half-covers this and should be expanded instead of a new page). - Assemble the brief:
- Target keyword + secondaries with volumes
- Search intent and required format (guide/listicle/comparison/tool page), inferred from what actually ranks
- Proposed title + meta (write for the CTR, under 60/155 chars)
- H2/H3 outline with a one-line note per section on what it must say
- Questions to answer (PAA + question keywords)
- Table stakes vs the differentiating angle
- Internal links: 3–5 existing pages to link from, with anchors
- Target length: match the ranking median, don't pad
Output
The brief, ready to hand to a writer (or to write from directly). No preamble.
| 1 | |
| 2 | name content-brief |
| 3 | description SERP-driven content brief for a target keyword — what ranks, what to cover, headings, questions, internal links from your own data. Use when asked for a "content brief", "outline to rank for X", "what should this article cover", or before writing any SEO page. |
| 4 | |
| 5 | |
| 6 | # Content Brief |
| 7 | |
| 8 | ## Requires |
| 9 | |
| 10 | The free Ryze MCP connector (`https://connector.get-ryze.ai/mcp`). Claude Code: `claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp`. claude.ai / Desktop / Cursor: add it as a custom connector with the same URL. Setup: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp |
| 11 | |
| 12 | A brief grounded in the live SERP plus the site's own data — not a generic outline. |
| 13 | |
| 14 | ## Workflow |
| 15 | |
| 16 | **The SERP.** If the workspace exposes DataForSEO SERP tools, pull the live Google top 10 for the target keyword (`native__get_provider_docs`, provider `dataforseo`, for the request shape) — titles, URLs, SERP features (featured snippet, PAA, video). If unavailable, fetch the top results via web search instead; the brief must be built from a real SERP either way. |
| 17 | **Read the top 3.** Fetch and skim the top-ranking pages: their structure, depth, angle, what they all cover (table stakes) and what none cover (the opening). |
| 18 | **Keyword set.** `google_ads__generateKeywordIdeas` seeded with the target — secondary keywords and question variants worth folding in, with volumes via `google_ads__generateKeywordHistoricalMetrics`. |
| 19 | **Your existing foothold.** `google_search_console__runRawSearchAnalytics` filtered to the topic — queries the site already gets impressions for (work them into headings), and existing pages on adjacent topics (internal-link sources; also flag if one already half-covers this and should be expanded instead of a new page). |
| 20 | **Assemble the brief:** |
| 21 | Target keyword + secondaries with volumes |
| 22 | Search intent and required format (guide/listicle/comparison/tool page), inferred from what actually ranks |
| 23 | Proposed title + meta (write for the CTR, under 60/155 chars) |
| 24 | H2/H3 outline with a one-line note per section on what it must say |
| 25 | Questions to answer (PAA + question keywords) |
| 26 | Table stakes vs the differentiating angle |
| 27 | Internal links: 3–5 existing pages to link from, with anchors |
| 28 | Target length: match the ranking median, don't pad |
| 29 | |
| 30 | ## Output |
| 31 | |
| 32 | The brief, ready to hand to a writer (or to write from directly). No preamble. |
| 33 |
Discussion
Alternatives
Browse more free Claude skills or everything in Marketing.