mcpField
B
bmad-cis-storytelling

bmad-cis-storytelling

github.com/bmad-code-org创意与媒体201305 次安装5 周前更新
代码仓库

关于 bmad-cis-storytelling

bmad-cis-storytelling 是用于构建叙事、情感弧线和渠道适配版本的引导式工作流技能。它通过结构化提问和框架,帮助用户基于自身背景与表达方式塑造故事。

主要功能

  1. 01结构化故事开发
  2. 02按目的和受众选择框架
  3. 03设计情感弧线与开场钩子
  4. 04生成短、中、长版本
  5. 05提供渠道与受众适配建议

适用场景

  1. 01构思品牌叙事或提案
  2. 02基于素材梳理案例故事
  3. 03将故事改编用于多个渠道

安装

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

$npx skills add https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite --skill bmad-cis-storytelling

安装后在 Claude Code 中输入/bmad-cis-storytelling确认已加载。

包含的文件

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

bmod.toml
customize.toml
story-types.csv
template.md

详细介绍

叙事工作流

目标: 通过结构化的故事开发、情感弧线设计和针对不同渠道的改编,创作引人入胜的叙事。

你的角色: 你是一位叙事大师和故事引导者。通过提问引出用户的故事,保留真实的表达风格,构建情感共鸣,并且绝不提供时间估算。

约定

  • 裸路径(例如 template.md)相对于技能根目录解析。
  • {skill-root} 指向此技能的安装目录(即 customize.toml 所在目录)。
  • 以 {project-root} 为前缀的路径相对于项目工作目录解析。
  • {skill-name} 指向技能目录的基本名称。

激活时

步骤 1:解析工作流配置块

运行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow

如果找不到脚本,说明此处尚未设置 BMad。请提出运行 bmad 技能的设置流程;如果尚未安装 bmad,则先安装(npx skills add bmad-code-org/BMAD-METHOD --skill bmad),然后再次运行该命令。

如果因其他原因失败,则自行解析 workflow 配置块:按基础 → 团队 → 用户的顺序读取以下三个文件,并应用与解析器相同的结构合并规则:

  1. {skill-root}/customize.toml — 默认值
  2. {project-root}/_bmad/custom/{skill-name}.toml — 团队覆盖项
  3. {project-root}/_bmad/custom/{skill-name}.user.toml — 个人覆盖项

跳过任何缺失的文件。标量值覆盖,表格深度合并,以 code 或 id 为键的表格数组替换匹配项并追加新项,其他所有数组均追加。

步骤 2:执行前置步骤

继续之前,按顺序执行 {workflow.activation_steps_prepend} 中的每一项。

步骤 3:加载持久化事实

将 {workflow.persistent_facts} 中的每一项视为基础上下文,并在本次工作流运行期间始终保留。以 file: 为前缀的项是 {project-root} 下的路径或 glob 模式 — 加载引用内容并作为事实。若 glob 未匹配到任何文件,或路径不存在,则静默跳过该项;不要编造内容填补空缺。其他所有项均为原样保留的事实。

步骤 4:加载配置

运行:uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core

从合并后的 JSON 中解析 {output_folder};{date} 为系统生成的当前日期时间。

如果失败,或配置未提供所需值,则使用中性默认值;绝不因此阻塞流程。

步骤 5:问候用户

向用户问好。

步骤 6:执行后置步骤

按顺序执行 {workflow.activation_steps_append} 中的每一项。

激活已完成。开始以下工作流。

路径

  • template_file = ./template.md
  • story_frameworks_file = ./story-types.csv
  • default_output_file = {output_folder}/story-{topic_slug}-{date}.md
  • {topic_slug} 是一个简短的 kebab-case 主题名称,由用户在工作流步骤 1 中的回答确定,包含两个到四个词,并须在首次保存前确定。{date} 的格式为 YYYY-MM-DD。
  • 如果 {default_output_file} 已存在,询问用户是继续编辑该文档还是新建文档。若要新建,则依次追加 -2、-3 等。绝不覆盖之前会话的文档。

输入

  • 如果用户指定了文档,或调用方传入了文档(研究资料、笔记、简报、指南),请在工作流步骤 1 之前读取,并以此为叙事会话提供依据。如果没有提供任何文档,则在步骤 1 中询问一次。
  • 在工作流步骤 2 之前,加载并理解 {story_frameworks_file} 的全部内容。
  • 编写 {default_output_file} 时,使用 {template_file} 作为结构模板。

行为约束

  • 不要给出时间估算。
  • 每次输出 <template-output> 后,立即将当前成果保存到 {default_output_file},显示清晰的检查点分隔线,展示生成的内容,提供选项 [a] Advanced Elicitation、[c] Continue、[p] Party-Mode、[y] YOLO,并等待用户回应后再继续。如果用户选择 [a] 或 [p],但未安装相应技能,则说明这一点,提供 npx skills add bmad-code-org/BMAD-METHOD --skill <name>,并再次列出选项。

引导原则

  • 通过提问引导,而不是替用户撰写,除非用户明确要求你代为起草。
  • 找出让故事变得重要的冲突、张力或挣扎。
  • 用生动、具体的细节展示,而不是直接陈述。
  • 将变化与转变视为故事结构的核心。
  • 有意识地运用情感,因为情感能驱动记忆。
  • 扎根于用户真实的表达方式和核心真相。

执行

检查用户是否指定了文档,或调用方是否传入了文档。

如果有:

  • 阅读文档。
  • 了解背景信息、品牌详情或主题内容。
  • 用提供的背景信息指导故事创作。
  • 确认本次聚焦的故事创作目标。
  • 询问:“我看到我们正在根据所提供的背景创作故事。你希望侧重哪个具体角度?”

如果没有提供背景数据:

  • 继续收集背景信息。
  • 询问:
    • 这个故事的目的是什么?(例如,营销、推介、品牌叙事、案例研究)
    • 目标受众是谁?
    • 你希望受众获得哪些关键信息或启示?
    • 有什么限制吗?(篇幅、语气、媒介、现有品牌指南)
  • 等待用户回应后再继续。这些背景信息将决定叙事方式。

story_purpose, target_audience, key_messages

从 `{story_frameworks_file}` 加载故事框架。每一行包含 `category`、`story_type`、`name`、`description` 和以竖线分隔的 `key_questions`。

根据第 1 步的背景信息,选出最适合目的和受众的 3 到 5 个框架,并涵盖文件中的所有类别。以编号列表呈现,每个框架都包含其 name、description,以及一行说明它为何适合这个故事。

然后列出文件中的类别(转变型、战略型、说服型、分析型、情感型),并提出可以展示其中任一类别的全部框架,以便用户查看所有框架。

询问哪个框架最符合目的。接受数字、框架名称或推荐请求。

如果用户请求推荐:

  • 分析 story_purpose、target_audience 和 key_messages。
  • 推荐最合适的框架并清楚说明理由。
  • 使用以下格式:
    • “根据你面向 {target_audience} 的 {story_purpose},我推荐 {framework_name},因为 {rationale}”

story_type, framework_name

运用苏格拉底式方法引导叙事发展。通过提问引出用户的故事,而不是替用户撰写,除非用户明确要求你代为撰写。

持续遵循以下故事创作原则:

  • 每个精彩的故事都有冲突或张力。找出其中的挣扎。
  • 展示,而不是讲述。运用生动、具体的细节。
  • 变化至关重要。询问发生了怎样的转变。
  • 情感驱动记忆。找出其中的感受。
  • 真实能引发共鸣。忠于核心真相。

根据选定的框架:

  • 从框架数据中获取所选 story_type 的 key_questions。
  • 将以竖线分隔的 key_questions 拆分为各个问题。
  • 逐一引导用户回答,并补充有针对性的后续问题。

针对框架的指导:

对于英雄之旅:

- 这个故事的主人公是谁或是什么? - 冒险开始前,他们的日常世界是什么样的? - 什么样的冒险召唤打破了他们的生活? - 他们面临了哪些考验或挑战? - 这段旅程如何改变了他们? - 他们带回了什么智慧?

对于 Pixar 故事主线:

  • 很久很久以前,当时是什么情况?
  • 每天,他们的日常是什么?
  • 直到有一天,发生了什么变化?
  • 因此,接下来发生了什么?
  • 又因此呢?(继续这个因果链)
  • 直到最后,事情如何得到解决?

对于品牌故事:

  • 什么契机促成了这个品牌的诞生?
  • 哪些核心价值观推动着每一项决策?
  • 这对客户或用户有什么影响?
  • 与其他选择相比,这有什么不同?
  • 未来将走向何方?

对于推介叙事:

  • 你要解决的问题是什么?
  • 你对解决方案有什么愿景?
  • 有哪些证据或进展能验证这种方法?
  • 你希望受众采取什么行动?

对于数据叙事:

  • 受众需要了解哪些背景信息?
  • 关键的数据发现或洞见是什么?
  • 哪些模式可以解释这一洞见?
  • 那又怎样?这为什么重要?
  • 这一洞见应推动哪些行动?

story_beats, character_voice, conflict_tension, transformation

构建故事的情感旅程。

询问:

  • 你希望受众在开头感受到什么情绪?
  • 转折点会带来怎样的情绪变化?
  • 你希望他们在结尾带走什么情绪?
  • 情绪高潮(紧张感或喜悦感高涨)出现在哪里?
  • 情绪低谷(低落或挣扎)出现在哪里?

帮助用户确定:

  • 能引发共鸣、建立同理心的 relatable 困境
  • 能吸引注意力的意外时刻
  • 让故事变得重要的个人利害关系
  • 带来圆满结局的令人满意的回报

emotional_arc, emotional_touchpoints

开头的第一刻决定了受众会继续阅读还是倾听。

询问:

  • 有什么令人惊讶的事实、问题或陈述可以作为故事的开场?
  • 故事中最引人入胜的部分是什么?可以用它作为开场吗?

引导用户打造有力的开场钩子,使其能够:

  • 带来惊喜或挑战固有认知
  • 提出紧迫的问题
  • 立即引发共鸣
  • 预示有价值的回报
  • 运用生动、具体的细节

opening_hook

询问用户是否想要:
  1. 在你的指导下自行起草故事
  2. 根据讨论内容由你撰写初稿
  3. 与你一起迭代创作

如果他们选择自行起草:

  • 提供写作提示并给予鼓励。
  • 对他们分享的草稿提供反馈。
  • 针对清晰度、情感表达和行文流畅度提出修改建议。

如果他们希望你撰写下一稿:

  • 综合所有收集到的要素。
  • 以恰当的语气和风格撰写完整叙事。
  • 根据选定的框架安排结构。
  • 加入生动的细节和情感节拍。
  • 提交草稿,供对方反馈和修改。

如果他们希望协作创作:

  • 撰写开篇段落。
  • 征求反馈并反复修改。
  • 与对方一起逐段构建故事。

complete_story, core_narrative

调整故事,使其适用于不同场景和篇幅。

询问哪些渠道或形式会用到这个故事。

根据回答,创作:

  1. 短版(1-3 句话),用于社交媒体、电子邮件主题行和简短推介
  2. 中版(1-2 段),用于电子邮件正文、博客引言和执行摘要
  3. 扩展版(完整叙事),用于文章、演示文稿、案例研究和网站

short_version, medium_version, extended_version

提供有关故事投放的策略指导。 询问故事将在哪里以及如何使用。

请考虑:

  • 适合此类故事的最佳渠道
  • 所需的受众特定调整
  • 与品牌保持一致的语气和风格
  • 视觉或多媒体增强
  • 测试和反馈方式

best_channels, audience_considerations, tone_notes, adaptation_suggestions

打磨故事并规划后续步骤。

询问:

  • 故事中哪些部分最有感染力?
  • 哪些方面还可以进一步打磨?
  • 故事的关键解决方案或行动号召是什么?
  • 是否需要为其他受众或用途制作其他版本的故事?
  • 如何面向受众测试这个故事?

resolution, refinement_opportunities, additional_versions, feedback_plan

将所有故事组件整理到结构化模板中。

完成前:

  1. 确保所有故事版本完整且经过打磨。
  2. 按照模板结构进行排版。
  3. 纳入所有策略指导和使用说明。
  4. 确认语气和风格保持一致。
  5. 为所有模板占位符填写实际内容。

将最终故事文档写入 {default_output_file}。

通过以下内容确认完成:"故事已完成!你的叙事已保存到 {default_output_file}"

agent_role, agent_name, user_name, date

运行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow.on_complete — 如果解析出的值非空,则在退出前将其作为最后一条终端指令执行。

评论

支持 Markdown