agentsclimarketplace

Skill quality linter

Skill BuilderCed/agent-skills/skills/security/skill-quality-linter

Validate SKILL.md structure, frontmatter completeness, token budget, freshness, naming conventions, and cross-platform portability before publishing.From its SKILL.md

Install
npx -y skills add BuilderCed/agent-skills --skill skill-quality-linter

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.6 KB, 785 tokens by cl100k_base, as published. Nobody here has run it

Skill Quality Linter

When to Use

  • Before publishing a new skill to a registry
  • Reviewing a skill PR
  • Auditing existing skill quality
  • Setting up CI for a skill repository

Lint Checks

1. Frontmatter (Required Fields)

FieldRequiredFormat
nameYESkebab-case, matches directory name
descriptionYES1 line, max 250 chars, starts with verb
versionYESSemver (X.Y.Z)
last-updatedYESYYYY-MM-DD, not in future
platformsYESArray of known platform names
licenseYESValid SPDX identifier
dependenciesRECOMMENDEDObject with mcp, skills, apis, data
update_sourcesRECOMMENDEDArray with url + check_frequency
languageRECOMMENDEDISO 639-1 (en, fr, etc.)
geo_relevanceRECOMMENDEDArray (global, fr, eu, africa, etc.)
categoryRECOMMENDEDMatches parent directory name
priorityOPTIONALcritical, high, medium, low

2. Structure

CheckRule
Starts with ---Valid YAML frontmatter
Has # TitleH1 heading after frontmatter
Has ## When to UseTrigger conditions documented
Has ## What This Skill Does NOT DoLimitations section present
No H1 other than titleSingle H1 only
Sections use H2 (##)Consistent hierarchy

3. Size Budget

MetricLimitRationale
SKILL.md lines< 800ETH Zurich: more = worse perf
SKILL.md tokens< 2500Context window budget
SKILL.md + references/< 3000 tokensTotal load budget
references/ file count< 5Keep focused

4. Portability

CheckRule
No tool-specific syntaxNo Read, Write, Bash, Edit references
No platform-specific importsNo import, require, from in instructions
Natural language instructionsSteps readable by any agent
Graceful degradation"If terminal available... otherwise..." pattern

5. Freshness

AgeStatus
< 60 daysPASS
60-90 daysWARN — review needed
> 90 daysFAIL — must update before use

6. Naming

CheckRule
Directory namekebab-case, no uppercase
name fieldMatches directory exactly
descriptionStarts with action verb (Guide, Build, Detect, Generate...)
No emoji in name/descriptionPlain text only

Output Format

LINT: {skill-name}
Status: PASS | WARN | FAIL

[PASS] Frontmatter: all required fields present
[PASS] Structure: all sections present
[WARN] Size: 2800 tokens (approaching 3000 limit)
[PASS] Portability: no platform-specific syntax
[PASS] Freshness: 5 days old
[PASS] Naming: matches conventions

Verdict: PASS (1 warning)

What This Skill Does NOT Do

  • Does not check factual accuracy of content
  • Does not validate referenced URLs (use separate check)
  • Does not scan for security issues (see skill-security-audit)
  • Does not auto-fix issues (reports only)

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,871. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.