关于 plugin-review
plugin-review 是用于插件质量审查的分级技能,会根据改动范围和插件依赖关系规划检查。适用于分支、合并请求和发布前审查,并可通过质量门禁输出结果。
主要功能
- 01按分支、PR 和发布设置审查层级
- 02依据 Git 改动识别受影响插件
- 03解析依赖并纳入相关插件
- 04生成检查矩阵与逐插件报告
- 05质量门禁区分警告与失败
适用场景
- 01快速检查分支中的插件改动
- 02合并前执行标准质量审查
- 03版本更新前审查所有插件
- 04在 CI/CD 中阻止未通过的质量门禁
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill plugin-review安装后在 Claude Code 中输入/plugin-review确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
modules/dependency-detection.mdtier-branch.mdtier-pr.mdtier-release.md详细介绍
插件评审
概述
根据依赖关系确定范围,对插件进行分级质量评审。
不适用场景
- 评审单个技能而非插件(使用
abstract:skills-eval) - 评审钩子(使用
abstract:hooks-eval) - 跨插件追踪
Skill()引用(使用abstract:skill-graph-audit)
分级
| 级别 | 触发条件 | 范围 | 深度 | 时长 |
|---|---|---|---|---|
| branch | 默认 | 受影响及相关插件 | 快速检查 | ~2 分钟 |
| pr | 合并前 | 受影响及相关插件 | 标准 | ~5 分钟 |
| release | 版本号更新前 | 每个插件 | 完整 | ~15 分钟 |
编排
- 检测范围:解析
--tier标志,根据 git diff 查找受影响的 插件,从docs/plugin-dependencies.json解析相关插件 - 规划:构建检查矩阵(级别 x 插件 x 角色)
- 执行:按级别定义运行检查
- 报告:输出每个插件的表格和汇总判定结果
范围检测
受影响的插件:通过 git diff main --name-only 筛选 plugins/*/。
相关插件:加载 docs/plugin-dependencies.json,
查询每个受影响插件的反向索引,查找依赖该插件的项目。将这些插件标记为“相关”(执行较轻量的检查)。
如果使用 --tier release,或无法获取 git diff,则将范围设为
所有插件。
模块加载
- 始终:此 SKILL.md(编排逻辑)
- branch 级别:加载
modules/tier-branch.md - pr 级别:先加载
modules/tier-branch.md,再加载modules/tier-pr.md - release 级别:加载所有级别模块以及
modules/tier-release.md - 解析依赖时:加载
modules/dependency-detection.md
判定结果
| 结果 | 含义 |
|---|---|
| PASS | 所有检查均通过 |
| PASS-WITH-WARNINGS | 存在非阻塞问题 |
| FAIL | 发现阻塞问题 |
输出格式
Plugin Review (<tier> tier)
Affected: <list>
Related: <list> (<reason>)
Plugin test lint type reg verdict
<name> PASS PASS PASS PASS PASS
...
Verdict: <PASS|PASS-WITH-WARNINGS|FAIL> (N/N plugins healthy)
PR 和 release 级别还会添加评分卡部分。
质量门禁模式
--quality-gate 标志可启用 CI/CD 集成,并通过退出代码区分警告和失败:
0:所有质量门禁均通过1:存在警告,但门禁已通过(非阻塞)2:质量门禁失败(阻塞)3:发现严重问题(阻塞)
使用 --fail-on warning 将警告视为阻塞问题。
配置
在插件根目录中放置 .plugin-review.yaml 文件,
以自定义阈值和关注区域:
plugin_review:
quality_gates:
structure_min: 80
skills_min: 75
hooks_min: 70
tokens_max_total: 50000
bloat_max_percentage: 15
focus_areas:
- skills
- hooks
- tokens
exclude_patterns:
- "*/legacy/*"
- "*/deprecated/*"
severity_overrides:
missing_description: warning
large_file: info
有关完整用法示例,请参阅 /plugin-review 命令参考。
退出条件
- 输出包含每个插件的表格,列包括:test、lint、type、reg、verdict,以及汇总的 PASS / PASS-WITH-WARNINGS / FAIL 判定结果。
- 范围检测通过
git diff main --name-only筛选plugins/*/,识别受影响的插件;如果无法获取 git diff,该技能会回退到所有插件范围,并明确说明这一点。 - 任何评分低于
structure_min(默认值为 80)或skills_min(默认值为 75)阈值的插件都列为 FAIL,而非警告。 -
--quality-gate模式在出现阻塞失败时返回退出代码 2,在出现非阻塞警告时返回退出代码 1,以便调用它的 CI 步骤区分二者。
评论
支持 Markdown