Skip to content
Back to skills

Skill Validator

ASecurity

Validate skills against best practices for YAML frontmatter, structure, content standards, file organization, and security. Use when creating new skills, updating existing skills, before packaging skills, reviewing skill quality, or when user mentions "validate skill", "check skill", "skill best practices", "skill review", or "lint skill".

  • 21 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 8, 2026
toolsgobashsecuritydocumentation

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add joaquimscosta/arkhe-claude-plugins --skill skill-validator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Skill Validator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Skill Validator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/joaquimscosta-skill-validator/badge)](https://www.skillsdirectory.com/skills/joaquimscosta-skill-validator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: skill-validator
description: Validate skills against best practices for YAML frontmatter, structure, content standards, file organization, and security. Use when creating new skills, updating existing skills, before packaging skills, reviewing skill quality, or when user mentions "validate skill", "check skill", "skill best practices", "skill review", or "lint skill".
argument-hint: [skill-path]
---

# Skill Validator

Validate skills against Anthropic's best practices for structure, content, and security.

## Quick Start

```bash
scripts/validate_skill.py /path/to/skill-directory
```

With severity filter:

```bash
scripts/validate_skill.py /path/to/skill --min-severity warning
```

## Validation Categories

| Category | Rules | Checks |
|----------|-------|--------|
| **Frontmatter** | FM001-FM014 | Required fields, naming, description quality, argument-hint, $ARGUMENTS usage |
| **Structure** | SS001-SS006 | Line limits, progressive disclosure |
| **Content** | CW001-CW006 | Writing style, terminology |
| **Files** | FO001-FO007 | Naming conventions, forbidden files |
| **References** | RI001-RI003 | Broken links, orphan files |
| **Security** | SC001-SC005 | eval/exec, undocumented constants |

## Severity Levels

| Level | Action |
|-------|--------|
| CRITICAL | Must fix before publishing |
| ERROR | Should fix |
| WARNING | Consider fixing |
| SUGGESTION | Optional improvement |

## Output Example

```
=== Skill Validation Report: my-skill ===

Summary: 0 critical, 1 error, 2 warnings, 1 suggestion

[ERROR] SS002: SKILL.md exceeds 500 lines (523 lines)
  Location: SKILL.md
  Fix: Split content into WORKFLOW.md, EXAMPLES.md, TROUBLESHOOTING.md

[WARNING] CW001: Second-person language detected
  Location: SKILL.md:45
  Found: "You should create..."
  Fix: Use imperative: "Create..."
```

## Command Options

```bash
--min-severity {critical,error,warning,suggestion}  # Filter output
--format {text,json}                                # Output format
--ignore RULE1,RULE2                                # Skip specific rules
```

## Common Issues

**"False positive on second-person"**
- Context-appropriate "you" may be acceptable
- Use `--ignore CW001` to suppress

**"Script security warning"**
- Add inline comment: `# skill-validator: ignore SC001`

See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for complete issue handling.

## References

- [EXAMPLES.md](EXAMPLES.md) - Real validation outputs
- [references/RULES_REFERENCE.md](references/RULES_REFERENCE.md) - Complete rules documentation

Files in this skill

  • EXAMPLES.md6.7 KB
  • SKILL.md2.5 KB
  • TROUBLESHOOTING.md3.7 KB
  • references/RULES_REFERENCE.md7.1 KB
  • scripts/validate_skill.py37.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.