Skip to main content
Glama

Skill-MCP 🚀

把技能当作数据的下一代 AI Agent 技能注册中心与认知规则引擎 Next-Gen AI Agent Skill Registry & Cognitive Rule Engine

License: MIT Node: >=24 MCP Protocol Tests: 91 Passing


📖 Core Philosophy & Architecture Innovation

The traditional Agent skill ecosystem faces two major industry pain points:

  1. Inefficient skill retrieval: Simple keyword matching cannot handle long-tail demand, and multi-skill orchestration lacks dependency resolution and data-flow planning capabilities.

  2. Missing rule-based governance: "Rules" such as naming conventions, code review, deep thinking, and commit conventions will almost never be proactively invoked by AI without a trigger phrase.

Skill-MCP proposes the “Dual-Track Skill Architecture”:

                               ┌───────────────────────────┐
                               │   AI Client (Claude/Cursor)│
                               └─────────────┬─────────────┘
                                             │
                                     skill_search("...")
                                             │
                                             ▼
                      ┌──────────────────────────────────────────────┐
                      │                 Skill-MCP                    │
                      ├──────────────────────┬───────────────────────┤
                      │                      │                       │
     【按需检索】      ▼                      ▼     【强制注入】       │
  ┌─────────────────────────┐         ┌────────────────────────────┐ │
  │    Tool Skills (工具型)  │         │     Rule Skills (准则型)   │ │
  ├─────────────────────────┤         ├────────────────────────────┤ │
  │ • BM25 + 向量混合召回   │         │ • 跳过搜索竞争             │ │
  │ • 多技能工作流 DAG 规划 │         │ • 随每次检索无条件跟车附带 │ │
  │ • 沙箱隔离与 HITL 权限  │         │ • 强制规范 AI 思考与代码风格│ │
  └───────────┬─────────────┘         └────────────┬───────────────┘ │
              │                                    │                 │
              └──────────────────┬─────────────────┘                 │
                                 ▼                                   │
                      ┌──────────────────────┐                       │
                      │ 统一 Payload 返回给 AI│                       │
                      └──────────────────────┘                       │
                      └──────────────────────────────────────────────┘

Related MCP server: Agent Workflow MCP Server

📐 Skill-MCP Skills Standard (The Skill Standard)

All skills stored in skills/ follow the unified “trinity” organization standard:

skills/<namespace>/<skill-name>/
├── skill.json         # 1. 机器契约(元数据、IO Schema、权限、执行入口、skillType)
├── SKILL.md           # 2. AI 执行 SOP 指南(角色定位、正反例、步骤规范)
└── scripts/           # 3. 可执行脚本工具(自动化校验器、数据抓取脚本、转换器等)
    └── run.ts

1. skill.json Contract Definition

{
  "schemaVersion": 1,
  "name": "naming-conventions",
  "namespace": "dev",
  "version": "1.0.0",
  "description": "代码与变量命名规范守门人:强制统一 AI 代码命名风格,约束布尔谓词、函数动词前缀与常量大写。",
  "category": "dev",
  "tags": ["naming-conventions", "code-style", "rules"],
  "triggers": ["naming", "variable", "refactor", "code"],
  "keywords": ["naming", "camelCase", "snake_case"],
  "whenToUse": "在生成、重构或审查任何编程语言的代码时必须遵守",
  "whenNotToUse": "编写纯文本说明或无代码生成的闲聊场景无需遵守",
  
  // 核心区分:'tool' (按需搜索工具) | 'rule' (永远生效的准则)
  "skillType": "rule",

  "useCases": [
    { "task": "审查并规范生成的变量与函数命名" }
  ],
  "preconditions": {},
  "io": {
    "input": { "semanticType": "text" },
    "output": { "semanticType": "text" }
  },
  "capabilities": ["dev:naming-conventions"],
  "consumes": [],
  "dependencies": [],
  "permissions": {
    "fsRead": ["*"],
    "fsWrite": [],
    "network": [],
    "tools": [],
    "env": [],
    "maxDurationMs": 5000,
    "maxCostCents": 0,
    "mutating": false
  },
  "entrypoint": {
    "kind": "inline",
    "code": "return { applied: true, rule: 'dev:naming-conventions' };"
  },
  "status": "active"
}

2. SKILL.md Authoring Standard

  • Frontmatter: Contains name, namespace, version, skillType, description.

  • Positive Specs (Do’s): List clear behavior rules.

  • Counterexample Comparison (Bad vs Good): Must provide explicit side-by-side code blocks to eliminate ambiguity for LLM understanding.


🛠️ MCP Tool Matrix (9 Tools)

工具名称

职责定位

skill_search

Hybrid search of skill types, and automatically injects global rule skills (activeRules)

skill_inspect

Inspect skill dependency topology, version conflicts, circular dependencies, and file hashes

skill_get

Get the full SKILL.md SOP manual and context instructions for a skill

skill_plan

Automatically plan multi-skill DAG data-flow, based on the topology graph and historical success recipes(Recipes)

skill_run

Execute a skill step by step in a secure sandbox (Node/Inline/Shell), controlled by the permission model (Broker)

workflow_run

Orchestrate and execute the entire workflow DAG, with two-phase human-in-the-loop authorization (HITL)

skill_feedback

Report execution feedback, triggering Thompson Sampling and Elo win-rate dynamic re-ranking

skill_register

Register new skills dynamically, with content addressing, TOFU signature binding, and quality gates

skill_stats

View historical invocation count, win rate, Elo score, and popular skill recipes


🚀 Quick Start

Prerequisites

  • Node.js: >= 24.0.0 (natively supports TypeScript type stripping and SQLite)

1. Local Run (Stdio)

Integrate directly as a local MCP service into Claude Desktop or Cursor:

# 安装依赖
npm install

# 运行测试套件(91 项自动化测试)
npm test

# 启动 Stdio MCP 服务
npm start

2. HTTP Mode for Local/Server (Streamable HTTP / SSE)

# 启动 HTTP 服务,监听 0.0.0.0:3000
node src/main.ts --http --host 0.0.0.0 --port 3000

Service-ready endpoint: http://127.0.0.1:3000/mcp (supports JSON-RPC and Server-Sent Events streaming).


🐳 Docker Deployment

# 构建镜像
docker build -t skill-mcp:latest .

# 后台运行容器(数据持久化挂载)
docker run -d \
  -p 3000:3000 \
  --name skill-mcp \
  -v $(pwd)/data:/app/data \
  skill-mcp:latest

🔌 Client Configuration Example

Claude Desktop (claude_desktop_config.json)

Local process mode (Stdio):

{
  "mcpServers": {
    "skill-mcp": {
      "command": "node",
      "args": ["/path/to/Skill-mcp/src/main.ts"]
    }
  }
}

Remote server mode (HTTP):

{
  "mcpServers": {
    "remote-skill-mcp": {
      "url": "http://your-server-ip:3000/mcp"
    }
  }
}

🛡️ Built-in Rule Skills Ecosystem (Built-in Rule Skills)

Currently built in with 13 top-level cognitive and engineering gatekeeper rule sets:

  • 🌟 Git Commit Convention: dev:git-conventional-commits

  • 🌟 Type-safety defense: dev:typescript-strict-guard

  • 🌟 Code naming gate: dev:cleaning-naming-conventions

  • 🌟 Code security review: dev:code-review-guard

  • 🌟 SOLID architecture principles: arch:clean-code-solid

  • 🌟 Enterprise-grade RESTful design: web:restful-api-standard

  • 🌟 Modern Web aesthetics: design:modern-ui-aesthetics

  • 🌟 Chain-of-verification (CoVe): reasoning:chain-of-verification

  • 🌟 Dynamic thought chain: reasoning:sequential-thinking

  • 🌟 Toyota 5-Whys: reasoning:root-cause-5whys

  • 🌟 Devil’s Advocate (adversarial): reasoning:adversarial-critic

  • 🌟 First-principles reasoning: reasoning:first-principles

  • 🌟 Multi-criteria quantitative decision-making: reasoning:decision-tradeoff-matrix


📄 Open Source License

This project is open sourced under the MIT License.

Available Tools

9 tools
skill_feedbackA

报告执行结果与评分,驱动 bandit/Elo 排名与备选检索(学习闭环;会覆盖同一次 skill_run 的自动记账,不重复计数)。

ParametersJSON Schema
NameRequiredDescriptionDefault
taskNo
runIdNoskill_run 返回的 runId;缺省时自动关联最近一次同 skill 的执行
skillYes
ratingNo
outcomeYes
beatenByNo
costCentsNo
latencyMsNo
workflowIdNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

没有 annotations,描述承担了行为披露责任:它明确说明会覆盖同一 skill_run 的自动记账,且不重复计数,还说明会影响 bandit/Elo 排名与备选检索。这比“提交反馈”这类模糊表达透明得多,但未提权限、失败条件或响应行为。

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

一句话就传达执行目的、学习影响、覆盖语义和不重复策略,信息密度高且没有冗余。括号内的副作用说明是对主要用途的必要补充,而不是堆砌。

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

工具用途和最重要的副作用都已覆盖,但 9 个参数的实际取值范围和含义仍依赖 schema,而 schema 覆盖又很低;无输出 schema、无 annotations,描述也缺少对如 rating 刻度和 beatenBy 委托等字段的解释。整体可执行,但有关参数语义的缺口明显。

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

schema 覆盖率只有 11%,描述也没有对 skill、outcome、rating、costCents、latencyMs 等参数做补充说明。描述中的“结果与评分”和“覆盖自动记账”只能间接关联到 outcomlights/rating/cost/latency,无法弥补 9 个参数中 8 个缺少描述的问题。

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

描述以“报告执行结果与评分”这个具体动词+对象开头,并说明它“驱动 bandit/Elo 排名与备选检索”,清楚定义了工具的核心职责。它与 skill_run、skill_search 等兄弟工具区分明显,不是对工具名的同义重复。

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

描述通过“学习闭环”和“覆盖同一次 skill_run 的自动记账”暗示了应在 skill_run 之后用于提交反馈,并明确说明不会重复计数。虽然没有逐个对照兄弟工具给出 when-not-to-use,但已给出足够的调用时机与副作用边界。

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_getC

获取 skill 的完整包:manifest + SKILL.md 正文 + 文件清单 + 已解析依赖(渐进披露的正文环节)。

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNo
nameNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Because there are no annotations, the description carries the behavioral disclosure burden. It discloses the shape of the returned package and hints at a progressive-disclosure stage, which is useful. However, it does not explicitly state read-only behavior, possible side effects, output truncation, or failure modes; the verb implies retrieval but the behavioral story is incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the primary action and immediately enumerates the package components. Every item adds information, and there's no wasted prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two optional undocumented parameters and no output schema, the description should explain how to choose the skill, how the response is shaped, and what the 'progressive disclosure' stage means in practice. The description lists contents, but it leaves the invocation context and return semantics incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has two parameters, key and name, but zero description coverage for both, and the description says nothing about how these parameters identify the skill or whether one, both, or either is required. The description fails to compensate for the low schema coverage, leaving the agent without enough meaning to select parameters confidently.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('获取') and names the resource ('skill 的完整包') with a clear list of package contents: manifest, SKILL.md body, file list, and resolved dependencies. It is clear and useful, but it does not explicitly differentiate this tool from the sibling tools such as skill_inspect or skill_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use skill_get versus the other related tools (skill_inspect, skill_search, skill_run, etc.) and no mention of prerequisites or a step in a progressive disclosure flow beyond the parenthetical. There is no 'when to use this, when to use that' direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_inspectC

查看 skill 的 manifest、依赖树与权限清单(不含正文,成本低)。

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNokey 如 data:csv-stats@1.0.0,或 name 如 csv-stats
nameNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It does state that the content body is not included and that the operation is low-cost, which adds some context. However, it does not mention authorization, output format, side effects, or failure modes, leaving the agent to infer the tool's superficial behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler. It front-loads the verb and resource, and the parenthetical adds useful scope and cost information. A bit more structure would improve scannability, but the length is appropriate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and two optional-looking parameters, the description is not complete enough for confident invocation. An agent still needs to understand the required parameter combination, output shape, and fallback when both parameters are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50% because the 'name' parameter lacks a description, and the tool description does not compensate. The 'key' parameter has example formats, but the relationship between 'key' and 'name', whether either is required, and what happens if both are provided remain unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies what the tool does: inspect a skill's manifest, dependency tree, and permission list. It explicitly excludes the body ('不含正文'), which helps differentiate it from likely content-focused siblings like skill_get, though it doesn't name the alternative directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance about when to choose skill_inspect over sibling tools such as skill_search nor skill_get. '成本低' hints at lightweight use, but there are no stated conditions, exclusions, or alternative tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_planC

把任务规划成 skill 组合的 workflow DAG(分解-检索-组合;无 LLM 时用能力闭包图搜索)。

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYes
contextNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the burden. It does disclose meaningful behavior: the planning process follows deliberately decompose-retrieve-compose, and without an LLM it falls back to capability closure graph search. That is useful beyond the schema. It still omits information about side effects, whether the plan is stored or merely returned, and what happens in failure cases, so it is only partially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence with no filler. It front-loads the core action ('把任务规划成 skill 组合的 workflow DAG') and then adds relevant pipeline details in parentheses. The phrasing is somewhat dense and technical, but every part carries meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there is no output schema, no parameter descriptions, and a nested object parameter, this definition leaves significant gaps. It tells the agent the shape of the output in the abstract (a workflow DAG), but not the concrete return format, how to populate context, or how planning interacts with the sibling tools. An agent would likely need additional tool calls or documentation to invoke it safely and correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for both parameters. It only glosses the 'task' concept through the phrase '把任务规划成', and says nothing about the 'context' object, its expected structure, or its role in planning. The nested object parameter is completely unaddressed, leaving the agent to guess what context is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly names the verb-action (plan), the object (task), and the produced artifact (workflow DAG of skill combinations). It also reveals the high-level pipeline (decompose-retrieve-compose), giving the agent a concrete sense of what the tool does. However, it does not explicitly contrast itself with siblings like skill_search or workflow_run, so it earns a 4 rather than a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells what the tool does but not when the agent should pick it over alternatives. There is no mention of skill_search, skill_run, or workflow_run, and no exclusion criteria such as 'use workflow_run if the DAG already exists'. The mention of 'when no LLM is available' is an implementation condition, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_registerA

注册或升级 skill(append-only;v3:trust 模式需 Ed25519 签名,gate 模式下升级需自带 tests 过沙箱)。

ParametersJSON Schema
NameRequiredDescriptionDefault
filesNo
manifestYes
signatureNo发布者对包内容哈希的 Ed25519 签名(base64)
publisherKeyNo发布者 Ed25519 公钥(base64 SPKI DER)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It discloses append-only behavior and v3 mode-specific requirements, which are meaningful and likely safety-relevant. It does not describe return values or failure modes, but the disclosed constraints are more than adequate for selection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description is one compact sentence that conveys the operation, the append-only constraint, and the mode-specific signing/test requirements. There is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimally viable for selecting the tool, but with no output schema and no detailed manifest/files schema, an agent cannot fully infer return behavior or package structure. The v3 conditions are helpful, but important surrounding context is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents signature and publisherKey, and the description adds that signature is required in trust mode and tests are needed in gate mode. However, the manifest and files objects remain undocumented in both the schema and the description, leaving an obvious semantic gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (register/upgrade) and resource (skill), plus the key append-only invariant. This makes it clearly distinguishable from read/execution-oriented siblings like skill_search and skill_run.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly limits the tool to registration/upgrade and provides mode-specific guidance for trust vs gate modes. It does not explicitly name alternative tools, but the scope is specific enough that an agent can select this tool appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_runA

在权限沙箱中执行单个 skill。权限不足时返回 requiresApproval(两段式 HITL,approveAsks: true 授权后重试)。

ParametersJSON Schema
NameRequiredDescriptionDefault
taskNo
skillYes
inputsNo
timeoutMsNo
approveAsksNo
grantTokenIdNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

由于没有任何 annotations,描述承担了行为透明度的主要责任。它明确披露了权限沙箱、requiresApproval 返回、两段式 HITL 以及 approveAsks: true 授权后重试的机制,这些是关键的运行时行为。但它没有具体说明成功时的输出结构、错误码、超时行为或副作用,所以未到满分。

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

一句话完成了“产在哪里执行 + 权限异常路径提示”两部分信息,没有冗余。信息前置,后续补充授权重试条件,结构紧凑,每个短语都有实际价值。

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

该工具没有 annotations 或 output_schema,描述必须承担完整的路由和调用指引责任。虽然核心用途和 HITL 流程是清晰的,但成功/失败返回格式、inputs 对象的约定、timeoutMs 语义、grantTokenId 的用途都没有覆盖,agent 在真实调用时仍面临多个空白。

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

输入 schema 有 6 个参数,而 schema_description_coverage 为 0%;描述只解释了 approveAsks 的含义,帮助 agent 理解 HITL 重试,但 task、inputs、timeoutMs、grantTokenId 等其余参数均未获得说明。由于 schema 本身没有字段注释,描述必须登记大部分参数语义,当前明显不足。

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

描述用明确的动词“执行”和资源“单个 skill”概括了工具用途,并用“权限沙箱”限定了执行环境。这与 skill_search、skill_inspect 等检视类兄弟工具形成清晰区分。

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

描述强调了“单个 skill”的语义,从而暗示与 workflow_run 等多 skill 编排工具的差别,但没有显式说明何时应该用这个工具、何时不应使用。缺少对兄弟工具的明确排他指引。

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skill_statsA

查看 skill 的评价指标:成功率(Wilson)、Elo、质量分、延迟成本,以及挖掘出的 workflow recipe。

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the burden of behavioral disclosure. It clearly describes the action as read-only ('查看') and lists what the tool returns, including an extracted workflow recipe. It would benefit from caveats about whether stats require existing run/feedback data, but the core behavior is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one focused sentence and every phrase adds information about the tool's purpose or output. There is no filler, repetition, or unnecessary explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no annotations, no output schema, an undocumented parameter, and no usage caveats. The description tells the agent what the tool reports but not how to identify the skill or whether the key is required, making confident invocation difficult.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes a single 'key' parameter with no explanation, and the description never mentions the parameter, its format, its purpose, or how it should identify a skill. With 0% schema description coverage, the description does almost nothing to help an agent construct a valid invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('查看' / view), a specific resource (skill stats), and enumerates the exact metrics reported: Wilson success rate, Elo, quality score, latency cost, and workflow recipe. This clearly separates it from siblings like skill_get, skill_inspect, or skill_run.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit statement of when to prefer this tool over siblings such as skill_get or skill_inspect. The usage is only implied: use it when you need skill evaluation metrics rather than skill content or execution.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

workflow_runB

执行 skill_plan 产出的 DAG:拓扑序数据流、重试、检查点、整链授权。

ParametersJSON Schema
NameRequiredDescriptionDefault
dagYes
taskNo
inputsNo
approveAsksNo
grantTokenIdNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses meaningful execution behavior: topological ordering, retries, checkpoints, and chain-wide authorization. However, it does not mention side effects, required permissions, failure modes, or what happens after execution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loads the core purpose: executing a DAG. Every phrase—topological data flow, retries, checkpoints, authorization—adds distinct value without filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a moderately complex tool with 5 parameters, no output schema, and no annotations, but the description does not explain the optional parameters or return/result behavior. The core DAG-execution context is present, but the agent would still need to infer how 'approveAsks' and 'grantTokenId' work.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only clarifies 'dag'. The optional parameters 'task', 'inputs', 'approveAsks', and 'grantTokenId' are left unexplained; the '整链授权' phrase implicitly relates to authorization parameters, but not explicitly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific verb (执行/execute) and resource (the DAG produced by skill_plan), which clearly separates it from the skill_* siblings. It also names key behaviors of the operation, though it does not explicitly contrast it with skill_run.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly implies the usage context: after skill_plan has produced a DAG, this tool runs it. It does not explicitly list when-not-to-use or name alternatives, so it lacks the strongest routing guidance, but the context is unambiguous enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv0.1.0
    • First observedskill_feedback
    • First observedskill_get
    • First observedskill_inspect
    • First observedskill_plan
    • First observedskill_register
    • First observedskill_run
    • First observedskill_search
    • First observedskill_stats
    • First observedworkflow_run

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation5/5

每个工具对应一个明确的职责阶段:搜索、查看元信息、获取全文、规划、执行单技能、执行工作流、反馈、注册、查看统计,彼此边界清晰。workflow_run 与 skill_run 通过单个体与 DAG 执行明确区分,不易产生误选。

Naming Consistency4/5

大多数工具遵循 skill_<action> 的模式,如 skill_search、skill_inspect、skill_register,具有较高的可预测性。但 workflow_run 没有使用 skill_ 前缀,且 skill_stats、skill_feedback 以名词而非动词结尾,存在少量风格不一致。

Tool Count5/5

9 个工具覆盖了从发现、规划、执行到反馈、学习、注册、查询的完整闭环,每个工具都有独立且必要的职责。数量处于合理区间,没有冗余或缺失。

Completeness5/5

工具面覆盖了 skill 的生命周期:注册/升级、检索、检查、获取、单技能执行、工作流执行、反馈学习、统计评估。缺少删除/下架属于 append-only 设计下的有意限制,不构成明显缺口。

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides dynamic, context-aware code assistant skills through hybrid RAG (vector + knowledge graph), enabling runtime skill discovery, automatic toolchain-based recommendations, and on-demand loading from multiple git repositories.
    20
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to intelligently match tasks to skills through semantic embeddings, track skill effectiveness, detect skill gaps, and discover new skills from external sources.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables coding agents to search, recommend, and validate a stack of reusable skills from a local catalog, producing deterministic plans without modifying the project.
    6,708 npm
    1
    MIT