2.5 KiB
2.5 KiB
icon
| icon |
|---|
| lucide/brain-circuit |
Skill Contract
This page defines the canonical contract for skills in the docs-first MCP architecture.
Canonical Skill Shape
Each skill is one directory under docs/skills/:
---
config:
treeView:
rowIndent: 20
lineThickness: 2
themeVariables:
treeView:
labelColor: '#FFFFFF'
lineColor: '#FFFFFF'
---
treeView-beta
"docs/"
"... (other docs)"
"skills/"
"<skill-id>/"
"SKILL.md"
"references/"
"... (one or more markdown files, optional nested folders)"
Rules:
SKILL.mdis required for every skill.references/is the only place for skill-specific supporting docs.- Nested folders inside
references/are allowed so a skill can reorganize internals without changing global architecture. - Skill directories are independent ownership boundaries; no cross-skill file writes.
Metadata Location Constraint
SKILL.mdfrontmatter contains only standardnameanddescriptionfields.- No
metadata.yamlsidecar or repository-specific skill metadata block exists. - The provider discovers supporting files recursively; their real relative paths are published in the generated
_manifest.
Skill Id Contract
skill-id is the public identifier and should satisfy all rules below:
- Format: lowercase kebab-case only.
- Character set:
a-z,0-9, and-. - Must start with a letter.
- No underscores, spaces, dots, or uppercase characters.
- Directory name equals
skill-idin each committed revision. - Frontmatter
nameequals the directory name. - Treat
skill-idas immutable after release; any rename is a breaking replacement and clients must move to the new id.
Valid examples:
fastapi-uv-dockerzensical-docspytesting
Invalid examples:
fastapi_uv_dockerZensical-Docsdocs.zensical
Provider Publication
SkillsDirectoryProvider scans docs/skills/ with supporting_files="template" and publishes:
skill://<skill-id>/SKILL.mdskill://<skill-id>/_manifestskill://<skill-id>/{path*}for supporting files
Only the main file and manifest appear in resources/list. Clients inspect the manifest before reading supporting paths.
Direct Documentation Inclusion
- For direct API documentation, use mkdocstrings directives rather than pasting large code blocks.
- Keep manually-authored code examples short and task-focused; large implementation excerpts are out of scope for this contract.