Write and ship a blog post for your project that reads like a human wrote it and pulls SEO traffic to your site.

MITAuto-check: notesWriting & Content

Install Write Blog

skills CLI
$ npx skills add tamdogood/builder-essential-skills --skill write-blog -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tamdogood/builder-essential-skills write-blog --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tamdogood/builder-essential-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/write-blog .claude/skills/write-blog && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
write-blog
GitHub stars
220
Token cost
~2.1k tokens
SKILL.md length
1,205 words
Files
8
Skills in repo
18
Repo updated
First seen
Licence
MIT

At a glance

Write and ship a blog post for your project that reads like a human wrote it and pulls SEO traffic to your site.

  • Works in 8 steps: Read the ground truth first → Pick and pitch the angle → Outline → …
  • A contributor wants to draft
  • SKILL.md covers The one rule that gets a post…, Workflow, Guardrails and Note on this skill's own files
  • Runs Shell scripts from its folder; calls bash

What it does

Write Blog is an agent skill from tamdogood/builder-essential-skills. Write and ship a blog post for your project that reads like a human wrote it and pulls SEO traffic to your site. Use when a contributor wants to draft, edit, or publish a blog post, add a post to the site, write about the project for search/traction, or make an existing draft sound less like AI. Enforces the house voice (no em dashes), picks a non-cannibalizing angle, uses ASD-STE100 Simplified Technical English for technical prose, wires the post into your site, and runs the humanizer pass before shipping.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files (for example `README.md`, `check.sh` and `reference/angles.md`). Compatibility notes: claude-code

It sits in Writing & Content, covering Blog and article writing and Humanizing AI text. The repository describes itself as: A repository for skills that are essential to my daily work. The licence is MIT.

When your agent uses it

  • A contributor wants to draft
  • Publish a blog post
  • Add a post to the site
  • Write about the project for search/traction

Example prompts

  • “/write-blog”

Requirements

  • A Bash shell
  • Compatibility (from SKILL.md): claude-code
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Grep, Glob, Bash, AskUserQuestion

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Read the ground truth first
  2. Pick and pitch the angle
  3. Outline
  4. Draft
  5. Humanize (mandatory)
  6. Wire it into the site
  7. Verify before done
  8. Distribute (this is what earns the traction)

What it can do on your machine

Read from SKILL.md and the folder at commit 1be9984. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Grep
    • Glob
    • Bash
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    claude-code

    From compatibility in the SKILL.md frontmatter.

Context cost

Write Blog loads about 2.1k tokens when it runs. Until then it costs about 131 tokens; SKILL.md has 1,205 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~131
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Grep, Glob, Bash, AskUserQuestion

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from tamdogood/builder-essential-skills at commit 1be9984, republished under its MIT licence (© tamdogood). 1,205 words, ~2,107 tokens.

Download SKILL.mdSave it as .claude/skills/write-blog/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
write-blog
description
Write and ship a blog post for your project that reads like a human wrote it and pulls SEO traffic to your site. Use when a contributor wants to draft, edit, or publish a blog post, add a post to the site, write about the project for search/traction, or make an existing draft sound less like AI. Enforces the house voice (no em dashes), picks a non-cannibalizing angle, uses ASD-STE100 Simplified Technical English for technical prose, wires the post into your site, and runs the humanizer pass before shipping.
allowed-tools
Read, Write, Edit, Grep, Glob, Bash, AskUserQuestion
compatibility
claude-code

Write a blog post

You are helping a contributor write a blog post for the project's website. The bar: it reads like a person wrote it, it ranks for a search cluster no other post already owns, and it ships wired correctly into the site with the build green.

Use ASD-STE100 Simplified Technical English (STE) for the post's technical and instructional prose. Use short, direct sentences, consistent terms, clear actions, and the approved meaning of technical words when the STE dictionary is available. Do not use idioms, slang, figurative language, or synonym changes that can make a technical term unclear. Preserve exact code, commands, identifiers, product names, and quotations. The post can keep a human opinion and a concrete example, but clarity takes priority over rhythm or decoration. Do not claim strict STE conformance without checking the current ASD-STE100 issue and dictionary.

This skill exists so every contributor writes in the same voice, picks non-overlapping topics, and passes the same anti-AI-slop gate, whether or not they already know the house rules.

The one rule that gets a post rejected

No em dashes (—) or en dashes (–). Ever. The house voice bans them. Use a period, a comma, or "so"/"because"/parentheses instead. A single dash in a draft is a hard fail. There is a scanner: run bash check.sh <file> (in this skill's folder) on any draft before you call it done.

Workflow

Do these in order. Don't skip the angle check or the humanizer pass.

1. Read the ground truth first

Before writing a word, read what already exists so you match voice and don't cannibalize keywords:

  • Your site's post registry / index. Whatever lists every published post (a registry file, a content collection, a CMS list, or the frontmatter across your blog's source directory). This is the live record of every published post and the angle it owns. Read every slug, title, description, and tag set.
  • One or two full published posts (the prose sources) to absorb the voice.
  • reference/angles.md (in this skill folder) for how to pick an angle that doesn't collide, plus the topics still untapped.
  • reference/voice.md for the house voice and the anti-AI checklist, self-contained.
  • reference/craft.md for the writing craft: leads that win the click, spine structure, and which creative-writing skill to reach for at each stage.
  • reference/seo.md for on-page keyword placement, internal linking, verifying the machine-readable SEO, and the post-ship distribution loop that earns the first backlinks.
2. Pick and pitch the angle

Every post must own a distinct search cluster. Two posts fighting for the same keywords cannibalize each other. From your post index and reference/angles.md, pick an angle no shipped post already owns, then pitch it back to the contributor in one line before drafting: the working title, the one-sentence thesis, and the 3-5 keyword phrases it targets. Confirm before you write the body. If they gave you a topic that collides with an existing post, say so and propose the adjacent-but-distinct angle instead.

3. Outline

A good post has a spine, not a listicle. Read reference/craft.md before you outline; the lead and the H2-spine are 80% of whether the post gets finished and ranked. Structure:

  • A lead (description + opening) that names a concrete, specific problem the reader has. Not "AI agents are transforming collaboration." Something like "Two agents can talk about a change all day. Handing over the change itself, byte for byte, is a different problem."
  • 4-7 sections, each with a claim and real code, real commands, or a real number from your project backing it. Read the actual source and docs of your project and quote it accurately. Made-up APIs are worse than no code.
  • A "what this is NOT" or honest-limitations beat. The voice is a little contrarian and admits what's deferred. That honesty is what makes it not read like marketing.
  • A close that lands the thesis without a generic "in conclusion, the future is bright" wrap-up. End on a concrete thing the reader can do or check.
4. Draft

Write the prose as plain markdown first, in your blog's source directory (the source of truth). Follow reference/voice.md, reference/craft.md, and the STE guidance above as you write. Keep it honest, concrete, and grounded in real project code. Use one clear opinion and support it with evidence. If /direct-response-copy is available in your environment, run it on the title, description, and closing CTA (only those three surfaces, not the body).

Show full SKILL.md (477 more words)Show less
5. Humanize (mandatory)

Run a humanizer pass on the draft: if /humanizer is available in your environment, invoke it on the draft. If it isn't available, apply the checklist in reference/voice.md yourself. Then run an STE pass. Check sentence length, clear subjects and actions, consistent technical terms, approved word meanings when available, and intentional exceptions. Strip: significance inflation, promotional adjectives, the rule of three, "-ing" tail analyses, negative parallelisms ("it's not X, it's Y"), synonym cycling, hedging, and every dash. For headline/description/CTA polish you may also pull in /direct-response-copy if it's available.

Then run bash check.sh <draft-file> and fix anything it flags.

6. Wire it into the site

Follow reference/wiring.md. In short: register the post in whatever index/registry your blog uses, add the body in your blog's format, make sure the SEO surfaces (sitemap, RSS, OG/Twitter cards, JSON-LD) include the new post, add the cover image, and build. For keyword placement (title/description/first-H2/tags), internal-link count, and anchor-text rules, follow reference/seo.md. Add a reciprocal inbound link from the most related existing post.

7. Verify before done

Your site's build command must be green. Then smoke-test the post: confirm the post page, the cover image, the blog index, the sitemap, and the RSS feed all load and include the new post. View source on the post and confirm the meta description, OG/Twitter tags, and BlogPosting JSON-LD actually emitted with the right values (reference/seo.md lists what to check). Re-run bash check.sh on the final markdown. Only then is the post itself done.

8. Distribute (this is what earns the traction)

A correct post with no inbound links does not rank. After it ships, seed the first signal: if /x-tweet is available in your environment, run it on the post's core insight for a thread that teaches the idea and links the post; cross-link the post from the relevant docs; and answer the real question it solves where people are already asking it. See the distribution loop in reference/seo.md. Always link the canonical production URL (<your-site-url>/blog/<slug>), never a staging or preview host.

Guardrails

  • Never invent project APIs, flags, or numbers. Read the source and quote it.
  • Never weaken the house voice to sound "professional." Concrete and a little contrarian beats polished and generic every time.
  • Use STE for technical and instructional prose. Do not use figurative language or decorative wording when it can reduce technical clarity.
  • Don't ship a post whose angle overlaps a published one. Adjust the angle instead.
  • Covers can be SVG or a raster image. Match your site's brand palette. If you can't make a good cover, reuse an existing one rather than shipping something ugly.

Note on this skill's own files

The scanner will flag SKILL.md and the reference/ files because they name the banned characters (—) (–) and use → as teaching notation. That's expected. The scanner is for blog drafts and rendered post bodies, not for this skill's documentation.

© tamdogood, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files in skills/write-blog of tamdogood/builder-essential-skills.

  • SKILL.md
  • README.md
  • check.sh
  • reference/angles.md
  • reference/craft.md
  • reference/seo.md
  • reference/voice.md
  • reference/wiring.md

Open the folder on GitHubat commit 1be9984

Compare with similar skills

Write Blog next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Write Blog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Write Blog this skilltamdogood/builder-essential-skills220—~2.1kAutomated safety check: NotesMIT
SepiaNanako0129/sepia3k—~3.6kAutomated safety check: PassMIT
Humanizer Zhai-zixun/humanizer-zh177—~1.2kAutomated safety check: PassMIT
Content Strategy And Assemblyjacob-dietle/context-os111—~3.1kAutomated safety check: PassMIT
Linkedin Writerflaqai/backlink_skills754—~6kAutomated safety check: PassMIT
Writewaynesutton/markdown-site628—~3kAutomated safety check: PassMIT

Similar skills

  • Sepia

    Nanako0129/sepia

    Make AI-generated writing read as human-written, in fiction and in professional prose.

    3k GitHub stars~3.6k tokensUpdated 3 days ago
    Writing & ContentAuto-check passed
  • Humanizer Zh

    ai-zixun/humanizer-zh

    Remove signs of AI-generated, translated, or overly mechanical Chinese prose.

    177 GitHub stars~1.2k tokensUpdated 4 mo ago
    Writing & ContentAuto-check passed
  • Content Strategy And Assembly

    jacob-dietle/context-os

    This skill should be used when producing content (newsletter posts, blog posts, LinkedIn posts) from existing corpus material.

    111 GitHub stars~3.1k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Linkedin Writer

    flaqai/backlink_skills

    LinkedIn-native long-form article and newsletter writing workflow for LinkedIn and Google-to-LinkedIn topic discovery, business-depth research, professional thought leadership, evidence-led…

    754 GitHub stars~6k tokensUpdated 15 days ago
    Writing & ContentAuto-check passed
  • Write

    waynesutton/markdown-site

    Writing style guide for technical content, social media, blog posts, READMEs, git commits, and developer documentation.

    628 GitHub stars~3k tokensUpdated 4 mo ago
    Writing & ContentAuto-check passed
  • Generate clean, human-sounding, SEO-optimized WordPress blog posts with optional Yoast metadata, JSON-LD schema markup, and image SEO planning.

    47k GitHub starsUsed in 1 repo~2.1k tokens
    Writing & ContentAuto-check passed

More from tamdogood/builder-essential-skills

All 18 skills in this repo
  • Create Marketing Kit

    tamdogood/builder-essential-skills

    Create truthful, human-centered marketing campaigns for an app or product, including positioning, channel copy, original artwork, editable layouts, README banners, and selective website integration.

    220 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Name Your Business

    tamdogood/builder-essential-skills

    Generate, refine, compare, and when needed validate distinctive names for startups, AI products, developer tools, protocols, open-source projects, apps, product families, local businesses, services…

    220 GitHub stars~4.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Session Profiler

    tamdogood/builder-essential-skills

    Profile and debug Hermes sessions from their JSONL transcripts.

    220 GitHub stars~1.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Build Scenario Tests

    tamdogood/builder-essential-skills

    Inspect an unfamiliar repository, turn a focused Markdown behavior scenario into a deterministic test in the repository's native test stack, run it, and preserve traceability between intent and code.

    220 GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Create Skill

    tamdogood/builder-essential-skills

    Create or update a complete repository skill from a user's idea, including the workflow instructions, references, scripts or assets, agent metadata, skill-card artwork, cinematic banner artwork…

    220 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Paper Opportunity Radar

    tamdogood/builder-essential-skills

    Run a cumulative daily or retrospective sweep of research papers on a chosen topic, audit their claims, methods, integrity signals, and independent support, then identify overlooked but feasible…

    220 GitHub stars~3.1k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Write Blog

What does Write Blog do?

Write and ship a blog post for your project that reads like a human wrote it and pulls SEO traffic to your site. Write Blog is an agent skill from tamdogood/builder-essential-skills. Write and ship a blog post for your project that reads like a human wrote it and pulls SEO traffic to your site.

When should I use Write Blog?

Write Blog fits situations like: A contributor wants to draft; publish a blog post; add a post to the site; write about the project for search/traction.

How do I install Write Blog in Claude Code?

Run `npx skills add tamdogood/builder-essential-skills --skill write-blog -a claude-code`. Or copy the skill folder (skills/write-blog in tamdogood/builder-essential-skills) into .claude/skills/write-blog in your project. Claude Code loads it when a task matches its description.

How do I install Write Blog in Codex?

Run `npx skills add tamdogood/builder-essential-skills --skill write-blog -a codex`. Or copy the skill folder (skills/write-blog in tamdogood/builder-essential-skills) into .agents/skills/write-blog in your project. Codex loads it when a task matches its description.

Can I use Write Blog in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tamdogood/builder-essential-skills --skill write-blog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/write-blog, .gemini/skills/write-blog, .github/skills/write-blog and .opencode/skills/write-blog in your project.

What does Write Blog need to run?

Going by SKILL.md and its folder, Write Blog needs a shell for the scripts in its folder and the command-line tools its instructions call (bash). Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Read, Write, Edit, Grep, Glob, Bash, AskUserQuestion. Compatibility (from SKILL.md): claude-code.

Does Write Blog access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Write Blog safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Write Blog use?

Write Blog is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Write Blog use?

About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Write Blog?

Skills that share tags, products or a category with Write Blog: Sepia (Nanako0129/sepia, 3k stars), Humanizer Zh (ai-zixun/humanizer-zh, 177 stars), Content Strategy And Assembly (jacob-dietle/context-os, 111 stars) and Linkedin Writer (flaqai/backlink_skills, 754 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Write Blog?

tamdogood (a GitHub user) maintains it in tamdogood/builder-essential-skills, which has 220 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on August 16, 2026.

Source: tamdogood/builder-essential-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.