agentleFS
chanuk0chanuk0/agent-skills-public/skills/blog-post/SKILL.md

blog-post

Skill0 starsChanged 2 months agoMITView on GitHub

Write one long-form blog post end to end -- keyword selection, structure, draft, and a mechanical check before publishing. Use for "write a blog post", "turn this into an article", "find a keyword for this", "what should I title this", "draft the post for this topic", or when handed a brief, a link pile, or notes and asked to make an article out of it. Also handles the handoff prompt when the post will be pasted into a CMS editor by another tool. Instagram carousels are carousel-post; verifying the facts first is topic-brief.

27 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use remote-db-sync, tia-frontend-design-site and 5 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • alfredangSkill

    remote-db-sync

    Push local DB content (menus, settings, taxonomy, pages, posts) to the production database via bearer-token-protected sync APIs. Use when the user wants to publish local CMS/admin edits to the live site without logging into the production admin UI, or to extend the sync surface for new tables. Triggers — "push to production", "sync to remote", "deploy menu/settings/page/post", "the live site doesn't show my change".

    Also in 3 projects that use this

  • alfredangSkill

    tia-frontend-design-site

    This site's own design system for Tertiary Infotech Academy (tertiaryinfotech.edu.sg) — light mint public pages, a dark animated matrix-green hero with the fibre-optic globe, generated artwork, Exo 2 + Inter, compact non-template layouts, live-online copy. Load with the user-level tia-frontend-design skill whenever building, restyling or reviewing ANY UI in this repo.

    Also in 3 projects that use this

  • anshul-garg27Skill

    newsletter

    Create engaging email newsletters with subject lines, sections, and CTAs for Substack, Beehiiv, ConvertKit, or plain email

    Also in 3 projects that use this

  • ukunal91appSkill

    lead-magnets

    When the user wants to create, plan, or optimize a lead magnet for email capture or lead generation. Also use when the user mentions "lead magnet," "gated content," "content upgrade," "downloadable," "ebook," "cheat sheet," "checklist," "template download," "opt-in," "freebie," "PDF download," "resource library," "content offer," "email capture content," "Notion template," "spreadsheet template," or "what should I give away for emails." Use this for planning what to create and how to distribute it. For interactive tools as lead magnets, see free-tool-strategy. For writing the actual content, see copywriting. For the email sequence after capture, see email-sequence.

    Also in 3 projects that use this

  • AnthropicSkill

    seo-audit

    Run a comprehensive SEO audit — keyword research, on-page analysis, content gaps, technical checks, and competitor comparison. Use when assessing a site's SEO health, when finding keyword opportunities and content gaps competitors own, or when you need a prioritized action plan split into quick wins and strategic investments.

    Also in 5 projects that use this

  • VercelSkill

    find-skills

    Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

    Also in 3 projects that use this

  • +1 more from alfredang

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. 0 are common, 11 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 23 edited versions we read keep these.

  • 11

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read references/keyword.md and choose a focus keyword and title candidates.

    line 26
  2. Distinctive:

    If the post walks someone through applying for something, actually open the official site and confirm the menu names, the order of steps, …

    line 37
  3. Very specific:

    Read references/patterns.md.

    line 52
  4. Very specific:

    Read references/voice.md, then references/writing-rules.md.

    line 58
  5. Very specific:

    Add --slug once the slug is set, --featured <path> if you made a lead image, and --handoff <file> in handoff mode.

    line 78
  6. Distinctive:

    Never damage a sentence for SEO.

    line 121
  7. Distinctive:

    If the research supports it, bundle three to five verified keywords into the title naturally.

    line 129
  8. Distinctive:

    If that reads badly, drop to one or two and say why.

    line 130
  9. Distinctive:

    If your CMS shows an SEO score, measure it in the browser.

    line 133
  10. Distinctive:

    If you didn't measure it, call it a target, not a result.

    line 135
  11. Distinctive:

    If fewer than three, say whether it was readability or weak evidence

    line 142
  12. Distinctive:

    Check results — script output plus anything held back on facts, status, or upload

    line 150
  13. Very specific:

    Use the template in references/handoff.md verbatim.

    line 154
  14. Distinctive:

    Check the prompt itself before you hand it over:

    line 158
  15. Distinctive:

    Never invent a URL, never call a failed upload a success, and never instruct anything to publish without the user's explicit go-ahead.

    line 165
  16. Distinctive:

    Don't turn a post into personalized legal, financial, medical, or investment instructions.

    line 171

“Common” is measured: kept by at least 6 in 10 of the 23 edited versions of this file we could read. “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

Blog Post

Builds one post. The post is both an asset that earns search traffic and the place your social links land, and those two readers behave very differently — references/writing-rules.md opens with how to serve both in one page.

Mode

RequestMode
The post will be pasted into a CMS editor by a browser agenthandoff
Everything elsedraft package

Procedure

1. Topic and keyword

Get the source material. Prefer a topic-brief output; otherwise the links, text, or files the user provides. If there is no input, do not invent one — ask.

Read references/keyword.md and choose a focus keyword and title candidates. If the user supplies a keyword, it is fixed as the primary — don't second-guess it. Titles are a promise first; verified keywords get bundled in only where they read naturally.

2. Facts and status

Take facts from primary sources only: the official page, the public notice, the regulation, the disclosure, the first-party document. Benchmarks and search results are for structure and keyword research — never for eligibility, amounts, deadlines, or steps. Values you can't confirm come out.

If the post walks someone through applying for something, actually open the official site and confirm the menu names, the order of steps, what they need to hand, and how they know it worked. If you couldn't verify a deep link, use the site's home page in the call to action — and start the walkthrough from that same first screen.

Label every key value: in force / passed, not yet in effect / announced, not final / under discussion / unsupported. If you see any sign of a revision, amendment, new scheme, or second round, read references/status.md and go find a separate source for the current rules and for the change.

Interrogate any number that's making the rounds. Is it the actual rate, or a blended figure, or the maximum, or one worked example? Name it correctly.

3. Structure

Read references/patterns.md. Choose one primary pattern and add only the supporting modules you need. Don't blend two patterns — if they overlap, pick based on what the reader does after reading, and keep that pattern's ending.

4. Draft in three passes

Read references/voice.md, then references/writing-rules.md.

  1. Fact map — every claim gets a value, a status, a checked-on date, and a primary source.
  2. Reader-decision map — what they'll misunderstand, what they're deciding between, what changes by situation, what to do now versus later.
  3. Sentences — connect the first two maps in the voice from voice.md.

Do not start by writing finished sentences. That produces either a list of facts in paragraph form or friendliness with nothing underneath.

For posts about money, tax, policy, or public programs, use the disclosure templates in writing-rules.md: a short scope note at the top, a detailed one at the bottom carrying the checked-on date and who decides what. Don't repeat generic disclaimers mid-article.

5. Check

python scripts/check_post.py <path to html> --pattern <pattern> --title "<title>" --keywords "<verified,keywords>"

Add --slug once the slug is set, --featured <path> if you made a lead image, and --handoff <file> in handoff mode. Those three fail in different places from the body HTML, so they're checked separately.

For a draft you haven't written to a file, pipe the HTML and pass - as the path.

cat draft.html | python scripts/check_post.py - --pattern <pattern> --title "<title>"

Both commands assume you're in this skill's folder. From elsewhere, call python skills/blog-post/scripts/check_post.py .... "Couldn't find the script" and "failed the check" are different outcomes — report them differently.

Fix and rerun until it passes. If you didn't actually run it, write not run and why — never passed. The script only sees what a script can see; finish by reading the draft against the quality bar in references/writing-rules.md yourself.

6. Output

Produce the mode's output, below.

Conflict order

  1. Facts verified against primary sources, their status, user instructions, safety
  2. The reader-centered voice in voice.md
  3. The primary pattern's ending and its supporting modules
  4. Markup, disclosure, and ad rules in writing-rules.md
  5. Any individual example's phrasing

Examples demonstrate principles. Never reuse an example's figures, claims, or personal anecdotes as if they were facts.

Search visibility

Public posts are indexable by default. Do not put noindex, no-index, or any search-exclusion instruction into the body, the SEO fields, or the handoff prompt unless the user explicitly asks for it.

Publishing and indexing are different axes. "Save it as a draft" defers publication; it does not mean "hide from search". Don't expand a hold-off instruction into an index block — in most CMSs the robots setting is stored per post and survives until publication.

Never damage a sentence for SEO. You control exactly four fields:

  • One focus keyword
  • A natural title carrying verified keywords
  • The meta description
  • The slug — rules in the Slug section of references/keyword.md. Never leave a non-ASCII title as the URL

If the research supports it, bundle three to five verified keywords into the title naturally. If that reads badly, drop to one or two and say why. Don't then sprinkle those words through the body.

If your CMS shows an SEO score, measure it in the browser. Raise it by adjusting the title, meta, slug, links, and image alt text — never by padding the body or stuffing keywords. If you didn't measure it, call it a target, not a result.

Output -- draft package

  1. Primary pattern / supporting modules used / why / benchmarks read
  2. Title, focus keyword, meta description, slug
    • Which keywords are bundled into the title, and the evidence for each
    • If fewer than three, say whether it was readability or weak evidence
  3. Body HTML
  4. Lead image — an actual file, or a source you have permission to use, plus alt text and attribution. Follow the Lead image spec in writing-rules.md; don't invent a new style per post
  5. In-body image plan — position / content / source / alt text
  6. Calls to action and links — official sources, internal link positions
  7. Short promo message, if the post is going out on a channel
  8. Check results — script output plus anything held back on facts, status, or upload

Output -- handoff

Use the template in references/handoff.md verbatim. Fill the bracketed slots and change nothing else. Don't compose the prompt freehand — when it varies per post, instructions go missing, and missing instructions become publishing accidents.

Check the prompt itself before you hand it over:

python scripts/check_post.py <html> --pattern <pattern> --title "<title>" \
  --keywords "<keywords>" --slug "<slug>" --featured <image> --handoff <prompt file>

Never invent a URL, never call a failed upload a success, and never instruct anything to publish without the user's explicit go-ahead.

Boundaries

  • Publish only when the user explicitly asks.
  • Don't turn a post into personalized legal, financial, medical, or investment instructions.
  • Verified information, real product names, neutral comparisons, worked examples, general decision criteria, and official links are all fine.

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.