Lint rules
tricks lint checks skills against 27 rules, generated here from the rule table in the source. See Lint for ignoring rules (for the whole repo or one skill), inline disables and --strict.
NT1xx — Spec conformance
Section titled “NT1xx — Spec conformance”The Agent Skills specification, cross-checked against the reference validator skills-ref.
| Code | Default | Rule |
|---|---|---|
NT101 |
error | frontmatter name is missing |
NT102 |
error | name must be 1-64 lowercase letters (any script), digits and single hyphens |
NT103 |
error | name must match the skill folder name |
NT104 |
error | description is missing or empty |
NT105 |
error | description exceeds 1024 characters |
NT106 |
error | compatibility exceeds 500 characters |
NT107 |
error | metadata must be a map of string keys to string values |
NT108 |
error | SKILL.md has no valid YAML frontmatter |
NT110 |
warning | skill file is named skill.md; use SKILL.md (Claude Code only loads the uppercase name) |
NT2xx — Structure
Section titled “NT2xx — Structure”Links, files, paths and size.
| Code | Default | Rule |
|---|---|---|
NT201 |
error | broken relative link |
NT202 |
error | referenced script does not exist |
NT203 |
warning | absolute or home-relative path |
NT204 |
warning | reference nested more than one level deep |
NT205 |
warning | SKILL.md longer than 500 lines |
NT206 |
warning | SKILL.md body longer than ~5000 tokens |
NT3xx — Triggering quality
Section titled “NT3xx — Triggering quality”Whether agents will pick the skill at the right time.
| Code | Default | Rule |
|---|---|---|
NT301 |
warning | description lacks a “use when …” trigger clause |
NT302 |
warning | description shorter than 60 characters |
NT303 |
error | duplicate skill name in source repo |
NT304 |
warning | description nearly duplicates another skill’s (they will compete for triggering) |
NT305 |
warning | description written in first or second person |
NT4xx — Agent compatibility
Section titled “NT4xx — Agent compatibility”Keys and characters specific agents or tools handle differently.
| Code | Default | Rule |
|---|---|---|
NT401 |
warning | agent-specific frontmatter key but that agent is not targeted |
NT402 |
info | unknown frontmatter key (preserved) |
NT403 |
warning | non-ASCII characters in frontmatter (APM rejects them) |
NT5xx — Safety
Section titled “NT5xx — Safety”Content that should never reach a privileged agent unnoticed.
| Code | Default | Rule |
|---|---|---|
NT501 |
error | hidden or bidirectional Unicode character |
NT502 |
error | possible secret |
NT503 |
warning | script downloads and executes remote code |
NT504 |
warning | overly broad allowed-tools |