Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add kostja94/openblog --skill create-postgit clone --depth 1 https://github.com/kostja94/openblogWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kostja94/openblog/create-post)<a href="https://agentmods.dev/skills/kostja94/openblog/create-post"><img src="https://agentmods.dev/badge/skills/kostja94/openblog/create-post/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kostja94/openblog/create-post"><img src="https://agentmods.dev/badge/skills/kostja94/openblog/create-post.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00037 | $0.00468 |
| Opus 5.5 | $0.00015 | $0.00187 |
| Sonnet 5.5 | $0.00007 | $0.00094 |
| Haiku 4.5 | $0.00004 | $0.00047 |
Grade A, and why
create-post scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Create Post
Guardrail: The user provides the article body, outline, or brief. This skill ensures valid frontmatter, filename/slug alignment, and Markdown structure — it is not an autonomous article factory.
For content strategy, keyword targeting, GEO, or post optimization → use marketing-skills.
Steps
- Read
AGENTS.mdand inspect existing posts incontent/blog/. - Confirm the user supplied content or a clear brief; do not invent long-form copy without input.
- Choose a unique kebab-case
slugmatching the filename. - Write frontmatter that passes
postFrontmatterSchema; follow the article copy responsibilities inAGENTS.mdinstead of substituting fields for one another. Select existing author IDs fromcontent/authors/and an ordered, uniquecategoriesID list fromcontent/categories/. Ancestors are derived; do not repeat them merely to populate parent archives. OptionalarticleTypefollows the independent values defined inAGENTS.md, not a layout name. Do not derive identities, category URLs, or credentials from display names. Tags are non-link labels, not archive-page destinations. - Write Markdown body with:
- One
#title (optional; stripped if duplicate of frontmatter title) ##sections for structure- Internal links to other posts using
/blog/{slug}paths
- One
- Run
npm run validate:postsintemplates/next.
Create the file at templates/next/content/blog/{slug}.md.
Frontmatter template
---
title: ""
description: ""
dek: ""
excerpt: ""
slug: ""
date: "YYYY-MM-DD"
authors: ["existing-author-id"] # select actual IDs from content/authors/
categories: ["existing-category-id"] # select actual IDs from content/categories/
tags: []
draft: false
---
Related skills
- Pre-publish SEO checks?
validate-blog-seo - Ready to merge?
publish
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago Changed · +2 lines 927027aac410
- 2mo ago First seen · 45 lines · 37 tokens per session scan A 0e740b3ae6c6
create-post is a skill published in the GitHub repository kostja94/openblog (7 stars, last pushed 4d ago), licensed MIT. It adds 37 tokens to every session and 468 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
content-commerce
Turn your blog into a sales channel by embedding shoppable product cards in editorial content and tracking content-influenced revenue.
repo-seed
Seed, audit, adopt, and progressively evolve an agent-native repository with risk-triggered specs, durable decisions, resident governance skills, capability state, deterministic gates, and safe upgrades. Use when initializing or upgrading a repository, when an unmanaged repository grows complex, or when delivery…
repo-review
Use when reviewing a pull request or a change in this repository — orients the reviewer to this repository's standards (AGENTS.md conventions, decision log, gates) and the review-specific checks that code alone cannot show.
repo-decisions
Use when a change chooses among meaningful alternatives whose rationale may be revisited, or when writing, updating, reviewing, or superseding a MADR record.
repo-governance
Use when repository complexity, delivery, ownership, security, release, or incident signals change; when governance may be missing; or when adding, reviewing, deferring, or upgrading repo-seed capabilities.
Blog Outline Generator
Generates a detailed, SEO-optimized blog post outline with H2/H3 structure, key points per section, and a hook.