Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .agents/skills/coder-modules/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
---
name: coder-modules
description: Creates and updates Coder Registry modules with proper scaffolding, Terraform testing, README frontmatter, and version management
license: Apache-2.0
version: "1.0.0"
author: coder
tags: terraform, coder, modules, registry, integrations
---

# Coder Modules
Expand Down
4 changes: 4 additions & 0 deletions .agents/skills/coder-templates/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
---
name: coder-templates
description: Creates and updates Coder Registry workspace templates with agent setup, infrastructure provisioning, and module consumption
license: Apache-2.0
version: "1.0.0"
author: coder
tags: terraform, coder, templates, registry, infrastructure
---

# Coder Templates
Expand Down
6 changes: 3 additions & 3 deletions .github/scripts/version-bump.sh
Original file line number Diff line number Diff line change
Expand Up @@ -141,15 +141,15 @@ main() {
;;
esac

echo "🔍 Detecting modified modules..."
echo "🔍 Detecting modified modules and skills..."

local changed_files
changed_files=$(git diff --name-only "${base_ref}"...HEAD)
local modules
modules=$(echo "$changed_files" | grep -E '^registry/[^/]+/modules/[^/]+/' | cut -d'/' -f1-4 | sort -u)
modules=$(echo "$changed_files" | grep -E '^registry/[^/]+/(modules|skills)/[^/]+/' | cut -d'/' -f1-4 | sort -u)

if [ -z "$modules" ]; then
echo "❌ No modules detected in changes"
echo "❌ No modules or skills detected in changes"
exit 1
fi

Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/deploy-registry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@ on:
# Matches release/<namespace>/<resource_name>/<semantic_version>
# (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/**"

Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/version-bump.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
types: [labeled]
paths:
- "registry/**/modules/**"
- "registry/**/skills/**"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down
40 changes: 40 additions & 0 deletions registry/coder/skills/coder-modules/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
display_name: Coder Modules Skill
description: Agent skill for creating and updating Coder Registry modules
icon: ../../../../.icons/coder.svg
tags: [skill, modules, terraform]
---

# Coder Modules Skill

An [Agent Skill](https://agentskills.io) for creating and updating Coder Registry modules with proper scaffolding, Terraform testing, README frontmatter, and version management.

## Install

Install via the [skills CLI](https://github.com/vercel-labs/skills):

```bash
npx skills add https://registry.coder.com
```

Or add directly to your agent's skills directory:

```bash
npx skills add https://registry.coder.com --name coder-modules
```

## What This Skill Covers

- Scaffolding new modules with `new_module.sh`
- Terraform resource patterns (`coder_app`, `coder_script`, `coder_env`, etc.)
- README frontmatter and content conventions
- Testing with `.tftest.hcl` and `main.test.ts`
- Script organization patterns (root `run.sh`, `scripts/` directory, inline)
- Icon handling and version management
- Variable conventions and module composition

## Links

- [Coder Registry](https://registry.coder.com)
- [Agent Skills Specification](https://agentskills.io/specification)
- [Coder Registry Contributing Guide](https://github.com/coder/registry/blob/main/CONTRIBUTING.md)
Loading
Loading