feat: add skills as namespace-level catalogue entries with external source repos#884
Open
DevelopmentCats wants to merge 15 commits into
Open
feat: add skills as namespace-level catalogue entries with external source repos#884DevelopmentCats wants to merge 15 commits into
DevelopmentCats wants to merge 15 commits into
Conversation
Add agent skills to the registry catalogue alongside modules and
templates, following the agentskills.io specification with proper
frontmatter metadata (license, version, author, tags).
- Add registry/coder/skills/coder-modules/ and
registry/coder/skills/coder-templates/ as catalogue entries,
each with SKILL.md (full spec frontmatter + body) and README.md.
- Update .agents/skills/ frontmatter to match catalogue versions.
- Update CI/CD workflows and scripts to support skills:
- deploy-registry.yaml: add skills path trigger
- release.yml: detect skills vs modules for changelog path
- version-bump.yaml: add skills path trigger
- version-bump.sh: include skills in change detection
- tag_release.sh: scan skills directories and extract version
from SKILL.md frontmatter
…urce references Skills content now lives in source repos (e.g., coder/skills) instead of being duplicated in the registry. Each namespace declares its skill source repo(s) in a single registry/<namespace>/skills/README.md with a sources field in the frontmatter. Changes: - Replace per-skill directories (coder-modules/, coder-templates/) with a single registry/coder/skills/README.md that references coder/skills - Revert .agents/skills/ frontmatter changes (those files will move to coder/skills repo) - Revert version-bump.sh and tag_release.sh skill-specific version extraction (versioning lives in source repos now) - Keep CI/CD path triggers for registry/**/skills/** so catalogue metadata changes trigger deployment The registry-server build pipeline (PR #442) will need to be updated to clone source repos declared in the README.md frontmatter and auto-discover skills from them.
The README validation tool has an allowlist of directories permitted under registry/<namespace>/. Add 'skills' to that list so the skills/README.md catalogue entry passes validation. Skills are added to supportedUserNameSpaceDirectories but not to supportedResourceTypes, so the skills directory is allowed to exist without being validated as a module or template.
The registry's separateFrontmatter() function trims indentation from each frontmatter line, which breaks nested YAML structures. Use the flat "owner/repo@ref" string format that the registry-server parses with strings.Cut.
Sources now use structured YAML objects instead of flat strings. Each skill can have its own display_name, icon, and tags. Top-level icon serves as the default for skills without overrides. Removed top-level display_name, description, and tags (per-skill only).
DevelopmentCats
commented
May 15, 2026
The install instructions duplicate what the registry UI's dropdown already provides. Replace with a table listing the available skills.
DevelopmentCats
commented
May 15, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Adds skill catalogue metadata as namespace-level registry entries and updates validation/deployment workflows so skills can participate in registry publishing.
Changes:
- Adds
registry/coder/skills/README.mdwith source repo and presentation metadata for Coder skills. - Allows
skillsdirectories in README structure validation. - Updates deployment/release/version-bump workflows to consider skills paths.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
registry/coder/skills/README.md |
Adds Coder skill catalogue metadata and visible skill listing. |
cmd/readmevalidation/repostructure.go |
Allows skills as a namespace-level directory. |
.github/workflows/version-bump.yaml |
Adds skills paths to version-bump workflow triggers. |
.github/workflows/release.yml |
Attempts to distinguish module vs skill release paths. |
.github/workflows/deploy-registry.yaml |
Triggers registry deployment for skills metadata changes. |
| types: [labeled] | ||
| paths: | ||
| - "registry/**/modules/**" | ||
| - "registry/**/skills/**" |
Comment on lines
+38
to
+39
| if [ -d "registry/$NAMESPACE/skills/$MODULE" ]; then | ||
| echo "module_path=registry/$NAMESPACE/skills/$MODULE" >> $GITHUB_OUTPUT |
Comment on lines
+23
to
+24
| | Skill | Description | | ||
| |-------|-------------| |
| ) | ||
|
|
||
| var supportedUserNameSpaceDirectories = append(supportedResourceTypes, ".images") | ||
| var supportedUserNameSpaceDirectories = append(supportedResourceTypes, ".images", "skills") |
bpmct
approved these changes
May 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds skills as a catalogue resource type in the registry. Each namespace declares its skill source repos and per-skill presentation metadata in
registry/<namespace>/skills/README.md. The registry-server build pipeline clones source repos, auto-discovers skills, and serves them with the metadata defined here.Catalogue format
The skills README uses structured YAML frontmatter with nested per-skill metadata:
icon(top-level): default icon for skills without a per-skill overridesources[].repo: GitHub repo to clone (owner/repo@ref)sources[].skills: per-skill overrides fordisplay_name,description,icon, andtagsskillsmap are still discovered with default metadatanameanddescriptionalways come from the source repo's SKILL.md unless overriddenChanges
registry/coder/skills/README.md: Coder namespace pointing tocoder/skills@mainwith per-skill metadataregistry/DevelopmentCats/skills/README.md: Test namespace pointing toDevelopmentCats/skills@main(remove before merge)registry/DevelopmentCats/README.md+.images/avatar.svg: Test namespace profile (remove before merge).github/workflows/deploy-registry.yaml: Addedregistry/**/skills/**path trigger.github/workflows/release.yml: Skill/module path detection in tag extraction.github/workflows/version-bump.yaml: Addedregistry/**/skills/**path triggercmd/readmevalidation/repostructure.go: Addedskillsto supported namespace directoriesRelated