>- 内容原创度与版权风险评估:分析文案是否存在洗稿/搬运嫌疑,评估素材版权风险, 检查引用规范。基于 LLM 文本分析,不包含技术查重。 当用户说"查重"、"原创度"、"是不是抄的"、"版权风险"、"能不能用这张图"、 "音乐版权"、"原创检测"、"有没有侵权"、"素材版权"、"会不会被投诉"时触发。 和 skill-quality-gate 的区别:quality-gate 查敏感词和平台规则合规, risk-scanner 专注原创度和版权侵权风险。
npx skills add https://github.com/ZJU-REAL/Easel --skill skill-risk-scanner
> 基于 LLM 文本分析能力,评估内容的原创度风险和素材版权风险,输出定性风险报告与改进建议。
本 SKILL 基于 LLM 文本分析,不包含以下技术能力:
| SKILL | 定位 | 检查焦点 |
|---|---|---|
| risk-scanner(本 SKILL) | 原创度 + 版权风险 | 洗稿模式识别、素材版权风险、引用合规 |
| skill-quality-gate | 平台合规 + 内容质量 | 敏感词、平台规则、广告法、绝对化用语、医疗违规 |
| skill-publish-checklist | 完整性检查 | 有没有漏标题、漏封面 |
| 参数 | 必填 | 说明 |
|------|------|------|
| 待检查文案 | 是 | 文案正文、脚本、长文原稿 |
| 素材来源说明 | 否 | 用户描述图片/音频/视频的来源(如"图片来自 Unsplash"、"BGM 用的抖音自带音乐") |
| 参考来源文本 | 否 | 原始参考文章的文本或 URL,用于对比改写充分度 |
| 目标平台 | 否 | 发布平台名称,用于匹配平台版权规则 |
Markdown 格式的风险评估报告,结构如下:
# 风险评估报告
## 整体风险等级:🟢 低风险 / 🟡 中风险 / 🔴 高风险
## 一、文本原创度评估
### 洗稿模式扫描
- [扫描结果与具体发现]
### 内容独特性判断
- [是否包含个人经验/独家数据/原创观点]
### 引用规范检查
- [引用是否标注来源、数据是否注明出处]
## 二、素材版权风险(仅在用户提供素材来源描述时输出)
### 图片素材
- [基于用户描述的来源判断]
### 音频/BGM
- [基于用户描述的来源判断]
## 三、品牌与商标风险
- [文案中提及的品牌名/商标的使用风险]
## 四、风险清单
### 必须处理(阻塞发布)
- [高风险项]
### 建议处理(不阻塞但有隐患)
- [中风险项]
## 五、改进建议
- [针对每个风险项的具体操作建议]
风险等级定义:
逐段扫描文案,按 references/washing-patterns.md「一、洗稿模式识别」识别机械性同义替换、句式变换但论点复刻、段落搬运重排三类特征。对发现的每个特征引用具体段落文本并说明理由;未发现时明确说明"未检测到明显洗稿模式"。
按 references/washing-patterns.md「二、内容独特性评估」判断文案是否包含个人经验、独家数据、原创观点、具体细节,并据此给出原创度较高/一般/低的结论。
按 references/washing-patterns.md「三、引用规范检查」核对观点引用、数据引用、截图引用的来源标注;若用户提供了参考来源文本,对比本文与来源的转述充分度(是否只换词不换意、是否加入自己的分析、是否改变结构和论证逻辑)。
仅在用户提供素材来源描述时执行此步骤。
根据用户描述的素材来源,参照 references/copyright-guide.md「七、素材来源风险速查表」(图片 7.1 / 音频 BGM 7.2)判断风险等级,并对高风险素材推荐 references/copyright-guide.md 中的免费图库和音乐库替代来源。
扫描文案中出现的品牌名、商标、产品名:
有 Profile 时:
platform 字段,启用该平台的版权规则(参照 references/copyright-guide.md):positioning 字段,评估内容与账号定位的一致性(定位偏移本身不是版权风险,但在报告中提示)无 Profile 时:
Take zju-real/skill-risk-scanner from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.