Skip to main content
Glama

SKILL.md Lint by Moltline

Server Details

A fully free linter for agent skill files: lint_skill validates YAML frontmatter, structure, size budgets, and safety phrasing with a pass/fail verdict; packaging_check validates zip layout against marketplace rules; plus regex_test, json_validate, diff_texts, and cron_explain for skill authors. No license or account required.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.

Tool Definition Quality

Score is being calculated. Check back soon.

Available Tools

6 tools
cron_explainCron Explain
Read-onlyIdempotent
Inspect

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". Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "expected 5 fields, got "}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
expressionYesA standard 5-field cron string (minute hour day-of-month month day-of-week), e.g. "0 9 * * 1-5"; must be non-empty.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

diff_textsDiff Texts
Read-onlyIdempotent
Inspect

Produce a unified diff between two texts. FREE.

Useful for comparing two SKILL.md versions. Typical input {"a": "", "b": ""} 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. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (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.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesThe original text (left side of the diff); at most 500000 characters.
bYesThe revised text (right side of the diff); at most 500000 characters.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

json_validateJson Validate
Read-onlyIdempotent
Inspect

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": "", "line": N, "column": N} instead. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (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.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe JSON document to validate, as a raw string; must be non-empty.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

lint_skillLint Skill
Read-onlyIdempotent
Inspect

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": ""} returns {"verdict": "pass" | "pass-with-warnings" | "fail", "errors": ["..."], "warnings": ["..."], "stats": {"body_words": N, "has_frontmatter": bool}}. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (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.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesThe complete SKILL.md file text, frontmatter included; must be non-empty.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

packaging_checkPackaging Check
Read-onlyIdempotent
Inspect

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"]}. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (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.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathsYesEvery file path that will be inside the zip, relative to the zip root, e.g. ["my-skill/SKILL.md"]; at least 1 entry.
marketplaceNoRule set to apply: "agensi" (SKILL.md at root or one folder deep) or "generic" (junk-file checks only). Default "agensi".agensi

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

regex_testRegex Test
Read-onlyIdempotent
Inspect

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}. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "invalid regex: "}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternYesA Python-flavor regular expression as a string, e.g. "v(\\d+)".
samplesYesStrings to test the pattern against; only the first 50 are evaluated.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    GTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.
    11
    737
    1
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources