agentleFS
mrieckmrieck/seoblog-claude-plugin/skills/seo-writing/SKILL.md

seo-writing

Skill0 starsChanged 53 days agoMITView on GitHub

Outline and write an SEO-optimized blog article in HTML: title and meta description rules, keyword placement, heading structure, length targets, and image placeholders. Use when outlining or drafting blog article content, or fixing SEO issues in an existing draft.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. turvodnik/seo-cycle★ 2same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository10 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 5 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read runtime instructions before running scripts.

    line 10
  2. Distinctive:

    No forced triads: Use the number of items the meaning has.

    line 72
  3. Distinctive:

    No dashes: No em or en dashes in the output unless a voice sample uses them.

    line 73
  4. Distinctive:

    Plain words: No delve, leverage, seamless, robust, game-changer, unlock, elevate, crucial, landscape, in today's fast-paced world, or the …

    line 75
  5. Very specific:

    Bold only on terms the reader will scan for: Never bold list labels; each <li> is a sentence.

    line 80
  6. Distinctive:

    Use is, are and has: instead of "serves as", "boasts", "features", "offers".

    line 82
  7. Very specific:

    Write each <!-- IMAGE: … --> as a concrete brief — it becomes the seed of the image prompt.

    line 92

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Read runtime instructions before running scripts.

SEO writing

Outline first

  1. Title — SEO-optimized, includes the primary keyword, under 60 characters.
  2. Target word count — from the site's articleLength:

    lengthmintargetmax
    short300500700
    medium70012001500
    long150020002500
  3. H2/H3 structure — plan every heading before writing.
  4. Key points per section — what each section must cover.
  5. Internal links — note existing articles on the site this one should reference (you have the live list from ANALYZE; link to them with their real URLs where relevant).
  6. Product angle (product sites only) — where and how the product fits naturally.

HTML format rules

  • <h2>/<h3> for sections — never <h1> (the CMS renders the title as h1).
  • <p> paragraphs, <ul>/<ol> lists, <blockquote> for callouts, <strong>/<em> for emphasis, <a href="…"> to cite sources.
  • No <html>/<head>/<body> wrappers, no inline styles, no CSS classes.
  • No <img> tags — place <!-- IMAGE: description of ideal image --> comments where images belong (after relevant section headings); they are swapped for real images after the draft is created.

SEO guidelines

  • Primary keyword naturally in the first paragraph and at least one H2.
  • Related/LSI keywords throughout — naturally, never stuffed.
  • Open with the reader's problem or the post's specific claim, keyword included. No run-up ("Let's dive in"), no rhetorical question, no "In this guide we'll cover".
  • Short paragraphs (2–4 sentences); 8th-grade reading level.
  • Actionable insights and specific examples, not abstract filler.
  • Close only if the closing adds something: a next step, a decision rule, or a real call to action on a product site. Otherwise end on the last concrete fact. Never "In conclusion", never a one-line send-off.
  • Meta description: 150–160 characters, includes the primary keyword.
  • Excerpt: 1–2 sentence summary for listing cards.
  • Tags: 3–7 relevant topic tags.
  • Answer the searcher's intent directly; back claims with cited sources.

Write like a person

The draft gets a full review in the humanize skill after WRITE, but write it clean the first time. These apply to HTML articles and platform markdown alike. Match the site's voiceSamples when it has them.

  • Say the thing. No "it's not X, it's Y" contrasts. The negative half names something nobody claimed.
  • No one-line closers. No "That's the real win." or "Let that sink in." after a paragraph, and no row of fragments ("No setup. No config.").
  • No run-up. No "Let's dive in", "Here's the thing", "Honestly?".
  • No arguing with no one. No "I'm not saying…", "To be clear…", "Some might say… but".
  • No forced triads. Use the number of items the meaning has.
  • No dashes. No em or en dashes in the output unless a voice sample uses them. Commas, periods, colons and parentheses do the job.
  • Plain words. No delve, leverage, seamless, robust, game-changer, unlock, elevate, crucial, landscape, in today's fast-paced world, or the rest of the humanize §12 and §16 lists.
  • Sentence-case headings, no emojis, and the first sentence under a heading must not repeat the heading.
  • Bold only on terms the reader will scan for. Never bold list labels; each <li> is a sentence.
  • Use is, are and has instead of "serves as", "boasts", "features", "offers".

Product-led content (only when the site has a product)

  • The article must stand on its own — the product mention is a bonus, not the point.
  • Earn trust with real value before introducing the product; link where it fits naturally; vary the approach (brief mention vs. deeper integration).

Image placeholders

  • Write each <!-- IMAGE: … --> as a concrete brief — it becomes the seed of the image prompt.
  • The hero brief names a concept: one literal, specific scene drawn from the post's central idea, metaphor, villain or joke (a ban hammer mid-swing for a post about getting banned; a squirrel burying acorns in three spots for a backup post). Never a person at a laptop, a tidy desk with coffee, or a glowing screen in a dark room — see blog-images → "Hero: concept first". Inline briefs: the concrete idea of that section, plus setting and mood.
  • Prompt craft, the defect-prevention checklist, and the vision review/fix loop live in the blog-images skill. Every image needs descriptive alt text (SEO + accessibility), written from what the final image shows.

Platform-native markdown (for /seoblog:socialcue)

Used by the social-article skill. The body is markdown, not HTML, and it is pasted by SocialCue into the platform's editor as-is, so:

  • ##/### headings only — no # (the platform renders the title), no HTML tags, no front matter, no inline styles.
  • Short paragraphs (1–3 sentences), lists where they help, **bold** sparingly, links inline as [text](url), code in fences when relevant.
  • Images are ![alt](absolute-url) on their own line. While drafting, write the same <!-- IMAGE: concrete brief --> placeholders as blog articles; the hero brief goes first, before the opening paragraph. They are swapped for hosted URLs after generation (never a root-relative path — these platforms cannot resolve them).
  • Length targets reuse the table above. Titles follow the platform, not the SEO rules: conversational, specific, honest — no keyword stuffing, the <60-char rule does not apply.
  • Same non-negotiables as blog content: no invented numbers, no plagiarism, cite what you assert.

Per platform:

  • Indie Hackers — first-person maker story: what you built, why, what happened, what you learned; numbers only when real. Markdown editor, no cover-image slot, no image upload (hence hosted URLs). One product link near the end, in context. Title reads like a forum post ("How I…", "What I learned…", "I shipped X in Y and…"), not a headline.
  • dev.to — technical, concrete, code where it helps; ≤ 4 tags chosen from dev.to's own list. The cover image is uploaded separately by SocialCue from media[0] — do not put the hero URL in the body for dev.to; keep inline images in the body. No front matter.
  • Hashnode — like dev.to; cover from media[0], inline images in body.
  • Reddit / forums — conversational, disclose that you built it, no headings in most subs, no inline images (attach media instead, only where the sub allows), link only where the rules allow. Keep it short.
  • generic — Indie Hackers rules.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.