From Structured MADR — MIF Compliance
Authors and validates structured-MADR ADRs to project as MIF (Modeled Information Format) at configurable conformance levels. Use when writing or upgrading ADRs, fixing MIF gate failures, or explaining MIF levels.
How this skill is triggered — by the user, by Claude, or both
Slash command
/structured-madr-mif:mif-complianceThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
structured-MADR markdown stays canonical. A MIF JSON-LD object is **derived** from
structured-MADR markdown stays canonical. A MIF JSON-LD object is derived from
each ADR's frontmatter + body and validated against the level selected in
.github/config.yml (mifConformanceLevel: 1|2|3, default 2). You do not write
JSON-LD; you fill frontmatter, and the projector assembles + validates it.
@id (synthesized urn), conceptType (semantic),
content (the body), created, title. Already satisfied by a valid ADR.namespace (derived _semantic/decisions/<category>),
modified (from updated), temporal. Relationships and entities are derived and
validated only when present.provenance (from author/project) and temporal.validFrom.
Citations are extracted from body links; validated only when present.A sparse ADR (no technologies, no related) still passes every level — optional
collections are validated only when present.
| You write (frontmatter) | Becomes (MIF) |
|---|---|
title, created, updated, description, tags | title, created, modified, summary, tags |
category | namespace = _semantic/decisions/<category-slug> |
technologies: [rust, tokio] | entities[] (EntityReference, entityType Technology) |
related: [0002-foo.md] | relationships[] {type: relates-to, target: /decisions/0002-foo.md} |
x-superseded-by: 0009-new.md | relationships[] {type: supersedes, target: /decisions/0009-new.md} |
author, project | provenance (sourceType user_explicit) |
body [label](https://…) links | citations[] (L3) |
You may also author MIF-native keys directly in frontmatter (conceptType, namespace,
relationships, entities, temporal, provenance, citations, id) to override the
derivation; they are deep-validated against the MIF schema after projection.
npm run validate.npm run validate:mif
(or preview one ADR's MIF object with the /mif-project command).::error:: annotation (it names the missing/invalid MIF field),
fix the frontmatter source, re-run. To link a superseding decision, add
x-superseded-by: <file>.md and set status: superseded..github/schema/ and pinned in VENDOR.lock
(MIF develop/v1.0.0). Do not hand-edit vendored files; bump the vendor instead.structured-madr ontology in
.github/config.yml ontologies[]; the projection then stamps entity.entity_type: adr.npx claudepluginhub modeled-information-format/structured-madr --plugin structured-madr-mifGuides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
Build MCP servers with Node/TypeScript SDK — tools, resources, prompts, Zod validation, stdio vs Streamable HTTP transport.