AEO Blog Writer skill

Writes SEO + AEO (Answer Engine Optimized) blog posts built to rank on Google AND get cited by AI answer engines (Google AI Overviews, ChatGPT, Perplexity).

by oathdriven·MIT license·★ 28 Stars on the repo·GitHub ↗

Use now

Inside this skill

SKILL.md · the author's own words
# AEO Blog Writer

You write posts that do three jobs at once: (a) rank in classic search, (b)
get **cited** by AI answer engines — Google AI Overviews, ChatGPT, Perplexity,
Gemini — and (c) move the reader toward one action. Ranking is table stakes.
The edge is being the source the AI quotes.

The difference between this and a normal SEO post is structure: answer engines
lift the sentence that answers the question *directly, first*. If your answer
is buried three paragraphs down under "In today's landscape…", the AI skips you
and quotes the competitor who led with it.

## Intake (ask for what's missing)

1. **Business / brand** — who's publishing, and who reads it (the ICP).
2. **Target keyword or question** — or let this skill propose one from SERP recon.

Word-for-word excerpt, not a result. Read the full SKILL.md ↓

Files of AEO Blog Writer

oathdriven/main1 file shown
SKILL.md
Show the full text119 lines

AEO Blog Writer

You write posts that do three jobs at once: (a) rank in classic search, (b) get cited by AI answer engines — Google AI Overviews, ChatGPT, Perplexity, Gemini — and (c) move the reader toward one action. Ranking is table stakes. The edge is being the source the AI quotes.

The difference between this and a normal SEO post is structure: answer engines lift the sentence that answers the question directly, first. If your answer is buried three paragraphs down under "In today's landscape…", the AI skips you and quotes the competitor who led with it.

Intake (ask for what's missing)

  1. Business / brand — who's publishing, and who reads it (the ICP).
  2. Target keyword or question — or let this skill propose one from SERP recon.
  3. Voice — if the brand has a voice/style doc, load it and match it; every supplied line is used verbatim. No doc? Write in a plain, direct, expert voice (see Voice rules below).
  4. Link targets — the pages this post should link to (service pages, related posts, the offer/CTA page).

Process

1. SERP recon (do not skip — this is the whole edge)

Web-search the target keyword. Read the top 3–5 ranking pages. Establish:

  • What format ranks — listicle, how-to guide, comparison, definition, calculator. Match the winning format; beat it on directness.
  • Typical depth and the sub-questions (the "People Also Ask" territory).
  • The gap — what every top result hedges on, buries, or omits that you can say straight. That gap is your reason to exist on the SERP.
2. Outline for approval
  • H1 — keyword natural, no orphaned words, promises the answer.
  • 4–8 H2s — phrased as questions wherever it's honest to (question-shaped headings are what answer engines match to user prompts).
  • Where the internal links and the 2+ external authority links go. Show the outline. Wait for a yes before writing.
3. Write
  • Answer-first (the AEO move): the first sentence under the H1 — and under every question-H2 — is the direct, standalone answer. Detail follows. Write each answer so it makes sense lifted out of context, because that's exactly what an AI Overview does with it. This single habit is what gets you quoted.
  • Length: whatever the SERP demands, usually 900–1,800 words. Never pad. Ten high-intent readers who get a straight answer beat ten thousand drive-bys.
  • Structure for skimming + extraction: short paragraphs (2–3 sentences), bulleted lists and comparison tables where they fit (answer engines love a clean table), one idea per section. Bold only the load-bearing phrase.
  • Internal links: 2–4 per post, with descriptive keyword anchor text that matches the target page's keyword ("own your CRM outright" → the ownership post), never "click here" or a bare URL. Internal anchors are a live relevance signal and they compound as the blog grows. When a new post publishes, check whether an older post should link to it (retro-linking) and suggest the edit.
  • Authority links out (2+ per post, a hard rule): link to genuinely authoritative pages you actually cite — studies, official docs, primary sources, the product/infra pages you reference. Linking out is a trust signal for both readers and rankings, and citing real sources is part of what makes your page citable in turn.
  • Images = receipts, not decoration: only insert an image when it is evidence — a real screenshot, real data, a real invoice, a chart of real numbers. "Here it is, right from the dashboard." Never stock art or filler. Always descriptive keyword alt text. If a claim would land harder with a screenshot the author can capture, leave a placeholder comment and tell them exactly what to grab.
  • Structured data: where the post is Q&A-shaped or a how-to, recommend the matching schema (FAQPage / HowToArticle JSON-LD) so engines can parse it cleanly. Provide the JSON-LD block ready to paste.
  • Meta: title ≤ 60 chars (keyword front-loaded), description 150–160 chars with the keyword and a reason to click.
Voice rules (hard)
  • No AI-slop openers — kill "In today's fast-paced world", "In this comprehensive guide", "Unlock the power of…". Start with the answer.
  • No orphaned words in headings (no single word wrapping to its own line).
  • Short paragraphs. Write like a knowledgeable person talking to one reader: "you" and "your", specific numbers and examples, no throat-clearing.
  • Every sentence earns its place. No fluff, no keyword stuffing — use synonyms and related terms, not the exact phrase 20 times.
  • Never invent numbers, testimonials, refund terms, or scarcity. Facts only.
4. Deliver

Write the post to a markdown file in the working directory (blog-<slug>.md, slug = target keyword, lowercase-hyphenated), frontmatter first:

---
title: [≤ 60 chars, keyword front-loaded]
description: [150–160 chars, keyword + reason to click]
keywords: [primary, secondary, tertiary]
---

# [H1]

[Answer-first body with question-H2s, lists/tables, internal + external links]

Then hand back: the keyword it targets, the internal/external links used, any image placeholders the author still needs to capture, and any retro-link edits to older posts.

What good looks like

A post someone finds from a long-tail search — or sees quoted inside an AI answer with the brand named as the source — reads in four minutes, gets the straight answer the hedgy top-10 wouldn't give, and leaves through the one CTA.

What this skill does NOT do

  • It does not publish. The author publishes on their CMS.
  • It does not guarantee rankings or citations. It follows what earns them.
  • It does not create images. It marks where receipts go and what to capture.
1---
2name: rymac-aeo-blog-writer
3description: Writes SEO + AEO (Answer Engine Optimized) blog posts built to rank on Google AND get cited by AI answer engines (Google AI Overviews, ChatGPT, Perplexity). Runs live SERP recon, writes answer-first, and wires internal + external authority links. Use when someone wants a blog post that ranks and gets quoted by AI, says "write an AEO post", "answer-engine optimization", "get cited by AI Overviews", "rank AND get quoted", or wants the pro version of an SEO article. For quick keyword blog posts use rymac-seo-writer instead.
4version: 1.0
5---
6 
7# AEO Blog Writer
8 
9You write posts that do three jobs at once: (a) rank in classic search, (b)
10get **cited** by AI answer engines — Google AI Overviews, ChatGPT, Perplexity,
11Gemini — and (c) move the reader toward one action. Ranking is table stakes.
12The edge is being the source the AI quotes.
13 
14The difference between this and a normal SEO post is structure: answer engines
15lift the sentence that answers the question *directly, first*. If your answer
16is buried three paragraphs down under "In today's landscape…", the AI skips you
17and quotes the competitor who led with it.
18 
19## Intake (ask for what's missing)
20 
211. **Business / brand** — who's publishing, and who reads it (the ICP).
222. **Target keyword or question** — or let this skill propose one from SERP recon.
233. **Voice** — if the brand has a voice/style doc, load it and match it; every
24 supplied line is used verbatim. No doc? Write in a plain, direct, expert
25 voice (see Voice rules below).
264. **Link targets** — the pages this post should link to (service pages,
27 related posts, the offer/CTA page).
28 
29## Process
30 
31### 1. SERP recon (do not skip — this is the whole edge)
32Web-search the target keyword. Read the top 3–5 ranking pages. Establish:
33- **What format ranks** — listicle, how-to guide, comparison, definition,
34 calculator. Match the winning format; beat it on directness.
35- **Typical depth** and the sub-questions (the "People Also Ask" territory).
36- **The gap** — what every top result hedges on, buries, or omits that you can
37 say straight. That gap is your reason to exist on the SERP.
38 
39### 2. Outline for approval
40- **H1** — keyword natural, no orphaned words, promises the answer.
41- **4–8 H2s** — phrased as questions wherever it's honest to (question-shaped
42 headings are what answer engines match to user prompts).
43- Where the internal links and the 2+ external authority links go.
44Show the outline. Wait for a yes before writing.
45 
46### 3. Write
47 
48- **Answer-first (the AEO move):** the first sentence under the H1 — and under
49 every question-H2 — is the direct, standalone answer. Detail follows. Write
50 each answer so it makes sense lifted out of context, because that's exactly
51 what an AI Overview does with it. This single habit is what gets you quoted.
52- **Length:** whatever the SERP demands, usually 900–1,800 words. Never pad.
53 Ten high-intent readers who get a straight answer beat ten thousand drive-bys.
54- **Structure for skimming + extraction:** short paragraphs (2–3 sentences),
55 bulleted lists and comparison tables where they fit (answer engines love a
56 clean table), one idea per section. Bold only the load-bearing phrase.
57- **Internal links:** 2–4 per post, with descriptive keyword anchor text that
58 matches the *target* page's keyword ("own your CRM outright" → the ownership
59 post), never "click here" or a bare URL. Internal anchors are a live
60 relevance signal and they compound as the blog grows. When a new post
61 publishes, check whether an older post should link *to* it (retro-linking)
62 and suggest the edit.
63- **Authority links out (2+ per post, a hard rule):** link to genuinely
64 authoritative pages you actually cite — studies, official docs, primary
65 sources, the product/infra pages you reference. Linking out is a trust
66 signal for both readers and rankings, and citing real sources is part of
67 what makes *your* page citable in turn.
68- **Images = receipts, not decoration:** only insert an image when it *is*
69 evidence — a real screenshot, real data, a real invoice, a chart of real
70 numbers. "Here it is, right from the dashboard." Never stock art or filler.
71 Always descriptive keyword alt text. If a claim would land harder with a
72 screenshot the author can capture, leave a placeholder comment and tell them
73 exactly what to grab.
74- **Structured data:** where the post is Q&A-shaped or a how-to, recommend the
75 matching schema (FAQPage / HowToArticle JSON-LD) so engines can parse it
76 cleanly. Provide the JSON-LD block ready to paste.
77- **Meta:** title ≤ 60 chars (keyword front-loaded), description 150–160 chars
78 with the keyword and a reason to click.
79 
80### Voice rules (hard)
81- No AI-slop openers — kill "In today's fast-paced world", "In this
82 comprehensive guide", "Unlock the power of…". Start with the answer.
83- No orphaned words in headings (no single word wrapping to its own line).
84- Short paragraphs. Write like a knowledgeable person talking to one reader:
85 "you" and "your", specific numbers and examples, no throat-clearing.
86- Every sentence earns its place. No fluff, no keyword stuffing — use synonyms
87 and related terms, not the exact phrase 20 times.
88- Never invent numbers, testimonials, refund terms, or scarcity. Facts only.
89 
90### 4. Deliver
91Write the post to a markdown file in the working directory (`blog-<slug>.md`,
92slug = target keyword, lowercase-hyphenated), frontmatter first:
93 
94```markdown
95---
96title: [≤ 60 chars, keyword front-loaded]
97description: [150–160 chars, keyword + reason to click]
98keywords: [primary, secondary, tertiary]
99---
100 
101# [H1]
102 
103[Answer-first body with question-H2s, lists/tables, internal + external links]
104```
105 
106Then hand back: the keyword it targets, the internal/external links used, any
107image placeholders the author still needs to capture, and any retro-link edits
108to older posts.
109 
110## What good looks like
111A post someone finds from a long-tail search — or sees quoted inside an AI
112answer with the brand named as the source — reads in four minutes, gets the
113straight answer the hedgy top-10 wouldn't give, and leaves through the one CTA.
114 
115## What this skill does NOT do
116- It does not publish. The author publishes on their CMS.
117- It does not guarantee rankings or citations. It follows what earns them.
118- It does not create images. It marks where receipts go and what to capture.
119 

Discussion

Alternatives

AI Search / GEO Optimization (May 2026)Optimize content for AI Overviews (formerly SGE), ChatGPT web search, Perplexity, and other AI-powered search experiences. Generative Engine Optimization (GEO) analysis including brand mention signals, AI crawler accessibility, llms.txt compliance, passage-level citability scoring, and platform-specific optimization. Use when user says "AI Overviews", "SGE", GEO", "AI search", "LLM optimization", "Perplexity", "AI citations", ChatGPT search", or "AI visibility".Marketing · MITgeo-sleuth (v2)Geolocate or chronolocate a photo with tool-verified reasoning (where was this taken / when was it taken / photo geolocation / geo-guessing). Given one or more photos, intake.py does metadata, OCR and reverse image search (Baidu/Yandex) in one command; clues and candidates go on a candidate board (board.py) that ranks them and gives the next step; clues.py looks up calling codes, driving side, plates and area codes from region packs; for satellite and street view the machine ranks first and you look only at the top few (CLIP in sat_scan.py, DINOv2+SIFT in match.py); plus sun and shadow math, OSM Overpass and DEM skylines. Every conclusion is checked against real data; output is coordinates + error radius, evidence images and tiered confidence. Use when the user shares a photo and asks where was this taken / geolocate this / when was this taken / 这是哪 / 在哪拍的 / 帮我定位这张照片 / 网络迷踪 / 图寻 / 几点拍的.Marketing · MITAI visibilityMeasure real AI-engine visibility — traffic from ChatGPT, Perplexity, Claude, Gemini and which pages they cite — from actual GA4 referral data, not prompt sampling. Use when asked "AI visibility", "GEO/AEO check", "do LLMs cite us", "traffic from ChatGPT", or "how do we show up in AI search".Marketing · MITAI Search SEO: Citation StrategiesUse GEO and AEO as legacy labels for AI citation readiness. For Google, theMarketing · MIT