mcpField
S
skilllint — vet an agent skill before you install it

skilllint — vet an agent skill before you install it

Remote
github.com/mrpkkSecurity0Updated 6d ago
Repository

About skilllint — vet an agent skill before you install it

skilllint is an MCP service that checks agent skill files (SKILL.md) locally, for people vetting structure, triggers, and risks before installation. Its verdict is tied to the file’s SHA-256 hash, supporting later verification of the checked artifact.

Key features

  1. 01Checks SKILL.md structure and metadata
  2. 02Detects secret-shaped literals and injection markers
  3. 03Finds dead instructions and missing file references
  4. 04Compares multiple skill candidates
  5. 05Returns verdict, score, hash, and findings

Use cases

  1. 01Inspect an unfamiliar agent skill before installation
  2. 02Screen skill files for secrets or injection risks
  3. 03Compare skill candidates from different registries

MCP support

skilllint provides the lint_skill, compare_skills, and lint_rules MCP tools. It can run over stdio or Streamable HTTP and also lists a hosted MCP endpoint.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://rta.lat/skilllint/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

skilllint

Private lint of agent skills (SKILL.md). Nothing leaves the machine.

Existing scanners (for example NVIDIA SkillSpector - 71 patterns, AST, YARA, CVE lookup) answer "is this artifact dangerous", and they ship the inspected content to their provider. We do something narrower and complementary:

  • privacy - the check runs locally; only a verdict, a score and a hash go out;
  • reproducibility - the verdict is bound to a sha256 of the file, so it can be signed and verified later;
  • comparison - rank several candidates from different registries instead of scanning one artifact at a time.

Rules

idseveritycheck
R-001criticalfrontmatter missing
R-002highname missing or invalid
R-003highdescription missing or too long
R-004mediumno trigger ("when to use") in description
R-005mediumdead instructions (TODO / deprecated / placeholder)
R-006criticalsecret-shaped literals
R-007criticalprompt-injection / exfiltration markers
R-008mediumreferences to files that do not exist
R-009lowfile larger than 60 KB
R-010highworld-writable scripts
R-011mediumunbounded autonomy instructions

Verdict: PASS (>=80, no critical) | WARN | FAIL (any critical).

Use it

python3 mcp_server.py                            # stdio
python3 mcp_server.py --http 8191                # streamable http
npx -y mcp-remote https://rta.lat/skilllint/mcp  # hosted

Tools: lint_skill(path) | compare_skills(paths) | lint_rules()

Signed verdicts

lint_skill returns {verdict, score, sha256, findings[]}. That hash is what attest signs and drift enforces as an allowlist - see Verified Tool Registry.

Locales: en, hi. India (Bharata) is supported from day one; legal claims require official sources, otherwise report pending.

License: MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.