Token导航 LogoToken导航TokenDH.com
Claude Plugins Validation logo
安全风控stdio官方级别未说明来源级核验

Claude Plugins Validation

MCP Server

用于本地验证Claude Code插件正确性、安全性和发布准备状态的离线验证工具套件,支持20种专项检查与190+验证规则

工具数

0

提示词数

0

GitHub Stars

3

资源数

0
安全PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Emasoft

提供方

Emasoft

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx --from git+https://github.com/Emasoft/claude-plugins-validation --with pyyaml \

详细介绍

Claude插件验证(CPV)

Tests Validation License

检查您的Claude Code插件是否正确、安全,是否可以发布,而无需花费任何令牌。

CPV是一套Python脚本,用于在您的计算机上本地分析Claude Code插件。每一次检查都是离线运行的,可以立即产生结果,而且不需要任何费用。无需人工智能调用,无需API密钥,无需云服务。

使用CPV的两种方法。选择适合您工作流程的选项:

独立(通过uvx)插件(位于Claude代码内部)
什么从终端运行验证脚本在Claude Code中获取斜线命令、AI代理和管理工具
安装无需安装——即时运行作为Claude Code插件安装一次
最适合快速一次性检查、CI/CD管道、自动化日常开发、插件管理、人工智能辅助修复
跳转到第1部分:独立验证第2部分:克劳德代码插件

______________________________________________________________________

目录

- Claude代码文档

- 入门指南 - 可用脚本 - 选项 - 阅读结果

- 安装 - AI代理——主界面 - 斜杠命令

______________________________________________________________________

CPV检查什么?

CPV运行 20名专业验证者 覆盖 190+条规则 在Claude Code插件的每个部分(17个插件验证器+3个市场/设置验证器):

区域CPV捕获的示例
结构失踪 plugin.json,目录布局错误,缺少所需文件
钩子事件名称无效、脚本路径损坏、shell命令不安全
技能描述不佳,无法触发,缺少部分,文件太大
安全硬编码秘密、路径遍历、命令注入、提示注入
兼容性Windows/MOSC/Linux路径问题、编码问题、引用中断
质量缺少文档、没有许可证、版本不一致、死链接
v2.1.80+插件功能Monitor 工具, userConfig (5类白名单+必填 title/type), channels (服务器交叉引用), CLAUDE_PLUGIN_OPTION_ env-vars,内联市场 settings.json, managed-settings.d/ 插件技能 name 字段(v2.1.98)--完整参考: skills/create-plugin/references/v2-1-80-features.md
经验加载错误 *(v2.23.0+)*CC插件加载器中的无声故障模式 claude plugin validate 无法捕捉——见下文

经验插件加载漏洞CPV捕获

通过对Claude Code的插件加载器进行广泛的实证测试(2026年4月),CPV确定了官方文档隐藏的五种无声故障模式和CC自己的故障模式 claude plugin validate 未检测到。CPV捕获了所有五个:

  1. agents 带有文件夹路径的字段 --CC以隐晦的方式拒绝 agents: Invalid input。如果跳过验证,则代理将在运行时自动删除。CPV发出MAJOR,具有有用的修复配方(.md 仅文件路径)。官方文档自己的完整模式示例显示 "./custom/agents/" 不正确。
  2. hooks: "./hooks/hooks.json" 级联 --将覆盖指向自动发现的默认文件会自动通过验证,但在运行时CC会发出 Duplicate hooks file detected禁用插件的MCP服务器 随着 error type: hook-load-failed.CPV发射MAJOR。
  3. MCP跨源服务器名称冲突 --两者中的服务器名称相同 .mcp.json 和内联 plugin.json:mcpServers 导致无声的内联赢得阴影;这 .mcp.json 声明在没有警告的情况下被删除。CPV每次复制都会发出MAJOR。
  4. LSP跨源服务器名称冲突 --LSP服务器同样存在无声阴影风险。CPV每次复制都会发出MAJOR。
  5. mcpServers: "./.mcp.json" 冗余 --将覆盖指向自动发现的默认文件。无害的单负载(没有级联式挂钩),但冗余且令人困惑。CPV发出轻微的轻推。

所有五条规则都有实证证据记录在 skills/fix-validation/references/empirical-loading-bugs.md (13个测试插件场景、调试日志摘录、运行时探测)。

跨市场依赖分配表(TRDD-20108ab7)

plugin.json 声明依赖关系 dependencies[i].marketplace Claude Code指向一个非声明插件所在的市场,在运行时使用 cross-marketplace 除非宿主 marketplace.json::allowCrossMarketplaceDependenciesOn array按名称列出目标市场。CPV在安装之前就抓住了这个主要问题,通过三种部署形状在磁盘上自动发现托管marketplace.json:

  • 布局C(插件中的市场) --插件自己的 .claude-plugin/marketplace.json
  • 布局B(嵌套单仓库) --家长 .claude-plugin/marketplace.json (步行至3层)
  • 缓存布局 — `~/.claude/plugins/cache//

/ (直系父母 marketplace.json`)

当自动发现找不到托管marketplace.json(独立插件克隆,CI中的新PR)时,CPV会发出INFO而不是MAJOR。通过 validate_plugin --marketplace-context PATH 强制使用特定的marketplace.json。规格: 插件依赖项.md:54-79.

所有进程内检查都作为纯Python运行——没有API调用,没有使用令牌,也没有向任何地方发送数据。

外部安全扫描程序(始终运行,仅可编程)

validate_security.py 编排 五台外部扫描仪 以及其进程内规则包。每次扫描时,每个都会无条件调用,当其源二进制文件无法在PATH上解析或无法从其源URL安装时,会自动跳过INFO咨询 无退出标志 --防止呼叫者意外地使覆盖静音。这 enable_* 关键字参数 validate_security() 仅作为测试隔离旋钮存活。

#扫描仪来源它添加了什么分辨率路径
16cc审计Ryo ebata/cc aedit为Claude Code插件量身定制的100+AI特定威胁规则持久 cc-audit (首选-- npm install -g @cc-audit/cc-audit) → npx --yes @cc-audit/cc-audit 回退
17提里斯sheeki03/轮胎终端安全、同形词域、ANSI/bidi/零宽度注入、隐藏Unicode、供应链管道到外壳PATH→ 码头工人→ nix → 自动安装(pipx/brew/npm/cargo);集 CPV_NO_TIRITH_INSTALL=1 禁用安装回退
18松露松露安全约700个经过验证的秘密检测器(Stripe、Slack、AWS、GitHub等)——与 --concurrency=cpu_count 用于并行扫描brew install trufflehoggo install github.com/trufflesecurity/trufflehog/v3@latest
19语义扫描semgrep/semgrep通过 p/security-auditp/secrets 规则包brew install semgreppipx install semgrep
20思科AI防御技能扫描仪思科人工智能防御/技能扫描器静态(YAML+YARA)、字节码、管道(命令污染)、行为(AST数据流)、触发器(模糊描述)-程序开启模式(无LLM/Meta/VirusTotal/AI防御云,所有这些都需要API密钥)持久 skill-scanner (首选-- uv tool install cisco-ai-skill-scanner) → uvx --from cisco-ai-skill-scanner skill-scanner 回退(设置 CPV_CISCO_SCAN_TIMEOUT_S= 覆盖600s默认值)

v2.48--已删除gitleaks。 trufflehog(约700个探测器 --concurrency 并行扫描支持)提供超集覆盖。gitleaks运送了约150个探测器,但在可靠的并行扫描下崩溃,因此已从外部扫描仪名单中退役。

v2.48-- cpv-doctor --install-scanners. 新的批处理安装程序通过一个命令(静默和幂等)获取CPV使用的每个扫描仪。它还安装 fclones (丙氧基/氟喹诺酮类),一个基于Rust的重复文件查找器,用作每次CPV扫描的第一步,以跳过重复文件(跨插件共享的README、供应商提供的库、相同的SKILL.md模板)。每个平台级联:macOS= brew install fclones,Linux= snap install fclones 然后 cargo install fclones,Windows=GitHub发布下载 cargo install fclones.根据工具选择退出: CPV_NO__INSTALL=1 (例如。 CPV_NO_FCLONES_INSTALL=1).

v2.48-- cpv-doctor --prune-old-versions. 释放累积的磁盘空间 claude plugin update 不会删除旧版本。两阶段用户体验: --prune-dry-run 预览; --prune-old-versions 实际上删除。始终保持活动版本(以Claude Code在中引用的版本为准 enabledPlugins). --prune-keep N 每个插件保留N个最新版本(默认值1)。

v2.48——URL/归档摄取+松散模式。 position参数现在接受:

  • GitHub网址: https://github.com/owner/repo 或速记 github:owner/repo --克隆与 gh repo clone --depth 1 扫描到tmpdir,然后自动清理。
  • 地方档案: *.zip, *.tar.gz, *.tgz, *.tar.bz2, *.tar.xz, *.tar --提取到tmpdir(具有路径遍历保护),扫描,清理。
  • 宽松模式 对于扁平技能包: --loose (别名 --bare-folder)绕过 .claude-plugin/ 前提条件。CPV自动检测扁平包装(5+ *.md 文件,否 plugin.json,没有规范 skills//SKILL.md 布局)并打印HINT推荐 --loose 在错误消息中。

v2.48--使用dedup扫描一次市场树。 --marketplace 现在将每个插件放在一个tmpdir下,运行 fclones 在整个语料库上删除一次重复的硬链接(缓存不变——硬链接安全地共享索引节点),然后扫描每个插件的重复数据删除暂存。对规范文件的发现会自动传播到最初包含相同内容副本的对等插件(去重没有覆盖漏洞)。现实世界:ai maestro插件(10个插件)每次扫描可保存约1849个重复文件/约21 MB。

v2.48-- cpv-main-menu. 单个交互式入口点通过嵌套的AskUserQuestion子菜单(验证/GitHub/修复/创建/管理/GitHub设置/语义/帮助)路由每个CPV命令。每个菜单/子菜单都包含一个取消/退出选项。当您不记得要直接调用哪个斜线命令时,请使用此选项。

每个外部扫描仪的结果都通过相同的自扫描过滤器链进行路由,CPV适用于自己的规则(cpv_self_scan_skip → 卖方付款→ 开发划痕→ 测试文件→ FP语料库标记→ 每行目录/docstring/注释模式源谓词)。这保证了使用CPV扫描CPV——或扫描任何附带自己的规则目录的插件——永远不会将目录源作为发现。然后,聚合器将所有发现按以下方式分组 (level, rule_id) 因此,每个漏洞类型只显示一次完整的解释,然后是发生次数和上限文件:行列表——有限制的报告大小,没有发现会被默默地删除。

Claude代码文档

CPV根据官方的Claude Code规范验证插件。如果你正在构建一个插件,以下是关键参考:

______________________________________________________________________

第1部分:独立验证(通过uvx)

无需安装。 只需运行命令并将其指向您的插件文件夹即可。

入门指南

你需要 紫外线 安装。然后:

# Validate a plugin (runs all 20 checks + linting)
uvx --from git+https://github.com/Emasoft/claude-plugins-validation --with pyyaml \
    cpv-remote-validate validate_plugin /path/to/your-plugin

就这样 uvx 将CPV临时下载到隔离环境中,在完全环境隔离的情况下运行验证(目标插件的本地配置不能干扰),并显示结果。没有什么是永久安装的。

--with pyyaml 标志确保YAML解析器依赖关系可用。

远程启动器

cpv-remote-validate 是验证外部插件的推荐方法。它用环境隔离封装任何CPV脚本,以便目标插件的本地文件(pyproject.toml, .mypy.ini过时的模块副本)不能干扰验证。

# Full plugin validation (short alias)
uvx --from git+https://github.com/Emasoft/claude-plugins-validation --with pyyaml \
    cpv-remote-validate plugin /path/to/plugin

# Save a report to a file
uvx --from git+https://github.com/Emasoft/claude-plugins-validation --with pyyaml \
    cpv-remote-validate plugin /path/to/plugin -o report.md

# Validate a single skill with strict mode
uvx --from git+https://github.com/Emasoft/claude-plugins-validation --with pyyaml \
    cpv-remote-validate skill /path/to/skill --strict

# Security scan
uvx --from git+https://github.com/Emasoft/claude-plugins-validation --with pyyaml \
    cpv-remote-validate security /path/to/plugin

# Show help and all available commands
uvx --from git+https://github.com/Emasoft/claude-plugins-validation --with pyyaml \
    cpv-remote-validate --help

# From the CPV plugin cache (inside Claude Code):
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/remote_validation.py" plugin /path/to/plugin
提示: 创建shell别名以缩短命令: ``bash alias cpv='uvx --from git+https://github.com/Emasoft/claude-plugins-validation --with pyyaml cpv-remote-validate' ` 那么,只需: cpv plugin /path/to/plugincpv skill /path/to/skill --strict`

可用脚本

其中任何一个都可以作为第一个参数传递给 cpv-remote-validate。短别名和完整脚本名称都有效。

命令它检查什么
plugin一切。 运行所有20个子验证器+linting。从这里开始。
skill技能。 SKILL.md封面,所需章节,描述质量。190多条规则。
hook胡克。 28种事件类型,5种钩子类型(包括v2.1.118)+ mcp_tool)、脚本路径、bash可移植性。
agent代理人。 前端字段、命名、工具、模型、技能。
command命令。 FrontPage、工具名称、参数、命名。
security安全。 注入、路径遍历、秘密、提示注入、渗透。v2.48:5个外部扫描仪+fclones交叉插件已删除。
cache快速缓存审核(v2.27.0+)。 CA-01..CA-06——动态占位符、钩子突变、模型分叉、无界输出。
telemetryOTEL遥测供应链风险。 插件环境中的otelHeadersHelper、OTEL_LOG_RAW_API_BODIES、OTEL_LOGO_USER_PROMPTS。
scoring质量分数。 在结构、文档、安全性和测试方面进行加权。
marketplace市场。 清单结构、插件条目、源代码引用。支持A/B/C布局
settings-marketplace设置中的内联市场。 确认 marketplaces Claude Code设置文件中嵌入的条目。
local-scope本地范围。 (v2.21.0+)验证非git跟踪 .claude/ 项目下的元素-- settings.local.json、被忽视的代理/技能/命令/规则, enabledPlugins 从本地设置。每个被跟踪的元素都被传递给每个元素的FULL验证器。
project-scope项目范围。 (v2.21.0+)验证跟踪的git .claude/ 元素-- settings.json,跟踪代理/技能/命令/规则/钩子, .mcp.json, CLAUDE.md每个元件的管道深度相同。
enterprise企业。 作者、许可证、SPDX、关键字、元数据。
mcpMCP。 传输类型、必填字段、OAuth、路径。
lspLSP。 命令路径、语言ID、文件模式。
docs文档。 README部分、链接、图片。
encoding编码。 UTF-8、BOM、行尾、二进制检测。
rules规则。 rules/\*.md文件的结构和内容。
xref交叉引用。 代理参考、版本、脚本。
doctor健康检查。 插件、设置、市场。 --install-scanners (v2.48)使用一个命令安装所有5个外部扫描仪+fclones。
lint只有棉绒。 所有15种语言(Python、JS、Shell、Go、Rust等)。
standardize审核+修复。 根据CPV管道约定(CI/CD、hooks、publish.py)对插件进行标准化。

选项

这些标志适用于所有验证器:

Flag它做什么
--verbose-v显示所有结果,包括INFO和PASSED。同时展开报告文件正文。
--report PATH明确地将聚合报告写入PATH。
--json输出为JSON(用于脚本和CI/CD)。
--strict将NIT级别的问题也视为失败。
--marketplace-only跳过 plugin.json 要求(仅适用于市场分销)。
默认输出仅为路径。 没有 --json--report, validate_security.py 自动将聚合报告保存到 `$CLAUDE_PROJECT_DIR/reports/security/-

.md (或 $TMPDIR/reports/security/...CLAUDE_PROJECT_DIR 未设置,例如在遥控器上 uvx` 调用)和打印 将简洁的摘要(计数表+判决+插件路径+报告路径)发送到stdout。这保证了调用验证器的代理获得一个微小的、可预测的stdout有效负载,该负载永远不会淹没其上下文窗口。

外部扫描仪始终运行。 没有 --no-tirith / --no-trufflehog / --no-semgrep 选择退出标志。如果无法在PATH上解析其源二进制文件或无法从其源URL安装,则每个外部扫描仪都会自动跳过,并显示INFO提示。Set CPV_NO_TIRITH_INSTALL=1 在阻止容器拉取的CI沙箱中禁用tirith的自动安装回退;集 CPV_CISCO_SCAN_TIMEOUT_S= 覆盖非常大的树的600s默认值。看 外部安全扫描器 以上为完整库存。

阅读结果

严重级别

级别它意味着什么必须修复?
关键的插件损坏--无法正常工作
重大影响功能或安全的重大问题
次要的降低质量但不会损坏任何东西的小问题推荐
氮化风格挑剔或次要建议仅限 --strict 模式
警告值得审查的潜在问题
信息中立观察(例如,“找到3项技能”)
通过检查成功通过

退出代码

用于脚本和CI/CD管道:

退出代码含义
0所有检查均已通过
1发现关键问题
2发现重大问题
3发现轻微问题
4发现NIT问题(仅在 --strict 模式)

______________________________________________________________________

第2部分:克劳德代码插件

适用于Claude Code用户。 只需安装一次CPV,即可在Claude Code中直接获取斜线命令、AI代理和插件管理工具。

安装

有关完整的CLI命令参考,请参阅 官方人类学文档.

# Add the Emasoft marketplace (first time only)
claude plugin marketplace add emasoft-plugins --url https://github.com/Emasoft/emasoft-plugins

# Install CPV (--scope user = available in all your projects, recommended)
claude plugin install claude-plugins-validation@emasoft-plugins --scope user

# OR install for this project only (--scope local, gitignored)
claude plugin install claude-plugins-validation@emasoft-plugins --scope local

# IMPORTANT: Restart Claude Code after installing, or run /reload-plugins

管理插件

# Update to the latest version
claude plugin update claude-plugins-validation@emasoft-plugins --scope user

# Disable without removing
claude plugin disable claude-plugins-validation@emasoft-plugins --scope user

# Re-enable
claude plugin enable claude-plugins-validation@emasoft-plugins --scope user

# Uninstall completely
claude plugin uninstall claude-plugins-validation@emasoft-plugins --scope user

# Uninstall but keep persistent data
claude plugin uninstall claude-plugins-validation@emasoft-plugins --scope user --keep-data

替换 --scope user 随着 --scope local--scope project 取决于您安装它的位置:

范围设置文件谁可以使用它
user~/.claude/settings.json您,在所有项目中(默认)
project.claude/settings.json所有克隆回购的人
local.claude/settings.local.json你,只在这个项目中(gitignored)

发展: claude --plugin-dir ./claude-plugins-validation

AI代理——主界面

当用作Claude Code插件时, 代理是与CPV交互的主要方式每个代理都是一个专门的人工智能助手,它知道要运行哪些脚本,要咨询哪些技能,以及如何指导你完成整个过程。只要告诉克劳德你需要什么,合适的经纪人就会接管。

代理它做什么想什么时候问它
插件验证器运行验证脚本并返回严重性报告“验证我的插件”,“检查是否已准备好发布”
技能验证代理专业技能验证(基础、严格、OpenSpec、支柱)“验证此技能”,“检查我的技能.md”
插件修复程序修复 插件 验证错误(机械错误修复)“修复我的插件中的验证错误”,“修复此plugin.json报告”
市场协调者修复 市场 验证错误 *和* 在布局A和布局B之间运行交互式架构迁移“修复市场错误”,“将我的市场迁移到嵌套布局”
语义验证器深度人工智能质量分析——捕捉脚本无法捕捉的东西(见下文)“检查描述是否与技能实际匹配”
插件管理器完整的插件生命周期:安装、更新、启用、禁用、搜索、健康检查“安装插件”、“列出我的插件”和“运行医生”
插件创建者脚手架插件、市场、使用CI/CD发布到GitHub“创建新插件”、“发布到GitHub”、“设置市场”

每个代理在调用时都会显示一个菜单,询问您需要什么,并逐步指导您。您不需要记住命令名称或标志。

关注点分离:插件与市场

CPV治疗 插件市场 作为专用验证器、修复代理和错误索引的两个不同关注点。这避免了厨房水槽修复器的问题,即一个代理试图对单个插件进行推理 plugin.json 以及市场 marketplace.json +同时释放管道。

问题验证器修复代理错误索引
插件validate_plugin.py (编排器)+14个组件子验证器(钩子、技能、代理、命令、mcp、lsp、安全、评分、企业、文档、编码、规则、外部参照、基本技能)plugin-fixerskills/fix-validation/references/plugin-error-index.md
市场validate_marketplace.py, validate_marketplace_pipeline.py, validate_settings_marketplace.pymarketplace-fixerskills/fix-validation/references/marketplace-error-index.md

机械修复与架构迁移。fix-validationfix-marketplace-validation 技能做 每次错误的机械修复 --一个规则,一个修复,最少的用户输入。分开的 migrate-marketplace-architecture 技能(由加载 marketplace-fixer)确实如此 交互式建筑转换 与广泛 AskUserQuestion 提示:它引导您完成将布局a中心辐射市场转换为布局B嵌套单仓库市场的过程,反之亦然,包括发布管道、CI和CHANGELOG重组。

支持的市场布局

CPV验证并支持两种市场布局——两者都是一流的:

布局形状何时使用
布局A——轮毂和辐条一个引用插件的市场仓库 独立的GitHub仓库 (每个插件一个仓库)。多个作者、来自不同组织的插件、具有独立发布节奏的插件。
布局B——嵌套单仓库一个包含以下内容的市场回购 将其所有插件作为子目录,具有单一作者和完整的CPV发布规则: publish.py, cliff.toml, CHANGELOG.md,CI,单版本颠簸。单作者,原子跨插件发布,统一CI管道。

完整的布局规范和决策标准: skills/create-plugin/references/marketplace-layouts.md.

脚本验证与语义验证

CPV有两个验证层:

脚本验证语义验证
如何Python脚本检查结构、语法、类型、交叉引用AI代理(Opus)读取文件并评估实际内容
成本零令牌——在本地运行,即时结果~10-50倍的成本——使用1M上下文的Opus
捕获缺少文件、错误类型、断开路径、编码、安全模式描述错误、说明不清楚、缺少检查点、不切实际的示例、没有退出条件的工作流程
覆盖~95%的真实问题剩下的~5%只有读者才能理解
总是。先运行这个。只有当脚本验证顺利通过,但仍然感觉有问题时。

语义验证器总是警告成本,并在运行前要求确认。在大多数情况下,您只需要脚本验证。

条件支柱——通道MCP服务器源代码安全

/cpv-semantic-validation 自动激活 通道源安全 当目标插件的 plugin.json 声明非空 channels 阵列(克劳德代码v2.1.80+研究预览频道)。该支柱读取MCP服务器入口点源代码(Types/JavaScript/Python),并根据 channels-reference.md --没有语法验证器可以执行的检查。

确定性预过滤器(scripts/cpv_channel_source_predicate.py)限制了LLM的阅读,并使不附带频道的插件的支柱完全短路——零opus令牌花费。看 skills/semantic-validation-skill/references/channel-source-security.md 对于四个规则(关键:无发件人门控,关键:无门控的权限中继能力,主要:仅限聊天ID门控,通过:完全门控)。

斜杠命令

22个命令——13个直接运行脚本(零AI令牌),7个生成代理,2个是专门的实用程序脚本。

脚本命令(免费——无AI标记)

命令它做什么
`/cpv-validate-plugin
`完全验证 --运行所有20个子验证器
`/cpv-validate-skill
`技能验证(190+条规则)
`/cpv-validate-cache
`缓存审核 --跑步 validate_cache.py 针对插件或项目根。捕获六个记录在案的Anthropic提示缓存无效模式(CA-01.CA-06),这些模式使API每转成本增加5-10倍。默认输出仅为路径。看 上面的缓存部分 为了上下文,以及 commands/cpv-validate-cache.md 用于按规则参考。
/cpv-validate-github-plugin 无需安装即可验证GitHub插件
/cpv-validate-github-marketplace 无需注册即可验证GitHub市场
`/cpv-validate-project-scope
`验证项目下的git tracked(项目范围)Claude Code配置: .claude/settings.json, .mcp.json、代理人、技能、命令、规则、, CLAUDE.md,跟踪钩子/mcp/lsp子树。 v2.21.0+: 现在,每个被跟踪的元素都运行每个元素的完整验证器管道(与 cpv-validate-plugin).拒绝 autoMemoryDirectory,仅管理密钥、env中的秘密、绝对主路径。
`/cpv-validate-local-scope
`在项目下验证非git跟踪(本地范围)的Claude Code配置: .claude/settings.local.json, CLAUDE.local.md,根据项目MCP状态,识别代理/技能/命令/规则 ~/.claude.json,以及本地启用的插件 enabledPlugins. v2.21.0+: 即使在未追踪的内容上,每个元素的深度管道也会运行;绝对路径规则保持宽松(个人路径正常),但仅管理/全局配置键仍被拒绝。
/cpv-doctor健康检查已安装的插件、设置、市场
/cpv-list-plugins列出已安装的插件及其版本和状态
`/cpv-bump-version
`Bump插件版本+运行完整的发布管道(TRDD-bbff5bc5: publish.py --patch/--minor/--major)
/cpv-setup-branch-rules 创建/更新GitHub规则集,强制CI作为所需的状态检查(服务器端门——幂等,自动检测插件与市场,保留现有的机器人绕过参与者)
/cpv-setup-branch-rules-generic --check "job-name"与项目无关的变体,适用于任何GitHub仓库(而不仅仅是CPV插件)。需要明确 --check 上下文,没有硬编码的默认值。也可用作 uvx branch-rules-install 用于无需本地安装的一次性调用。 纯Python实现——在Linux、macOS和Windows上工作相同(bash变体在v2.65.2中被删除,使CPV完全跨平台)。
/cpv-version显示CPV版本
`/cpv-strip-dev-parts
--dry-run`第二阶段(v2.52.0+)。 移动仅限开发人员的工件(默认值: tests/)到每个插件的git子模块。PSS模式——为具有重型夹具树的插件节省了安装大小。始终预览 --dry-run 之前 --auto。状态机恢复崩溃的运行。
`/cpv-refresh-readme
`第5阶段(v2.57.0+)。 自动刷新 ` 从文件系统中获取插件README中的块。 --check` 如果README更改(CI门),则模式退出1。
`/cpv-add-component
--type ... --name ...`第10阶段(v2.61.0+)。 在现有插件中添加新技能/agent/command/hook/mcp,而无需重新运行生成器。Stubs包括传递validate_plugin的有效frontmatter。
`/cpv-migrate-marketplace
`第2.6阶段(v2.59.0+)。 规范化现有的marketplace.json:转换 source.url → 规范的 source.repo 表格,通过以下方式探索每个条目的真实性 gh api (重试包装),表面404死repos。原子写入。

代理命令(交互式——使用AI令牌)

命令代理它的作用
/cpv-validate插件验证器交互式:询问要验证什么,运行正确的脚本
/cpv-manage插件管理器交互式:安装、更新、启用、禁用、搜索、医生
/cpv-create插件创建者交互式:创建插件、市场、发布到GitHub
/cpv-fix-validation 插件修复程序修复 插件 报告中的验证问题
/cpv-fix-marketplace-validation 市场修复程序修复 市场 验证问题和运行架构迁移
`/cpv-cache-optimize
[--broader]`缓存优化器代理缓存感知优化器。 运行完整验证→ fix → 重新验证提示缓存规则的循环(CA-01..CA-06)。随着 --broader,还对插件的技能/代理/命令执行缓存感知重构/ CLAUDE.md /rules——适用于任何使用Claude Code的项目,而不仅仅是插件。每个材料重构都通过以下方式获得批准 AskUserQuestion 在编辑着陆之前。
`/cpv-semantic-validation
`语义验证器深度人工智能质量分析(Opus,昂贵,明确选择加入)

专用实用程序命令

命令它做什么
`/cpv-link-plugin
`将本地插件目录链接到Claude Code进行实时开发
`/cpv-validate-settings-marketplace
`内联验证 marketplaces 设置文件中嵌入的条目

______________________________________________________________________

对于开发者

Project Overview

类别计数描述
验证脚本20Python验证器(15个插件+3个市场+2个范围),涵盖插件包、市场和最终用户 .claude/ 配置
管理脚本13插件生命周期、市场运营、脚手架
代理7人工智能驱动的验证、修复和管理
技能14验证、管理、发布、修复、迁移和自动通知工作流
命令2012个直接脚本+6个代理支持+2个专用实用程序命令
测试2056+覆盖所有模块

Validation Scripts

脚本目的
始终通过启动器调用验证器。 直接调用来自 插件缓存被拒绝 check_remote_execution_guard(). 使用 python "${CLAUDE_PLUGIN_ROOT}/scripts/remote_validation.py" . 看 规范启动器调用 在......下面 或 python "${CLAUDE_PLUGIN_ROOT}/scripts/remote_validation.py" --help 为了 完整的别名表。
脚本启动器别名目的
validate_plugin.pyplugin主编排器——运行所有20个子验证器
validate_skill_comprehensive.pyskill综合技能验证器(190+条规则)
validate_hook.pyhook钩子配置验证器(28个事件,5种类型)
validate_agent.pyagent代理定义验证器
validate_command.pycommand命令定义验证器
validate_mcp.pymcpMCP服务器配置验证器
validate_lsp.pylspLSP服务器配置验证器
validate_marketplace.pymarketplace市场清单验证器(A/B/C布局)
validate_marketplace_pipeline.pyvalidate_marketplace_pipeline市场发布管道验证器(publish.py、CI、CHANGELOG)
validate_settings_marketplace.pysettings-marketplace设置验证器中的内联市场
validate_security.pysecurity安全漏洞扫描程序(5个外部扫描程序+fclones已清除)
validate_cache.pycache提示缓存失效审核(CA-01..CA-06,v2.27.0+)
validate_telemetry.pytelemetryOTEL遥测供应链风险验证器
validate_scoring.pyscoring质量分数计算器
validate_enterprise.pyenterprise企业合规验证器
validate_documentation.pydocs文件质量检查员
validate_encoding.pyencoding文件编码验证器
validate_rules.pyrules规则目录验证器
validate_xref.pyxref交叉引用验证器
validate_local_scope.pylocal-scope本地范围 .claude/ 验证器(v2.21.0+)--非git跟踪设置/代理/技能/命令/规则+启用的插件
validate_project_scope.pyproject-scope项目范围 .claude/ 验证器(v2.21.0+)--git跟踪设置/代理/技能/命令/规则+跟踪钩子/mcp/lsp子树

Management Scripts

脚本目的
manage_plugin.py安装、卸载、更新、启用、禁用
manage_registry.py列出并搜索已安装的插件
manage_doctor.py健康检查和自动修复
manage_marketplace.py市场注册
manage_remote.py远程插件操作
manage_github_validate.py无需安装即可验证GitHub存储库
bump_version.py语义版本碰撞
cpv_management_common.py共享基础设施

Creation and Utility Scripts

脚本目的
generate_plugin_repo.py构建一个完整的插件库
generate_marketplace_repo.py搭建市场中心
standardize_plugin.py审核并修复插件仓库
standardize_marketplace.py审核并修复市场回购
cpv_lint_engine.pyRepo-wide lint引擎(15种语言,由调用 validate_plugin.py)
cpv_token_cost.py代币成本报告
smart_exec.py跨平台脚本执行器
cli.pyuvx/pip的CLI入口点

______________________________________________________________________

需求

必需

需求为什么如何安装
Python 3.12+所有验证脚本的运行时python.org 或您的操作系统包管理器
紫外线运行CPV脚本并管理依赖关系。提供 uvx 无需安装即可从GitHub运行CPV`curl -LsSf https://astral.sh/uv/install.sh \sh` (文档)
克劳德代码第2部分(插件使用)需要。第1部分(独立)不需要code.claude.com

CPV用途 uv 运行脚本(uv run),安装Python linters(ruff, mypy)当在本地找不到时(uvx),并管理虚拟环境。Python依赖关系,如 pyyaml 自动安装。

可选工具(增强棉绒)

CPV在中验证脚本 6种语言。对于每种语言,它首先尝试本地安装,然后 uvx/npx。如果没有找到过梁,CPV会报告缺失的内容并跳过该检查。

语言Linter如何安装
python (.py)ruff+mypy包括通过 uv --始终可用
外壳 (.sh、.bash)外壳检查brew install shellcheckshellcheck.net
JavaScript/TypeScript (.js、.ts)eslintnpm install -g eslint
PowerShell (.ps1)PSScriptAnalyzerpwsh -c 'Install-Module PSScriptAnalyzer -Scope CurrentUser'
(.go)兽医go.dev/dl
(Cargo.toml)货物检查rustup.rs

其他可选工具:

工具它支持什么如何安装
(GitHub CLI)远程插件/市场验证和发布brew install gh

任何验证都不需要API密钥、帐户或云服务。

故障排除

问题解决方案
uvx 找不到命令安装uv: `curl -LsSf https://astral.sh/uv/install.sh \sh`
安装后插件未加载重新启动Claude Code,然后运行 /cpv-doctor
导入错误运行 uv sync 在CPV目录中
关键/重大问题(退出1-2)必须修复——插件可能已损坏或不安全
次要问题(退出3)建议——方便时进行修复
NIT问题(出口4)仅适用于 --strict 模式--可选

许可证

MIT许可证——请参阅许可证文件。

作者

易玛软件(713559+Emasoft@users.noreply.github.com)

目录标签

目录标签

安全PythonClaude插件验证本地部署安全扫描离线工具Python脚本开发工具插件开发

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP