在 Manus 中运行任何 Skill
一键导入
一键导入
一键在 Manus 中运行任何 Skill
开始使用style-analysis-skill
星标115
分支28
更新时间2026年5月2日 03:48
风格分析技能。分析生成剧本的语言风格,对比爆款剧本,确保网文感和可读性。
安装
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
SKILL.md
readonly菜单
风格分析技能。分析生成剧本的语言风格,对比爆款剧本,确保网文感和可读性。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
完整的多Agent多Skill小说改编项目。开源版运行时依赖 agents/skills/references,原始 sources 不随仓库分发。
调用 nano banana API(gemini-3.1-flash-image-preview)生成图片。支持纯文本生图和参考图生图。
小说改编分析技能。完成文本清洗、类型判定、冲突建模、角色一致性建模。
动画师技能。将静态分镜转化为图生视频的动态提示词(Motion Prompt)。
服化道设计技能。将导演分析产出的人物清单和场景清单转化为可直接用于文生图工具的详细提示词。
服化道审核技能。用于审核阶段二服化道设计产出(人物设定提示词、场景环境提示词),通过逐项比对、脑内预演和评分制确保造型准确、风格一致、提示词可执行。
| name | style-analysis-skill |
| description | 风格分析技能。分析生成剧本的语言风格,对比爆款剧本,确保网文感和可读性。 |
../../references/00-first-principles.md — 第一性原则(可拍性、留存性)../../references/03-script-writing-standard.md — 剧本写作标准(句长、对话比、视觉标记、网文感关键词)../../references/12-genre-specific-techniques.md — 类型化技巧(男频/女频风格差异)深度分析剧本的语言风格,确保生成的剧本具有网文感、节奏感和可读性。
统计方法:
import re
def analyze_sentence_length(script):
# 按句号、问号、感叹号分句
sentences = re.split(r'[。!?]', script)
sentences = [s.strip() for s in sentences if s.strip()]
lengths = [len(s) for s in sentences]
return {
'avg_length': sum(lengths) / len(lengths),
'short_ratio': len([l for l in lengths if l < 10]) / len(lengths),
'medium_ratio': len([l for l in lengths if 10 <= l < 20]) / len(lengths),
'long_ratio': len([l for l in lengths if l >= 20]) / len(lengths)
}
理想指标:
统计方法:
def analyze_dialogue_ratio(script):
# 识别对话(引号内的内容)
dialogues = re.findall(r'[「『""]([^」』""]+)[」』""]', script)
dialogue_chars = sum(len(d) for d in dialogues)
total_chars = len(script)
return {
'dialogue_ratio': dialogue_chars / total_chars,
'dialogue_count': len(dialogues),
'avg_dialogue_length': dialogue_chars / len(dialogues) if dialogues else 0
}
理想指标:
视觉标记列表:
visual_markers = {
'表情': ['冷笑', '嗤笑', '冷哼', '微笑', '狞笑', '苦笑'],
'眼神': ['眼神一冷', '眸光一沉', '目光如炬', '眼中闪过', '瞳孔一缩'],
'动作': ['嘴角勾起', '挑眉', '皱眉', '咬牙', '握拳', '转身'],
'气场': ['气势汹汹', '霸气侧漏', '冷气逼人', '杀气腾腾']
}
统计方法:
def analyze_visual_markers(script):
all_markers = []
for category, markers in visual_markers.items():
all_markers.extend(markers)
marker_count = sum(script.count(marker) for marker in all_markers)
chars_per_100 = len(script) / 100
return {
'markers_per_100': marker_count / chars_per_100,
'marker_distribution': {
category: sum(script.count(m) for m in markers)
for category, markers in visual_markers.items()
}
}
理想指标:
网文感关键词:
wanwen_keywords = {
'情绪强化': ['冷笑', '嗤笑', '冷哼', '冷声', '冷冷地'],
'态度词': ['不屑', '轻蔑', '讥讽', '嘲讽', '鄙夷'],
'气场词': ['霸气', '强势', '凌厉', '锐利', '凛然'],
'反转词': ['没想到', '竟然', '居然', '原来', '突然'],
'打脸词': ['啪啪打脸', '狠狠打脸', '当场打脸', '脸色一变']
}
统计方法:
def analyze_wanwen_keywords(script):
all_keywords = []
for category, keywords in wanwen_keywords.items():
all_keywords.extend(keywords)
keyword_count = sum(script.count(kw) for kw in all_keywords)
chars_per_100 = len(script) / 100
return {
'keywords_per_100': keyword_count / chars_per_100,
'keyword_distribution': {
category: sum(script.count(kw) for kw in keywords)
for category, keywords in wanwen_keywords.items()
}
}
理想指标:
统计方法:
def analyze_rhythm(script):
# 按场景分割
scenes = re.split(r'场景\d+|第\d+场', script)
scene_lengths = [len(s) for s in scenes if s.strip()]
return {
'scene_count': len(scene_lengths),
'avg_scene_length': sum(scene_lengths) / len(scene_lengths),
'length_variance': calculate_variance(scene_lengths),
'rhythm_score': calculate_rhythm_score(scene_lengths)
}
理想指标:
generated_style = {
'sentence': analyze_sentence_length(generated_script),
'dialogue': analyze_dialogue_ratio(generated_script),
'visual': analyze_visual_markers(generated_script),
'wanwen': analyze_wanwen_keywords(generated_script),
'rhythm': analyze_rhythm(generated_script)
}
reference_styles = [
{
'sentence': analyze_sentence_length(ref),
'dialogue': analyze_dialogue_ratio(ref),
'visual': analyze_visual_markers(ref),
'wanwen': analyze_wanwen_keywords(ref),
'rhythm': analyze_rhythm(ref)
}
for ref in reference_scripts
]
# 计算平均值
reference_avg = average(reference_styles)
report = {
'sentence_analysis': compare_sentence(generated_style, reference_avg),
'dialogue_analysis': compare_dialogue(generated_style, reference_avg),
'visual_analysis': compare_visual(generated_style, reference_avg),
'wanwen_analysis': compare_wanwen(generated_style, reference_avg),
'rhythm_analysis': compare_rhythm(generated_style, reference_avg)
}
【风格分析报告】
## 1. 句长分析
生成剧本:
- 平均句长:18字符 ⚠️
- 短句比例:20% ⚠️
- 中句比例:60% ✓
- 长句比例:20% ⚠️
参考剧本:
- 平均句长:12字符
- 短句比例:35%
- 中句比例:55%
- 长句比例:10%
问题:
- 句子偏长,缺乏短句
- 长句比例过高
建议:
- 将长句拆分为2-3个短句
- 增加短句比例到30%以上
- 示例:
原:她看着他,心中涌起一股复杂的情绪,既有愤怒也有不甘。
改:她看着他。心中涌起复杂情绪。既愤怒,也不甘。
## 2. 对话比分析
生成剧本:
- 对话比:45% ⚠️
- 对话数量:12条/1000字 ⚠️
- 平均对话长度:35字符 ✓
参考剧本:
- 对话比:72%
- 对话数量:20条/1000字
- 平均对话长度:30字符
问题:
- 对话比严重偏低
- 叙述性文字过多
建议:
- 将叙述改为对话
- 增加人物互动
- 示例:
原:她很生气,觉得他太过分了。
改:"你太过分了!"她愤怒地说。
## 3. 视觉标记分析
生成剧本:
- 视觉标记:1个/100字 ⚠️
- 分布:表情(0.5), 眼神(0.3), 动作(0.2), 气场(0)
参考剧本:
- 视觉标记:4个/100字
- 分布:表情(1.5), 眼神(1.0), 动作(1.0), 气场(0.5)
问题:
- 视觉标记严重不足
- 缺乏气场描写
建议:
- 增加表情描写(冷笑、嗤笑等)
- 增加眼神描写(眼神一冷、眸光一沉等)
- 增加气场描写(霸气、强势等)
- 示例:
原:"你算什么东西?"他说。
改:"你算什么东西?"他冷笑一声,眼神一冷。
## 4. 网文感关键词分析
生成剧本:
- 网文感关键词:0.5个/100字 ⚠️
- 分布:情绪强化(0.2), 态度词(0.1), 气场词(0.1), 反转词(0.1), 打脸词(0)
参考剧本:
- 网文感关键词:2个/100字
- 分布:情绪强化(0.8), 态度词(0.4), 气场词(0.3), 反转词(0.3), 打脸词(0.2)
问题:
- 网文感严重不足
- AI味较重
建议:
- 增加情绪强化词(冷笑、嗤笑、冷哼等)
- 增加态度词(不屑、轻蔑、讥讽等)
- 增加反转词(没想到、竟然、居然等)
## 5. 节奏感分析
生成剧本:
- 场景数:6个 ⚠️
- 平均场景长度:180字 ⚠️
- 长度方差:低 ⚠️
参考剧本:
- 场景数:8.5个
- 平均场景长度:120字
- 长度方差:中等
问题:
- 场景数偏少
- 场景过长
- 节奏单调
建议:
- 增加2个过渡场景
- 缩短场景长度
- 增加节奏变化
## 综合评分
- 句长:60/100 ⚠️
- 对话比:50/100 ⚠️
- 视觉标记:25/100 ⚠️
- 网文感:30/100 ⚠️
- 节奏感:65/100 ⚠️
**总分:46/100 FAIL**
## 优先修改建议
1. 提高对话比(45% → 70%)
2. 增加视觉标记(1个/100字 → 4个/100字)
3. 增加网文感关键词(0.5个/100字 → 2个/100字)
4. 拆分长句,增加短句比例
5. 增加场景数,优化节奏