fix: make all 165 skills load in Claude Code and Codex #106
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
| name: Validate Skills Library | |
| on: [push, pull_request] | |
| jobs: | |
| validate: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.11' | |
| - name: Install dependencies | |
| run: pip install pyyaml | |
| - name: Count skills | |
| run: | | |
| FOUND=$(find skills/ -name "SKILL.md" | wc -l | tr -d ' ') | |
| EXPECTED=$(python3 -c "import json; print(json.load(open('registry.json'))['total_skills'])") | |
| echo "Skills found: $FOUND (registry expects: $EXPECTED)" | |
| [ "$FOUND" -eq "$EXPECTED" ] || (echo "Skill count mismatch: filesystem has $FOUND, registry has $EXPECTED — run: python3 scripts/generate-registry.py" && exit 1) | |
| - name: Validate YAML frontmatter | |
| run: python3 scripts/validate-skills.py | |
| - name: Validate registry.json | |
| run: python3 scripts/validate-registry.py | |
| - name: Check registry is in sync | |
| run: | | |
| python3 scripts/generate-registry.py | |
| git diff --ignore-matching-lines='"generated"' --exit-code registry.json || (echo "registry.json is out of sync — run scripts/generate-registry.py" && exit 1) | |
| bundle-sync: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - name: Install mcp-server dependencies | |
| working-directory: mcp-server | |
| run: npm ci | |
| - name: Rebuild skills bundle | |
| working-directory: mcp-server | |
| run: npm run bundle-skills | |
| - name: Check bundle is in sync | |
| run: | | |
| git diff --exit-code mcp-server/src/skills.json || (echo "mcp-server/src/skills.json is out of sync — run: cd mcp-server && npm run bundle-skills" && exit 1) |