skilllint
Server Details
Private lint of agent skills: structure, triggers, secrets, prompt injection, broken references, unbounded autonomy. Verdict, score and sha256; nothing leaves the machine. The sha256 can be signed by attest and enforced by drift as an allowlist. Locales: en, hi.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: lint_skill lints a single SKILL.md, lint_rules lists the available lint rules, and compare_skills compares and ranks multiple candidates from different registries. There is no overlap in functionality, so an agent can easily select the right tool.
All tool names follow a consistent snake_case verb_noun pattern: compare_skills, lint_rules, lint_skill. The plural vs. singular noun variation is minor and does not break the predictable convention.
Three tools is well within the typical 3–15 range and each tool earns its place by covering a distinct part of the skill linting workflow. The scope is tight and no tool appears redundant or missing.
The set covers listing rules, linting a single skill, and comparing multiple skills, which addresses the core linting lifecycle. A minor gap is the lack of a dedicated registry browsing or single-skill fetch operation, but agents can work around this by using existing tools.
Available Tools
3 toolscompare_skillsCInspect
Сравнить нескольких кандидатов из разных реестров и ранжировать по вердикту и доказательной базе.
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Compare' implies a read-only operation, but the description does not confirm that, nor does it describe permissions, cost, rate limits, or the shape of the comparison it produces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the comparison action and the ranking criterion front-loaded; nothing is wasted, though the brevity comes at the cost of detail rather than being efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but the definition still omits how 'paths' should be formatted and offers no guidance on when to invoke the tool, leaving an agent with too little to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'paths' parameter, and the description never names or explains it. Only the phrase 'several candidates from different registries' loosely implies that multiple paths are supplied, but format, separator, and count are left entirely unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource (compare several candidates from different registries) plus an ordering behavior (rank by verdict and evidence base), which lets an agent distinguish it from the lint_rules/lint_skill siblings. However, 'candidates' is loosely worded given the tool is compare_skills, so the resource is slightly ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative guidance. The phrase 'from different registries' hints at a cross-registry comparison scenario but never states when an agent should pick this tool over the lint siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_rulesAInspect
Список правил линтера с идентификаторами и severity.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 discloses the shape of the result (rules with identifiers and severity) but says nothing about read-only semantics, side effects, or whether the rule set is static or configurable. The 'list' framing implies a safe read, but this is inferred rather than stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, front-loading the resource being listed. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and an output schema present, the description does not need to enumerate return values. For a trivial read-only listing tool this is nearly complete, though a note on static vs. project-specific rules would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline of 4 applies; the mention of severity/identifiers refers to output, not input, so it adds nothing here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource ('Список правил линтера' = list of linter rules) and even previews the returned fields (identifiers and severity). It is clear on its own, but it never distinguishes itself from siblings lint_skill and compare_skills, which an agent must infer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no exclusions. The description states only what the tool is, leaving the agent to guess how it relates to lint_skill or compare_skills.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lint_skillBInspect
Проверить SKILL.md: структура, триггеры, секреты, инъекции, битые ссылки, автономия. Возвращает вердикт, балл и sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it does disclose the validation categories and the return shape (вердикт, балл, sha256). However, it never states that the operation is read-only/non-mutating, what happens on failure, or any permission requirements, which are the traits an unannotated tool most needs to declare.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence that front-loads the action and target, then the check list, then the return values. Every clause carries information; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the return values need not be re-explained, and the check list gives useful scope. But the undocumented required parameter and absent usage guidance leave real gaps for an agent deciding when and how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single 'path' parameter is undocumented in both the schema and the description. It is fairly self-evident that path points at a SKILL.md, but no format, base directory, or required file naming is given to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (проверить/lint) and resource (SKILL.md) and enumerates the check categories (structure, triggers, secrets, injections, broken links, autonomy), which clearly separates it from compare_skills and lint_rules. It stops short of explicitly naming those siblings, so differentiation is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, and no mention of alternatives such as lint_rules or compare_skills. The agent must infer the appropriate context entirely from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
compare_skills - First observed
lint_rules - First observed
lint_skill
Related MCP Servers
- AlicenseNot gradedqualityBmaintenancePerplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.2Apache 2.0
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npmMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.164 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.