mif-compliance
Validates architecture decision records to ensure they meet MIF (Modeled Information Format) requirements.
Install
mkdir -p .claude/skills/mif-compliance && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15960" && unzip -o skill.zip -d .claude/skills/mif-compliance && rm skill.zipInstalls to .claude/skills/mif-compliance
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Author and validate structured-MADR ADRs so they project clean as MIF (Modeled Information Format) at the configured conformance level. Use when writing or upgrading an ADR, when a MIF gate fails, when asked to make an ADR MIF-compliant, or to explain the MIF level model for ADRs.Key capabilities
- →Derive a MIF JSON-LD object from ADR frontmatter and body
- →Validate the derived MIF object against a configured conformance level
- →Map frontmatter fields like `title`, `created`, `updated` to MIF properties
- →Extract relationships from `related` and `x-superseded-by` fields
- →Extract citations from body links for Level 3 conformance
- →Provide error annotations for missing or invalid MIF fields
How it works
This skill derives a MIF JSON-LD object from an ADR's frontmatter and body, then validates it against a configured conformance level, providing error feedback for non-compliance.
Inputs & outputs
When to use mif-compliance
- →Upgrade ADR to MIF compliance
- →Validate ADR architecture decisions
- →Check MIF gate conformance
- →Explain decision model levels
About this skill
MIF Compliance for structured-MADR ADRs
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.
What each level requires (content-dependent)
- Level 1 (core): every ADR —
@id(synthesized urn),conceptType(semantic),content(the body),created,title. Already satisfied by a valid ADR. - Level 2 (standard, default): adds
namespace(derived_semantic/decisions/<category>),modified(fromupdated),temporal. Relationships and entities are derived and validated only when present. - Level 3 (full): adds
provenance(from author/project) andtemporal.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.
How frontmatter maps to MIF
| 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.
Make an ADR conform
- Confirm the ADR passes the MADR validator:
npm run validate. - Project + validate as MIF at the configured level:
npm run validate:mif(or preview one ADR's MIF object with the/mif-projectcommand). - If it fails: read the
::error::annotation (it names the missing/invalid MIF field), fix the frontmatter source, re-run. To link a superseding decision, addx-superseded-by: <file>.mdand setstatus: superseded.
Notes
- The MIF schemas are vendored under
.github/schema/and pinned inVENDOR.lock(MIFdevelop/v1.0.0). Do not hand-edit vendored files; bump the vendor instead. - To type ADRs as MIF entities, enable the
structured-madrontology in.github/config.ymlontologies[]; the projection then stampsentity.entity_type: adr.
When not to use it
- →When the user wants to hand-edit vendored MIF schemas
- →When the user wants to write JSON-LD directly
Prerequisites
Limitations
- →MIF schemas are vendored and should not be hand-edited
- →Optional collections are validated only when present
- →The default conformance level is 2
How it compares
This skill automates the projection and validation of structured-MADR ADRs into MIF JSON-LD, ensuring conformance without requiring manual JSON-LD authoring, unlike a manual conversion process.
Compared to similar skills
mif-compliance side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| mif-compliance (this skill) | 0 | 1mo | No flags | Intermediate |
| deepwiki-rs | 25 | 9mo | Review | Intermediate |
| repo-research-analyst | 1 | 6mo | Review | Intermediate |
| c4-component | 1 | 4mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
deepwiki-rs
sopaco
AI-powered Rust documentation generation engine for comprehensive codebase analysis, C4 architecture diagrams, and automated technical documentation. Use when Claude needs to analyze source code, understand software architecture, generate technical specs, or create professional documentation from any programming language.
repo-research-analyst
parcadei
Analyze repository structure, patterns, conventions, and documentation for understanding a new codebase
c4-component
sickn33
Expert C4 Component-level documentation specialist. Synthesizes C4 Code-level documentation into Component-level architecture, defining component boundaries, interfaces, and relationships. Creates component diagrams and documentation. Use when synthesizing code-level documentation into logical components.
agent-pseudocode
ruvnet
Agent skill for pseudocode - invoke with $agent-pseudocode
spec
matteocervelli
>
cs-arch
wildlily1021
维护 `codestable/architecture/` 这份只记现状的系统地图,三种模式 update / check / backfill。触发:用户说"刷新 architecture"、"做架构检查"、"补这个模块的架构文档"、"方案和代码对得上吗",或 feature 阶段需要先做架构动作。不写未来规划(走 cs-roadmap)。