Labsco
callstackincubator logo

validate-skills

โ˜… 1,517

by callstackincubator ยท part of callstackincubator/agent-skills

Validates skills in this repo against agentskills.io spec and Claude Code best practices. Use via /validate-skills command.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup
๐Ÿงฉ One of 7 skills in the callstackincubator/agent-skills package โ€” works on its own, and pairs well with its siblings.

This is the playbook your agent receives when the skill activates โ€” you don't need to read it to use the skill, but it's here to audit before installing.

Validate Skills

Validate all skills in skills/ against the agentskills.io spec and Claude Code best practices.

Validation Checklist

For each skill directory, verify:

Spec Compliance (agentskills.io)

CheckRule
name format1-64 chars, lowercase alphanumeric + hyphens, no leading/trailing/consecutive hyphens
name matches directoryDirectory name must equal name field
description length1-1024 characters, non-empty
Optional fields validlicense, metadata, compatibility if present

Best Practices (Claude Code)

CheckRule
Description formatThird person, describes what + when to use
Body lengthUnder 500 lines
Loading is one-level deepSKILL.md is the only progressive-disclosure entry point: every reference file must be reachable from SKILL.md. References may cross-link each other for navigation (see note below).
Links are markdownUse [text](https://github.com/callstackincubator/agent-skills/blob/main/.claude/skills/validate-skills/path) not bare filenames
No redundancyDon't repeat description in body
ConciseOnly add context Claude doesn't already have

One-level-deep vs. cross-linking. The one-level-deep rule targets progressive-disclosure loading chains โ€” a reference that can only be discovered by loading another reference first (SKILL.md โ†’ a.md โ†’ b.md, where b.md is not linked from SKILL.md). That is a defect: it hides content from the loader.

It does not forbid navigational cross-links. Per AGENTS.md, reference files end with a "Related Skills" footer linking sibling references, and this is required. A cross-link is fine as long as both endpoints are also reachable directly from SKILL.md. Only flag a reference that is reachable exclusively through another reference.

How to Run

  1. Find all skill directories:

    fd -t d -d 1 . skills/
  2. For each skill, read SKILL.md and check against the rules above

  3. Report issues in this format:

    ## Validation Results
    
    ### skills/example-skill
    - [PASS] name format valid
    - [FAIL] name "example" doesn't match directory "example-skill"
    - [PASS] description length OK (156 chars)

References