Registry Structure
Registry repositories must follow a specific directory and file structure. Kenji validates this structure when you run kenji registry add. Repositories that don't match this layout will be rejected.
text
your-registry-repo/
skills/
<namespace>/
<skill-name>.json
stacks/
<namespace>/
<stack-name>.jsonWhat is the namespace?
The namespace is a folder name under skills/ or stacks/. It is not validated against GitHub usernames — it can be any alphanumeric string. However, by convention, it should match the GitHub username of the skill's author, since it becomes the prefix shown in search results (e.g. kenji/react-debug, anthropics/prompt-engineering).
Using a recognizable namespace makes it easier for users to understand where a skill comes from and makes search results more meaningful.
Validation on submission
When you submit a registry with kenji registry add, Kenji checks that:
- The GitHub repository exists and is public
- A
skills/orstacks/directory is present - At least one valid JSON file exists with the required fields
Note
Only the
skills/ and stacks/ top-level folders are recognized. Any other directory structure will not be indexed.Rules
- Each skill or stack is a single
.jsonfile - Files must be in
skills/<namespace>/orstacks/<namespace>/ - Deeper nesting is not supported
- The repository must not contain the actual skill Markdown files — those live in the repo specified by the
repofield of each JSON entry