blog-cms
Skill7 starsChanged 19 days agoMITView on GitHub
Sets up and integrates OpenBlog — a Git-based blog CMS module for product sites (Markdown, Next.js, theme, chrome, sitemap/RSS). Routes agents to integrate on an existing site or scaffold greenfield. Use when the user mentions blog CMS, OpenBlog, /blog on a product site, headless blog, Git-backed blog, or create-openblog.
- Installs packages
In this repository7 other files it gives its agents.
- AGENTS.mdAGENTS.md
- audit-seoSkill
- create-postSkill
- integrate-product-siteSkill
- publishSkill
- setup-blog-moduleSkill
- validate-blog-seoSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 41
When working inside the OpenBlog monorepo, read AGENTS.md and skill files under skills/ directly.
- Distinctive: line 47
Ask before editing files: if the path is unclear:
- Very specific: line 63
Do not: default to create-openblog when the user mentions an existing website, product URL, chrome, or navbar alignment.
- Very specific: line 71
Read integrate-product-site skill (or INTEGRATION.md).
≈ “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.
Files
Blog CMS (OpenBlog)
OpenBlog is an open-source, Git-based CMS for blogs — an agent-native blog module mounted on product websites (typically /blog). Markdown in Git is the source of truth; Next.js renders list/post pages, RSS, sitemap, and JSON-LD.
Git is the CMS. Your coding agent is the admin.
This skill is the entry point. It routes to the right workflow, then reads the matching skill in this pack when present.
Not in scope: whole-site CMS, WordPress-style dashboards, site-wide SEO/GEO — pair with marketing-skills for growth workflows on the host site.
Install
# Entry skill only
npx skills add kostja94/openblog --skill blog-cms
# Recommended — entry + primary workflows
npx skills add kostja94/openblog --skill blog-cms integrate-product-site setup-blog-module
# Full pack (content ops included)
npx skills add kostja94/openblog --skill '*'
# List all skills in the repo
npx skills add kostja94/openblog --listRepo: github.com/kostja94/openblog · Docs: INTEGRATION.md
When working inside the OpenBlog monorepo, read AGENTS.md and skill files under skills/ directly.
Step 1 — Route the user
Ask before editing files if the path is unclear:
OpenBlog has two common paths:
- Existing product site → integrate
/blogvia INTEGRATION.md (recommended)- Try it first → clone the repo, then
npm run create-openblog -- my-blogWhich applies to you? If you have a product site URL, share it.
| User situation | Action | Follow-up skill |
Existing product / marketing site — wants /blog, matching nav/logo | Read INTEGRATION.md first | integrate-product-site |
| Greenfield — no site yet, local demo | Scaffold with create-openblog | setup-blog-module |
| Module already wired — add or edit a post | Content model + validate | create-post |
| Pre-merge / deploy checks on blog posts | Validate + build | validate-blog-seo |
| Ready to merge and deploy | Git → CI checklist | publish |
| Ready to merge and deploy | Git → CI → CDN checklist | publish |
Do not default to create-openblog when the user mentions an existing website, product URL, chrome, or navbar alignment.
Step 2 — Execute the path
A. Integrate on existing product site (primary)
Read integrate-product-site skill (or INTEGRATION.md).
Summary:
- Choose pattern: subdirectory (
yourproduct.com/blog) · monorepo merge · subdomain - Configure
openblog.config.ts→chrome(logo, nav, footer,siteUrl) - Edit
templates/next/src/chrome/site-chrome.tsif needed - Optional brand draft:
npm run integrate -- --site https://yourproduct.com - Set env:
SITE_URL,DEPLOY_MODE,BLOG_BASE_PATH - Gate:
npm run validate:posts&&npm run build
B. Greenfield scaffold
Read setup-blog-module skill.
git clone https://github.com/kostja94/openblog.git
cd openblog
npm run create-openblog -- my-blog
cd my-blog && npm install && npm run devConfigure openblog.config.ts (site, theme, features, components.optional). Run npm run theme:sync after theme changes.
C. Content operations (optional)
| Task | Skill | Gate |
| New post (user provides body/brief) | create-post | npm run validate:posts |
| Blog SEO checks | validate-blog-seo | validate + build |
| Publish via Git | publish | CI green |
Guardrail: create-post is not autonomous article generation — the user supplies content or a clear brief.
What OpenBlog provides
| Layer | Purpose |
| Git Markdown / MDX | Portable content, version history, no database |
| Blog routes + theme + chrome | List, post, taxonomy — styled to match product site |
| SEO primitives | Sitemap, RSS, robots, canonical, JSON-LD, static pages |
| Agent contract | AGENTS.md + skills for schema and publish rules |
For a new or substantially redesigned named interface component, route to Bricks component-builder. Reuse the target project's components first; OpenBlog remains the owner of its concrete runtime implementations.
Optional features toggles: categories, tags, authors, RSS (see docs/features.md in repo).
Commands (monorepo or scaffold)
npm install
npm run dev # → http://localhost:3000/blog
npm run validate:posts
npm run theme:sync
npm run build
npm run integrate -- --site https://yourproduct.com # brand manifest draftOut of scope
- Site-wide SEO audit, keyword research, GEO, content strategy → marketing-skills
- Marketing landing pages, docs hub, app UI
- Upstream PRs to OpenBlog (enterprise partners only) → CONTRIBUTING.md
- Scraping full product nav as React — copy from main repo or use
inherit-monorepochrome mode
Skill pack index
| Skill | Role |
blog-cms | Entry + routing (this file) |
integrate-product-site | Primary — existing site integration |
setup-blog-module | Primary — greenfield scaffold |
create-post | Optional — add Markdown post |
validate-blog-seo | Optional — blog-path SEO validation |
publish | Optional — merge/deploy checklist |
audit-seo | Legacy redirect → validate-blog-seo |
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.

