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-schema-refinenpx skills add mdcms-ai/mdcms --skill mdcms-schema-refinegit 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-schema-refine)<a href="https://agentmods.dev/skills/mdcms-ai/mdcms/mdcms-schema-refine"><img src="https://agentmods.dev/badge/skills/mdcms-ai/mdcms/mdcms-schema-refine.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.00146 | $0.01744 |
| Opus 5 | $0.00073 | $0.00872 |
| Sonnet 5 | $0.00029 | $0.00349 |
| Haiku 4.5 | $0.00015 | $0.00174 |
Grade A, and why
mdcms-schema-refine 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 5d 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 — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MDCMS Schema Refine
Edit mdcms.config.ts to shape the content model and push the change to the server. This is the skill for post-init schema work — whether that's correcting a brownfield-inferred schema, extending a greenfield scaffold, or evolving a mature project.
When to use this skill
- After
mdcms-brownfield-initwhen the inferred schema needs corrections or additions. - After
mdcms-greenfield-initwhen the scaffoldedposttype is not enough for the real content model. - Any time the user asks to add/edit a type, add/edit a field, or link two types via a reference.
Not for importing content, embedding Studio, or editing individual documents — those are different skills.
Prerequisites
- A working
mdcms.config.tsand a reachable MDCMS server (runmdcms-brownfield-initormdcms-greenfield-initfirst if not). - The user must be logged in for the target
(server, project, environment).mdcms schema syncwrites to the server and fails with401/unauthorizedotherwise. Ifmdcms statusprints an auth error, runmdcms login(interactive) or setMDCMS_API_KEY(non-interactive) before continuing — seemdcms-content-sync-workflowStep 0 for full guidance. - Read the current config before editing so you understand the shape you're changing.
Core concepts
- Type — a content kind (e.g.
post,page,author). Declared viadefineType(name, { directory, fields, ... }). - Field — a Zod validator attached to a frontmatter key. Typical shapes:
z.string().min(1),z.number().optional(),z.boolean().default(false),z.array(z.string()),z.enum([...]). - Reference —
fieldTypes.reference("<target-type>")makes a field point to a document of another type. References are resolved by the SDK and surfaced in Studio as pickers. - Localized type —
localized: trueondefineTypemakes every document live in multiple locale variants grouped by a shared translation group id. - Environment-scoped fields —
.env("staging")chained onto a Zod validator makes a field only apply in that environment. Use sparingly.
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.
- 5d ago First seen · 170 lines · 146 tokens per session scan A 4b6fbb1851d5
mdcms-schema-refine is a skill published in the GitHub repository mdcms-ai/mdcms (22 stars, last pushed 6d ago), licensed MIT. It adds 146 tokens to every session and 1,744 once invoked, about $0.0007 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.
ui4
Manually invoked skill for reskinning Payload UI components. Requires Figma URL. Usage: /ui4.
triage-ci-flake
Use when CI tests fail on main branch after PR merge, when investigating flaky test failures, or when user provides a PR URL/number to aggregate all failing tests.