用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Supreme-Ultimate/novel-to-script-team --skill comparative-review-skill命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | comparative-review-skill |
| description | 对比审核技能。对比生成剧本与爆款剧本的节奏、对话、情绪、框架,给出PASS/FAIL判断和改进建议。 |
../../references/00-first-principles.md — 第一性原则(可拍性、留存性、一致性、可验证性)../../references/03-script-writing-standard.md — 剧本写作标准(对话比、视觉标记、网文感、节奏控制)../../references/04-review-gates.md — 审核门槛(PASS/FAIL标准、回改流程)对比生成剧本与参考的爆款剧本,从多个维度进行分析,防止AI味,确保剧本质量。
统计指标:
对比方法:
# 统计生成剧本
generated = analyze_rhythm(generated_script)
# 统计参考剧本(5个的平均值)
reference = average([analyze_rhythm(ref) for ref in reference_scripts])
# 对比
rhythm_score = compare_metrics(generated, reference)
判断标准:
统计指标:
网文感关键词:
wanwen_keywords = [
'冷笑', '嗤笑', '冷哼', '冷声', '冷冷',
'眼神一冷', '眸光一沉', '嘴角勾起',
'不屑', '轻蔑', '讥讽', '嘲讽',
'霸气', '强势', '凌厉', '锐利'
]
判断标准:
统计指标:
情绪词汇:
emotion_words = {
'愤怒': ['愤怒', '暴怒', '怒火', '气愤', '恼怒'],
'悲伤': ['悲伤', '难过', '伤心', '痛苦', '绝望'],
'惊讶': ['惊讶', '震惊', '惊愕', '愕然', '惊呆'],
'恐惧': ['恐惧', '害怕', '惊恐', '畏惧', '胆寒'],
'喜悦': ['喜悦', '高兴', '欣喜', '愉悦', '兴奋']
}
判断标准:
结构要素:
判断标准:
检查对象:当前集与前一集的内容对比
检查项:
判断标准:
示例:
# 检查场景重复
ep01_scenes = extract_scenes(ep01_script)
ep02_scenes = extract_scenes(ep02_script)
duplicate_scenes = find_duplicates(ep01_scenes, ep02_scenes)
if duplicate_scenes:
feedback.append({
'dimension': '跨集内容重复',
'issue': '发现重复场景',
'location': f'第{N}集与第{N-1}集',
'duplicates': duplicate_scenes,
'suggestion': '删除重复场景,或改为新的场景'
})
检查对象:当前集的事件结构
检查项:
判断标准:
示例:
# 检查事件完整性
event_structure = analyze_event_structure(script)
if not event_structure['has_beginning']:
feedback.append({
'dimension': '事件完整性',
'issue': '事件缺少开始',
'suggestion': '添加事件的触发点'
})
if not event_structure['has_ending']:
feedback.append({
'dimension': '事件完整性',
'issue': '事件缺少结束',
'suggestion': '添加事件的结果或转折'
})
# 加载生成剧本
with open(generated_script_path, 'r') as f:
generated_script = f.read()
# 加载参考剧本(之前检索的Top 5)
reference_scripts = []
for ref_path in reference_paths:
with open(ref_path, 'r') as f:
reference_scripts.append(f.read())
# 生成剧本指标
gen_rhythm = analyze_rhythm(generated_script)
gen_style = analyze_style(generated_script)
gen_emotion = analyze_emotion(generated_script)
gen_structure = analyze_structure(generated_script)
# 参考剧本平均指标
ref_rhythm = average([analyze_rhythm(ref) for ref in reference_scripts])
ref_style = average([analyze_style(ref) for ref in reference_scripts])
ref_emotion = average([analyze_emotion(ref) for ref in reference_scripts])
ref_structure = average([analyze_structure(ref) for ref in reference_scripts])
feedback = []
# 节奏对比
if abs(gen_rhythm['scene_count'] - ref_rhythm['scene_count']) > 2:
feedback.append({
'dimension': '节奏',
'issue': f"场景数偏{'少' if gen_rhythm['scene_count'] < ref_rhythm['scene_count'] else '多'}",
'generated': gen_rhythm['scene_count'],
'reference': ref_rhythm['scene_count'],
'suggestion': f"建议调整为{ref_rhythm['scene_count']}个场景"
})
# 对话风格对比
if gen_style['dialogue_ratio'] < 0.6:
feedback.append({
'dimension': '对话风格',
'issue': '对话比偏低',
'generated': f"{gen_style['dialogue_ratio']:.1%}",
'reference': f"{ref_style['dialogue_ratio']:.1%}",
'suggestion': '增加对话,减少叙述性文字'
})
# 跨集内容重复检查
if previous_script:
duplicate_scenes = find_duplicate_scenes(generated_script, previous_script)
if duplicate_scenes:
feedback.append({
'dimension': ,
: ,
: ,
: duplicate_scenes,
: ,
:
})
event_structure = analyze_event_structure(generated_script)
event_structure[]:
feedback.append({
: ,
: event_structure[],
: event_structure[],
:
})
report = {
'verdict': 'PASS' if len(feedback) == 0 else 'FAIL',
'overall_score': calculate_overall_score(gen, ref),
'dimensions': {
'rhythm': rhythm_score,
'style': style_score,
'emotion': emotion_score,
'structure': structure_score
},
'feedback': feedback,
'reference_examples': find_best_examples(feedback, reference_scripts)
}
【综合审核报告】
判定:FAIL
综合得分:72/100
## 维度得分
- 节奏:65/100 ⚠️
- 对话风格:70/100 ⚠️
- 情绪冲击力:80/100 ✓
- 框架结构:85/100 ✓
- 跨集内容重复:FAIL ❌
- 事件完整性:FAIL ❌
## 详细反馈
### 跨集内容重复问题(CRITICAL)
1. 发现重复场景
- 位置:第2集与第1集
- 重复内容:搜身 + 签字 + 离开
- 建议:删除第2集的重复内容,改为新的场景(如拍卖会、修炼等)
### 事件完整性问题(CRITICAL)
1. 事件不完整
- 位置:第2集
- 问题:第2集重复了第1集的事件,没有新的完整事件
- 建议:第2集应该是一个新的完整事件,如"拍卖会展示实力"(入场 → 竞拍 → 展示 → 震惊)
### 节奏问题
1. 场景数偏少
- 生成剧本:6个场景
- 参考平均:8.5个场景
- 建议:增加2个过渡场景,建议在第3场景后和第5场景后各增加一个
2. 冲突密度偏低
- 生成剧本:0.015
- 参考平均:0.035
- 建议:在第3、5场景增加对抗情节
### 对话风格问题
1. 对话比偏低
- 生成剧本:45%
- 参考平均:72%
- 建议:增加对话,减少叙述。将叙述性文字改为对话形式
2. 句长偏长
- 生成剧本:18字符
- 参考平均:12字符
- 建议:拆分长句,增加短句比例
3. 视觉标记不足
- 生成剧本:1个/100字
- 参考平均:4个/100字
- 建议:增加视觉标记(冷笑、嗤笑、冷哼等)
## 参考示例
请参考以下爆款剧本的处理方式:
1. 《封总的复仇娇妻》第15集
- 对抗场景结构:先铺垫→冲突爆发→反转→钩子
- 对话节奏:短句+高密度+情绪化
2. 《霸总的替身新娘》第8集
- 打脸场景:层层递进,每次打脸都有新信息
- 视觉标记:冷笑、嗤笑、眼神一冷等高频使用
## 修改建议
优先级1(必须修改 - CRITICAL):
优先级2(必须修改):
增加2个过渡场景
提高对话比到70%以上
优先级3(建议修改):
拆分长句
增加视觉标记
优先级4(可选优化):
增强情绪词汇密度
优化悬念设置
基于 SOC 职业分类