Skip to content

Commit b45cdf8

Browse files
authored
ci: add skills-ref lint step for SKILL.md validation (#626)
1 parent 6a45832 commit b45cdf8

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ jobs:
3636
outputs:
3737
rust: ${{ steps.filter.outputs.rust }}
3838
nix: ${{ steps.filter.outputs.nix }}
39+
skills: ${{ steps.filter.outputs.skills }}
3940
steps:
4041
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
4142
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3
@@ -52,6 +53,8 @@ jobs:
5253
nix:
5354
- 'flake.nix'
5455
- 'flake.lock'
56+
skills:
57+
- 'skills/**'
5558
5659
test:
5760
name: Test
@@ -190,6 +193,27 @@ jobs:
190193
echo "::warning::Skills are out of date — the hourly auto-sync PR will fix this automatically."
191194
fi
192195
196+
lint-skills:
197+
name: Lint Skills
198+
needs: changes
199+
if: needs.changes.outputs.skills == 'true' || github.event_name == 'push'
200+
runs-on: ubuntu-latest
201+
steps:
202+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
203+
204+
- name: Validate skills
205+
run: |
206+
failed=0
207+
for skill_dir in skills/*/; do
208+
if ! uvx --from skills-ref@0.1.1 agentskills validate "$skill_dir"; then
209+
failed=1
210+
fi
211+
done
212+
if [ "$failed" -ne 0 ]; then
213+
echo "::error::One or more skills failed validation."
214+
exit 1
215+
fi
216+
193217
build-linux:
194218
name: Build (Linux x86_64)
195219
needs: changes

0 commit comments

Comments
 (0)