feat: complete Day 1–5 plugin + all essential docs updated #4
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: CI — Validate Skills | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - 'skills/**' | |
| - 'schemas/**' | |
| - 'templates/**' | |
| - 'tests/**' | |
| - 'scripts/**' | |
| jobs: | |
| validate: | |
| name: Validate Skill Structure | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Validate all skills against schema | |
| run: npm run validate | |
| - name: Run skill tests | |
| run: npm test | |
| - name: Check for duplicate skill names | |
| run: node scripts/check-duplicates.js | |
| - name: Validate SKILL.md format | |
| run: node scripts/validate-skill-md.js | |
| - name: Report results | |
| if: always() | |
| run: node scripts/report.js | |
| lint-docs: | |
| name: Lint Documentation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Check for broken markdown links | |
| uses: gaurav-nelson/github-action-markdown-link-check@v1 | |
| with: | |
| use-quiet-mode: 'yes' | |
| config-file: '.github/mlc-config.json' | |
| skill-count: | |
| name: Update Skill Count Badge | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| needs: validate | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Regenerate skills index | |
| run: npm run generate-index | |
| - name: Commit updated index if changed | |
| uses: stefanzweifel/git-auto-commit-action@v5 | |
| with: | |
| commit_message: "chore: auto-update skills/index.json [skip ci]" | |
| file_pattern: "skills/index.json" |