Files
Anthropic-Cybersecurity-Skills/tools
Mahipal 1b3f6b2286 fix: pick up contributors the cached API has not caught up with
GitHub's /contributors endpoint is heavily cached and can lag a merge by up
to a day. dakshverma23's commit from #129 was already linked to their account
- /commits reports it, and the commit API confirms the link - but they were
absent from the contributor wall because /contributors had not refreshed.

update-contributors.py now unions the two endpoints: /contributors for the
authoritative counts and ordering, /commits for anyone linked but not yet
surfaced. Commits authored with an unlinkable email still appear in neither,
which matches what GitHub's own contributor graph shows.

Wall goes from 13 to 14.
2026-08-24 13:12:25 +02:00
..

Skill Validation Tools

validate-skill.py

Validate SKILL.md metadata before submitting a PR.

Usage

# Validate a single skill
python tools/validate-skill.py skills/my-new-skill/

# Validate all skills
python tools/validate-skill.py --all

What it checks

  • SKILL.md exists in the skill directory
  • Valid YAML frontmatter (between --- markers)
  • Required fields present: name, description, domain, subdomain, tags, version, author, license
  • Name is kebab-case, 164 characters
  • Description is at least 50 characters (agentskills.io caps it at 1024; tools/validate-agentskills.py enforces that)
  • Domain is cybersecurity
  • Subdomain is from the allowed list
  • Tags is a list with at least 2 items

Requirements

Python 3.8+ and PyYAML (pip install pyyaml).

All frontmatter is parsed by skill_frontmatter.py, the single PyYAML-backed loader. It replaced three hand-rolled regex parsers that silently truncated multi-line descriptions to their first line — that bug shipped 604 of 817 descriptions broken in index.json. Do not reintroduce regex frontmatter parsing; CI fails the build if it detects any.