Validation Toolchain
Workflow Skill Router includes a dependency-free validation toolchain. Use it before publishing a router repo, release, or public router package.
1. Validate router structure
Section titled “1. Validate router structure”python scripts/validate-router.py starter/workflow-skill-routerpython scripts/validate-router.py examples/template-skill-catalogExpected:
OK: workflow-skill-router passed validationOK: template-skill-catalog passed validationThis checks SKILL.md, required reference files, route Primary: markers, max skill count, example README files, and placeholder policy.
2. Audit public readiness
Section titled “2. Audit public readiness”python scripts/audit-public-readiness.py .Expected:
OK: public-readiness audit passedThe audit checks community files, downloads, template catalog/manifest parity, site entrypoints, stale examples, mojibake, replacement characters, and hidden edit-link UI text.
The legacy validator flag remains available:
python scripts/validate-router.py --public-readiness .3. Scan the skill catalog
Section titled “3. Scan the skill catalog”python scripts/scan-skills.py ./sample-skills \ --out /tmp/skill-index.json \ --markdown /tmp/skill-index.md \ --warnings /tmp/skill-warnings.md \ --suggest-tree /tmp/suggested-skill-tree.md \ --fail-on-private \ --fail-on-duplicatesUse --fail-on-private and --fail-on-duplicates for release gates. The scanner writes a machine-readable index, Markdown summary, warnings report, and suggested skill tree.
4. Evaluate routing quality
Section titled “4. Evaluate routing quality”python scripts/evaluate-routing.py \ --scenarios evaluation/scenarios.example.jsonl \ --predictions evaluation/predictions.example.jsonl \ --report /tmp/routing-report.md \ --json-report /tmp/routing-report.json \ --fail-on-violations \ --strictAdd --strict when primary mismatches or missing expected supporting skills should fail CI.
5. Run unit tests
Section titled “5. Run unit tests”python -m unittest discover -s testsThe test suite covers the evaluator and scanner with standard-library unittest.
Lighthouse / Accessibility audit
Section titled “Lighthouse / Accessibility audit”Use this before a public launch to score the generated Starlight site:
cd sitenpm run audit:lighthouseExpected:
OK: Lighthouse audit passed. Reports written to lighthouse-reportsThe audit builds the site, serves site/dist locally, runs Lighthouse on key English and Traditional Chinese pages, and writes JSON/HTML reports to site/lighthouse-reports/.
Public URL / HTTPS smoke test
Section titled “Public URL / HTTPS smoke test”The public site intentionally uses the project path https://huangchiyu.com/Workflow-skill-router/. Do not add a repo-level CNAME file unless the project moves to a dedicated custom domain.
GitHub Pages API can still report cname=null or https_enforced=false for this setup. The publishing gate is live visitor behavior:
curl -fsS --head https://huangchiyu.com/Workflow-skill-router/curl -fsS -I -L http://huangchiyu.com/Workflow-skill-router/Expected: HTTPS returns 200, and HTTP resolves to the HTTPS project path.