skill-maintenance-mcp
This server provides 5 MCP tools for safely maintaining agent skill directories: backing them up before edits, scanning for hidden corruption after writes, and recording/reading/validating decision history.
skill_backup — Copy skill directories to
~/.agents/skill-backups/<today>/before any revision; refuses to overwrite a same-day, same-name backup (snapshot semantics). Acceptsskill_names(required), optionalskills_rootandbackup_root; returns{ok, backup_root, backed_up, errors}.skill_scan_corruption — Scan files or whole skill directories (expanded via
SKILL.md,references/,templates/,scripts/,*.md) for hidden damage from interpreted JSON escape sequences: formfeed (\x0c), real tabs, and mid-line CR (CRLF endings are not flagged). Returns{files_scanned, clean, issues}with per-issue{file, line, kind, snippet}— locates problems by line only, does not auto-fix.skill_log_decision — Append a dated entry to a skill's
references/decision-log.md(creates it with a header if absent). Requires all four fields (diagnosis,revision,evidence,result) plusskill_pathandtitle; rejects incomplete entries.skill_read_decisions — Read the decision-log summary (list of entry titles) for a skill so agents review prior reasoning before revising and avoid repeating past mistakes.
skill_validate — One-shot health check combining frontmatter validation (
name/description/version), corruption scan, orphan-reference detection (references/*.mdnever linked fromSKILL.md), and decision-log summary.Supports the full maintenance workflow:
skill_backup → 修订 → skill_scan_corruption → skill_log_decision → skill_validate, optionally starting withskill_read_decisions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@skill-maintenance-mcpback up my skill-evolution directory before I edit it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SKILL MAINTENANCE MCP
修订前必备份 · 写入后必扫描 · 决策必留痕 · 定期体检
skill-maintenance-mcp 把 [skill-evolution] 技能的机械环节(备份 / 损坏扫描 / 决策日志 / 体检)固化成 5 个 MCP 工具。蒸馏、修剪等判断力环节仍在技能侧——本仓库只负责不会走样、不该被跳过的部分。已上架 MCP Registry。
⭐ 如果 skill-maintenance-mcp 对你有帮助,点个 Star 就是最大的支持
背景
skill-evolution 技能沉淀了一套技能维护方法论:修订前必备份、写入后必损坏扫描、决策留痕、定期体检。这些环节本身没有难度,难的是每次都不跳步。把它们固化成 MCP 工具之后:
agent 修订技能时的机械动作变成工具调用,不再依赖 prompt 纪律;
铁律由工具语义兜底(如同日同名备份拒绝覆盖,防止快照语义被静默破坏);
决策记录格式统一为四字段,未来 agent 修订前先读历史,不重复踩坑。
对应 skill-evolution 五步闭环:
工具 | 对应环节 | 一句话说明 |
| §7 改前备份 | cp 技能目录到 |
| §7 损坏扫描(铁律) | formfeed( |
| §2 决策历史 | 四字段(诊断/修订/证据/结果)追加 |
| §2 | 条目标题列表,修订前先看防重复踩坑 |
| §3/§4 体检 | frontmatter 必填 + 损坏扫描 + 孤儿 reference(未挂链=不可发现)+ decision-log 概要 |
Related MCP server: repo-health
🚀 快速开始
无需克隆仓库,uvx 直接运行(入口名 skill-maintenance-mcp,见 pyproject 的 [project.scripts]):
uvx skill-maintenance-mcpZCode 客户端注册(~/.zcode/cli/config.json → mcp.servers):
{
"mcp": {
"servers": {
"skill-maintenance": {
"command": "uvx",
"args": ["skill-maintenance-mcp"]
}
}
}
}从源码开发安装:
git clone https://github.com/mo9652962-ai/skill-maintenance-mcp
cd skill-maintenance-mcp
uv venv && uv pip install -e ".[dev]"
uv run pytest -q # 33 例;含对真实技能库的只读联动测试(无技能库环境自动 skip)📐 工具详解
以下参数表与 src/skill_maintenance_mcp/server.py 的实际工具签名一一核对,非文档虚构。「必填」指 MCP 调用时无默认值的参数。
skill_backup — 改前备份
把技能目录备份到 <backup_root>/<今天>/(skill-evolution 铁律:修订前必备份)。同日同名已存在时拒绝覆盖,如需重备份先手动挪走第一份。
参数 | 类型 | 必填 | 默认值 | 说明 |
|
| 是 | — | 技能目录名列表(如 |
|
| 否 |
| 技能库根目录(跨机器部署建议显式传入) |
|
| 否 |
| 备份目标根 |
返回 {ok, backup_root, backed_up, errors};ok=false 时 errors 内含逐技能原因(目录不存在 / 今日已有同名备份)。
skill_scan_corruption — 损坏扫描(铁律)
检测内容经 JSON 序列化写入时转义序列被解释造成的隐性损坏:formfeed(\x0c)、真 tab、行中 CR(CRLF 行尾的 \r 不算)。每次写入/修订技能文件后必跑(见下方铁律)。目录会按技能结构(SKILL.md、references/、templates/、scripts/、*.md)展开扫描。
参数 | 类型 | 必填 | 默认值 | 说明 |
|
| 是 | — | 文件或技能目录列表 |
|
| 否 |
| 传入相对路径时的根目录 |
返回 {files_scanned, clean, issues};每个 issue 为 {file, line, kind, snippet},kind ∈ formfeed / tab / mid-line-cr。clean=false 时按行号做字节级修复(参照 skill-evolution §7,工具只定位,不自动改)。
skill_log_decision — 追加决策记录
向 <skill_path>/references/decision-log.md 追加一条决策记录(无则创建含 # 决策日志 表头)。四字段缺失会拒绝——空壳决策不如不记。
参数 | 类型 | 必填 | 默认值 | 说明 |
|
| 是 | — | 技能目录绝对路径 |
|
| 是 | — | 一句话标题(自动加 |
|
| 是 | — | 诊断——技能在什么场景失效 |
|
| 是 | — | 修订——改了哪里 |
|
| 是 | — | 证据——评估/实测结果 |
|
| 是 | — | 结果——接受/拒绝 + 原因 |
成功返回 {ok: true, log_path, date, title};字段缺失返回 {ok: false, errors} 并指明缺哪些。
skill_read_decisions — 读取决策历史
读取 decision-log 概要(条目标题列表)。修订前先读,避免重复踩坑或推翻已有共识。
参数 | 类型 | 必填 | 默认值 | 说明 |
|
| 是 | — | 技能目录绝对路径 |
返回 {exists, entries, log_path?};entries 为各条目的 ## 日期 — 标题 行内容,日志不存在时 {exists: false, entries: []}。
skill_validate — 技能体检
一键体检:frontmatter 必填项(name / description / version)+ 损坏扫描 + 孤儿 reference(references/ 下的 .md 未在 SKILL.md 正文出现文件名 = 不可发现)+ decision-log 概要。
参数 | 类型 | 必填 | 默认值 | 说明 |
|
| 是 | — | 技能目录绝对路径 |
返回 {ok, skill, frontmatter, missing_frontmatter, orphan_references, corruption, decision_log};ok 为 false 时优先看 missing_frontmatter 与 corruption.issues。
📝 decision-log 四字段格式
skill_log_decision 写入 references/decision-log.md 的条目格式(记「为什么改」,让未来 agent 不重新推导):
## YYYY-MM-DD — 标题
- **诊断**:技能在什么场景失效
- **修订**:改了哪里
- **证据**:评估/实测结果
- **结果**:接受/拒绝 + 原因⚖️ 两条铁律
修订前必备份:动任何技能文件前先
skill_backup;备份目录是快照语义,工具会拒绝同日同名覆盖。每次写入/修订后必跑损坏扫描:技能文件多为 JSON 序列化落盘,转义被解释的 formfeed / 真 tab / 行中 CR 肉眼难辨,
skill_scan_corruption必须收尾。
🔁 推荐工作流(agent 修订技能时)
skill_backup → 修订 → skill_scan_corruption → skill_log_decision → skill_validate修订前可先 skill_read_decisions 看历史决策。
🧩 设计边界
不做自动字节修复:修复需要人工判断正确序列(skill-evolution §7 的修复是逐案例的),工具只定位到行号 + kind + snippet。
备份默认拒绝同日覆盖:改两次时手动挪走第一份,防止快照语义被静默破坏。
不引 yaml 依赖:frontmatter 用极简顶层
key: value解析,覆盖技能文件的常见写法。上游技能:
~/.agents/skills/skill-evolution/SKILL.md;骨架方法见mcp-server-craft技能。
📦 版本与变更
版本历史见 CHANGELOG.md(Keep a Changelog 格式 + 语义化版本)。
📄 许可证、安全与隐私 (License, Security & Privacy)
许可证:MIT License
安全政策:SECURITY.md
隐私保护:PRIVACY.md(零遥测、100% 本地运算)
📌 更多:作者仓库矩阵(墨题刷题机 / 第二大脑 / 安全三部曲 / 孵化线)
Available Tools
5 toolsskill_backupSkill BackupA
改前备份技能目录到 ~/.agents/skill-backups/<今天>/(skill-evolution 铁律: 修订前必备份)。
| Name | Required | Description | Default |
|---|---|---|---|
| backup_root | No | 备份目标根(默认 ~/.agents/skill-backups) | |
| skill_names | Yes | 技能目录名列表(如 ["esq-question-bank-import"]) | |
| skills_root | No | 技能库根目录 | C:/Users/31954/.agents/skills |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It states the action and destination path, but does not clarify whether backups overwrite existing copies, whether the operation is idempotent, how errors are handled, or whether the entire directory tree is copied. The output schema covers return values, but behavioral edge cases remain unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with a parenthetical rule. Every part earns its place: the operation, the destination pattern, and the mandatory timing are all stated without filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, 3-parameter tool with full schema coverage and an output schema, the description covers purpose, timing, and destination adequately. The only minor gap is richer behavioral detail about backup overwrite/idempotency, but the structured fields carry most of the remaining burden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters, including defaults and examples. The description adds the backup path convention but no additional per-parameter semantics, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('备份' / back up) and resource ('技能目录' / skill directories), plus the destination pattern '~/.agents/skill-backups/<今天>/'. It is clearly distinguishable from sibling tools like skill_scan_corruption, skill_log_decision, skill_read_decisions, and skill_validate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use it: before modification ('改前备份', '修订前必备份'), and frames this as an iron rule. There is no explicit when-not guidance or named alternative, but the timing condition is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skill_log_decisionSkill Log DecisionA
向技能的 references/decision-log.md 追加决策记录(四字段: 诊断/修订/证据/结果——记「为什么改」, 未来 agent 不重新踩坑)。
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | 一句话标题(自动加日期前缀) | |
| result | Yes | 结果——接受/拒绝 + 原因 | |
| evidence | Yes | 证据——评估/实测结果 | |
| revision | Yes | 修订——改了哪里 | |
| diagnosis | Yes | 诊断——技能在什么场景失效 | |
| skill_path | Yes | 技能目录绝对路径 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'Append' usefully signals an additive, non-destructive write to a specific file path, which is meaningful context. It does not state whether the file is created if absent, whether entries are deduplicated on repeat calls, or what permissions are required for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the verb and target file front-loaded, followed by a parenthetical that explains both the record structure and the reason the tool exists. Nothing is wasted and no padding is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers purpose, target artifact, and record shape. Remaining gaps are edge cases such as missing-file creation and duplicate handling, which matter for a write tool with no annotations but are secondary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters, including the four content fields. The description restates the four field names (diagnosis/revision/evidence/result) but adds no format, length, or content guidance beyond what the schema descriptions provide. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource: append a decision record to the skill's references/decision-log.md, and names the exact artifact and the four fields it contains. It is clearly distinguishable from the read-side sibling skill_read_decisions, though it never explicitly names that counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It conveys the underlying rationale (record 'why a change was made' so future agents don't repeat the mistake), which implies the appropriate moment to use it. However, there is no explicit when/when-not guidance and no reference to the read sibling skill_read_decisions, so routing relies on inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skill_read_decisionsSkill Read DecisionsB
读取技能 decision-log 概要(条目标题列表),修订前先看避免重复踩坑。
| Name | Required | Description | Default |
|---|---|---|---|
| skill_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the return shape (a summary of titles rather than full entries), but says nothing about permissions, scope of the log, or size limits. It is a safe read, which limits risk, but disclosure is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence, front-loaded with the action and resource, with the usage rationale appended. No wasted words, though the terseness contributes to the gaps noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and this is a simple read tool. Still, the one required parameter's expected value is never addressed, which leaves the definition under-complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never explains what skill_path should contain (a directory? a skill identifier? a file path?). With one undocumented required parameter and no compensating text, an agent must guess the expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: reading the skill decision-log summary, and clarifies the granularity (entry title list). It is distinguishable from the sibling skill_log_decision (which writes) by the read/revise framing, though it never names siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an implied usage condition — review before revising to avoid repeating past mistakes — which is useful context. However, it does not name alternatives (e.g., skill_log_decision for writing) or state when not to use it, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skill_scan_corruptionSkill Scan CorruptionA
技能文件损坏扫描(铁律: 每次写入/修订后必跑)。检测 formfeed(\x0c) / 真 tab / 行中 CR——JSON 序列化转义被解释的隐性损坏。
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes | 文件或技能目录列表(目录按 SKILL.md/references/templates/scripts 展开扫描) | |
| skills_root | No | 传入相对路径时的根目录 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It usefully discloses the concrete corruption targets being checked, which is real context beyond the schema, but it never states that the scan is read-only/non-mutating or what happens on findings—important traits for a tool an agent is told to run after every write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with no filler; the purpose is front-loaded and the mandatory-run rule plus the detection list follow immediately. Efficient, though the parenthetical iron-rule framing is slightly decorative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a scan tool with a full parameter schema and an output schema, the description covers what matters: what it does, the checks it performs, and when to invoke it. It only lacks the read-only/behavior-on-findings note, a minor gap given the existing structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both `paths` (directory expansion behavior) and `skills_root` (base for relative paths) are already documented in the schema. The description adds no parameter detail, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource (skill file corruption scan) and enumerates exactly which corruption classes it detects (formfeed, real tab, mid-line CR from JSON escape interpretation). It is clearly distinguishable from skill_backup/skill_log_decision, though it never contrasts itself with the closest sibling, skill_validate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit, strong trigger: 'iron rule — must run after every write/revision'. That tells the agent exactly when to invoke it. It stops short of stating when NOT to use it or how it relates to skill_validate, so no exclusions or alternatives are offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skill_validateSkill ValidateC
技能体检: frontmatter 必填(name/description/version)+ 损坏扫描 + 孤儿 reference(未挂链=不可发现)+ decision-log 概要。
| Name | Required | Description | Default |
|---|---|---|---|
| skill_path | Yes | 技能目录绝对路径 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It lists what is checked but never states whether the operation is read-only, whether it mutates or repairs anything, or what side effects occur. A diagnostic tool implies no mutation, but nothing in the text confirms it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the purpose and packs four distinct checks via separators, with zero filler. It is terse but every clause earns its place by naming a concrete check.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the checks are enumerated. What is missing is routing against the overlapping siblings, particularly skill_scan_corruption and the two decision-log tools, which the description neither differentiates from nor excludes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage ('技能目录绝对路径' / absolute path to the skill directory), so the schema already documents it fully. The description adds no syntax, format, or constraint detail beyond the schema, which is the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb (体检/validate) and enumerates the exact checks performed: required frontmatter fields, corruption scan, orphan references, and a decision-log summary. This tells the agent precisely what the tool inspects. However, it does not distinguish itself from skill_scan_corruption, which appears to cover one of the same checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance at all. With four siblings — skill_backup, skill_scan_corruption, skill_log_decision, skill_read_decisions — the agent must guess whether to call this aggregate validator or the narrower per-concern tools, especially since corruption scanning overlaps with skill_scan_corruption.
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.
5 tool updates
v0.1.0- First observed
skill_backup - First observed
skill_log_decision - First observed
skill_read_decisions - First observed
skill_scan_corruption - First observed
skill_validate
TDQS
Scored across 5 tools
Each tool targets a distinct maintenance action: backup, corruption scan, decision logging, decision reading, and aggregate validation. However, skill_validate explicitly includes corruption scanning and a decision-log summary, so an agent may wonder when to call it versus skill_scan_corruption or skill_read_decisions.
All names use a consistent skill_ prefix and snake_case, which is predictable. Minor deviations exist: skill_backup and skill_validate are verb-only, while others use verb_noun, and log_decision/read_decisions differ in number.
Five tools is well-scoped for skill maintenance. Each tool covers a specific, non-redundant part of the backup-scan-validate-log workflow.
The core maintenance loop is present, but backup lacks a corresponding restore or list-backups operation, and decision-log reading only returns a summary. These are notable gaps for a server explicitly concerned with safe skill revision.
Maintenance
Related MCP Connectors
Manage portable AI agent playbooks, Agent Skills, MCP configurations, personas, and memory.
Scans remote MCP servers for protocol, security, and TLS issues; exposes scan tools via MCP.
Governed AI agent skills — one library, distributed to devs and exposed to remote agents over MCP.
Discover and inspect public Runx skills before installing them. This read-only hosted MCP exposes search_skills and get_skill. The Apache-2.0 Rust runtime executes skills locally with scoped authority, approval gates and signed receipts. Docs: https://runx.ai/docs/mcp.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables users to validate MCP servers, skills, extensions, and packages for schema, security, functional, and semantic quality directly from their MCP client.MIT
- AlicenseNot gradedqualityCmaintenanceProvides read-only repository health scanning tools for drift detection, module reachability, prompt bloat, evidence calibration, and registration completeness, enabling agents to diagnose repositories via MCP.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables managing a canonical library of agent skills and MCP servers, syncing them across multiple development harnesses, and adding, importing, or configuring them through MCP tools.7 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to discover, search, retrieve, and read supporting files from a centrally published, versioned skill registry through four read-only MCP tools.1,505 npmMIT