This is Part 2 of the Dataset-First SEO case series. Part 1 locked page requirements (23 parameters). Part 2 automates brief generation from those requirements.

The problem: writing SEO briefs manually costs 2+ hours per article. At 20 articles/month, that's 40+ senior hours just on briefs. You can't delegate this to an LLM either — ask it to "write a brief" and you'll get generic fluff with no keyword strategy.

The fix: a reusable brief template with placeholder slots. This template is the prompt I use to generate briefs. Requires: filled parameters from Part 1. Don't have them? Start there.

**CONTEXT**: SEO content planning for B2B IT/automation software. Apply enterprise-grade SEO standards.

**GOAL**
Draft a concise synopsis (free-text <= 750 words; tables excluded) that plans an SEO article for {{WEBSITE_URL}} on the working topic "{{TOPIC}}".
The synopsis must demonstrate that a future article (about {{WORD_COUNT}} words) can satisfy every rule below.

0  **GLOBAL PRIORITY, HARD VS SOFT RULES, DEFINITIONS**
0.1 Priority stack (highest to lowest):
Brand safety and non-fabrication -> Language selection -> Keyword rules -> Output format -> Structure -> Asset counts -> Style guardrails.

0.2 Hard vs soft rules:
Hard rules are anything in sections 0-3 and 6-10, plus all explicit numeric limits. Hard rules must be satisfied.
Soft rules are writing heuristics and should be followed only if they do not cause a hard-rule violation.

0.3 Counting scope and method (applies to keywords unless stated otherwise):
Scope (where keyword occurrences are allowed and counted): Title, H1, Meta, body text, all headings (H2/H3/H4), lists, tables, image alt text, link anchors, captions.

Match: case-insensitive exact phrase match of the provided keyword string. Do not count lemmas, inflections, or synonyms unless exactly matching the provided string. Hyphenation that preserves the phrase counts as a match. Overlapping matches count once per element.

Source of truth for planned occurrences: the Keyword-to-Element Map in section E is the only authoritative plan for keyword placements.
If the outline text (section D) contains an exact keyword phrase, that occurrence must appear as a row in section E, or it is a violation.

Characters: Title <= 60 Unicode characters including spaces. Meta <= 155 Unicode characters including spaces.

If constraints clash: obey the priority stack and record the resolution in F (Compliance Checklist -> Notes).

0.4 Missing placeholders:
If any {{...}} value is missing or blank:
- Do not invent keywords, company capabilities, or specific quantitative targets.
- Use conservative defaults only for non-critical fields (for example, {{CONTENT_TYPE}} and {{AUDIENCE_DESCRIPTION}}), and list every default in F -> Assumptions.
- For critical fields ({{TOPIC}}, {{MAIN_KEYWORD}}, keyword lists, counts), proceed with a generic plan using placeholders like "TBD" and record the missing fields in F -> Assumptions.

1  **CORE SPECIFICATIONS**
1.1 Language: {{LANGUAGE}}. Apply the same tone guidelines in the specified language. If {{LANGUAGE}} is not English, write at an equivalent of "C1" proficiency.
1.2 Content type: {{CONTENT_TYPE}}
1.3 Main keyword (Main KW): {{MAIN_KEYWORD}}
1.4 Supporting KWs: {{SUPPORTING_KEYWORDS}}
1.5 LSI KWs: {{LSI_KEYWORDS}}
1.6 Headings: {{NUM_H2}} x H2, {{NUM_H3}} x H3, {{NUM_H4}} x H4
1.7 Assets: {{NUM_LISTS}} lists, {{NUM_TABLES}} tables, {{NUM_IMAGES}} images, {{NUM_INTERNAL_LINKS}} internal links, {{NUM_EXTERNAL_LINKS}} external links

2  **KEYWORD RULES** (take precedence over other counts, except brand safety)
2.1 Main KW:
Total occurrences <= 4 across the entire planned article.
Must appear:
(i) in the Title,
(ii) in the intro paragraph,
(iii) in one early heading (H1 or first H3).

H1 rule: H1 is a variant of the Main KW and does not count as a Main-KW occurrence unless it contains the exact Main-KW string.
If H1 lacks the exact string, satisfy (iii) with the first H3.

2.2 Supporting KWs:
Each supporting keyword <= 2 total occurrences.

2.3 LSI KWs:
Each LSI keyword appears exactly once (may be placed in body text, lists, image alts, or link anchors).
Every LSI placement must be explicitly mapped in section E.

2.4 Keyword placement discipline:
Do not place keywords ad hoc "because they fit".
Plan every occurrence in section E first, then keep the outline aligned with that plan.

3  **BRAND MENTIONS** (brand strings are not counted as keywords)
"{{COMPANY_NAME}}" maximum:
- 1x in intro
- 3x in body
- 1x in conclusion
Elsewhere, use descriptive synonyms (not counted toward brand limits).
Do not invent capabilities not present in available source material. When uncertain, keep claims generic and benefit-oriented.

4  **STRUCTURE RULES**
4.1 Article must include: intro, conclusion, and headings per section 1.6.

4.2 Examples and scenarios:
Each H2 section must include at least one real or plausible business scenario and at least one tangible example.
Avoid fictitious brands; use vendor-agnostic descriptors (for example, "a European retailer", "a mid-size fintech", "an internal IT ops team").

4.3 Keywords per section (soft rule, subordinate to section 2):
Aim for at least one planned keyword occurrence per major section where it supports clarity, but never force placements that would violate section 2.
If the keyword caps make a section keyword-free, keep the section keyword-free and note it in F -> Notes.

4.4 Assets and links:
Place lists, images, tables, and links exactly as specified in section 1.7.
Indicate placements in the outline (section D) using the markers [List], [Table], [Image], [Internal link], [External link].
If any of the specified counts are 0, do not include that asset type at all.

4.5 Brand-mention markers:
In outline D, mark each planned brand mention with [Brand] next to the heading or bullet where it belongs.
Total [Brand] markers must equal the sum from section 3 (1 intro + up to 3 body + 1 conclusion = max 5).
If the author places fewer than 3 body [Brand] markers, the remaining body mentions are forfeited — they do not redistribute.

4.6 Planned article length:
The planned full article length must not exceed {{WORD_COUNT}} words.

5  **WORKFLOW** (execute strictly in order)
5.1 Keyword grouping:
Bucket Main, Supporting, and LSI keywords.

5.2 Outline:
Write H2/H3/H4 titles (<= 6 words each).
Under each heading, add 2-3 concise bullets (<= 12 words per bullet) describing:
- the content intent (what is covered),
- the example or scenario,
- the asset placements and link anchors (by intent, not by URL).
Do not paste exact keyword phrases into bullets unless that exact phrase is intentionally planned and appears in section E.

5.3 Keyword-to-Element Map:
Create a two-column table: Element | Exact keyword text.
Rules:
- One row per planned occurrence.
- Map every LSI keyword exactly once.
- Include the planned Main and Supporting uses.
- Ensure no frequency rule in section 2 is exceeded.
- Ensure required placements exist (Title, Intro, early heading).

5.4 Self-check:
Verify all hard limits (characters, counts, frequencies, brand mentions, required placements).
If any check fails, revise silently, then complete section F (Compliance Checklist) with PASS/FAIL and notes.

6  **OUTPUT FORMAT** (use exactly this sequence)
A. SEO Title (<= 60 chars; starts with Main KW; avoid leading articles; minimize filler)
B. H1 (distinct from Title; variant of Main KW)
C. Meta description (<= 155 chars; includes Main KW and clear value proposition)
D. Article outline (H2/H3/H4 hierarchy with bullets under each heading; mark [List]/[Table]/[Image] placements and planned internal/external link anchors)
E. Keyword-to-Element Map (table: Element | exact keyword text; one row per planned occurrence; include all LSI entries)
F. Compliance Checklist (table):
Rule | Target | Planned | Pass/Fail | Notes / Assumptions
Include at minimum the rows below:
- Synopsis free-text length | <= 750 words | X | PASS/FAIL | (tables excluded)
- Planned article length | <= {{WORD_COUNT}} | X | PASS/FAIL |
- Headings (H2/H3/H4) | {{NUM_H2}}/{{NUM_H3}}/{{NUM_H4}} | X/X/X | PASS/FAIL |
- Assets (lists/tables/images) | {{NUM_LISTS}}/{{NUM_TABLES}}/{{NUM_IMAGES}} | X/X/X | PASS/FAIL |
- Links (int/ext) | {{NUM_INTERNAL_LINKS}}/{{NUM_EXTERNAL_LINKS}} | X/X | PASS/FAIL |
- Brand mentions (intro/body/concl.) | 1/3/1 | X/X/X | PASS/FAIL |
- Main KW occurrences | <= 4; in Title, Intro, early heading | X; placed in ... | PASS/FAIL |
- Supporting KW occurrences | each <= 2 | list values | PASS/FAIL |
- LSI KW occurrences | each = 1 | list values | PASS/FAIL |
- Title length | <= 60 chars | X | PASS/FAIL |
- Meta length | <= 155 chars | X | PASS/FAIL |
- Missing placeholders handled | per 0.4 | list | PASS/FAIL | Assumptions listed

7  **MICRO-EXAMPLES** (illustrative only; do not copy)
Element -> Keyword sample:
H3.1 -> "{{LSI_KEYWORDS[0]}}" (fulfills the "early heading" placement if H1 is a variant)

Image alt -> "Diagram showing {{MAIN_KEYWORD}} workflow"

Keyword-to-Element Map schema sample (2 rows):
Element | Exact keyword text
H2.2 | {{SUPPORTING_KEYWORDS[0]}}
Image-1 alt | {{LSI_KEYWORDS[1]}}

8  **STYLE GUARDRAILS** (hard)
Voice: active S-V-O. Avoid passive forms and "There is/are".
Bullets: <= 12 words. No rambling lines.
Headings: <= 6 words. No fluffy openers.
Diction: precise nouns. Avoid hype cliches ("game-changing", "fast-paced world").
Punctuation: standard endings. No exclamation marks.
Questions: none. No rhetorical questions.
Transitions: natural. Do not use: "These benefits include", "In conclusion".
Filler: none. No corporate cheerleading.

9  **AUDIENCE AND TONE** (do not fabricate)
Website owner: {{COMPANY_NAME}} (innovative, data-driven, professional).
Voice: authoritative, jargon-light, benefit-oriented, C1-equivalent in {{LANGUAGE}}.
Audience: {{AUDIENCE_DESCRIPTION}} (decision-makers and technical buyers).
Use vendor-agnostic, verifiable examples. Avoid fictitious brands and invented capabilities.

10  **ALLOWED ELEMENT NAMES** (for section E mapping)
Use these element labels exactly:
Title, H1, Intro, H2.n, H3.n, H4.n, Body-para.n, List-n, Table-n, Image-n alt, Internal-link-n anchor, External-link-n anchor, Conclusion.

Want to skip manual filling? The meta-prompt in №2.1 auto-fills this template from your parameters. Time per brief: ~17 minutes instead of 2+ hours.