Search / com.moltlinestudio/skillmd-lint
SKILL.md Lint
R0· no sign-inLint a SKILL.md for frontmatter, structure, secrets and size. All 6 tools free.
v1.2.0 · active · repository · website · descriptor JSON · versions
Search / com.moltlinestudio/skillmd-lint
R0· no sign-inLint a SKILL.md for frontmatter, structure, secrets and size. All 6 tools free.
v1.2.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"skillmd-lint": {
"type": "http",
"url": "https://mcp.moltlinestudio.com/skillmd-lint"
}
}
}claude mcp add --transport http skillmd-lint https://mcp.moltlinestudio.com/skillmd-lint[mcp_servers.skillmd-lint]
url = "https://mcp.moltlinestudio.com/skillmd-lint"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"skillmd-lint": {
"type": "remote",
"url": "https://mcp.moltlinestudio.com/skillmd-lint",
"enabled": true
}
}
}{
"mcpServers": {
"skillmd-lint": {
"type": "http",
"url": "https://mcp.moltlinestudio.com/skillmd-lint"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=skillmd-lint&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLm1vbHRsaW5lc3R1ZGlvLmNvbS9za2lsbG1kLWxpbnQifQ%3D%3D"
}{
"servers": {
"skillmd-lint": {
"type": "http",
"url": "https://mcp.moltlinestudio.com/skillmd-lint"
}
}
}{
"mcpServers": {
"skillmd-lint": {
"httpUrl": "https://mcp.moltlinestudio.com/skillmd-lint"
}
}
}extensions:
"skillmd-lint":
enabled: true
name: "skillmd-lint"
type: streamable_http
uri: "https://mcp.moltlinestudio.com/skillmd-lint"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations6 of 6 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 1,882 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +dns-namespace +website +reachable +uptime-97% ~updated-42d-ago -duplicate-repo(22 names)
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.moltlinestudio.com/skillmd-lint streamable-http | none | yes | 97% | 159 ms | 2025-11-25 | 2026-10-20 |
cron_explainread-only | 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_textsread-only | 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_validateread-only | 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_skillread-only | 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_checkread-only | 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_testread-only | 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. |
Schemas: list_tools.
21 other active names share this repository (showing 10): com.moltlinestudio/business, com.moltlinestudio/catalog, com.moltlinestudio/codereview, com.moltlinestudio/creator, com.moltlinestudio/data, com.moltlinestudio/dropship, com.moltlinestudio/educator, com.moltlinestudio/govern, com.moltlinestudio/humanizer, com.moltlinestudio/merchant
And 15 more from this publisher.
{
"name": "com.moltlinestudio/skillmd-lint",
"icons": [
{
"src": "https://moltlinestudio.com/icon-192.png",
"sizes": [
"192x192"
],
"mimeType": "image/png"
}
],
"title": "SKILL.md Lint",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://mcp.moltlinestudio.com/skillmd-lint",
"type": "streamable-http"
}
],
"version": "1.2.0",
"repository": {
"url": "https://github.com/GarphenGate/moltline-mcp",
"source": "github"
},
"websiteUrl": "https://moltlinestudio.com/servers.html#skillmd-lint",
"description": "Lint a SKILL.md for frontmatter, structure, secrets and size. All 6 tools free."
}