mirror of
https://github.com/mukul975/Anthropic-Cybersecurity-Skills.git
synced 2026-07-11 10:03:42 +03:00
fix: add error handling for IOError/UnicodeDecodeError + sync ALLOWED_SUBDOMAINS
- Wrap open() call in try/except for IOError and UnicodeDecodeError to report clean errors instead of crashing on encoding issues - Add all subdomains actually used by existing skills in the repo: identity-access-management (33 skills), security-operations (28), identity-and-access-management, zero-trust, ot-security, purple-team, red-team, ai-security, social-engineering-defense, and others - Remove identity-security as the canonical form is identity-access-management
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Skill Validation Tools
|
||||
|
||||
## validate-skill.py
|
||||
|
||||
Validate SKILL.md metadata before submitting a PR.
|
||||
|
||||
### Usage
|
||||
|
||||
```bash
|
||||
# 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`
|
||||
- Name is kebab-case, 1–64 characters
|
||||
- Description is 20–500 characters
|
||||
- Domain is `cybersecurity`
|
||||
- Subdomain is from the allowed list
|
||||
- Tags is a list with at least 2 items
|
||||
|
||||
### Requirements
|
||||
|
||||
Python 3.8+ (stdlib only, no external dependencies)
|
||||
Reference in New Issue
Block a user