blog-post
Skill1 starsChanged 7 months agoMITView on GitHub
Use when the user wants to draft a full blog post or article from a content brief. Reads a brief file plus editorial-guidelines.md and produces a publication-ready markdown draft with SEO meta, internal links, and optional hero image.
- Reads credentials
27 other projects use a version of this.
Adopted by
Most recently taken up by
- nisarth/claude-skills-storetheir own version, first seen Nov 8, 2026
- neomjs/neo-agent-skillstheir own version, first seen Nov 8, 2026
- alfredang/ai-cmstheir own version, first seen Nov 7, 2026
- alfredang/ai4kidstheir own version, first seen Nov 2, 2026
- rsdlt/rsdlt.github.iotheir own version, first seen Oct 25, 2026
- langchain-ai/deepagentstheir own version, first seen Oct 13, 2026
Used with
Projects with it also use remote-db-sync, tia-frontend-design-site and 4 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.
alfredangSkillremote-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
alfredangSkilltia-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-garg27Skillnewsletter
Create engaging email newsletters with subject lines, sections, and CTAs for Substack, Beehiiv, ConvertKit, or plain email
Also in 3 projects that use this
ukunal91appSkilllead-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
VercelSkillfind-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
Other versions27 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 27
- langchain-ai/deepagents★ 31ksame name
- samuelclay/NewsBlur★ 7.7ksame name
- nteract/semiotic★ 2.7ksame name
- AlemTuzlak/skills★ 45same name
- byronxlg/skillfold★ 15same name
- neomjs/neo-agent-skills★ 11same name
- ropensci-review-tools/ropensci-skills★ 8same name
- xcrrr/claude-skills★ 6same name
- alfredang/ai-cms★ 4same name
- broomva/skills★ 4same name
17 more not listed
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 repository14 other files it gives its agents.
- competitor-analysisSkill
- content-briefSkill
- content-calendarSkill
- content-marketingSkill
- editorial-guidelinesSkill
- email-copySkill
- landing-page-copySkill
- proofreading-style-checkSkill
- publish-webflowSkill
- publish-wordpressSkill
- repurpose-linkedin-carouselSkill
- repurpose-threads-xSkill
- seo-auditSkill
- social-postSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. 0 are common, 7 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 23 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
No required keys — the skill drafts from the brief alone.
- Very specific: line 33
Read the brief file (the --- frontmatter tells you keyword, intent, target word count, refresh_of).
- Very specific: line 34
Read editorial-guidelines.md (or fallback).
- Very specific: line 35
Read {SKILL_BASE}/../_shared/seo-best-practices.md for the SEO ruleset.
- Very specific: line 36
If refresh_of is set in the brief frontmatter, fetch the current URL via the scraping fallback chain and load the existing article so you …
- Very specific: line 97
None: leave hero_image empty.
- Distinctive: line 101
Before writing to disk, check:
- Distinctive: line 104
Every entity from the brief's must-cover list appears at least once.
- Distinctive: line 105
Every PAA from the brief is answered.
- Distinctive: line 112
If any check fails, fix it before writing.
- Very specific: line 116
Write to posts/<slug>.md. Print a 5-line summary:
- Very specific: line 125
Notion: create a page in NOTION_DATABASE_ID with frontmatter fields mapped to database properties and the body as rich text.
- Distinctive: line 126
Google Docs: create a doc in the service account's Drive, convert markdown to Docs formatting, print the Docs URL.
- Distinctive: line 133
Notion/Docs push fails: write the local file anyway and print the error.
“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.
Files
Blog Post
Turn a briefs/<slug>.md (produced by the content-brief skill, or hand-written to the same schema) into a complete, publication-ready markdown article.
Setup
No required keys — the skill drafts from the brief alone. Optional keys unlock extras:
UNSPLASH_ACCESS_KEYorPEXELS_API_KEY— pick a hero image from stock libraries.FAL_API_KEYorIDEOGRAM_API_KEY— generate an AI hero image instead.NOTION_API_KEY+NOTION_DATABASE_ID— push the draft into Notion for editor review.GOOGLE_DOCS_SERVICE_ACCOUNT_JSON— push the draft into Google Docs instead.
Inputs
- Brief path (required). Glob
briefs/*.mdand let the user pick if not specified. - Editorial guidelines path — defaults to
./editorial-guidelines.md. If missing, fall back to{SKILL_BASE}/../_shared/b2b-saas-voice-reference.mdand warn the user. - Hero image mode: none / stock / generated. Ask via
AskUserQuestionif optional keys are available. - Handoff destination: local file only / Notion / Google Docs. Ask if the relevant key is set.
Process
1. Load everything
- Read the brief file (the
---frontmatter tells you keyword, intent, target word count, refresh_of). - Read
editorial-guidelines.md(or fallback). - Read
{SKILL_BASE}/../_shared/seo-best-practices.mdfor the SEO ruleset. - If
refresh_ofis set in the brief frontmatter, fetch the current URL via the scraping fallback chain and load the existing article so you can preserve what works and only rewrite the weak sections.
2. Plan before drafting
Produce a short internal plan (not written to disk yet):
- Confirm the H1 choice from the brief's title options (pick the one that best matches intent + voice; explain the choice in 1 line).
- Confirm TL;DR.
- Confirm the section order and word budget.
- Identify 2–3 places where the editorial guidelines' "unique angle" rule can inject original observation, data, or opinion.
3. Draft section by section
Draft each H2 against its word budget. For every section:
- Lede sentence states the section's claim or answer directly.
- Evidence — at least one concrete fact, example, or number.
- Transition — a single sentence bridging to the next section only if it earns its place.
- Obey the editorial guidelines on:
- POV (we/you/I/third)
- Contractions
- Sentence length ceiling
- Banned words (run a final pass to eliminate them)
- Preferred-word and product-naming conventions
- Obey the SEO rules in
seo-best-practices.md:- Primary keyword in first 100 words, in H1, in at least one H2
- Cover every entity in the brief's entities table
- Answer every PAA (either inline or in a dedicated section)
- 2–4 outbound authoritative links
- Internal links to the brief's suggested targets using descriptive anchor text
4. Write meta and frontmatter
Frontmatter fields:
---
title: "{H1}"
slug: "{slug}"
meta_title: "{50–60 chars}"
meta_description: "{140–160 chars}"
keyword: "{from brief}"
author: "{from editorial guidelines or TBD}"
date: "{YYYY-MM-DD}"
status: draft
canonical: ""
schema: "{Article|HowTo|FAQPage}"
hero_image: ""
hero_alt: ""
internal_links:
- url: "{…}"
anchor: "{…}"
outbound_links:
- url: "{…}"
anchor: "{…}"
---5. Hero image (optional)
- Stock mode: query Unsplash/Pexels with 2–3 semantic terms derived from the H1. Pick a landscape image with relevance > aesthetic. Write the URL and a descriptive (not keyword-stuffed) alt into frontmatter.
- Generated mode: build a prompt from the H1 and voice attributes; call fal.ai or Ideogram; save the URL. Alt text describes the generated scene.
- None: leave
hero_imageempty.
6. Self-review pass
Before writing to disk, check:
- Word count within ±20% of target.
- Every entity from the brief's must-cover list appears at least once.
- Every PAA from the brief is answered.
- Primary keyword density between 0.5% and 1.5%.
- No banned words.
- Flesch reading ease is in the guidelines' target range (estimate by rule of thumb if no tool is available).
- First 100 words contain the keyword and state the payoff.
- Closer recommends a specific next action.
If any check fails, fix it before writing.
7. Write the file
Write to posts/<slug>.md. Print a 5-line summary:
- Path
- Word count
- Keyword + density
- Number of internal links / outbound links
- Any skipped self-review checks with the reason
8. Handoff (optional)
- Notion: create a page in
NOTION_DATABASE_IDwith frontmatter fields mapped to database properties and the body as rich text. Print the Notion URL. - Google Docs: create a doc in the service account's Drive, convert markdown to Docs formatting, print the Docs URL.
Fallbacks
- No editorial guidelines: fall back to the shared voice reference and print a warning.
- No brief: refuse and tell the user to run
content-brieffirst, or point to a hand-written brief. - Hero image APIs fail: continue without a hero image; leave fields empty.
- Notion/Docs push fails: write the local file anyway and print the error.
Verification
posts/<slug>.mdexists with complete frontmatter.- Self-review summary is printed; all checks pass or the failures are explicitly listed.
- Running
proofreading-style-checkon the output against the sameeditorial-guidelines.mdreturns zero critical findings (warnings are acceptable).
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
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.

