diff --git a/.github/workflows/deploy-registry.yaml b/.github/workflows/deploy-registry.yaml index eb61353aa..eb54665c1 100644 --- a/.github/workflows/deploy-registry.yaml +++ b/.github/workflows/deploy-registry.yaml @@ -9,11 +9,12 @@ on: # Matches release/// # (e.g., "release/whizus/exoscale-zone/v1.0.13") - "release/*/*/v*.*.*" - branches: # Templates get released when merged to main + branches: # Templates and skills get released when merged to main - main paths: - ".github/workflows/deploy-registry.yaml" - "registry/**/templates/**" + - "registry/**/skills/**" - "registry/**/README.md" - ".icons/**" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 88feea8dd..9a76842ce 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,13 @@ jobs: echo "namespace=$NAMESPACE" >> $GITHUB_OUTPUT echo "module=$MODULE" >> $GITHUB_OUTPUT echo "version=$VERSION" >> $GITHUB_OUTPUT - echo "module_path=registry/$NAMESPACE/modules/$MODULE" >> $GITHUB_OUTPUT + + # Determine whether this tag is for a module or a skill. + if [ -d "registry/$NAMESPACE/skills/$MODULE" ]; then + echo "module_path=registry/$NAMESPACE/skills/$MODULE" >> $GITHUB_OUTPUT + else + echo "module_path=registry/$NAMESPACE/modules/$MODULE" >> $GITHUB_OUTPUT + fi RELEASE_TITLE="$NAMESPACE/$MODULE $VERSION" echo "release_title=$RELEASE_TITLE" >> $GITHUB_OUTPUT diff --git a/.github/workflows/version-bump.yaml b/.github/workflows/version-bump.yaml index 5df8b4354..9b8bc6620 100644 --- a/.github/workflows/version-bump.yaml +++ b/.github/workflows/version-bump.yaml @@ -5,6 +5,7 @@ on: types: [labeled] paths: - "registry/**/modules/**" + - "registry/**/skills/**" concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/cmd/readmevalidation/repostructure.go b/cmd/readmevalidation/repostructure.go index c77c723b6..984218869 100644 --- a/cmd/readmevalidation/repostructure.go +++ b/cmd/readmevalidation/repostructure.go @@ -11,7 +11,7 @@ import ( "golang.org/x/xerrors" ) -var supportedUserNameSpaceDirectories = append(supportedResourceTypes, ".images") +var supportedUserNameSpaceDirectories = append(supportedResourceTypes, ".images", "skills") // validNameRe validates that names contain only alphanumeric characters and hyphens var validNameRe = regexp.MustCompile(`^[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$`) diff --git a/registry/DevelopmentCats/.images/avatar.svg b/registry/DevelopmentCats/.images/avatar.svg new file mode 100644 index 000000000..5db19df6b --- /dev/null +++ b/registry/DevelopmentCats/.images/avatar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/registry/DevelopmentCats/README.md b/registry/DevelopmentCats/README.md new file mode 100644 index 000000000..4c7147c7a --- /dev/null +++ b/registry/DevelopmentCats/README.md @@ -0,0 +1,6 @@ +--- +display_name: DevCats +bio: Test namespace for skills registry integration +avatar: ./.images/avatar.svg +status: community +--- diff --git a/registry/DevelopmentCats/skills/README.md b/registry/DevelopmentCats/skills/README.md new file mode 100644 index 000000000..97c4f2c4b --- /dev/null +++ b/registry/DevelopmentCats/skills/README.md @@ -0,0 +1,19 @@ +--- +icon: ../../../.icons/coder.svg +sources: + - repo: DevelopmentCats/skills@main + skills: + code-review: + display_name: Code Review + icon: ../../../.icons/claude.svg + tags: [code-review, quality] + git-workflow: + display_name: Git Workflow + icon: ../../../.icons/docker.svg + tags: [git, workflow] +--- + +# DevCats Skills + +Test skills from [DevelopmentCats/skills](https://github.com/DevelopmentCats/skills) +for validating the registry's external source repo support. diff --git a/registry/coder/skills/README.md b/registry/coder/skills/README.md new file mode 100644 index 000000000..fce045331 --- /dev/null +++ b/registry/coder/skills/README.md @@ -0,0 +1,42 @@ +--- +icon: ../../../.icons/coder.svg +sources: + - repo: coder/skills@main + skills: + setup: + display_name: Setup & Configuration + icon: ../../../.icons/coder.svg + tags: [coder, deployment, configuration] +--- + +# Coder Skills + +Agent skills maintained by [Coder](https://coder.com) for installing, +configuring, and developing with the Coder platform. + +Skills are sourced from [coder/skills](https://github.com/coder/skills) +and served through the registry's API, MCP tools, and +[well-known discovery endpoint](https://agentskills.io/specification). + +## Install + +Install directly from the source repo: + +```bash +# Install a specific skill +npx skills add coder/skills@setup + +# Install all Coder skills +npx skills add coder/skills +``` + +Or install from the registry: + +```bash +npx skills add https://registry.coder.com +``` + +## Available Skills + +Skills are discovered automatically from the source repo at build time. +Browse the full list at [registry.coder.com/skills](https://registry.coder.com/skills).