API and generation
api, snippets, mcp, skill and capabilityIdentity.
Five optional blocks configure OpenAPI-derived output. Only api and snippets affect
the rendered site — the other three configure generators you invoke explicitly.
api.specsRecord<string, path>requiredNamed OpenAPI specs, by local file path. api’s only permitted key, and it must
declare at least one entry.
{ "api": { "specs": { "ingestion": "openapi/ingestion.yaml" } } }Spec names match ^[A-Za-z0-9_-]+$ and must be unique case-insensitively: each name
becomes an openapi/<name><ext> output path, and two names differing only in case would
collide unpredictably on macOS or Windows.
Reference a spec from navigation with an { "api": true, "spec": "ingestion" } entry —
see Navigation.
snippets
Section titled “snippets”snippets.languagesstring[]default: all fiveWhich HTTP snippet languages render on generated API pages. Choose from curl,
fetch, python-requests, python-httpx, go-nethttp.
snippets.defaultstringdefault: curlWhich language starts selected. Must be a member of languages when both are set.
Snippets are derived from the spec and injected into a derived copy — your spec file
on disk is never modified. Author-written x-codeSamples always win and are never
overwritten.
Keyed by spec name. Every key must name a declared api.specs entry.
mcp.<spec>.outputpathrequiredWhere the generated MCP server source tree is written, inside your repository.
mcp.<spec>.namestringPackage name for the generated server. Must satisfy npm’s package-name grammar — lowercase, optionally scoped.
mcp.<spec>.versionstringA valid SemVer 2.0.0 version, e.g. "1.4.0".
mcp.<spec>.baseUrlstringAbsolute URL with a scheme, e.g. "https://api.example.com".
Keyed by spec name, same rule.
skill.<spec>.outputpathrequiredWhere the generated Skill pack is written.
skill.<spec>.namestringPack name, 1–64 characters, matching ^[a-z0-9]+(-[a-z0-9]+)*$ — the Agent Skills
format’s own constraint.
skill.<spec>.conceptsstring[]Page references bundled verbatim into the pack. Duplicates within the array are a schema error; whether each reference resolves to real content is checked later, against your actual content directory.
capabilityIdentity
Section titled “capabilityIdentity”Keyed by spec name.
capabilityIdentity.<spec>.methodOverridesRecord<string, string>Renames derived capability methods.
These never change the site
Section titled “These never change the site”mcp, skill and capabilityIdentity are generation-only. They affect what
reed mcp generate and reed skill generate write, and nothing about the rendered
documentation. A project can configure them and never notice a visual difference.