SKILL.md Lint

com.moltlinestudio由 moltlinestudio.com 發布官方發布者v1.2.0更新於 Nov 9, 2026

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

發布方自己的服務:Moltline Business Suite

已驗證Streamable HTTP可網頁執行開發者工具安全與監控

概覽

AI 產生的概覽

託管型 MCP 伺服器,用來檢查 SKILL.md 的 frontmatter、結構、密鑰外洩與大小,並附 JSON、正規表達式、文字差異與 cron 的小工具。

可以做什麼
  • 檢查單一 SKILL.md:YAML frontmatter 與必填欄位、描述品質、內文結構、密鑰外洩、注入式措辭與大小預算
  • 驗證技能市場的 zip 打包配置,包含 SKILL.md 位置規則與多餘檔案
  • 以範例字串測試正規表達式,回傳比對結果與群組
  • 驗證 JSON 文字並摘要其結構,錯誤時給出行與列位置
  • 產生兩段文字(例如兩個版本的 SKILL.md)之間的統一差異
  • 以淺白英文解釋五欄位 cron 表達式並標出超出範圍的欄位
適用情境
適合在撰寫或審閱 agent 技能、準備發佈到技能市場前使用;也適合在對話中快速做一次性的 JSON、正規表達式、文字比對與 cron 檢查。
執行需求
遠端 Streamable HTTP 端點;免費工具不需帳號、憑證或環境變數。僅支援 stdio 的用戶端可改用獨立的 Python 3.9+ 橋接腳本,需能連線至託管服務。
安裝前請注意
六個工具皆標示為免費,免費層為匿名存取。同系列其他伺服器提供需授權解鎖的進階工具;橋接腳本會從 MOLTLINE_LICENSE 環境變數讀取授權並以請求標頭送出。檢查結果僅供參考,送出的文字會傳到託管服務。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 SKILL.md Lint,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.moltlinestudio%2Fskillmd-lint/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "skill-md-lint": {
      "type": "http",
      "url": "https://mcp.moltlinestudio.com/skillmd-lint"
    }
  }
}

README

moltline-mcp

A thin, dependency-free stdio bridge to Moltline Studio's fleet of 22 hosted MCP servers.

Most modern MCP clients can connect to the fleet directly over Streamable HTTP, no install needed (see Direct connection below). This bridge exists for clients that only speak the stdio transport: it proxies newline-delimited JSON-RPC between your client and the hosted server, verbatim, with no telemetry and no dependencies beyond the Python 3.9+ standard library.

  • 160 tools across 22 servers; 110 are free.
  • Free tier: no registration, no account, no credentials. Connect and call tools immediately.
  • Premium tools are unlocked with a Moltline license. Set MOLTLINE_LICENSE in your MCP client's environment; the bridge sends it as the X-Moltline-License header and never writes it to argv, URLs or logs. See auth.md.
  • Independently checked by MCPize on the direct endpoints (scans of 5–6 September 2026: 6 A+, 15 A, 1 B+; scores 89–98). All 22 servers score 100 on clarity, 100 on reliability and 100 on trust, 95 on protocol and 87 on safety; the one finding raised on every server is that the free tier accepts anonymous access (which is the point of it), and the spread between servers sits in MCPize's "Market" dimension (a crowded category). Each server's MCPize listing links its own public result.

Find it on: Smithery · MCPize · Glama · Clawmart · MCP Registry

The fleet

ServerToolsWhat it does
catalog10Search 138 agent skills and personas by plain-language job; preview any product.
codereview7Risk-scan a diff, flag AI-generated-code tells, find secrets, report complexity.
govern8Audit an MCP config or SKILL.md for over-broad scope and prompt-injection risk.
timeops5Business days, meeting overlap, recurrence expansion, deadline and SLA math.
data7Paste-your-data analytics: CSV profiling, A/B tests, correlation, growth, cohorts.
humanizer5Find AI-isms with evidence, fingerprint a writing voice, measure burstiness.
business830 finance, bookkeeping, legal-ops and SMB operations persona-skill products.
creator820 blogging, brand-voice, copywriting, video and social persona-skill products.
educator78 curriculum, classroom, accommodations and exam-prep persona-skill products.
outbound87 outreach, sequencing, deliverability, call-coaching and CRM-hygiene products.
personal920 inbox, calendar, travel, meals and family-logistics persona-skill products.
research87 research navigation, thesis, note-taking and citation persona-skill products.
skillmd-lint6Lint a SKILL.md for frontmatter, structure, secrets and size. All tools free.
merchant6Commerce arithmetic: processor fees, charge-to-net, invoice totals, proration.
shipping6Dimensional weight, parcel fit, landed cost, freight class, rate cards.
shopify6Check a product CSV, URL handles, variant matrices and metafield keys.
dropship6Dropshipping unit economics: margin, lead time, SKU mapping, price ladders.
recall6A portable knowledge-graph memory you pass in and get back. No database.
vision6Image header probing, bbox conversion, resize plans, color and detection math.
regclock9Incident-reporting deadlines from the legal text (EU CRA, NIS2, DORA, GDPR, UK GDPR, HIPAA, SEC 8-K), cited.
taxlots8Crypto cost basis: parse exchange CSVs, lint, match transfers, FIFO/LIFO/HIFO lots, Form 8949 rows, 1099-DA diff.
optimize11OR-Tools routing, 3-D packing, 1-D/2-D cutting, knapsack and shift rostering with stated limits.

Machine-readable discovery: api-catalog · per-server card at https://mcp.moltlinestudio.com/<server>/.well-known/mcp/server-card.json · fleet health.

Direct connection (preferred)

If your MCP client supports Streamable HTTP (Claude Desktop, Claude Code, Cursor, and most current clients do), point it straight at the hosted endpoint (nothing to install):

json
{  "mcpServers": {    "moltline-timeops": {      "type": "http",      "url": "https://mcp.moltlinestudio.com/timeops"    }  }}

Swap timeops for any slug in the table above.

The stdio bridge (for stdio-only clients)

Install

Run directly (recommended): the bridge is a single stdlib-only file, so a clone is all you need:

bash
git clone https://github.com/GarphenGate/moltline-mcp.gitpython3 moltline-mcp/moltline_mcp.py timeops   # any of the 22 slugs; default: catalog

Docker: see Docker below if you prefer a container.

A PyPI package is planned; until then, use the methods above.

Client configuration

Point your MCP client at the script with an absolute path:

json
{  "mcpServers": {    "moltline-timeops": {      "command": "python3",      "args": ["/absolute/path/to/moltline-mcp/moltline_mcp.py", "timeops"]    }  }}

Or run it through Docker (after docker build -t moltline-mcp .):

json
{  "mcpServers": {    "moltline-timeops": {      "command": "docker",      "args": ["run", "-i", "--rm", "moltline-mcp", "timeops"]    }  }}

CLI

text
python3 moltline_mcp.py [server] [--timeout SECONDS] [--list] [--version]
  • server: one of the 22 slugs (default catalog); anything else fails fast with the valid list.
  • --timeout: per-request timeout in seconds (default 300, or env MOLTLINE_TIMEOUT).
  • --list: print the server slugs and exit.
  • Env MOLTLINE_BASE_URL: override the fleet base URL (for testing).
  • Env MOLTLINE_LICENSE: your Moltline license, sent as the X-Moltline-License header to unlock premium tools. Omit it and the bridge runs free-tier only.
  • Env MOLTLINE_DEBUG=1: diagnostic logging on stderr (stdout stays protocol-clean). The license is never logged; debug output reports only whether one is configured.

Docker

The bridge also runs containerized (stdio in, network egress to the fleet required):

bash
docker build -t moltline-mcp .docker run -i --rm moltline-mcp timeops   # any of the 22 slugs; default: catalog

See Client configuration for the matching mcpServers entry.

How it works

One process per server connection. Each JSON-RPC message read from stdin is POSTed to https://mcp.moltlinestudio.com/<server>; JSON and SSE-framed responses are relayed back to stdout as newline-delimited JSON. The bridge tracks the server-assigned Mcp-Session-Id and echoes the negotiated MCP-Protocol-Version, per the Streamable HTTP transport spec. It never inspects, stores, or reports your traffic.

Tests

The bridge ships with an offline test suite - no network, no dependencies:

bash
python -m unittest -v

Twenty-two tests cover the parts that actually break in a transport bridge: newline-delimited framing, SSE event splitting (multiple events, multi-line data: payloads, a trailing event with no blank line, comments and named events), session-id capture and reuse, protocol-version negotiation on initialize only, and error relay - a JSON-RPC error document is passed through verbatim, anything else becomes a well-formed -32603. CI runs them on Python 3.9, 3.12 and 3.13, plus a Docker build and container smoke test.

Access and licensing

  • Free tier: anonymous. No registration or credentials; all free tools work immediately.
  • Premium: unlocked with a Moltline license purchased (human-in-the-loop) at moltlinestudio.com. Set MOLTLINE_LICENSE in the environment and the bridge forwards it as the X-Moltline-License request header. It is deliberately not a command-line flag: argv is world-readable through ps. It is never placed in a URL and never logged. Details: auth.md.

Links

License

MIT © 2026 Moltline Studio

來源:README.md,提交 bbf91e4

工具

6

lint_skill

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.

輸入參數content必填

packaging_check

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.

輸入參數file_paths必填marketplace

regex_test

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.

輸入參數pattern必填samples必填

json_validate

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.

輸入參數text必填

diff_texts

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.

輸入參數a必填b必填

cron_explain

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.

輸入參數expression必填

版本歷史

1
  1. v1.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Moltlinestudio 整合