feat: extreme-color CI robustness, ready-made agent rule files, READM… #6
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 Skill | |
| # Runs whenever the skill definition or its engine changes, plus on PRs and | |
| # manual dispatch. Cheap (Python stdlib only, ~15s). | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - 'SKILL.md' | |
| - 'INSTRUCTIONS.md' | |
| - 'scripts/**' | |
| - 'agents/**' | |
| - '.github/workflows/validate.yml' | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| jobs: | |
| validate: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Validate SKILL.md frontmatter | |
| # Equivalent to WorkBuddy's `package_skill.py` validation: | |
| # required fields, hyphen-case name, no angle brackets in description. | |
| run: python scripts/validate_skill.py . | |
| - name: Generator smoke + robustness tests | |
| # Same script contributors run locally, so "passes CI" == "passes | |
| # scripts/smoke_test.py". Covers: cool/warm/balanced brands produce | |
| # non-empty tokens.css + preview.html; every --color-* value is valid | |
| # hex; semantic sanity (guards the HSL->RGB regression where a blue | |
| # brand emitted a blue "error"); extreme/degenerate brands | |
| # (black/white/gray/short/lowercase) don't crash; invalid input is | |
| # rejected with a non-zero exit code. | |
| run: python scripts/smoke_test.py | |
| - name: Summary | |
| if: always() | |
| run: echo "Validation complete — frontmatter + generator smoke + extreme-color robustness + semantic sanity." |