skills/skill-logic-conflict-checker-yashu/SKILL.md
全量深查指定技能的文档中的逻辑冲突,检测字面矛盾与深层语义冲突。激活条件:用户消息须包含以下关键词之一:`检查技能逻辑冲突`、`技能文档有没有冲突`。
npx skillsauth add steelan9199/wechat-publisher-skill skill-logic-conflict-checker-yashuInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
对指定 Skill 进行全量深查:读取 SKILL.md + 全部 references/ 目录下的 .md 文件,检测字面矛盾与深层语义冲突,输出结构化冲突清单。
| 变量 | 含义 |
| ------------------- | ----------------------------------------------------------- |
| $TARGET_SKILL_DIR | 用户指定的被检查 skill 目录(.trae/skills/<skill-name>/) |
| 前置条件 | 说明 |
| ---------- | ---------------------------------------------------- |
| 目标 Skill | $TARGET_SKILL_DIR/SKILL.md 必须存在且可读 |
| references | $TARGET_SKILL_DIR/references/ 目录如存在则全量读取 |
| 用户输入触发词 | AI 执行动作 | | ----------------------------------------- | ------------------------------------------------- | | "检查技能逻辑冲突" / "技能文档有没有冲突" | 确定目标 skill 后启动全量深查,输出结构化冲突清单 | | "检查文档矛盾" / "逻辑冲突检查" | 同上 |
$TARGET_SKILL_DIR/SKILL.md$TARGET_SKILL_DIR/references/ 目录下所有 .md 文件(递归遍历子目录)scripts/、config/ 等目录下的非 .md 文件不检查,但在冲突溯源时可作为辅助参考同一条规则、参数、数值在两处或多处文档中表述不一致:
| 检查项 | 说明 | 严重级别 |
| --------------- | ----------------------------------------------------------------------------- | -------- |
| 数值矛盾 | 同一参数/配置的数字取值不同(如一处写 timeout: 30,另一处写 timeout: 60) | 高 |
| 命名/标识矛盾 | 同一事物的名称在不同文档中不一致(如脚本名、API 端点路径、环境变量名) | 高 |
| 条件/约束矛盾 | 同一前置条件在一处写"必须",另一处写"可选"或未提及 | 高 |
| 流程步骤矛盾 | 同一操作的步骤顺序在不同文档中不同 | 高 |
| 状态/结果矛盾 | 同一操作的预期返回值、输出格式、状态码在不同文档中说法不同 | 中 |
| 版本/兼容性矛盾 | 要求的版本号范围不一致(如一处写 >=18,另一处写 >=18.20.8) | 中 |
| 措辞不一致 | 对同一概念用了不同的术语且未做等价说明(轻微不一致,不构成严重冲突则降级) | 低 |
两条不同规则之间间接互斥,或规则与示例、流程逻辑之间存在自相矛盾:
| 检查项 | 说明 | 严重级别 | | ------------------ | -------------------------------------------------------------------------- | -------- | | 规则互斥 | 规则 A 要求 X,规则 B 隐含禁止 X 或要求 not X,两者无法同时满足 | 高 | | 检查表与示例矛盾 | 文档中声明的检查项/要求,与给出的代码示例、命令示例行为不一致 | 高 | | 流程顺序不合理 | 步骤顺序在逻辑上不可行(如步骤 3 依赖步骤 5 的输出,但步骤 3 在前) | 高 | | 前置条件与行为矛盾 | 声明了前置条件 A,但后续流程中未检查 A 即直接执行依赖 A 的操作 | 高 | | 权限/能力范围矛盾 | 一处声明支持某功能/平台/模式,另一处通过限制条件间接排除了该功能 | 中 | | 全局规则被局部覆盖 | 全局规则声称"所有场景适用",但某个具体功能的描述违反了该全局规则 | 中 | | 默认值与推荐值矛盾 | 文档声明的默认值在实际示例中使用了不同的值,且无明确说明 | 中 | | 引用链断裂 | 文档引用了不存在的文件、锚点、章节,或引用的目标内容与描述的用途不符 | 中 | | 冗余/重复要求 | 多个规则表达的约束完全相同或高度重叠,但分散在多处,可能导致维护不一致 | 低 | | 隐式假设不一致 | 两处文档对同一场景的隐式假设不同(如一处假设用户已登录,另一处未做此假设) | 低 |
$TARGET_SKILL_DIR 为 .trae/skills/<skill-name>/SKILL.md,提示用户并终止SKILL.md 全文references/ 下所有 .md 文件对每一对文档(包括 SKILL.md 与 references、references 之间),检测:
方法:从文档中提取关键实体(数值、参数名、端点、步骤序号、约束条件),逐对比较。
对所有文档进行整体分析:
方法:构建"规则清单 → 规则关联图 → 矛盾推理"三步管线。
输出完整报告(格式见下方)。
# 逻辑冲突检查报告
**目标 Skill**:{skill-name}
**检查时间**:{timestamp}
**覆盖文件**:{N} 个(SKILL.md + {M} 个 references)
---
## 一、总览
| 严重级别 | 数量 |
| -------- | ---- |
| 高 | X |
| 中 | Y |
| 低 | Z |
| **合计** | N |
---
## 二、字面矛盾
### [高] 冲突标题(简短概括)
- **涉及文档**:`文件A.md#L10-L15` vs `文件B.md#L20-L25`
- **冲突描述**:(一句话说明矛盾点)
- **原文 A**:
> 引用原文关键句
- **原文 B**:
> 引用原文关键句
- **建议**:(提出统一方案)
---(每项冲突以此格式重复)
## 三、深层语义冲突
### [高] 冲突标题(简短概括)
- **涉及文档**:`文件A.md#L10-L15` vs `文件B.md#L20-L25`
- **冲突类型**:规则互斥 / 检查表与示例矛盾 / 流程顺序不合理 / 前置条件缺失 / ...
- **冲突描述**:(详细说明为何构成冲突)
- **原文 A**:
> 引用原文关键句
- **原文 B**:
> 引用原文关键句
- **推理过程**:(说明从 A + B 如何推出矛盾)
- **建议**:(提出修正方案)
---(每项冲突以此格式重复)
---
## 附录:文件清单
| 序号 | 文件路径(相对 `$TARGET_SKILL_DIR`) | 行数 |
| ---- | ------------------------------------ | ---- |
| 1 | SKILL.md | XXX |
| 2 | references/xxx.md | XXX |
| ... | ... | ... |
直接输出到对话中,不写入文件。
用户:检查 skill-tester 的文档有没有逻辑冲突
AI:
1. 定位 .trae/skills/skill-tester/
2. 读取 SKILL.md(218 行)
3. 发现 references/ 下 5 个文件,逐个读取
4. 执行字面矛盾检测 + 深层语义冲突检测
5. 输出结构化冲突清单
| 规则 | 说明 | | ------------ | -------------------------------------------------------- | | 全量读取 | references/ 下所有 .md 文件必须逐一读取,不得抽样 | | 不修改文档 | 本 skill 仅做检查分析,禁止直接修改被检查的文档 | | 证据先行 | 每一项冲突必须附原文引用,不得凭空断言 | | 逐对比较 | 字面矛盾检测须对所有文档对(pairwise)进行,不得遗漏组合 | | 严重级别准确 | 严格按上述检查项的严重级别分类,不得随意升降级 |
| 场景 | 处理方式 |
| --------------------------------------- | --------------------------------------------------------------- |
| $TARGET_SKILL_DIR 不存在 | 提示用户 skill 不存在,列出 .trae/skills/ 下可用 skill 供选择 |
| $TARGET_SKILL_DIR/SKILL.md 不存在 | 提示该目录不是有效 skill,终止检查 |
| references/ 目录不存在 | 仅检查 SKILL.md,在报告中注明"无 references 目录" |
| references 下无 .md 文件 | 仅检查 SKILL.md,在报告中注明"references 目录下无 .md 文件" |
| 某 references 文件读取失败(权限/编码) | 在文件清单中标注"读取失败",跳过该文件,不影响其余检查 |
content-media
自动启停视频课程录制所需的辅助程序。激活条件:用户消息须包含以下关键词之一:`我要录制视频课程`、`开始录制视频课程`、`准备录课`、`视频课程录完了`、`录课结束`、`停止录制`。
content-media
生成扁平的 SVG 图(架构图、中心辐射图、流程图、简易时序图、思维导图、组织架构图、2×2对比矩阵、时间线、循环图、鱼骨图),也支持把已有 SVG 文件转成 PNG 图片。激活条件(满足任一即可):生成类关键词 `画架构图`、`画中心辐射图`、`画流程图`、`画时序图`、`画思维导图`、`画脑图`、`画组织架构图`、`画树形图`、`画对比矩阵`、`画四象限`、`画时间线`、`画循环图`、`画鱼骨图`、`画因果分析图`;转换类关键词`SVG 转图片`、`把 SVG 转成图片`、`把 SVG 转成 PNG`。
testing
检查指定技能文档中的废话文字并输出诊断报告。激活条件:用户消息须包含以下关键词之一:`检查技能废话`、`这个技能文档有没有多余内容`、`清理技能文档废话`、`审查技能文档废话`、`清理技能文档历史说明`。
testing
评审一个技能是否「自包含」——即其知识、经验、规范是否全部内置在技能文件内(SKILL.md + references/),不依赖特定 AI 客户端专有的知识接口命令(如 read_me / modules: / show_widget / Visualizer)去外部拉取,也不硬编码某个 AI 软件的私有路径(如 .workbuddy)。同时检查工具依赖(node、浏览器、命令行)是否仅作为用户自备工具声明、未写死私有路径。当用户要求「评审这个技能是否自包含 / 独立」「检查技能知识是否内置」「审查技能的独立性 / 可移植性」「audit / review a skill for self-containment」时触发。产出评审报告:结论(自包含 / 不独立)+ 问题清单(文件:行号 + 引用的外部依赖 + 为何影响独立性)+ 整改建议。