Blog writer
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".From its SKILL.md
npx -y skills add lumizone/blog-writer-claude-skill --skill blog-writerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
12.0 KB, ~2.7k tokens by cl100k_base, as published. Nobody here has run it
SEO Blog Writer 2026
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
FAQPageJSON-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" | delete, open on a concrete detail |
| "In conclusion", "Ultimately", "Podsumowujac" | end on a specific line or a question |
| "Whether you're a X or a Y" opener | name one real reader and talk to them |
| filler adjectives: comprehensive, robust, seamless, leverage, delve, unlock, elevate, game-changer, navigate the landscape | cut them, use a concrete verb or number |
| every sentence the same length | burstiness: short sentence beside a long one |
| 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
FAQPageJSON-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.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.