odsf
Open Design System Format (ODSF)
ODSF packages a design system as a self-contained bundle an AI agent can read, navigate, and apply to a task, with no SDK, no platform, and no lock-in. It is a strict profile of Open Knowledge Format v0.2: everything OKF says about bundles, concepts, frontmatter, links, index.md, log.md, and versioning holds unchanged, including the v0.2 provenance and trust layer (sources, generated, verified, status, stale_after, and the actor convention). A design system is exactly the kind of knowledge that layer was added for, since "is this token still the brand's" and "has a human signed off on this component spec" are the questions an agent building UI from a bundle most needs answered. On top of that container ODSF adds three things: a token model (machine-readable design tokens, design.md's seed), companion HTML/CSS assets so a concept ships a concrete self-rendering example plus a wireframe of the same markup with the skin stripped, and a design type vocabulary so foundations, components, patterns, behaviors, and guidelines are first-class. The goal is a bundle you hand to an agent ("build this screen, adhere to this design system") that produces work that looks and behaves the way the system intends.
Use this skill two ways. Run a command on demand, or apply it implicitly whenever you shape design knowledge an agent will build from. The normative spec lives in spec.md; per-command steps in commands.md; copy-paste starting points in templates.md.
The two rules
A bundle is a conformant ODSF bundle when both hold: it is a conformant OKF bundle (every non-reserved .md concept opens with YAML frontmatter carrying a non-empty type), and the bundle-root index.md declares odsf_version in its frontmatter. That is the whole hard requirement: be a valid OKF bundle, and say you are an ODSF one. Everything else (the token model, the asset conventions, the type vocabulary, the body sections) is recommended structure a producer SHOULD follow and a consumer MUST tolerate the absence of. An OKF-only consumer reads an ODSF bundle and loses only the design niceties. Full conformance and the consumer contract are in spec.md.
Commands
Invoke as /odsf <command> [target]. Each is detailed in commands.md.