Skip to main content
Glama

Lint an Agent Skill repository

lint_skill

Validate Agent Skill repository metadata before publishing: check SKILL.md frontmatter, subagent definitions, mirror file drift, and doc paths to fix issues causing skills or subagents not to be invoked.

Instructions

Validate the metadata of an Agent Skill repository rather than Swift source: SKILL.md frontmatter (required keys, kebab-case name, semver version, description length limits), subagent definitions in .claude/agents/ (name matches filename, unknown tool names, and read-only agents that are nonetheless granted Edit or Write), whether generated mirror files such as CLAUDE.md and AGENTS.md have drifted from SKILL.md, and backtick-quoted doc paths that do not resolve. Use when authoring or reviewing a skill, before publishing a release, or when a subagent or skill is not being invoked as expected.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path to the skill repository root (the folder containing SKILL.md).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.7.0

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It lists detailed validation checks, which conveys what the tool inspects, but it does not explicitly state that the operation is read-only/non-destructive, nor does it describe the output format (e.g., returns a list of issues). For a validation tool, this is a moderate gap—'validate' implies read-only, but the agent is left to infer side effects and result structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single well-structured paragraph that front-loads the core purpose and then lists specifics in a clear, colon-delimited enumeration. It is somewhat long but every detail adds value; there is no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description should explain what the agent will receive (e.g., a report, exit code). It does not mention the return value or outcome. It also does not explicitly state prerequisites beyond the path, though the path is defined. Given the detailed list of checks, it is mostly complete, but missing output/result information is a notable gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with the single 'path' parameter well-described in the schema as 'Absolute path to the skill repository root (the folder containing SKILL.md).' The description adds no additional parameter-specific semantics beyond what the schema already provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates an Agent Skill repository's metadata, not Swift source, and enumerates specific checks (SKILL.md frontmatter, subagent definitions, mirror file drift, doc paths). It explicitly distinguishes from sibling tools like review_swift_* by saying 'rather than Swift source', making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'Use when authoring or reviewing a skill, before publishing a release, or when a subagent or skill is not being invoked as expected.' It also implicitly excludes Swift source, helping an agent choose this tool over Swift-review siblings. This is a clear when-to-use statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.