SuperAPI AI 工具集

license-audit

编程与开发

查看项目

更新于 10-15 21:49

技能介绍

用途:在项目发布前对直接依赖进行开源许可证合规审计,重点识别具有强制开源传染性的许可证(GPL、AGPL)。该技能设计为在 /release-readiness 之前运行,为发布门禁提供许可证证据。

主要能力:从清单文件自动识别项目技术栈(npm、pip、go),将每个直接依赖的许可证归类(宽松型、弱 copyleft、强 copyleft、未知),并输出包含计数和标记列表的 JSON 对象。状态规则:OK 表示所有直接依赖均为已知的宽松或弱 copyleft 许可证;WARN 表示至少有一个许可证未知,由 /release-readiness 汇总;BLOCKED 表示至少有一个直接依赖为 GPL 或 AGPL。

使用方式:先设置环境变量,NANOSTACK_ROOT="${NANOSTACK_ROOT:-$HOME/.claude/skills/nanostack}",SKILL_DIR="${SKILL_DIR:-$HOME/.claude/skills/license-audit}"。运行审计:"$SKILL_DIR/bin/audit.sh"。保存产物:"$NANOSTACK_ROOT/bin/save-artifact.sh" license-audit 并传入包含 phase、summary、context_checkpoint 的 JSON。标题示例:[license-audit] OK: 12 deps scanned, 0 GPL/AGPL flagged,状态非 OK 时改用 WARN 或 BLOCKED。

适用场景:需要在交付或发布前确认依赖许可证合规性的开发流程。

限制:仅遍历直接依赖,传递依赖不在范围内,如需更高合规标准应配合深度审计器。未知许可证指清单声明了包但无法从清单本身解析出许可证元数据,未知按 WARN 处理而非 OK,是否升级或替换由用户决定。该技能从不重写代码、编辑 package.json 或运行 npm install,是只读的。部分代理(包括 Claude Code)在全新 bash 进程中执行每次工具调用,因此每个片段需重新定义所用的环境变量。当前资料为 PR 1 阶段,仅发布技能结构以验证静态契约,真实行为由后续 PR 接入。