mcpbeat Sign in

SKILL.md Lint MCP Server

answering

SKILL.md Lint is answering right now. Last checked 13 min ago. It exposes 6 tools. Last commit 19 Sep 2026.

Lint a SKILL.md for frontmatter, structure, secrets and size. All 6 tools free.

Uptime history 61 days of history · worst day 92%
61 days agonow
100.0%
Uptime 24h
91 of 91 checks
6
Tools
read from the server
367 ms
Response time
average over 24h
0
Stars
last commit 19 Sep 2026

What changed 4

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 20 August 2026. No other catalogue keeps this.

14 Sep a tool description was rewritten regex_test
14 Sep a tool changed the parameters it asks for regex_test
20 Aug a tool changed version2 times that day
and 1 more, back to 20 August 2026

Nothing serious here today

Today is the operative word: we check SKILL.md Lint every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 13 min ago.

run in your terminal
claude mcp add skillmd-lint --transport http https://mcp.moltlinestudio.com/skillmd-lint
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "skillmd-lint": {
      "url": "https://mcp.moltlinestudio.com/skillmd-lint"
    }
  }
}
~/.codex/config.toml
[mcp_servers.skillmd-lint]
url = "https://mcp.moltlinestudio.com/skillmd-lint"
.cursor/mcp.json
{
  "mcpServers": {
    "skillmd-lint": {
      "url": "https://mcp.moltlinestudio.com/skillmd-lint"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "skillmd-lint": {
      "url": "https://mcp.moltlinestudio.com/skillmd-lint"
    }
  }
}

Available tools 6

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

cron
cron_explain
Explain a 5-field cron expression in plain English and flag mistakes. FREE. Typical input {"expression": "0 9 * * 1-5"} returns {"expression": "0 9 * * 1-5", "meaning": "at minute 0; at hour 9; every day of month; every month; day of week 1-5", "issues": ["none"]}; out-of-range fields are listed in "issues". Use to read a schedule back in plain English before trusting it. Assumes 5-field cron; not for 6-field or seconds-precision variants. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "expected 5 fields, got <value>"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
diff
diff_texts
Produce a unified diff between two texts. FREE. Useful for comparing two SKILL.md versions. Typical input {"a": "<old text>", "b": "<new text>"} returns {"changed_lines": N, "diff": "--- \n+++ \n@@ ... @@\n-old line\n+new line"}; identical inputs return {"changed_lines": 0, "diff": "(identical)"}. The diff is capped at 400 lines. Use to show exactly what changed between two versions of a text. Not for judging the risk of a code change - the codereview server's review_diff does that. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "each text must be at most 500000 characters"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
json
json_validate
Validate JSON text and summarize its structure. FREE. Typical input {"text": "{\"a\": [1, 2]}"} returns {"valid": true, "structure": {"a": ["array[2]", "int"]}}; invalid JSON returns {"valid": false, "error": "<parser message>", "line": N, "column": N} instead. Use when JSON may be malformed or its shape is unknown. Reports structure, not conformance to a schema. Not for testing a pattern (regex_test). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "text is empty — pass the JSON document as a raw string"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
lint
lint_skill
Lint one SKILL.md file the way marketplaces and agents parse it. FREE. Checks YAML frontmatter presence and required fields (name, description), description quality, body structure (procedure steps, rules, degradation), secret/credential leakage, injection-style phrasing, and size budget. Typical input {"content": "<full SKILL.md text>"} returns {"verdict": "pass" | "pass-with-warnings" | "fail", "errors": ["..."], "warnings": ["..."], "stats": {"body_words": N, "has_frontmatter": bool}}. Use on the full text of one SKILL.md. Not for the surrounding archive layout (packaging_check). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "content is empty — pass the full SKILL.md text including frontmatter"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
packaging
packaging_check
Validate a zip layout plan for a skill marketplace before packaging. FREE. Checks SKILL.md placement rules and flags junk files. Typical input {"file_paths": ["my-skill/SKILL.md", "my-skill/examples.md"], "marketplace": "agensi"} returns {"verdict": "pass" | "fail", "issues": ["..."], "skill_files_found": ["my-skill/SKILL.md"]}. Use on a planned file layout, before zipping. Not for the content of a skill file (lint_skill). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "file_paths is empty — list every file that will be inside the zip"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
regex
regex_test
Test a regular expression against sample strings. FREE. Typical input {"pattern": "v(\\d+)", "samples": ["v12", "beta"]} returns {"pattern": ..., "results": [{"sample": "v12", "match": true, "matched_text": "v12", "groups": ["12"]}, {"sample": "beta", "match": false, ...}], "match_count": 1}. Use to confirm a pattern matches what you expect before shipping it. Not for validating JSON (json_validate). The pattern is compiled and run in a short-lived, CPU-capped child process, so a pattern that backtracks catastrophically is stopped instead of stalling the server. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "a sample is too long (max 10000 characters); shorten it and retry"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

Endpoints

URLTransportStateLatencyChecked
https://mcp.moltlinestudio.com/skillmd-lint streamable-http answering 168 ms 13 min ago

Alternatives to SKILL.md Lint

same job, measured the same way
skillkit
by furkan708

Toolbox for AI agent skills: scaffold, lint, pack, install, and serve SKILL.md skills

66 installs/wk local only
Code Analyze MCP
by clouatre-labs

MCP server for code structure analysis using tree-sitter.

local only
Skillmd
by skillmd

Search, fetch, lint, and install Agent Skills (SKILL.md) from the SkillMD registry.

211 installs/wk 5 tools answering
Aptu Coder
by clouatre-labs

MCP server for code structure analysis using tree-sitter.

local only
Pare Lint
by dave-london

Pare Lint ג€” Structured linting and formatting (ESLint, Prettier, Biome, Oxlint) as typed JSON.

103 installs/wk local only
Itamos MCP Tools
by itamos-technologia

Code-map tools for AI agents: see a repo's structure first, then edit only what matters.

answering
Secureflows MCP Server
by michal-lefler

MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

18 tools answering
Secureflows MCP
by michal-lefler

MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

18 tools answering

SKILL.md Lint — questions

Answers built from our own checks of this server.

What can SKILL.md Lint do?
It exposes 6 tools, read directly from the server on our last check. Among them: cron_explain, diff_texts, json_validate, lint_skill, packaging_check, regex_test. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is SKILL.md Lint working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 367 ms. The bar chart above shows every period we have measured.
How do I connect SKILL.md Lint?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does SKILL.md Lint need an API key?
No. SKILL.md Lint completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 6 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is SKILL.md Lint?
It answers our handshake in 367 ms on average, which is faster than 35% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is SKILL.md Lint open source?
Yes — it is published under the MIT licence, written in Python and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.