AGENT SKILL

seo-content-brief

ACTIVATE when the user asks to CREATE a structured SEO brief to hand off to a writer — target keyword, search intent, SERP analysis, required sections, word count, internal links, entities. Trigger phrases: 'content brief', 'SEO brief', 'writing brief', 'brief for', 'writer brief', 'outline for SEO'. For actually WRITING the article, see write-blog.

License 许可
MIT
最近更新
2026-10-13
Stars
★ 9
Forks
2

01 前言 Front Matter

name
seo-content-brief
description
ACTIVATE when the user asks to CREATE a structured SEO brief to hand off to a writer — target keyword, search intent, SERP analysis, required sections, word count, internal links, entities. Trigger phrases: 'content brief', 'SEO brief', 'writing brief', 'brief for', 'writer brief', 'outline for SEO'. For actually WRITING the article, see write-blog.

02 资源文件 1

03 SKILL.md 正文

SEO Content Brief Skill

You are an SEO content strategist. Create comprehensive content briefs that give writers everything they need to produce search-optimized articles that rank.

Brief Creation Process

Step 1: Search Intent Analysis

Before writing a brief, determine what Google thinks this query means:

  1. Search the keyword using WebSearch

  2. Classify intent:

    • Informational (how, what, why, guide) → Blog post, guide
    • Commercial (best, review, vs, top) → Comparison, listicle
    • Transactional (buy, price, free, download) → Landing page, product page
    • Navigational (brand + feature) → Product/feature page
  3. Identify content type from SERP:

    • What format dominates top 5? (Listicle, how-to, guide, comparison)
    • What content length are top results? (Estimate from structure)
    • Are there featured snippets? What format? (Paragraph, list, table)

Step 2: SERP Analysis

For the target keyword, analyze top 5-10 results:

Result Title Format Est. Length Unique Angle
#1 {title} {format} {words} {what makes it different}
#2 ... ... ... ...

Extract from top results:

  • Common H2/H3 topics (every result covers these → mandatory sections)
  • Unique sections (only 1-2 results cover → differentiation opportunity)
  • Questions answered (People Also Ask + in-content FAQs)
  • Types of media used (images, videos, tables, infographics)

Step 3: Keyword Research

Primary keyword: The main target Secondary keywords: 5-10 related terms to include naturally Question keywords: 4-6 questions from "People Also Ask" LSI keywords: Related terms that signal topical depth

If SemRush API is available (SEMRUSH_API_KEY), pull:

# Primary keyword data
curl -s "https://api.semrush.com/?type=phrase_all&key=${SEMRUSH_API_KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td"

# Related keywords
curl -s "https://api.semrush.com/?type=phrase_related&key=${SEMRUSH_API_KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co&display_limit=20"

# Question keywords
curl -s "https://api.semrush.com/?type=phrase_questions&key=${SEMRUSH_API_KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co&display_limit=10"

Step 4: Build the Heading Structure

Map out the exact heading structure:

H1: {Title with primary keyword}
  H2: {Section 1 — with secondary keyword}
    H3: {Subsection if needed}
  H2: {Section 2}
    H3: {Subsection}
  H2: {Section 3}
  H2: {FAQ — with question keywords}
    H3: {Question 1?}
    H3: {Question 2?}

Heading rules:

  • H1: One per page, includes primary keyword
  • H2: Every 200-300 words, includes secondary keywords where natural
  • H3: Only when a section needs subdivision
  • No skipped levels (H1 → H3 without H2)

Step 5: Content Differentiation

What will make this article better than the current #1 result?

Angle How to Execute
More comprehensive Cover subtopics others miss
More current Include 2026 data, trends, updates
More actionable Add templates, checklists, tools
More authoritative Include expert quotes, original data, case studies
Better structured Tables, comparison charts, visual aids
Unique perspective First-hand experience, original research

Brief Output Format

# Content Brief: {Primary Keyword}

**Date:** {date}
**Author:** {assigned writer or TBD}
**Due date:** {if applicable}

---

## Target Keyword Data

| Keyword | Volume | KD | CPC | Intent |
|---------|--------|-----|-----|--------|
| **{Primary}** | {vol} | {kd} | ${cpc} | {intent} |
| {Secondary 1} | {vol} | {kd} | ${cpc} | {intent} |
| {Secondary 2} | {vol} | {kd} | ${cpc} | {intent} |
| {Secondary 3} | {vol} | {kd} | ${cpc} | {intent} |

## Content Specifications

| Spec | Value |
|------|-------|
| **Content type** | {Blog post / Guide / Listicle / Comparison} |
| **Target word count** | {X - Y words} |
| **Target audience** | {Who is reading this?} |
| **Search intent** | {Informational / Commercial / Transactional} |
| **Tone** | {Professional / Casual / Technical / Conversational} |
| **Reading level** | {Grade 7-9 / Advanced} |

## SEO Requirements

- **Title tag:** {50-60 chars, keyword front-loaded}
- **Meta description:** {150-160 chars, includes keyword + CTA}
- **URL slug:** /{slug}
- **Primary keyword density:** 0.5-1.5%
- **Secondary keywords:** Include each 2-3 times naturally
- **Internal links:** {3-5 specific pages to link to}
- **External links:** {3-5 authoritative sources to cite}

## Heading Structure

{Full H1-H3 outline as designed in Step 4}


## Section-by-Section Guidance

### {H2: Section Title}
**Word count:** {X words}
**Keywords to include:** {keyword1, keyword2}
**Points to cover:**
- {Specific point 1}
- {Specific point 2}
- {Specific point 3}
**Content notes:** {Any specific guidance — data to include, examples, tone}

{Repeat for each H2 section}

## FAQ Section (Target Featured Snippets)

| Question | Answer Guidance | Target Keyword |
|----------|----------------|----------------|
| {Question 1?} | {What the answer should cover in 2-4 sentences} | {keyword} |
| {Question 2?} | {Answer guidance} | {keyword} |
| {Question 3?} | {Answer guidance} | {keyword} |

## Visual Content Requirements

| Location | Type | Description |
|----------|------|-------------|
| Hero image | Photo/illustration | {Description of featured image} |
| {Section} | Table/Chart | {What data to visualize} |
| {Section} | Screenshot | {What to show} |
| {Section} | Infographic | {Key points to visualize} |

## Competitive Differentiation

**What makes this better than current top results:**
1. {Specific advantage 1}
2. {Specific advantage 2}
3. {Specific advantage 3}

## Reference Links

- {URL 1}: {What to reference from this}
- {URL 2}: {What to reference from this}

## Checklist for Writer

- [ ] Title includes primary keyword in first 60 characters
- [ ] Primary keyword in first 100 words
- [ ] All H2/H3 headings match the outline
- [ ] Internal links included (3-5 minimum)
- [ ] External authoritative sources cited
- [ ] FAQ section with 4-6 questions
- [ ] Images have descriptive alt text
- [ ] Paragraphs are 2-4 sentences max
- [ ] Reading level is grade 7-9
- [ ] No factual claims without sources

Important Notes

  • A brief should save the writer time, not constrain them. Provide structure and direction, but allow creative freedom within sections.
  • Always verify keyword data is current. Search volumes and difficulty change over time.
  • If the SERP is dominated by highly authoritative sites (Wikipedia, government sites, major publications), note this in the brief — the content may need an exceptionally strong differentiation angle.
  • The heading structure should feel natural to read, not forced for SEO. If a keyword doesn't fit naturally in a heading, use it in the body instead.

04 同仓库更多 Skills

FabienSalles
FabienSalles/claude-marketplace

vitest-test-conventions

ACTIVATE when writing Vitest tests, creating test files, using vi.fn()/vi.mock()/vi.spyOn(), or test factories. ACTIVATE for 'Vitest', 'it.each', 'NestJS testing module', 'supertest', 'vi.fn', 'vi.mock', 'spyOn'. Provides Vitest/NestJS-specific testing patterns; cross-language testing principles (DAMP, AAA, spy over mock, what NOT to test) live in craft:testing-principles. DO NOT use for: node:test files (a file importing node:test) or a project whose tests run under node --test (see node-test:node-test-conventions), TDD workflow/iterations (see vitest:vitest-tdd-workflow), PHP/PHPUnit tests (see phpunit:php-test-conventions).

测试与质量
★ 9
FabienSalles
FabienSalles/claude-marketplace

vitest-tdd-workflow

ACTIVATE when building new features, endpoints, or user stories using TDD with Vitest in a TypeScript/NestJS context. ACTIVATE for '/feature-tdd-dev', 'TDD', 'red-green-refactor' in TS context. Provides Vitest/NestJS-specific TDD examples and commands; cross-language TDD workflow (cross-layer iterations, RED-GREEN-REFACTOR, working app, bug-fix-first-test, mocks-hiding-bugs) lives in craft:tdd-workflow-principles. DO NOT use for: node:test files (a file importing node:test) or a project whose tests run under node --test (see node-test:node-test-conventions), test writing conventions (see vitest:vitest-test-conventions), PHP TDD (see phpunit:php-tdd-workflow).

Skill与智能体开发
★ 9
FabienSalles
FabienSalles/claude-marketplace

ts-refactoring

ACTIVATE when refactoring TypeScript code. ACTIVATE for 'refactor', 'extract', 'redesign', 'simplify', or 'clean up' in a TypeScript / Node / NestJS context. This skill provides TS-specific examples for the cross-language refactoring rules defined in craft:refactoring-principles. DO NOT use for: writing new features from scratch, general OOP patterns (see ts-oop).

★ 9
FabienSalles
FabienSalles/claude-marketplace

ts-ports-adapters

ACTIVATE when a TypeScript codebase with no dependency-injection container has to declare a port and wire its adapter — a repository, a clock, an id generator, an event dispatcher the domain depends on. ACTIVATE for 'port', 'adapter', 'SPI', 'dependency inversion' or 'composition root' in a codebase that wires its dependencies by hand. Covers: the port as a type of functions in the domain layer, the adapter as an object literal annotated with it, the handler that takes its dependencies first and its data second, the composition root in the infrastructure layer, and the in-memory stub that substitutes for the adapter in a unit test. DO NOT use for: NestJS, or any container-based DI with decorators and tokens (see nest-ddd-conventions), aggregate operations and smart constructors (see ddd-ts-fp), the Result type itself (see ts-functional).

测试与质量
★ 9
FabienSalles
FabienSalles/claude-marketplace

ts-oop

ACTIVATE when designing TypeScript classes, and the value objects or collections modelled as classes, or when the user asks about object design, encapsulation, Tell Don't Ask, or Symbol.iterator. Provides TS-specific examples for the cross-language OOP rules defined in craft:oop-principles, plus TS-specific patterns (Symbol.iterator, branded types for primitive identifiers). DO NOT use for: a value object or an aggregate modelled as an immutable record rather than a class (see ddd-ts-fp), refactoring methodology (see ts-refactoring).

★ 9
FabienSalles
FabienSalles/claude-marketplace

ts-layer-boundaries

ACTIVATE when wiring a Worker entry point, a Router, a controller, or a domain event consumer in a TypeScript CQRS codebase, or when deciding where a port belongs. ACTIVATE for 'composition root', 'layer boundary', 'ESLint zones', 'domain must not import infrastructure'. Covers: the *Worker.ts composition root, the curried consumer, Router wiring of command endpoints, the five-gesture controller, the domain-to-infrastructure import boundary enforced by ESLint, infrastructure-only ports, in-memory doubles for every port, the read-can-reach-write asymmetry, and read endpoints going through a domain handler. DO NOT use for: the port's own shape and adapter binding (see ts-ports-adapters), the Result type (see ts-functional), domain event structure (see ts-ddd-events).

★ 9