Skip to content
oss-kit
Install

Skills live in a top-level `skills/` directory, one directory per skill

Rule
R-SKL-01
Area
Agent skills · 1 of 7
Forge scope
GitHub and GitLab
Fixed by
oss-skill

The skills CLI discovers this layout directly, and plugin packages conventionally expose the same directory. Keeping one canonical tree avoids copies drifting while host-specific paths can point to it through manifests or symlinks.

Observable check

a skills/ directory exists at the repository root, every skill is a direct child of it and holds a SKILL.md, and no other SKILL.md exists in the repository. Resolve a symlinked directory such as .claude/skills to its target before applying the check, so a committed symlink pointing at skills/ does not read as a second copy.

Where this comes from

Last read against these sources on 2026-07-28.

The spec defines a skill as a directory holding SKILL.md. The top-level skills/ directory is the skills CLI's discovery layout, not the spec's, and that half has no source named.

Read the whole standard