agentleFS
kostja94kostja94/openblog/skills/blog-cms/SKILL.md

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

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
  1. Very specific:

    When working inside the OpenBlog monorepo, read AGENTS.md and skill files under skills/ directly.

    line 41
  2. Distinctive:

    Ask before editing files: if the path is unclear:

    line 47
  3. Very specific:

    Do not: default to create-openblog when the user mentions an existing website, product URL, chrome, or navbar alignment.

    line 63
  4. Very specific:

    Read integrate-product-site skill (or INTEGRATION.md).

    line 71

≈ “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

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 --list

Repo: 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:

  1. Existing product site → integrate /blog via INTEGRATION.md (recommended)
  2. Try it first → clone the repo, then npm run create-openblog -- my-blog Which applies to you? If you have a product site URL, share it.
User situationActionFollow-up skill
Existing product / marketing site — wants /blog, matching nav/logoRead INTEGRATION.md firstintegrate-product-site
Greenfield — no site yet, local demoScaffold with create-openblogsetup-blog-module
Module already wired — add or edit a postContent model + validatecreate-post
Pre-merge / deploy checks on blog postsValidate + buildvalidate-blog-seo
Ready to merge and deployGit → CI checklistpublish
Ready to merge and deployGit → CI → CDN checklistpublish

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:

  1. Choose pattern: subdirectory (yourproduct.com/blog) · monorepo merge · subdomain
  2. Configure openblog.config.ts → chrome (logo, nav, footer, siteUrl)
  3. Edit templates/next/src/chrome/site-chrome.ts if needed
  4. Optional brand draft: npm run integrate -- --site https://yourproduct.com
  5. Set env: SITE_URL, DEPLOY_MODE, BLOG_BASE_PATH
  6. 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 dev

Configure openblog.config.ts (site, theme, features, components.optional). Run npm run theme:sync after theme changes.

C. Content operations (optional)

TaskSkillGate
New post (user provides body/brief)create-postnpm run validate:posts
Blog SEO checksvalidate-blog-seovalidate + build
Publish via GitpublishCI green

Guardrail: create-post is not autonomous article generation — the user supplies content or a clear brief.


What OpenBlog provides

LayerPurpose
Git Markdown / MDXPortable content, version history, no database
Blog routes + theme + chromeList, post, taxonomy — styled to match product site
SEO primitivesSitemap, RSS, robots, canonical, JSON-LD, static pages
Agent contractAGENTS.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 draft

Out 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-monorepo chrome mode

Skill pack index

SkillRole
blog-cmsEntry + routing (this file)
integrate-product-sitePrimary — existing site integration
setup-blog-modulePrimary — greenfield scaffold
create-postOptional — add Markdown post
validate-blog-seoOptional — blog-path SEO validation
publishOptional — merge/deploy checklist
audit-seoLegacy redirect → validate-blog-seo

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.