markdown-frontmatter

Generate and validate YAML frontmatter for managed Markdown documents against a schema-enforced standard.

Updated Jun 2, 2026
One-click install
npx skills add https://github.com/L3DigitalNet/project-standards --skill markdown-frontmatter-l3digitalnet
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: markdown-frontmatter
Source: https://github.com/L3DigitalNet/project-standards/tree/main/.agents/skills/markdown-frontmatter
Command: npx skills add https://github.com/L3DigitalNet/project-standards --skill markdown-frontmatter-l3digitalnet

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Managed Markdown documents require a strict YAML frontmatter block with eleven required fields, controlled values, canonical key order, and a machine-validated id format. Hand-authoring this block produces quoting errors, invalid doc_type values, and low-entropy id tokens that fail CI validation. ## Core Features & Use Cases - Deterministic id generation: The bundled new-doc-id script mints {doc_type}-{base36-6}-{slug} ids using /dev/urandom entropy, avoiding collision-prone LLM-invented tokens. - Frontmatter scaffolding: --scaffold emits the full eleven-field canonical block with correctly quoted dates and empty lists, ready to fill in. - Validation guidance: Covers the rules that actually fail project-standards validate, validate-id, and format-frontmatter --check, plus a table of common mistakes and fixes. - Use Case: When creating a new runbook under docs/, run the scaffold command to get a compliant frontmatter block, then confirm the repository passes project-standards validate before committing. ## Quick Start Ask the agent to create a new runbook document named restart-netbox-after-config-change with standard-compliant frontmatter using the new-doc-id scaffold script.

Frequently Asked Questions about markdown-frontmatter

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate a valid frontmatter id for a new Markdown document?▼

Run the new-doc-id script with --scaffold and --doc-type to emit a full canonical frontmatter block, or without --scaffold for a bare id. The id format is {doc_type}-{base36-6}-{slug}, with the random token drawn from /dev/urandom.

What fields are required in markdown frontmatter under this standard?▼

Eleven fields are required in canonical order: schema_version, id, title, description, doc_type, status, created, updated, tags, aliases, and related. All strings and dates must be quoted, and empty lists must be written as [].

Why does frontmatter validation fail on my Markdown file?▼

Common causes are unquoted dates, using type instead of doc_type, unknown top-level keys, wrong key order, or an id whose prefix is not a valid doc_type. Run project-standards validate and format-frontmatter --check to identify the exact failure.

Can I add frontmatter to CLAUDE.md or files under .agents?▼

No. Agent-instruction and agent-skill files such as CLAUDE.md, AGENTS.md, and anything under .claude/, .agents/, or .codex/ must never carry managed frontmatter. Exclude those paths via the package's exclude option in .standards/config.toml.

How are ADR document ids different from standard frontmatter ids?▼

ADRs use the form adr-{NNNN}-{repo-name}-{title}, for example adr-0001-homelab-use-postgresql-for-persistent-storage. The new-doc-id script refuses ADR generation and exits with an error for --doc-type adr.