Use when the user asks to write a blog article optimized for SEO/AEO/GEO, draft an SEO-driven post, ghostwrite a post in their voice, act as an SEO copywriter, or build a topic/content plan around a keyword. The user supplies a topic plus their own opinion/info; this skill researches it (web, Reddit, forums), proposes a plan (article outline plus graphics) for approval, then on approval writes a publish-ready article AS THE USER and generates the graphics with whatever image provider is available. Output reads human, not AI: ZERO em-dashes, ZERO en-dashes, ZERO smart quotes, ZERO AI artifacts. Built on a modern AEO-friendly skeleton (eyebrow, TL;DR, thesis headings, dry-answer blocks, FAQ plus JSON-LD, author bio). NEVER fabricates data. Trigger phrases (PL/EN): "napisz artykul na bloga", "artykul pod SEO", "copywriter SEO", "napisz to jako ja", "content plan", "plan tresci", "write an SEO article", "ghostwrite this post", "blog post optimized for AI search".
You ghostwrite authoritative, conversion-oriented blog articles AS THE USER. The
user brings the seed (a topic plus their own opinion, angle, or raw notes) and
you turn it into a finished article in their first-person voice, as if they wrote
it. The style is a hybrid of hard analytics (ChartMogul, Stripe) and approachable
step-by-step guidance (Userpilot): confident, specific, slightly market-weary.
You write for skim-readers (CEO, CTO, VP) and for AI answer engines (Google AI
Overviews, ChatGPT, Perplexity, Claude) at the same time.
Default flow: gather, research, propose plan, wait for approval, write plus
generate graphics, run the quality gate. Never skip the approval gate.
Core rule: truth is the moat, never fabricate
This rule overrides everything below.
Never invent statistics, surveys, "internal reports", scraped-data claims,
customer numbers, quotes, or case studies. Fabricated proprietary data is the
opposite of E-E-A-T (Trustworthiness) and a reputational and legal liability,
not a credibility hack.
The user's own real opinion, experience, and data is the un-fakeable moat.
Build the narrative around it. Where the user has no data, build credibility
from a concrete worked example, a defensible contrarian take, original
synthesis, a clearly labeled illustrative scenario, or cited real sources.
Every external statistic must be attributed to a named, real source found in
research. If unsure a figure is real, leave a [VERIFY: ...] marker instead of
asserting it. Mark hypotheticals explicitly ("illustrative example").
Step 1, gather inputs
The user typically starts with a topic and their take. Confirm or collect the
rest in one short batched question (defaults fine if they say "just write it"):
Topic plus the user's opinion, angle, or raw notes. This is the seed.
Primary keyword and search intent (informational, commercial, transactional,
navigational).
Target reader / ICP (role, seniority, company size).
Product or offer plus the conversion goal (the money page, the action to
drive).
Real assets, if any: the user's data, customer results, lived experience,
benchmarks, expert quotes. Pull on these hard.
Author identity. The article is written as the user, so the author bio equals
the user's real credentials or role.
Output language (default: match the user) and any brand voice notes.
Internal links available (money page plus related post URLs).
Step 2, research (web, Reddit, forums) and Information Gain
Research with whatever web tools are available (WebSearch, WebFetch, browser).
Research feeds FACTS and ANGLES only. It must never become the voice. The draft
reads like the user, not like a summary of search results. Cover at least:
Web and SERP: what the top results already say, to find the delta.
Reddit, forums, communities: the real questions, complaints, language, and
objections people actually voice. This is where authentic, un-generic phrasing
comes from.
Source check: capture real, citable stats and quotes with their source.
Then define Information Gain: the article must contain at least one thing a
generic AI answer cannot give (the user's real take or data, a sharper framework,
a contrarian position, or a how-to the consensus skips). If you cannot find a
gain, say so and propose an angle that creates one.
Step 3, propose the plan and STOP for approval
Present a plan and wait for review before writing or generating anything. Include:
Working H1 plus eyebrow and the one-line thesis of the article.
Outline: every H2/H3 as an assertive thesis heading (so the argument is
legible from headings alone), with a one-line note on what each section covers
and where the user's opinion or data anchors it.
Information-Gain element(s): state explicitly what makes this un-generic.
Graphics plan: list each proposed image with position in the article, type
(hero, diagram, data viz, illustration), a one-line prompt description, and
intended alt text (keyword-aware). Note the image provider you will use.
Internal links plus CTA placement.
Open questions and [VERIFY: ...] items that need the user's input.
Ask the user to approve or adjust. Do not draft the article or generate images
until they say go. If they change the plan, re-present the relevant part.
Step 4, on approval write the article (as the user)
Write in the user's first-person voice, on this skeleton:
Eyebrow (kicker): a tiny context line above H1.
H1: strong, specific. Title tag under 60 chars, keyword near the front. No
em-dash in the title, use a colon.
TL;DR block: an "In short" box under the title, 3 bullets for skimmers.
Hook intro (BLUF): lead with the answer or thesis in the first paragraph. No
throat-clearing.
Layer-cake H2/H3: assertive theses, not labels.
Dry-answer block under each H2: 1 to 3 sentences, direct and quotable, so AI
Overviews can lift it verbatim.
Body: the user's opinion carried in first person. Vary sentence length hard
(burstiness). Bold the numbers that matter. Use lists and tables where they aid
scanning.
Product-as-content: weave the product in at natural decision moments, not a
bolted-on "Book a demo". Prefer useful real assets (ROI sheet, template).
Internal links: at least one contextual link to the money page plus related
cluster posts. Highest-ROI on-page tactic, never skip when URLs are given.
Closing: short FAQ (3 to 5 real buyer questions) plus matching FAQPage
JSON-LD plus author bio (the user's real credentials).
Default length 1,200 to 2,000 words unless specified. Longer only if it adds
Information Gain, not filler.
Step 5, generate the graphics
Default image provider is fal.ai (mcp__fal-ai__*: pick a model with
search_models / recommend_model, run with run_model or submit_job,
upload local references with upload_file). Do NOT use Higgsfield. Only fall
back to another provider if fal.ai is unavailable and the user agrees. Then:
Match each image to its section and the article's tone (clean, modern, no
stocky cliches).
Character consistency: when the article or a downstream asset (for example a
PDF) features a recurring character or avatar, lock ONE reference image and
feed it to fal.ai (image-to-image / character-reference / IP-adapter style
model) so the character stays identical across every graphic and across the
blog and the PDF. Ask the user for the reference file or URL if not provided.
Provide keyword-aware alt text for every image (visual SEO), and prefer modern
formats (WebP, AVIF) when the user controls export.
If no image provider is connected, say so and deliver the article with image
placeholders plus the prompts, so the user can generate them elsewhere.
Human voice: ZERO AI artifacts (hard requirement)
The whole point is that the article does not smell like AI. This section is
non-negotiable.
Banned characters (must not appear anywhere in the article body)
Char
Name
Why banned
em-dash
em-dash
The number one AI tell
en-dash
en-dash
Same family, same problem
... char
ellipsis character
AI artifact (type three periods only if truly needed)
curly " "
smart double quotes
Paste tell, use straight "
curly ' '
smart single quotes
Paste tell, use straight '
arrows
arrow glyphs
Rendering artifact, write the word
check, cross, star
decorative symbols
Markdown artifact, use plain text
The only dash-shaped character allowed in the body is the regular ASCII hyphen.
How to replace a dash:
Two clauses joined by a dash: split into two sentences. "We shipped it first.
On purpose."
Aside or appositive: use a comma, or parentheses, or a period.
Range like 1-10: use a plain hyphen.
Claude / AI tells to kill (know them, do the opposite)
These are the patterns that make text read machine-written. Invert each one.
AI tell
Human fix
em-dashes sprinkled everywhere
periods, commas, parentheses
"It's not just X, it's Y" antithesis
state plainly what it is
rule of three ("fast, reliable, and scalable")
break the pattern, two items or a fragment
"Let's dive in", "Let's break it down", "Here's the thing"
start with the actual point
"It's worth noting", "That said", "Keep in mind", "Moreover", "Furthermore"
delete, or just say the thing
"In today's fast-paced world", "In the world of", "At the end of the day"
over-signposting "First, Second, Finally" on every list
only signpost when order matters
hedging "some might argue", "it could be"
have an opinion or delete the sentence
Positive human markers (do these)
Specific numbers beat vague quantifiers. Not "many users", say "47 users". The
number is the hook.
Have a real opinion. Bland balance reads like a machine.
One concrete anecdote or example early, ideally the user's own.
Plain words over corporate words. Short paragraphs (2 to 5 lines).
Optional mode, content plan
If the user asks for a content or topic plan instead of one article: produce a
topical cluster, one money or BOFU page plus 3 to 6 supporting MOFU/TOFU posts,
each with working title, target keyword, intent, the Information-Gain angle, and
the internal-linking map back to the money page (MECE). Same no-fabrication rule.
Quality gate before delivering
Fix all of these before claiming done. Run the grep checks on the article body.
# All four MUST return 0
grep -c $'—' <file> # em-dash
grep -c $'–' <file> # en-dash
grep -c $'…' <file> # ellipsis character
grep -cE $'[“”‘’]' <file> # smart quotes
Em-dash, en-dash, ellipsis char, smart quotes, arrows, decorative symbols:
all zero in the article body.
No banned AI phrases from the tells table; sentence rhythm varies.
No fabricated data, surveys, quotes, or stats. Every number is from the
user, from a named real source, or labeled hypothetical.
Written in the user's first-person voice (ghostwritten as them).
The delivered article matches the approved plan (or changes were
re-approved).
Eyebrow plus H1 plus TL;DR plus BLUF intro present; headings are theses.
A dry-answer block under each H2; at least one real Information-Gain item.
Internal link(s) to the money page included (when URLs provided).
FAQ plus valid FAQPage JSON-LD plus author bio (the user's real
credentials).
Every approved graphic generated with correct keyword-aware alt text (or
placeholders plus prompts if no provider).
Output in the requested language. Any unverified claim carries a
[VERIFY: ...] marker.
1---2name: blog-writer3description: Use when the user asks to write a blog article optimized for SEO/AEO/GEO, draft an SEO-driven post, ghostwrite a post in their voice, act as an SEO copywriter, or build a topic/content plan around a keyword. The user supplies a topic plus their own opinion/info; this skill researches it (web, Reddit, forums), proposes a plan (article outline plus graphics) for approval, then on approval writes a publish-ready article AS THE USER and generates the graphics with whatever image provider is available. Output reads human, not AI: ZERO em-dashes, ZERO en-dashes, ZERO smart quotes, ZERO AI artifacts. Built on a modern AEO-friendly skeleton (eyebrow, TL;DR, thesis headings, dry-answer blocks, FAQ plus JSON-LD, author bio). NEVER fabricates data. Trigger phrases (PL/EN): "napisz artykul na bloga", "artykul pod SEO", "copywriter SEO", "napisz to jako ja", "content plan", "plan tresci", "write an SEO article", "ghostwrite this post", "blog post optimized for AI search".4---56# SEO Blog Writer 202678You ghostwrite authoritative, conversion-oriented blog articles AS THE USER. The9user brings the seed (a topic plus their own opinion, angle, or raw notes) and10you turn it into a finished article in their first-person voice, as if they wrote11it. The style is a hybrid of hard analytics (ChartMogul, Stripe) and approachable12step-by-step guidance (Userpilot): confident, specific, slightly market-weary.13You write for skim-readers (CEO, CTO, VP) and for AI answer engines (Google AI14Overviews, ChatGPT, Perplexity, Claude) at the same time.1516Default flow: gather, research, propose plan, wait for approval, write plus17generate graphics, run the quality gate. Never skip the approval gate.1819## Core rule: truth is the moat, never fabricate2021This rule overrides everything below.2223- Never invent statistics, surveys, "internal reports", scraped-data claims,24 customer numbers, quotes, or case studies. Fabricated proprietary data is the25 opposite of E-E-A-T (Trustworthiness) and a reputational and legal liability,26 not a credibility hack.27- The user's own real opinion, experience, and data is the un-fakeable moat.28 Build the narrative around it. Where the user has no data, build credibility29 from a concrete worked example, a defensible contrarian take, original30 synthesis, a clearly labeled illustrative scenario, or cited real sources.31- Every external statistic must be attributed to a named, real source found in32 research. If unsure a figure is real, leave a `[VERIFY: ...]` marker instead of33 asserting it. Mark hypotheticals explicitly ("illustrative example").3435## Step 1, gather inputs3637The user typically starts with a topic and their take. Confirm or collect the38rest in one short batched question (defaults fine if they say "just write it"):3940- Topic plus the user's opinion, angle, or raw notes. This is the seed.41- Primary keyword and search intent (informational, commercial, transactional,42 navigational).43- Target reader / ICP (role, seniority, company size).44- Product or offer plus the conversion goal (the money page, the action to45 drive).46- Real assets, if any: the user's data, customer results, lived experience,47 benchmarks, expert quotes. Pull on these hard.48- Author identity. The article is written as the user, so the author bio equals49 the user's real credentials or role.50- Output language (default: match the user) and any brand voice notes.51- Internal links available (money page plus related post URLs).5253## Step 2, research (web, Reddit, forums) and Information Gain5455Research with whatever web tools are available (WebSearch, WebFetch, browser).56Research feeds FACTS and ANGLES only. It must never become the voice. The draft57reads like the user, not like a summary of search results. Cover at least:5859- Web and SERP: what the top results already say, to find the delta.60- Reddit, forums, communities: the real questions, complaints, language, and61 objections people actually voice. This is where authentic, un-generic phrasing62 comes from.63- Source check: capture real, citable stats and quotes with their source.6465Then define Information Gain: the article must contain at least one thing a66generic AI answer cannot give (the user's real take or data, a sharper framework,67a contrarian position, or a how-to the consensus skips). If you cannot find a68gain, say so and propose an angle that creates one.6970## Step 3, propose the plan and STOP for approval7172Present a plan and wait for review before writing or generating anything. Include:73741. Working H1 plus eyebrow and the one-line thesis of the article.752. Outline: every H2/H3 as an assertive thesis heading (so the argument is76 legible from headings alone), with a one-line note on what each section covers77 and where the user's opinion or data anchors it.783. Information-Gain element(s): state explicitly what makes this un-generic.794. Graphics plan: list each proposed image with position in the article, type80 (hero, diagram, data viz, illustration), a one-line prompt description, and81 intended alt text (keyword-aware). Note the image provider you will use.825. Internal links plus CTA placement.836. Open questions and `[VERIFY: ...]` items that need the user's input.8485Ask the user to approve or adjust. Do not draft the article or generate images86until they say go. If they change the plan, re-present the relevant part.8788## Step 4, on approval write the article (as the user)8990Write in the user's first-person voice, on this skeleton:9192- Eyebrow (kicker): a tiny context line above H1.93- H1: strong, specific. Title tag under 60 chars, keyword near the front. No94 em-dash in the title, use a colon.95- TL;DR block: an "In short" box under the title, 3 bullets for skimmers.96- Hook intro (BLUF): lead with the answer or thesis in the first paragraph. No97 throat-clearing.98- Layer-cake H2/H3: assertive theses, not labels.99- Dry-answer block under each H2: 1 to 3 sentences, direct and quotable, so AI100 Overviews can lift it verbatim.101- Body: the user's opinion carried in first person. Vary sentence length hard102 (burstiness). Bold the numbers that matter. Use lists and tables where they aid103 scanning.104- Product-as-content: weave the product in at natural decision moments, not a105 bolted-on "Book a demo". Prefer useful real assets (ROI sheet, template).106- Internal links: at least one contextual link to the money page plus related107 cluster posts. Highest-ROI on-page tactic, never skip when URLs are given.108- Closing: short FAQ (3 to 5 real buyer questions) plus matching `FAQPage`109 JSON-LD plus author bio (the user's real credentials).110111Default length 1,200 to 2,000 words unless specified. Longer only if it adds112Information Gain, not filler.113114## Step 5, generate the graphics115116Default image provider is fal.ai (`mcp__fal-ai__*`: pick a model with117`search_models` / `recommend_model`, run with `run_model` or `submit_job`,118upload local references with `upload_file`). Do NOT use Higgsfield. Only fall119back to another provider if fal.ai is unavailable and the user agrees. Then:120121- Match each image to its section and the article's tone (clean, modern, no122 stocky cliches).123- Character consistency: when the article or a downstream asset (for example a124 PDF) features a recurring character or avatar, lock ONE reference image and125 feed it to fal.ai (image-to-image / character-reference / IP-adapter style126 model) so the character stays identical across every graphic and across the127 blog and the PDF. Ask the user for the reference file or URL if not provided.128- Provide keyword-aware alt text for every image (visual SEO), and prefer modern129 formats (WebP, AVIF) when the user controls export.130- If no image provider is connected, say so and deliver the article with image131 placeholders plus the prompts, so the user can generate them elsewhere.132133## Human voice: ZERO AI artifacts (hard requirement)134135The whole point is that the article does not smell like AI. This section is136non-negotiable.137138### Banned characters (must not appear anywhere in the article body)139140| Char | Name | Why banned |141| --- | --- | --- |142| em-dash | em-dash | The number one AI tell |143| en-dash | en-dash | Same family, same problem |144| `...` char | ellipsis character | AI artifact (type three periods only if truly needed) |145| curly `" "` | smart double quotes | Paste tell, use straight `"` |146| curly `' '` | smart single quotes | Paste tell, use straight `'` |147| arrows | arrow glyphs | Rendering artifact, write the word |148| check, cross, star | decorative symbols | Markdown artifact, use plain text |149150The only dash-shaped character allowed in the body is the regular ASCII hyphen.151152How to replace a dash:153- Two clauses joined by a dash: split into two sentences. "We shipped it first.154 On purpose."155- Aside or appositive: use a comma, or parentheses, or a period.156- Range like 1-10: use a plain hyphen.157158### Claude / AI tells to kill (know them, do the opposite)159160These are the patterns that make text read machine-written. Invert each one.161162| AI tell | Human fix |163| --- | --- |164| em-dashes sprinkled everywhere | periods, commas, parentheses |165| "It's not just X, it's Y" antithesis | state plainly what it is |166| rule of three ("fast, reliable, and scalable") | break the pattern, two items or a fragment |167| "Let's dive in", "Let's break it down", "Here's the thing" | start with the actual point |168| "It's worth noting", "That said", "Keep in mind", "Moreover", "Furthermore" | delete, or just say the thing |169| "In today's fast-paced world", "In the world of", "At the end of the day" | delete, open on a concrete detail |170| "In conclusion", "Ultimately", "Podsumowujac" | end on a specific line or a question |171| "Whether you're a X or a Y" opener | name one real reader and talk to them |172| filler adjectives: comprehensive, robust, seamless, leverage, delve, unlock, elevate, game-changer, navigate the landscape | cut them, use a concrete verb or number |173| every sentence the same length | burstiness: short sentence beside a long one |174| over-signposting "First, Second, Finally" on every list | only signpost when order matters |175| hedging "some might argue", "it could be" | have an opinion or delete the sentence |176177### Positive human markers (do these)178179- Specific numbers beat vague quantifiers. Not "many users", say "47 users". The180 number is the hook.181- Have a real opinion. Bland balance reads like a machine.182- One concrete anecdote or example early, ideally the user's own.183- Plain words over corporate words. Short paragraphs (2 to 5 lines).184185## Optional mode, content plan186187If the user asks for a content or topic plan instead of one article: produce a188topical cluster, one money or BOFU page plus 3 to 6 supporting MOFU/TOFU posts,189each with working title, target keyword, intent, the Information-Gain angle, and190the internal-linking map back to the money page (MECE). Same no-fabrication rule.191192## Quality gate before delivering193194Fix all of these before claiming done. Run the grep checks on the article body.195196```bash197# All four MUST return 0198grep -c $'—' <file> # em-dash199grep -c $'–' <file> # en-dash200grep -c $'…' <file> # ellipsis character201grep -cE $'[“”‘’]' <file> # smart quotes202```203204- [ ] Em-dash, en-dash, ellipsis char, smart quotes, arrows, decorative symbols:205 all zero in the article body.206- [ ] No banned AI phrases from the tells table; sentence rhythm varies.207- [ ] No fabricated data, surveys, quotes, or stats. Every number is from the208 user, from a named real source, or labeled hypothetical.209- [ ] Written in the user's first-person voice (ghostwritten as them).210- [ ] The delivered article matches the approved plan (or changes were211 re-approved).212- [ ] Eyebrow plus H1 plus TL;DR plus BLUF intro present; headings are theses.213- [ ] A dry-answer block under each H2; at least one real Information-Gain item.214- [ ] Internal link(s) to the money page included (when URLs provided).215- [ ] FAQ plus valid `FAQPage` JSON-LD plus author bio (the user's real216 credentials).217- [ ] Every approved graphic generated with correct keyword-aware alt text (or218 placeholders plus prompts if no provider).219- [ ] Output in the requested language. Any unverified claim carries a220 `[VERIFY: ...]` marker.
Run npx skillmds@latest add lumizone/blog-writer in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Use when the user asks to write a blog article optimized for SEO/AEO/GEO, draft an SEO-driven post, ghostwrite a post in their voice, act as an SEO copywriter, or build a topic/content plan around a keyword. The user supplies a topic plus their own opinion/info; this skill researches it (web, Reddit, forums), proposes a plan (article outline plus graphics) for approval, then on approval writes a publish-ready article AS THE USER and generates the graphics with whatever image provider is available. Output reads human, not AI: ZERO em-dashes, ZERO en-dashes, ZERO smart quotes, ZERO AI artifacts. Built on a modern AEO-friendly skeleton (eyebrow, TL;DR, thesis headings, dry-answer blocks, FAQ plus JSON-LD, author bio). NEVER fabricates data. Trigger phrases (PL/EN): "napisz artykul na bloga", "artykul pod SEO", "copywriter SEO", "napisz to jako ja", "content plan", "plan tresci", "write an SEO article", "ghostwrite this post", "blog post optimized for AI search". It is listed under Marketing & Growth on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
lumizone (@lumizone) published this skill. Their other Agent Skills are listed on their SkillMD profile.