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 agentmods add skills/mdcms-ai/mdcms/mdcms-content-editingnpx skills add mdcms-ai/mdcms --skill mdcms-content-editinggit clone --depth 1 https://github.com/mdcms-ai/mdcmsWrote 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/mdcms-ai/mdcms/mdcms-content-editing)<a href="https://agentmods.dev/skills/mdcms-ai/mdcms/mdcms-content-editing"><img src="https://agentmods.dev/badge/skills/mdcms-ai/mdcms/mdcms-content-editing.svg" alt="Measured on agentmods" 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 | $0.00177 | $0.02512 |
| Opus 5 | $0.00088 | $0.01256 |
| Sonnet 5 | $0.00035 | $0.00502 |
| Haiku 4.5 | $0.00018 | $0.00251 |
Grade A, and why
mdcms-content-editing 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 4d 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.
How it starts
The opening of the file, as written. The whole thing — 166 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MDCMS Content Editing
Make actual edits to MDCMS-managed Markdown/MDX documents — body, frontmatter, locales, new docs, bulk changes — and get them validated and pushed to the server. Assumes init has run and there's a working mdcms.config.ts.
When to use this skill
Use whenever the change is to a document:
- Edit body or frontmatter of an existing post/page.
- Add a new document of an existing type.
- Translate an existing document to a new locale.
- Bulk-rename, bulk-replace, or bulk-tag documents with shell tools.
- Fix validation errors that surface during
mdcms push.
Don't use for: adding a new content type or field (use mdcms-schema-refine), pull/push/CI mechanics or auth errors (use mdcms-content-sync-workflow), registering MDX components (use mdcms-mdx-components).
Prerequisites
mdcms.config.tsexists and the schema is in sync. If unsure, runnpx mdcms statusand resolve any drift first.- The user is logged in for the target
(server, project, environment). Ifmdcms statusreports401/unauthorized/"Not logged in", route tomdcms-content-sync-workflowStep 0 (login preflight) before continuing. - Pull a fresh copy before editing:
npx mdcms pull. This avoids overwriting newer Studio edits.
Local vs Studio — pick the right surface
Editors and developers can both reach content. Pick based on the change:
| Change | Best surface | Why |
|---|---|---|
| Multi-line body edit, new component usage, bulk find/replace | Local files + push | Real diff, IDE autocompletion, grep/sed. |
| Single field tweak, image swap, publish toggle | Studio | Faster, no pull/push round-trip, lower error surface. |
| New translation of an existing doc | Local files + push | Frontmatter consistency across locales is easier to enforce in an editor. |
| Author wants to author end-to-end (no IDE) | Studio | Don't push them through CLI tooling. |
| Validation errors blocking push | Local files | Errors print with file paths the user can jump to. |
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.
- 4d ago First seen · 166 lines · 177 tokens per session scan A 495111c39e29
mdcms-content-editing is a skill published in the GitHub repository mdcms-ai/mdcms (22 stars, last pushed 5d ago), licensed MIT. It adds 177 tokens to every session and 2,512 once invoked, about $0.0009 per session on Opus 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-30.
Other skills, from other repositories
migrate-internal-package
Move a package from another TryGhost repository into Ghost as an internal-only workspace package while preserving its Git history. Use for package migrations from repositories such as TryGhost/SDK or TryGhost/framework, including the history import PR, exceptional merge-commit handoff, source-repository removal PR…
Shade tokens, not hex
Use Shade semantic tokens (bg-background, text-foreground, border-border-default, bg-surface-elevated) — never hex, hsl(), or bg-gray-200-style raw palette utilities for UI chrome. Trigger when editing TSX/CSS in Shade-consuming apps.
Shade dropdown surface contract
DropdownMenu, Select, and Popover share one visual recipe (bg-surface-elevated-2 + border-border/60 dark:border-border/30 + shadow-md). Change them together. Trigger when editing any of those three Shade files.
Shade new component
Acceptance checklist for adding or editing a Shade component or pattern file — naming, sibling story, className forwarding, cva variants, required states, recipe usage. Trigger when editing files in apps/shade/src/components.
Shade use primitives
Replace bare divs that only carry flex/grid/gap utilities with Shade primitives (Stack, Inline, Box, Grid, Container, Text). Use semantic gap="md" instead of gap-4. Trigger when editing TSX in Shade-consuming apps.
ui4
Manually invoked skill for reskinning Payload UI components. Requires Figma URL. Usage: /ui4.