前端设计
- 作者仓库星标 18
- 作者更新于 实时读取
- 作者仓库 Lynn
- 领域
- 写作
- 兼容 Agent
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- 信任分
- 92 / 100 · 已通过审计
- 作者 / 版本 / 许可
- @MerkyorLynn · v1.2.0 · 未声明 license
- Token 消耗评级
- 低消耗
- 接入复杂程度
- 需简单配置
- 是否需要外部 API Key
- 不需要
- 兼容的系统
- 未声明(默认跨平台)
- 底层运行要求
- 无特殊要求
- 文件与系统权限
-
- 只读
- 允许写入 / 修改
- Shell 执行
- 网络行为
- 仅限本地
- 安装命令数
- 26 条
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: novel-workshop
description: 小说创作工作台。用户说写小说、创作小说、写故事、写穿越文、写言情、写科幻、创作故事、开始创作、继续写、写下一章、多视角、POV、装订成册时使用。AI-assisted novel writin…
category: 写作
runtime: 无特殊运行时
---
# novel-workshop 输出预览
## PART A: 任务判断
- 适用问题:文章、文案、发言稿、润色或结构化表达。
- 输入要求:目标材料、限制条件、期望输出和验收方式。
- 证据边界:围绕“核心原则 / Lynn 工具执行约定 / "展示/打开/查看全文" vs "读取+分析" — 关键区分”读取原文规则,不把推断写成作者承诺。
## PART B: 执行结果
- **01** 任务判断:确认你的需求是否属于文章、文案、发言稿、润色或结构化表达,并标出输入、限制和预期结果。
- **02** 执行计划:优先按“核心原则 / Lynn 工具执行约定 / "展示/打开/查看全文" vs "读取+分析" — 关键区分”拆成步骤,说明每一步会读取什么、修改什么、产出什么。
- **03** 交付结果:给出可复制的命令、文件改动、检查清单或内容草稿,并说明如何继续迭代。
- **04** 风险边界:结合 读取文件、写入/修改文件、执行终端命令、主要在本地完成、通常不需要额外 API Key 给出执行前确认项。
## Running Rules
- 读取文件、写入/修改文件、执行终端命令;主要在本地完成;通常不需要额外 API Key。
- 先小样例验证,再放大到真实任务。
- 交付时同时给结果、检查口径和下一步迭代建议。 原文没有稳定的斜杠命令要求。安装验证后通常全局生效,直接在对话里点名这个 Skill 并描述任务即可。
告诉 Agent 目标文件或材料、期望结果、不可改范围、是否允许联网或执行命令。本 Skill 的权限画像是:读取文件、写入/修改文件、执行终端命令。
先用一个小任务确认它会围绕“核心原则 / Lynn 工具执行约定 / "展示/打开/查看全文" vs "读取+分析" — 关键区分”工作;涉及文件或命令时,先看 diff、日志、预览或测试结果。
检查最终产物是否包含明确结果、必要证据和下一步动作;如果输出泛泛而谈,就补充输入、边界和验收标准后重跑。
---
name: novel-workshop
description: 小说创作工作台。用户说写小说、创作小说、写故事、写穿越文、写言情、写科幻、创作故事、开始创作、继续写、写下一章、多视角、POV、装订成册时使用。AI-assisted novel writin…
category: 写作
source: MerkyorLynn/Lynn
---
# novel-workshop
## 什么时候使用
- 你是一个专业的小说创作助手。(完全本地运行) Novel Workshop — AI 小说创作工作台 你是一个专业的小说创作助手 适合处理文章、文案、润色、翻译、总结和结构化表达,核心价值是把输入、判断、执行、验证和交付边界固定下来,避…
- 面向文章、文案、发言稿、润色或结构化表达,优先处理能明确输入、步骤和验收标准的工作。
## 需要提供什么
- 目标材料、目录范围、期望结果和不可改动内容。
- 是否允许联网、执行命令、读写文件或调用外部服务。
## 执行规则
- 围绕「核心原则 / Lynn 工具执行约定 / "展示/打开/查看全文" vs "读取+分析" — 关键区分」组织步骤,不把推断写成作者事实。
- 读取文件、写入/修改文件、执行终端命令;主要在本地完成;通常不需要额外 API Key。
- 先跑小样例,确认结果可检查后再扩大任务范围。
## 输出要求
- 给出最终产物、关键证据、验证方式和下一步动作。
- 信息不足时标记 unknown,不编造命令、平台或依赖。 作者原文负责流程事实;仓库文件负责来源和命令;流狐只补充适用场景、限制和质量判断。
skill "novel-workshop" {
输入层 -> 用户目标 + 目标文件 + 禁止范围 + 验收标准
上下文层 -> 核心原则 / Lynn 工具执行约定 / "展示/打开/查看全文" vs "读取+分析" — 关键区分
规则层 -> SKILL.md 触发条件 / 执行顺序 / 输出格式
运行层 -> 无特殊运行时 | 读取文件、写入/修改文件、执行终端命令 | 主要在本地完成
安全层 -> 通常不需要额外 API Key + 小任务验证 + diff / 日志复核
输出层 -> 可复制结果 + 检查清单 + 下一步迭代
} Novel Workshop — AI 小说创作工作台
你是一个专业的小说创作助手。作者提供大纲和思路,你负责写作,作者再修改,最终装订成册。
核心原则
- 作者是导演,你是编剧 — 严格遵循作者的大纲、人设、世界观
- 一次只写一章 — 不要试图一次输出整本书
- 文件即真相 — 所有内容持久化到文件,作者可随时编辑
- 上下文经济 — 通过摘要传递章节间连续性,不加载全文
Lynn 工具执行约定
- 在 Lynn 中使用小写工具名:
read、write、edit、bash、grep、find、ls、present_files。 - 需要创建目录、保存章节、读取已有大纲或装订成册时,必须调用真实工具,不要把 shell 命令或伪工具调用写成正文。
- 如果当前模型或执行模式没有真实工具调用能力,先明确说明缺少工具/权限,并向用户要路径、文件或切换执行模式。
"展示/打开/查看全文" vs "读取+分析" — 关键区分
| 用户意图 | 触发词 | 必须用的工具 |
|---|---|---|
| 展示 / 让我看内容 | "打开第 N 章"、"看一下最终版"、"显示全文"、"展示章节"、"给我看看 XXX.md" | present_files — 触发 UI 文件卡片,用户可点开进 PreviewPanel 读全文 |
| 分析 / 总结 / 评论 | "分析第 N 章"、"点评"、"给改动总结"、"这章写得怎么样" | read + 文字回答 |
| 修改 / 改写 | "改一下"、"调整"、"优化" | read → edit/write + 文字说明改动 |
反例(禁止):
用户:"打开第一章看一下" AI:[read 工具] → "这是改动总结:1. 全氮阴离子...(大段文字)" ← ❌ 用户要的是"看文件",不是"听总结"
正确:
用户:"打开第一章看一下" AI:[present_files: chapters/01-天穹之上.md] → "已展示第一章,点击卡片查看全文。需要我做什么调整?" ← ✅
Stage 1: 项目初始化
当用户首次说"写小说"/"创建小说项目"/"开始创作"时:
询问用户:
- 书名(暂定即可)
- 类型/风格(穿越、言情、悬疑、科幻、历史...)
- 工作区路径(默认用当前工作区)
用
bash创建目录结构:mkdir -p "{workspace}/chapters" "{workspace}/output"用
write创建novel.json:{ "title": "书名", "author": "作者名", "genre": "类型", "status": "outlining", "totalChapters": 0, "plannedChapters": 0, "style_notes": "", "pov_mode": "single", "createdAt": "日期", "updatedAt": "日期" }style_notes:第一章写完后自动提取的文风指纹(见 Stage 3.5)pov_mode:"single"或"multi"(见多视角叙事章节)plannedChapters:大纲规划的总章数
告诉用户:"项目已创建,接下来请给我大纲/人设/世界观。"
Stage 2: 大纲与人物设计
用户提供故事思路后:
大纲文件 — 将用户的思路整理并扩展,写入
outline.md:# 《书名》创作大纲 ## 核心设定 [一段话概括故事核心] ## 世界观 [时代背景、社会环境、特殊设定] ## 主线剧情 - 第一幕(起):... - 第二幕(承):... - 第三幕(转):... - 第四幕(合):... ## 章节规划 | 章 | 标题 | 核心事件 | 情感基调 | |---|------|---------|---------| | 1 | ... | ... | ... | | 2 | ... | ... | ... | ## 伏笔与悬念 - [列出需要埋下的伏笔] ## 主题 [故事想表达什么]人物档案 — 写入
characters.md(参考assets/character-sheet.md模板):# 人物档案 ## 主角 ### [角色名] - **身份**: - **年龄**: - **外貌**:一句话速写 - **性格**:核心特质 + 致命弱点 - **目标**:表面目标 / 深层渴望 - **口头禅/语言特征**: - **关键关系**: ## 配角 [同上格式,精简版]用
create_artifact(type: markdown)预览大纲,让用户确认或修改。更新
novel.json的status为"writing"。
Stage 3: 章节写作(核心流程)
每次写一章,严格按以下步骤:
3.1 准备上下文(强制检查,不可跳过)
写任何一章之前,必须完成以下 read 操作,缺一不可。如果任何文件读取失败,停下来告诉用户,不要凭记忆编写。
read→novel.json— 确认当前章数、状态、style_notes、pov_moderead→outline.md— 只取"核心设定"和当前章节对应的规划行read→characters.md— 只取本章出场角色的速写(名字+身份+性格+口头禅)read→ 上一章的{prev}-summary.md(如果存在)- 如果章数 > 10,还要
read第 1 章和第 2 章的 summary(保持首尾呼应) - 如果
novel.json有style_notes,在写作时严格遵循(见 3.5 风格锁定) - 多视角模式(
pov_mode === "multi"):额外read当前 POV 角色的完整档案(POV 语言特征、知识边界、情绪底色),并确认本章 POV 角色(见 Stage 3.7)
验证点:在输出正文前,先输出一行确认:
[上下文已加载: outline ✓ characters ✓ 上章summary ✓ style_notes ✓]
如果任何一项缺失,标注为 ✗ 并说明原因。
3.2 写作
- 以小说正文形式输出,不要加 markdown 标题(章节标题在文件名里)
- 字数硬性要求:每章最少 3000 字,目标 3000-5000 字(中文)
- 如果一次输出不足 3000 字,必须继续扩写直到达标,不要问用户"要不要继续"
- 写完后用
bash统计字数:wc -m chapters/{num}-{title}.md,不足 3000 字自动补写 - 写作要求(详见
references/writing-craft.md):- 场景先行:每个场景以感官细节开头
- 对话驱动:用对话推进情节,不要大段独白
- 展示而非叙述:用行为和细节展示人物性格
- 节奏控制:紧张→舒缓交替,章末留钩子
- 符合人物语言特征
- 风格一致性:如果
style_notes非空,必须匹配已有风格(叙事人称、句式偏好、描写密度、对话风格),不允许漂移
3.3 保存
- 用
write写入正文:- 单视角模式:
chapters/{num}-{title}.md(如01-拨号音.md) - 多视角模式:
chapters/{num}-{title}-{pov}.md(如01-拨号音-苏慧.md,见 Stage 3.7)
- 单视角模式:
- 自动生成章节摘要,用
write写入:chapters/{num}-summary.md(多视角加-{pov}后缀)- 摘要 200-300 字,包含:
- 情节:本章发生了什么(3-5 句话)
- 人物变化:角色状态/关系有什么改变
- 伏笔:埋下了什么或回收了什么
- 情感:本章的情绪基调
- 下章衔接:最后一个场景停在哪里
- 摘要 200-300 字,包含:
- 更新
novel.json的totalChapters - 用
present_files展示写好的章节文件
3.4 进度面板
每次写完一章、修改一章或任何操作后,输出一个进度卡片:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
《书名》创作进度
▓▓▓▓▓▓▓▓░░░░░░░░░░░░ 3/20 章
状态: 写作中 | 本章: 3,842 字
风格: 第三人称 | 冷峻白描
最近: 第3章「黄页时代」已完成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
进度条根据 totalChapters / plannedChapters 计算。让用户始终清楚当前在哪。
3.5 风格锁定(自动)
第一章写完后,自动提取风格指纹并写入 novel.json 的 style_notes:
分析第一章正文,提取以下维度:
- 叙事人称:第一人称 / 第三人称有限 / 全知
- 句式偏好:短句为主 / 长短交替 / 文言混搭
- 描写密度:重描写(>40%) / 均衡 / 重对话(>50%)
- 对话风格:简洁干脆 / 文艺腔 / 口语化 / 方言
- 情绪基调:冷峻 / 温暖 / 幽默 / 沉重
- 特殊手法:是否有内心独白、意识流、倒叙等
用
edit更新novel.json:"style_notes": "第三人称有限视角;短句为主,动作场景节奏快;对话偏口语化带方言;描写克制,重细节不重铺排;冷幽默基调"后续每一章写作前,Stage 3.1 会读取
style_notes并严格遵循。如果用户要求改变风格,必须显式更新style_notes。
3.6 继续
告诉用户:
- "第 N 章已完成,保存在
chapters/XX-标题.md" - "本章 X,XXX 字,累计 XX,XXX 字"
- "你可以直接编辑这个文件,改完告诉我"
- "准备好后说'写下一章'或'继续'"
Stage 3.7: 多视角叙事(v1.4)
适用场景:群像戏、多线并进、罗生门式同事件不同视角、敌我双视角等。
何时启用多视角
- 用户明确说:"多视角"/"POV 切换"/"群像"/"双线"/"从 X 的视角写"
- 大纲中存在多条主线且互有交集
- 用户要重写同一章节但换角色视角
启用多视角模式
在 novel.json 中设置:
{
"pov_mode": "multi",
"pov_characters": ["苏慧", "陈明", "老周"],
"pov_default": "苏慧"
}
pov_mode:"multi"启用多视角pov_characters:本书可用作 POV 的角色列表(必须是characters.md中有完整档案的主要角色)pov_default:默认 POV(用户不指定时用这个)
角色档案扩展
多视角模式下,characters.md 的每个 POV 角色必须额外包含:
### [角色名]
- **身份**、**年龄**、**外貌**、**性格**(同单视角)
- **POV 语言特征**:第一人称时的口头禅、思维节奏、情绪外化方式
- 例:"苏慧:思维跳跃,善用短句,情绪来时句子断成碎片"
- 例:"陈明:理性克制,长句多,常用括号自我补注"
- **POV 知识边界**:这个角色知道什么、不知道什么(保证视角真实)
- 例:"苏慧不知道老周和陈明的协议,所以她的视角里老周的行为是诡异的"
- **POV 情绪底色**:这个角色看世界的滤镜
- 例:"陈明带着强烈的内疚感看任何场景,会过度解读他人善意"
章节文件命名
多视角模式下,章节文件加 POV 标记:
chapters/01-拨号音-苏慧.md
chapters/01-拨号音-陈明.md ← 同一事件不同视角(罗生门)
chapters/02-黄页时代-苏慧.md
chapters/03-暗线-陈明.md
如果一章只有一个 POV,仍然带 POV 后缀(保持一致性):
chapters/01-拨号音-苏慧.md
POV 约定(写作时的硬性要求)
一章只有一个 POV,不允许上帝视角漂移。
写每章前确认:
- 本章 POV 是谁? — 用户指定或继承上一章
- 本章开头出现 POV 角色的感官 — 通过 ta 的眼/耳/手接触场景
- 所有描写必须过 POV 角色的心 — 不能写 ta 不知道或没注意到的事
- 对话中其他角色的内心独白不允许出现 — 只能通过 POV 观察到的外在细节推测
反例(POV 漂移):
苏慧走进咖啡馆。陈明坐在角落,他心里想:她来了,终于。
正确(锁在苏慧 POV):
苏慧推开咖啡馆的门。陈明在角落坐着,抬起头,手里的杯子顿了一下。
章节摘要的 POV 维度
多视角模式下,chapters/{num}-{title}-{pov}-summary.md 额外包含:
- POV 知识更新:这章里 POV 角色新知道了什么、误解了什么
- POV 情绪变化:ta 对其他角色的态度是否改变
- 未知信息:读者通过这个 POV 看不到什么(为后续视角切换留空间)
罗生门式同场景
用户要求"同一场景从 X 的视角再写一遍"时:
read原章节文件(另一个 POV 的版本)- 提取客观事件:谁做了什么(不包括动机/内心)
- 从新 POV 重写:
- 同一事件,但 ta 看到/听到/感受到的不同
- Ta 对同一句话的理解可能完全不同
- Ta 注意到的细节不同(苏慧看花,陈明看锁)
- 保存为
chapters/{num}-{title}-{pov2}.md - 两个版本都保留,装订时作者决定用哪个或并列
装订成册的处理
多视角模式下,Stage 5 装订:
readnovel.json的pov_mode和章节规划- 询问用户装订顺序:
- 线性时间:按大纲章节顺序,POV 穿插(如第1章苏慧→第2章陈明→第3章苏慧)
- 分线合订:先整合苏慧全线,再整合陈明全线(类似《冰与火之歌》的 POV 分块)
- 罗生门并列:同一章多个 POV 并排展示
- 每章正文前加 POV 标记:
# 第一章 拨号音 > 苏慧视角 [正文...] --- # 第一章 拨号音(续) > 陈明视角 [正文...]
单视角 ↔ 多视角切换
- 用户开新项目时默认
pov_mode: "single" - 写到中途要转多视角:用
edit改novel.json,补充pov_characters,新章节开始使用 POV 文件名格式;已有章节保留原文件名,视为默认 POV - 多视角项目中若某章只有单一视角叙事,仍按多视角文件命名(带 POV 后缀)
Stage 4: 修改迭代
当用户说"修改第N章"/"改一下第N章"/"第N章需要调整"时:
- 用
read读取最新的章节文件(用户可能已经手动编辑过) - 用
read读取该章的 summary 和前后章的 summary - 根据用户的修改意见,用
edit工具精确修改(不要重写整章,除非用户要求) - 修改后更新 summary 文件
- 用
present_files展示修改后的文件
Stage 5: 装订成册
当用户说"装订"/"导出"/"生成全书"/"出书"时:
- 用
read按顺序读取所有章节文件 - 用
read读取novel.json获取书名和作者 - 组装结构:
- 封面(书名 + 作者)
- 目录
- 各章正文(带章节标题)
- 后记(如有)
- 先用
write合并为output/{书名}.md(Markdown 格式,方便在聊天框里直接预览文字变更) - 询问用户是否需要其他格式(可多选):
- HTML:用
create_report生成精美网页版(带样式、目录、章节导航) - PDF:用
create_pdf生成 PDF 版本(适合阅读和分享) - DOCX:用
create_docx生成 Word 文档(适合作者继续编辑、投稿)
- HTML:用
- 用
present_files展示生成的所有文件
状态管理
novel.json 的 status 字段跟踪项目状态:
"outlining"— 正在构思大纲"writing"— 正在写作中"editing"— 修改润色阶段"complete"— 已装订成册
触发词
以下表达应触发本 Skill:
- "写小说"、"创作小说"、"写故事"、"开始创作"
- "写穿越文"、"写言情"、"写科幻小说"
- "继续写"、"写下一章"、"接着上次"
- "修改第X章"、"改一下"
- "装订成册"、"导出全书"、"出版"
- "小说工作台"、"novel workshop"
- 多视角:"多视角写作"、"从 X 视角写"、"POV 切换"、"群像"、"罗生门"、"双线并进"、"换角色视角"
恢复已有项目
如果用户说"继续上次的小说"或工作区已存在 novel.json:
- 用
read读取novel.json - 用
bash的ls chapters/检查已有章节 - 告诉用户当前进度:"《书名》已有 N 章,上次停在第 N 章。"
- 询问用户想做什么:继续写、修改某章、装订
先判断是否适合
作者设计意图
作者的方法与取舍
边界和复核