Skip to content

v1.4.1: guarantee on-brand WCAG AA + test all output formats + refres… #10

v1.4.1: guarantee on-brand WCAG AA + test all output formats + refres…

v1.4.1: guarantee on-brand WCAG AA + test all output formats + refres… #10

Workflow file for this run

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 + golden + contrast 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"); 9 frozen golden token values for
# #2563EB plus WCAG AA contrast assertions on text/surface, dark text/bg
# and on-brand; extreme/degenerate brands (black/white/gray/short/
# lowercase) don't crash; invalid input is rejected with a non-zero exit.
run: python scripts/smoke_test.py
- name: Summary
if: always()
run: echo "Validation complete — frontmatter + generator smoke + extreme-color robustness + semantic sanity."