mcpField
A
adaptation-synthesis

adaptation-synthesis

github.com/jwynia创意与媒体179396 次安装35 周前更新
代码仓库

关于 adaptation-synthesis

面向创作者的改编规划技能,将源作品的功能映射到新背景中的原创形式,而非逐项替换表面元素。它通过情境、情感体验和功能缺口检查,帮助形成可供起草的综合方案。

主要功能

  1. 01从提取文档载入源作品功能
  2. 02建立目标背景并映射情境功能
  3. 03为核心功能生成多种新形式
  4. 04检查正交性与情感体验
  5. 05处理多来源冲突并验证完整性

适用场景

  1. 01将戏剧改编到不同类型或时代
  2. 02避免科幻改编沦为表面换皮
  3. 03融合多个来源并处理功能冲突

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jwynia/agent-skills --skill adaptation-synthesis

安装后在 Claude Code 中输入/adaptation-synthesis确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

data/
form-suggestions.json
scripts/
form-options.ts
synthesize.ts
validate-synthesis.ts

详细介绍

改编综合:功能优先的创意转译

你要帮助创作者根据提取出的功能 DNA 文档综合创作新作品。你的职责是将提取出的功能映射到新形式中,让这些形式在不同语境下发挥相同功能,同时避免陷入表层转译的陷阱。

核心原则

成功的改编通过新形式实现原作的功能。失败的改编只复制表层元素,却丢失了原作奏效的原因。

“超越陈词滥调”中的正交原则同样适用:新形式不应该是 1∶1 的转译。科幻版《哈姆雷特》不应该出现“太空王子哈姆雷特”——它应该塑造一位主人公,其结构位置通过自身的内在逻辑发挥相同功能。

错误:“国王变成太空皇帝”(表层转译) 正确:“在企业反乌托邦中,什么能产生与身为王子相同的结构性压力?”(以功能优先选择形式)

各种状态

状态 SYN0:尚无 DNA 文档

表现: 创作者想要改编,但尚未完成提取。“我想把《哈姆雷特》搬到太空。”没有分析《哈姆雷特》为何奏效。 关键问题:

  • 你从源作中提取了什么?
  • 你知道需要实现哪些功能吗?
  • 原作为何奏效?你了解的不只是其中发生了什么吗? 干预措施: 转交给 dna-extraction 技能。未完成提取就无法进行综合创作。
状态 SYN1:DNA 已就绪

表现: 已有提取文档,准备开始综合创作。知道需要实现哪些功能。 关键问题:

  • 你的目标语境/背景是什么?
  • 你是在改编单一源作,还是结合多个源作?
  • 你的目标类型是什么? 干预措施: 开始进行语境映射。找出新背景中自然形成所需压力的因素。
状态 SYN2:表层转译模式

表现: 直接进行 1∶1 映射。“国王变成太空皇帝。城堡变成空间站。”没有基于功能的思考。新版本显然就是“X 的太空版”。 关键问题:

  • 原有元素发挥了什么功能?
  • 在新语境中,什么可以发挥这一功能,而不只是直接照搬?
  • 你的新元素是否“知道自己身处什么故事”?(它不应该知道。) 干预措施: 运用“超越陈词滥调”中的正交检验。优先依据功能选择形式。提出问题:“如果你不知道源作,这个元素本身说得通吗?”
状态 SYN3:语境不匹配

表现: 虽然已映射功能,但新背景无法连贯地支撑这些功能。“在这个科幻世界里,为什么会有人在乎继承?”改编后的元素与其所处世界格格不入。 关键问题:

  • 你的新语境中是否存在能自然满足结构需求的对应事物?
  • 这个世界中,什么会产生相同的压力?
  • 你是否在强行加入不适合这个背景的元素? 干预措施: 进行语境功能映射。检查世界构建是否融为一体。可能需要选择不同的目标语境或调整功能。
状态 SYN4:功能缺口

表现: 已选定新形式,但它们并未真正发挥所需功能。合规主管与权力核心距离太远。导师关系没有产生道德义务。关键功能有所缺失。 关键问题:

  • 这个新元素能否实现相同的结构、角色和情感结果?
  • 缺少了什么?
  • 如果你梳理新版本的内容,它实现的效果是否与原作一致? 干预措施: 使用功能核对清单进行验证。分析缺口。可能需要调整形式或添加元素。
状态 SYN5:类型漂移

**症状:**改编作品失去了原作承诺带来的情感体验。悲剧变成冒险故事,恐怖故事变成惊悚片。类型在无意间发生了改变。 关键问题:

  • 原作营造了怎样的情感体验?
  • 你的改编是否带来了相同的体验?
  • 你是否不小心改变了类型? **干预措施:**使用类型惯例技能检查类型是否一致。对比情感节拍。可能需要调整形式,使其服务于情感功能。
状态 SYN6:来源冲突

**症状:**将多个来源结合起来,但它们的功能彼此冲突。“我想要《哈姆雷特》的犹豫不决,又想要《太空无垠》的动作节奏。”这些来源各有不同诉求。 关键问题:

  • 哪个来源是主要来源?
  • 功能相互矛盾时,如何解决?
  • 优先级如何划分? **干预措施:**确立来源层级。解决冲突——决定优先采用哪个来源的功能。可能需要舍弃或修改某些功能。
状态 SYN7:综合准备就绪

**症状:**所有功能都已映射到新的形式。背景设定能够支撑这些功能。情感体验保持一致。如果结合了多个来源,冲突也已解决。 关键问题:

  • 现在可以开始起草了吗?
  • 还存在哪些缺口?
  • 是否通过了正交性测试——各个元素是否拥有自己的内在逻辑? **干预措施:**使用验证清单。移交给大纲协作或起草技能。

综合流程

  1. 加载 DNA 文档 - 我们要综合哪些内容?
  2. 确立目标背景 - 新的设定、时代背景和类型融合是什么?
  3. 映射背景功能 - 新背景中的哪些要素能自然地制造所需的压力?
  4. 为每项主要功能生成形式选项 - 提出多种可能性,而非一对一翻译
  5. 进行正交性检查 - 确保新形式不会“知道自己身处哪个故事”
  6. 验证情感体验 - 综合后的作品是否实现了相同的类型承诺?
  7. 解决冲突(如果有多个来源)- 确立层级,协调矛盾
  8. 生成综合文档 - 将功能映射到新形式
  9. 验证完整性 - 是否已准备好起草?

正交性原则

摘自“超越陈词滥调”:“它知道自己身处哪个故事吗?”

表层翻译会创造出一眼就能看出是改编的元素。受众立刻就会看出:“哦,这是太空版《哈姆雷特》。”这些元素之所以存在,仅仅是因为原作的存在。

优秀的综合会创造出具有自身内在逻辑的元素,同时它们碰巧也能发挥相应功能。合规专员不是作为“合规专员版哈姆雷特”来创作的,而是一位发现不当行为证据、面临艰难抉择的合规专员。他所处的情境通过自身逻辑发挥着相同的功能。

正交性测试

针对每个改编元素,问:

  1. **它是否有自身存在的理由?**而不是“因为原作有 X”
  2. **不了解原作的人能否理解它?**它在自身背景中应当显得自然
  3. **它是否有自己的目标、逻辑和历史?**而不是“显然是为了服务改编而存在”
  4. **不提及原作,你能否讲述这个故事?**DNA 应存在于内部,而非表面
示例:表层翻译与正交综合

表层翻译(未通过正交性测试):

  • “银河帝国的太空王子哈姆雷特必须为被害的父亲——皇帝——复仇”
  • 显然是哈姆雷特。这个角色的存在只是因为哈姆雷特的存在。
  • 每个元素都“知道自己身处哪个故事”

正交综合(通过测试):

  • “一家制药公司的合规专员发现,他们的导师策划了一场掩盖危险副作用的行动。他们掌握了证据,但这些证据是通过法律上有问题的手段获得的。挺身而出会摧毁一切。保持沉默则意味着会有更多人死亡。”
  • 这显然不是哈姆雷特。这个角色有自己的世界和自身逻辑。
  • 发挥相同功能:接近权力核心、掌握机密信息、陷入道德瘫痪、无辜者受害

基调与声音的综合

当提取内容包含基调/声音分析时,综合时必须说明基调如何转换:

基调映射问题
  1. 基调是核心要素还是特色?

    • 《Cowboy Bebop》的忧郁冷峻是其特色——另一部赏金猎人剧集也可以妙语连珠
    • 恐怖片的恐惧感是核心要素——去掉它,就不再是恐怖片
  2. 在新语境中,是什么营造了这种基调?

    • 如果原作用反讽来掩饰痛苦,新语境中是什么营造了这种防御机制?
    • 如果原作有快速交锋的俏皮对话,新背景中的哪些关系能促成这种对话?
  3. 哪些基调元素可以沿用,哪些需要替换?

    • 幽默方式或许可以沿用(俏皮对话就是俏皮对话)
    • 具体的文化引用需要换成新的对应元素
声音综合

角色声音应当经过综合,而不是照搬:

  • 原作角色的说话方式反映了他们所处的世界
  • 新角色应有符合其所处世界的说话方式
  • 相同的功能(例如,“用幽默转移话题的角色”),不同的形式(具体笑话、引用)

综合多个来源

从多份提取内容或多个类别中综合时:

步骤 1:确定主要来源

哪份提取内容构成了主干?发生冲突时,应优先采用该来源的功能。

步骤 2:梳理功能兼容性

各来源的功能是互补还是冲突?

兼容示例:

  • 《哈姆雷特》(复仇悲剧)+企业惊悚背景
  • 功能互补:两者都涉及道德腐败、权力关系和隐秘信息

冲突示例:

  • 《哈姆雷特》(节奏缓慢、深思熟虑)+《Killjoys》(以动作场面为主)
  • 功能冲突:《哈姆雷特》的犹豫不决与《Killjoys》的果断行动相对立
步骤 3:解决冲突

处理相冲突功能的选项:

  • **以主要来源为准:**保留主要来源的功能,舍弃次要来源的功能
  • **融合:**寻找能在一定程度上同时满足两者的折中方案
  • **交替:**作品的不同部分分别服务于不同来源
  • **转化:**将冲突变成特色(角色想要像《Killjoys》一样行动,却像《哈姆雷特》一样陷入瘫痪)
步骤 4:综合类别模式

如果使用类型类别,请确定:

  • 哪些类别模式是必不可少的
  • 哪些只是可融合的风格元素
  • 变化维度允许哪些变化(基调、连载方式等)

综合文档架构

将综合计划输出为结构化文档:

{
  "_meta": {
    "type": "synthesis",
    "synthesis_name": "Corporate Hamlet",
    "target_context": "Near-future corporate dystopia",
    "primary_source": "hamlet.json",
    "secondary_sources": [],
    "target_genre": "drama",
    "synthesis_date": "2025-01-15"
  },
  "context_mapping": {
    "setting": "Major pharmaceutical company, headquarters building",
    "power_structure": "Board of directors, CEO, executive layer, departments",
    "proximity_mechanism": "Executive mentorship, access through position",
    "information_control": "NDAs, legal liability, documented evidence",
    "escape_prevention": "Career destruction, family employed there, industry blacklisting"
  },
  "function_to_form_mapping": {
    "proximity_to_power_without_holding_it": {
      "original_form": "Prince (heir but not king)",
      "new_form": "Senior compliance officer reporting to CFO mentor",
      "orthogonality_check": "pass - natural corporate position",
      "functions_served": ["Access to information", "Close to power center", "Not the decision-maker"]
    },
    "privileged_unverifiable_information": {
      "original_form": "Ghost reveals murder",
      "new_form": "Discovers evidence through legally questionable access to sealed files",
      "orthogonality_check": "pass - realistic corporate scenario",
      "functions_served": ["Knows something others don't", "Cannot prove it legitimately", "Creates moral burden"]
    }
  },
  "tone_synthesis": {
    "original_tone": "Melancholic brooding, dark wit, soliloquy-heavy",
    "adapted_tone": "Quiet desperation, corporate speak as mask, internal monologue",
    "sincerity_level": "high - protagonist means what they think",
    "conflict_style": "Passive aggression, email wars, meeting dynamics"
  },
  "character_synthesis": {
    "protagonist": {
      "new_name": "Jordan Chen",
      "original_functions_from": "hamlet",
      "new_form": "35, compliance officer, 10-year company veteran, mentored by CFO",
      "arc": "Discovers mentor's guilt, paralyzed by loyalty and uncertainty, inaction causes harm"
    }
  },
  "validation": {
    "genre_check": "drama - internal conflict driving story: pass",
    "function_coverage": "all primary functions mapped: pass",
    "orthogonality_check": "no obviously-Hamlet elements: pass",
    "context_coherence": "all elements fit corporate setting: pass"
  },
  "ready_for": "outline-collaborator"
}

关键问题

关于语境映射
  • 在这个背景下,什么会形成权力结构?
  • 在这个背景下,什么会造成无法摆脱的义务?
  • 在这个背景下,什么会控制信息流?
  • 在这个背景下,什么会阻止角色轻易离开?
关于形式选择
  • 在这个语境中,自然存在什么形式?
  • 其中哪些形式可以发挥这种功能?
  • 这种形式是否“知道自己身处什么故事”?(不应该)
  • 不熟悉来源的人会觉得这可信吗?
关于验证
  • 这个版本是否带来了相同的情感体验?
  • 所有主要功能是否都得到实现?
  • 各个元素是否连贯地结合在一起?
  • 这显然是改编作品,还是可以独立成立?

反模式

表面替换

**模式:**用“对应”的形式进行替换。国王 → CEO。城堡 → 总部。王子 → 法定继承人。 **问题:**创作出一眼就能看出是衍生作品的内容。所有元素都“知道自己身处什么故事”。 **修正:**先考虑功能。不要问“太空中的城堡对应什么?”,而要问“在太空中,什么会造成封闭感,并让人接近权力?” **识别方法:**如果你的改编简介听起来像“[原作],但发生在[新背景]”,那你就是在做表面替换。

大杂烩式组合

**模式:**把所有来源的内容都加进来。 **问题:**造成混乱的杂烩,功能和基调相互冲突。 **修正:**确定主要来源。只加入与之互补的次要元素。对冲突做出明确取舍。 **识别方法:**如果你无法明确说明哪个来源优先,那你就是在大杂烩式拼凑。

基调不匹配

模式: 综合功能正确,但基调不对。把企业版《哈姆雷特》演成喜剧。 问题: 可能在技术上实现了功能,却带来错误的情感体验。 修复: 明确综合基调。问:“怎样才能让观众产生相同的感受?” 检测: 如果喜欢原作的人会觉得改编的基调背叛了原作,那就不匹配。

生搬硬套

模式: 把原作元素硬塞进不适合的情境中。在“写实”的企业环境里安排鬼魂戏。 问题: 破坏情境的一致性。观众会质疑这个元素为何存在。 修复: 寻找符合情境的形式。“无法验证的特权信息”这一功能并不需要鬼魂。 检测: 如果你需要解释某个元素为何出现,那它可能就不合适。

可用工具

synthesize.ts

根据 DNA 文档开展交互式综合会话。

# Start synthesis from single DNA
deno run --allow-read scripts/synthesize.ts hamlet.json --context "corporate dystopia"

# Combine multiple sources
deno run --allow-read scripts/synthesize.ts hamlet.json killjoys.json --primary hamlet

# Generate form options for specific function
deno run --allow-read scripts/synthesize.ts --function "proximity to power" --context scifi --count 5
form-options.ts

为抽象功能生成适合情境的形式。

# Get form options
deno run --allow-read scripts/form-options.ts "proximity to power" --setting corporate

# With constraints
deno run --allow-read scripts/form-options.ts "privileged information" --setting scifi --constraint "no supernatural"
validate-synthesis.ts

检查综合文档是否完整,以及是否涵盖所有功能。

# Validate against source DNA
deno run --allow-read scripts/validate-synthesis.ts synthesis.json --against hamlet.json

# Check emotional alignment
deno run --allow-read scripts/validate-synthesis.ts synthesis.json --genre drama

# Full validation
deno run --allow-read scripts/validate-synthesis.ts synthesis.json --full

交互示例

用户:“我想把《哈姆雷特》改编成企业背景的故事。”

你的做法:

  1. 诊断状态:检查是否已有提取结果(SYN0 与 SYN1)
  2. 如果没有提取结果:“我们先提取《哈姆雷特》的 DNA。是什么让《哈姆雷特》行之有效?使用 dna-extraction 技能。”
  3. 如果已有提取结果:“很好。我们来确定目标情境。是什么类型的企业?属于哪个行业?这会影响可用的形式。”
  4. 引导情境映射:“在《哈姆雷特》中,王子凭借继承权接近权力中心。在企业里,什么能带来类似的接近权力的机会?导师关系?部门职位?家族所有权?”
  5. 质疑表面对应:“你说‘CEO 就像国王’。但国王承担什么功能?他是权力中心,也是哈姆雷特的叔父、篡位者、夺走他母亲的人。什么样的企业关系能形成这些动态?”
  6. 应用正交性检查:“从未读过《哈姆雷特》的人,能否认为这个企业故事按照自身逻辑是可信的?”
  7. 完成后进行验证:“我们来检查一下:它能带来戏剧效果吗?所有主要功能都得到满足了吗?它明显是《哈姆雷特》,还是能独立成立?”

你不会做的事

  • 你不会把“X 只是换成 Y”当作综合
  • 你不会在没有提取的情况下开始综合
  • 你不会跳过正交性检查
  • 你不会在未确立层级关系前合并来源
  • 你不会在未核实功能覆盖情况前综合形式
  • 你综合的是功能性 DNA;目标情境由用户决定

输出持久化

输出位置发现

综合之前:

  1. 检查项目中是否存在 dna-library/syntheses/
  2. 如果没有,询问:“应该把综合输出保存到哪里?”
  3. 妥善保存该偏好
主要输出

对于此技能,持久化保存:

  • 综合文档——dna-library/syntheses/ 中的 JSON 文件
  • 功能到形式的映射——综合文档的一部分
  • 验证结果——包含在综合文档中
对话与文件
保存到文件保留在对话中
已完成的综合 JSON情境探索讨论
功能映射形式构思
验证结果状态诊断
角色综合“为什么这样有效?”对话

集成图

入站(来自其他技能)
来源技能来源状态导向状态
dna-extractionEX7:提取完成SYN1:DNA 就绪
worldbuilding情境已确立SYN3:检查集成
外部流转(至其他技能)
此状态流转至技能目标状态
SYN5:类型偏移genre-conventionsG2:类型错误
SYN2:表层翻译cliche-transcendence应用正交性
SYN7:综合就绪outline-collaborator准备好列大纲
SYN7:综合就绪drafting准备好起草
互补技能
技能关系
dna-extraction提供输入 DNA 文档
cliche-transcendence用于避免表层翻译的正交性原则
genre-conventions验证情感体验是否一致
worldbuilding确保上下文连贯
outline-collaborator接收完成的综合内容以便列大纲

评论

支持 Markdown