Install
openclaw skills install @taosiuman/storyforge-writingStoryForge 叙事写作框架(蒸馏自 github.com/yuanbw2025/storyforge 数据契约 + 写作 SOP)。 用于生成框架性语料并受控写作:长篇/短篇/AVG/文字冒险/角色人设/跑团世界(A 类)、 漫画分镜/漫剧 prompt 包(B 类)、漫剧后期对接生成管线(C 类)。 使用场景(含「小说转剧本/剧本改编」「世界封存/世界引擎/世界出口包」「生成可导入语料」):用户要求"按 StoryForge 框架写长篇/短篇/剧本/漫画/漫剧/AVG/跑团"、 "生成框架语料"、"按写作 SOP 推进"、"对齐 StoryForge 数据契约"。
openclaw skills install @taosiuman/storyforge-writing把 StoryForge 的数据契约 + 写作 SOP + 治理纪律蒸馏成电影大师可自主执行的工作流。 本 skill 是总入口:判定任务属于哪类产品 → 读对应子契约 → 生成框架语料 → 按 SOP 推进。
先判定任务属于哪类产品,再读对应子契约文件。
| 产品 | 归属分类 | 子契约 | 核心产物 |
|---|---|---|---|
| 长篇(分步骤) | A 开发创作 | contracts/A-longform.md | 世界观/故事核/角色/大纲/细纲/正文 + 长程一致性 |
| 短篇 | A 开发创作 | contracts/A-longform.md §短篇 | 故事核/角色/单线大纲/正文 |
| 小说转剧本 | A 开发创作 | contracts/C-screenplay.md | 事实/人物/场景提取 → 改编 Brief → 场次计划 → 剧本场景 → 连续性/格式审校 → 不可变剧本版本 |
| 世界引擎(封存/出口) | A 开发创作(世界侧) | contracts/A-world-engine.md | worldCode / WorldRelease(code+version+hash+能力画像)/ 数据出口 / 分享包 |
| 角色聊天(角色卡) | A 开发创作 | contracts/A-characters.md | 角色卡/说话风格/记忆/禁区 |
| AVG / 文字冒险 | A 开发创作 | contracts/A-interactive.md | 场景树/分支/对白/结局/物品/状态机 |
| 跑团 TTRPG | A 开发创作 | contracts/A-interactive.md §跑团 | 规则包/场景/事件(只读冻结世界) |
| 漫画 | B 视觉化 | contracts/B-comic.md | 分镜脚本/页/格/视觉主体卡 |
| 漫剧素材前期(原称"漫剧前期") | B + C | contracts/B-motion-drama.md | 系列圣经/逐集/分镜/Image·Video Prompt IR/适配包 |
| 漫剧后期对接 | C 制作后期 | contracts/C-post.md | prompt 包 → 生成管线(达芬奇〔环境来源〕/Seedance) |
注:「达芬奇」相关条目来自 agent 环境(
ai-memory),非 StoryForge 源仓库基线 (在H:\storyforge-main全文检索 0 命中,见REV-20261005-015#5)。按其操作前必须先在ai-memory检索到对应条目;检不到就停下问用户。
判定顺序:
StoryForge 三个单一事实源——生成语料时必须遵守,不得手拼旁路:
CONTEXT_SOURCES + assembleContext() / Context Gateway。
按层次:任务/作用域/硬约束 → 目录与能力画像 → 相关摘要/事实/关系/事件 → 按需详情 → token 预算保护。
每个 CONTEXT_SOURCES 条目至少表达 7 项:稳定 key、owner、允许作用域、revision/版本来源、预算类别、加载器、可见性。
运行时生成 Context Manifest,记录实际选择、哈希、预算与遗漏。
裁剪必须留证据(三态,不得混淆):missing(冻结世界中不存在满足要求的资源)、omitted(资源存在但未选入本次 release/plan/run)、partial-selection(该语义域仅选入部分资源)。禁止把"没读"当"不存在",禁止用"固定前缀/前 N 条"当主要检索算法。FIELD_REGISTRY + AdoptionSchema + adopt()。
模型输出只是候选(CreativeArtifact),作者确认 adopt() 后才进 Canon;
采纳校验至少覆盖 6 项:field / schema / 外键 / owner / 作用域 / stale(目标变化即拒绝)。
禁止模型输出直接写库、禁止面板私有字段映射。PROJECT_TABLES。导出/导入/删除/迁移/作用域/引用重映射统一收口,不得各写一份表清单。
每个表的登记应覆盖 7 项:owner 与作用域字段 / 是否导出·导入·分享·仅本机 / 项目·世界·作品·实例的删除行为 /
refs·nullable·重映射与导入顺序 / 当前 schema 版本与拒绝边界 / blob 等外部对象引用与回收 / 冻结版本·session·运行账本保留策略。
⚠️ 表清单不在文档中手抄:以代码与 npm run check:required-tables 为准(源仓库治理要求)。works id, projectId, worldId, code, status, activeNarrativeModuleId
worldviews id, projectId # 起源/自然/人文/种族/势力/地点/历史/规则
storyCores id, projectId # 主题/核心冲突/叙事策略/主支线
powerSystems id, projectId # 力量/体系
characters id, projectId, name, roleWeight, moralAxis, orderAxis, statusEvidenceChapterId
characterRelations id, projectId, fromCharacterId, toCharacterId
outlineNodes id, projectId, parentId, order, type # 全书/卷/章 树
chapters id, projectId, outlineNodeId, order, status
detailedOutlines id, projectId, outlineNodeId # 场景/目标/节拍/视角/承接/伏笔
foreshadows id, projectId, status, type
stateCards id, projectId, category, entityName, lastChapterId
storyTimelineEvents id, projectId, chapterId, order
emotionBeatCards id, projectId, chapterId
storyArcs id, projectId, type, sourceStoryCoreId, producerRunId
codexCategories id, projectId, domain, parentId, builtInKey, order
codexEntries id, projectId, categoryId, worldGroupId, order, producerRunId
temporalFacts id, projectId, worldGroupId, characterId, locationId, codexEntryId, predicate, status, sourceChapterId
knowledgeLedger id, projectId, worldGroupId, characterId, knowledgeKey, factId, sourceChapterId, status
itemLedger id, projectId, itemName, chapterId
narrativeSummaryNodes id, projectId, worldGroupId, level, sourceChapterId, sourceOutlineNodeId, status
projectId(工作区)→ worldId/worldGroupId(世界作用域)→ workId(独立作品)→ 产品实例/production/build/release/session。
| 阶段 | 可读 | 新数据 owner | 交接证据 | 禁止 |
|---|---|---|---|---|
| S1 世界封存 | 世界草稿及来源 | world draft/release | 可引用 WorldRelease(code, 不可变 release id/hash, 能力画像) | 产品设置/媒资/session 进世界 |
| S2 产品定向 | 可引用 WorldRelease | product draft/intent | WorldReference + Brief + ProductSourcePlan + 用户开始授权 | 未授权正式生产;改来源世界 |
| S3 产品执行 | 冻结 Brief/plan | production/build/release/session | 每 run Context Manifest + ProductSourceManifest + 不可变 Release | 超 plan 读可变世界;自动回写世界 |
所有字段统一遵守(以"种族与民族"为代表):
1. 保存当前人工输入与补充说明
2. 建立当前作用域与 revision
3. 读取目标字段、相关目录与按需证据(Context Manifest 记录读/遗漏)
4. 选择动作:create / expand / rewrite / polish
5. durable 生成候选(CreativeArtifact,非 Canon)
6. 展示候选与运行证据
7. 作者编辑 / 拒绝 / 采纳
8. stale 检查 + adopt()(校验 field/schema/外键/owner/作用域;目标变化则拒绝 stale 候选)
9. 回读字段、触发索引/事实/下游失效与重建
纪律:
AI 输出只是候选,作者确认才进 Canon;不自动采纳、不静默写入。
只出创作语料,不碰 runtime:活体 AI 小镇模拟、可玩开放世界、产品 build/release/session 运行态不属于本 skill 范围。
冻结世界引用:上层产品(跑团/AVG/文字冒险/开放世界)只读引用已封存 WorldRelease,运行结果不回写世界引擎。
裁剪留证据(三态):missing(世界中不存在)/ omitted(存在但未选入)/ partial-selection(仅选入部分);不得混淆三者,不得把未读当不存在,不得用「固定前缀/前 N 条」当主要检索算法。
stale 不可跳过:目标或关键来源变化后拒绝 stale 候选,刷新不得自动重发模型请求。
证据分级(v0.2.0 新增):每条生成内容必须可标注来源等级,且不得把推断当事实写入 Canon:
OBSERVED:由实际检查过的源文件/原文直接支持(给出文件与偏移/行号)INFERRED:由已有事实推导(须写推导链,作者可复核)UNKNOWN:无来源支持 → 必须标为 UNKNOWN 或留空,禁止编造补全
“主张与证据等量”:一句主张配一条证据;provenance 必须逐块标注(来源 md + revision + contentHash)—— 落在旁车文件中,存放位置以 contracts/S-data-envelope.md §3 为准。素材来源:
H:\StoryForge-master\docs\ai\anti-hallucination.md(辅助来源,非数据契约基线)。
完整复刻边界:本 skill 复刻"创作语料 + 数据契约 + SOP",不复刻 StoryForge 的浏览器 IndexedDB 运行时与产品引擎。
projects/<项目>/storyforge-framework.json —— JSON 主体只含字段闭集内的键;
provenance(来源 md + revision + contentHash)与 evidenceGrade 放旁车文件 storyforge-framework.provenance.json(逐块标注)。
⚠️ 存放位置的唯一权威:
contracts/S-data-envelope.md§3。不得把 provenance / evidenceGrade 塞进 JSON 记录内 —— 应用导入走精确键集,多余键会被直接拒收。
projects/长铗传/storyforge-framework.json(首个闭环验证)。/long 作品库执行导入(浏览器本地,agent 不代操作)。python scripts/check_consistency.py(应为 0 fail)contracts/A-longform.md — 长篇/短篇:世界观·故事核·角色·大纲·细纲·正文 + 长程一致性contracts/A-characters.md — 角色卡/人设/记忆/禁区contracts/A-interactive.md — AVG/文字冒险/跑团:场景树·分支·对白·结局·物品·状态机contracts/B-comic.md — 漫画:分镜脚本·页·格·视觉主体卡contracts/B-motion-drama.md — 漫剧前期:系列圣经·逐集·分镜·Image/Video Prompt IRcontracts/C-post.md — 漫剧后期:prompt 包 → 达芬奇〔环境来源〕/生成管线对接横切契约(不属任何单一产品,全部产品适用):
contracts/S-data-envelope.md
contracts/C-screenplay.md — 小说转剧本:改编 Brief·Beat·Scene Card·场次 AST·版本与导出(v0.2.0 新增)contracts/A-world-engine.md — 世界引擎:worldCode·WorldRelease 字段闭集·能力画像·数据出口·分享包(v0.2.0 新增)contracts/S-data-envelope.md — 数据契约与 JSON 导入/导出信封(v0.2.0 新增;含待实测项)本技能版本:v0.2.1(2026-10-06)。变更见
CHANGELOG.md;内部一致性由scripts/check_consistency.py校验(13 项断言)。
| 文档 | 版本 | 日期 |
|---|---|---|
docs/DATA-GOVERNANCE.md | v1.8.0 | 2026-09-28 |
docs/PROJECT-MASTER-CHARTER.md | v1.10.0 | 2026-09-29 |
docs/DOCUMENT-AUTHORITY.md | v2.4.0 | 2026-09-29 |
docs/CONTEXT-ROUTING.md | v2.7.0 | 2026-09-29 |
docs/products/UPPER-PRODUCTS.md | v2.6.0 | 2026-09-28 |
docs/products/LONGFORM-AND-NODE.md | v1.6.0 | 2026-09-27 |
docs/products/MOTION-DRAMA.md | v1.2.0 | 2026-09-15 |
docs/products/INDEPENDENT-CREATION.md | 1.2.0 | 2026-08-31 |
docs/products/WORLD-ENGINE.md | 1.4.0 | 2026-09-10 |
src/lib/db/schema.ts | schema v10(comic v5 迁移步) | — |
H:\storyforge-main(唯一数据契约基线)。旧版单一日期 2026-09-27 已过期
(多份权威文档落在 09-28/09-29,施工契约甚至 2026-10-04)—— 见 REV-20261005-015。H:\StoryForge-master\docs\ai\anti-hallucination.md
(仅"agent 纪律/证据分级";该仓库是 Desktop IDE 线,SQLite,与本技能不同源)。scripts/check_consistency.py。