Strict validation for skills installed locally or being authored.
In addition to the metadata checks, the on-disk directory name
must match the frontmatter name — this is a local-filesystem
invariant for .agents/skills/<name>/ lookup. Use this from
knack install, knack new, knack validate, and the publish
flow.
Validate a skill’s identity (name well-formed, description present)
without requiring the on-disk directory to match the frontmatter
name. Use this when reading skills from an upstream source whose
layout we don’t control — e.g. when materialising a registry’s
dynamic [[source]] entries against third-party repos. Vendors
commonly use unprefixed directory names with brand-prefixed
frontmatter names (e.g. skills/composition-patterns/ containing
name: vercel-composition-patterns); that’s a legitimate
convention and the registry’s archive flow already renames on
the way out using the frontmatter name.