claude-skills/.github
Alireza Rezvani f7bb1f86bc
chore(ci): block "./skills" regression — validator + CI gate (#686 follow-up) (#690)
Issue #686 was the second round of the same Claude Code path-validator
tightening: v2.1.107 rejected bare "./" (fixed in #539 by moving to
"./skills"), then v2.1.133 also rejected "./skills". The validator that
codified the #539 fix was still recommending "./skills" verbatim — so a
future round 3 would have hit the same trap.

This commit makes the validator catch the regression and runs it in CI:

- scripts/check_plugin_json.py
  - Reject any "skills" string starting with "./" (catches both
    "./skills" and "./skills/sub" patterns)
  - Update docstring + error message to point at the layout-correct
    forms instead of the now-broken "./skills"
  - Recognize "source" and "attribution" as approved extension fields
    (already documented in CLAUDE.md but not in the validator), so the
    21 pre-existing false-positives go away and CI can run blocking
  - Drop the "./" rejection inside arrays — CLAUDE.md says ["./"] is
    the correct single-skill-at-root form

- .github/workflows/ci-quality-gate.yml
  - Add blocking "Validate plugin.json manifests" step that runs the
    validator on every PR

- CLAUDE.md
  - Add an Enforcement note pointing at the validator and the lockstep
    rule: when CC tightens its path validator again, update validator
    rules and CLAUDE.md together

Verified: 69/69 manifests pass; 6-case smoke test confirms validator
rejects all three known-broken forms ("./skills", "./", "./skills/sub")
and accepts all three documented-valid forms ("skills", ["./"],
explicit array).

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-19 05:54:56 +02:00
..
ISSUE_TEMPLATE feat: add complete GitHub repository pages and MIT License for open source 2025-10-28 12:04:00 +01:00
workflows chore(ci): block "./skills" regression — validator + CI gate (#686 follow-up) (#690) 2026-05-19 05:54:56 +02:00
AUTOMATION_SETUP.md feat(ci): implement comprehensive GitHub automation workflows 2025-11-04 21:03:52 +01:00
AUTOMATION_TEST.md test: add automation validation test file 2025-11-04 21:29:52 +01:00
branch-protection-config.json feat(ci): implement comprehensive GitHub automation workflows 2025-11-04 21:03:52 +01:00
commit-template.txt feat(ci): implement comprehensive GitHub automation workflows 2025-11-04 21:03:52 +01:00
FUNDING.yml Set Buy Me a Coffee username (#21) 2025-11-06 17:47:06 +01:00
PULL_REQUEST_TEMPLATE.md ci: enforce dev as PR target, add PR template 2026-03-10 13:56:49 +01:00
WORKFLOW_KILLSWITCH feat(ci): implement comprehensive GitHub automation workflows 2025-11-04 21:03:52 +01:00