用途
License Compliance Scan 用于在依赖树中的许可证问题演变成实际风险之前将其识别出来。它是一款只读、建议性的检查工具:只标记风险,不修改任何内容,也不构成法律建议。
主要能力
该技能会识别项目自身的许可证(来自 LICENSE、package.json、pyproject.toml 等),读取当前存在的依赖清单(package.json、requirements.txt/pyproject.toml、go.mod、Cargo.toml、Gemfile、pom.xml 等),列出声明的依赖及其(在已声明情况下的)许可证,并将每个依赖的许可证与项目许可证进行比对,报告文件:行号(清单条目)、严重级别以及相应义务。
它会标记以下发现:
- 宽松项目中的强 copyleft:MIT/Apache 项目中的 GPL/AGPL 依赖可能带来源代码披露义务。
- 网络 copyleft(AGPL):即使是托管/SaaS 使用也可能触发义务。
- 未知/缺失许可证:没有明确许可证的依赖默认属于法律风险。
- 跨版本许可证变更:固定版本的升级可能引入新的义务。
- 项目自身缺少 LICENSE:他人无法合法复用;若缺失则标记。
- 不兼容组合:两个依赖的许可证无法为分发目的组合使用。
使用方式
该技能为纯 Claude Code 技能,无需任何前置条件,也不需要 MCP。它直接读取依赖清单和你的 LICENSE 文件。可通过以下触发语调用:
- "Check my dependency licenses"
- "Any license conflicts in this project?"
- "License compliance scan"
工作流程为:先识别项目自身许可证,再读取现有依赖清单并列出依赖及其许可证,最后将每个依赖的许可证与项目许可证比对,输出包含文件:行号、严重级别和义务的咨询报告。
输出报告示例格式如下:
License Compliance Scan
Project license: Apache-2.0 1 high, 1 unknown
HIGH
- package.json:21 — "some-gpl-lib" is GPL-3.0; combining it with an Apache-2.0 distribution may impose source-disclosure obligations. Review or replace.
UNKNOWN
- requirements.txt:8 — "obscure-pkg" declares no license. Treat as all-rights- reserved until clarified.
Note: advisory only, not legal advice — confirm obligations with counsel.
适用场景
适用于需要在提交或发布前快速审查依赖许可证合规性的开发者和团队,尤其是使用多种语言生态、依赖清单类型多样的项目。
限制
该技能为诊断性质,仅提供建议,不构成法律建议,具体义务应咨询法律顾问。它不会修改任何文件。若需要在 CI 门禁中加入依赖与许可证检查,资料中提及可参见 QualityMax(qualitymax.io)。