plugins/tools/novelist/skills/novelist-init/SKILL.md
--- name: novelist-init description: 初始化一部新小说的目录环境(scale)。当用户说"新建小说/开一本书/初始化小说项目/搭小说目录"时调用, 创建中文目录骨架(人物/世界观/设定/大纲/情节/章节/元数据)+模板文件。这是 novelist 插件所有其他 skill 的前置——没有目录环境, design/write/check 无处落盘。 user-invocable: true argument-hint: [小说名] [类型] arguments: [小说名, 可选类型] --- # novelist-init — 初始化小说目录环境 为一部小说搭建细粒度的中文目录骨架, 让后续设定、编写、检查各有归属、互不冲突。 ## 工作流(按序执行) 1. **取参数** — 从用户输入取「小说名」(必需) 与「类型」(可选, 如 玄幻/科幻/悬疑)。缺小说名 → 硬停, 用 `AskUserQuestion` 问, 禁自行编名。 2. **定父目录** — 默认当前工作目录。若用户指定路径则用之。 3. **审批门 — 确认创建参数**
npx skillsauth add lazygophers/ccplugin plugins/tools/novelist/skills/novelist-initInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
为一部小说搭建细粒度的中文目录骨架, 让后续设定、编写、检查各有归属、互不冲突。
AskUserQuestion 问, 禁自行编名。AskUserQuestion 确认「确认创建 / 取消」。用户取消 → 退出, 不建目录。# 有类型
python3 ${CLAUDE_PLUGIN_ROOT}/skills/novelist-init/scripts/init_novel.py "<小说名>" --path <父目录> --genre "<类型>"
# 无类型(省略 --genre)
python3 ${CLAUDE_PLUGIN_ROOT}/skills/novelist-init/scripts/init_novel.py "<小说名>" --path <父目录>
脚本创建: 人物/ 世界观/ 设定/ 大纲/ 情节/ 章节/ 元数据/ + 各层模板与索引文件。硬停: 脚本退出码 2(目标已存在且非空) → 禁直接加 --force 覆盖, 先用 AskUserQuestion 问用户「换名 / 追加 / 取消」, 用户选追加才补 --force。总览.md 的目录约定表)。novelist-design 做核心设计(主要剧情 + 主要人物)。完整目录树与归属总表见 references/directory-schema.md(整套插件的唯一结构事实源)。速览:
| 目录 | 归属 skill | 内容 | |---|---|---| | 人物/<人物名>/ | novelist-character | 简介.md / 经历.md / 关系.md | | 世界观/ + 设定/ | novelist-worldview | 地理/势力/规则/历史 + 其他设定 | | 大纲/ + 情节/ | novelist-outline | 总纲/分卷 + 主线/支线/伏笔 | | 章节/ | novelist-write / novelist-rewrite | 正文 + 章节索引 | | 元数据/ | novelist-check / novelist-proofread | 进度 + 检查/校对报告 |
| 触发 | 一线修复 | 仍失败兜底 |
|---|---|---|
| 缺小说名 | AskUserQuestion 问用户 | 用户不给 → 退出, 不建目录 |
| 用户在 审批门 选「取消」 | 退出, 不建目录, 告知用户可重新调用 | — |
| 目标目录已存在且非空(脚本退出码 2) | 报告用户, 问是「换名 / 追加(--force) / 取消」 | 用户选追加 → 加 --force 重跑(不覆盖已有文件) |
| python3 不可用 | 提示用户安装 python3 | 仍无 → 退出并说明手动建目录方式 |
| # | 禁做 | 改为 |
|---|---|---|
| 1 | 自行编一个小说名就建目录 | 缺名先 AskUserQuestion |
| 2 | 不跑脚本, 手动一个个 mkdir | 一律走 init_novel.py, 保证结构一致 |
| 3 | 无 --force 时强行覆盖已存在目录 | 先问用户, 尊重退出码 2 |
| 4 | 初始化时顺手写正文/设定内容 | 本 skill 只搭骨架, 内容交 design/character/worldview |
本 skill 是 novelist 插件的入口。完成后所有写作动作都在此目录环境内进行。
tools
UI/UX 与布局设计——做界面布局/结构/导航/组件/交互的设计决策。触发:做UI/UX/布局/排版/导航/组件/交互/栅格/响应式/图表选型/字体配对。按媒介路由 HTML/Web、原生 App(iOS/Android/桌面)、CLI、TUI。需后端动态系统不适用;配色/主题/色板走姊妹 skill design-color。
tools
主题与配色设计——做颜色搭配/调色板/主题/品牌色阶/暗模式的设计决策。触发:选配色/调色/主题/色板/品牌色/暗模式/对比度/色盲/UI风格。按媒介路由 HTML/Web(CSS变量)、原生App(平台token)、CLI(ANSI)、TUI(真彩/256/16降级)。保证可访问性(对比度/色盲安全)。需后端动态系统不适用;UI/UX 布局/组件/交互走姊妹 skill design-uiux。
tools
跨任意组件(plugin/skill/agent/command)的验证驱动优化循环纪律 skill。当用户要优化某个已有组件却无明确方向、或要防止改了反而更差(自评乐观偏差 / 多维同改归因失效 / 为凑分加废话膨胀)、或要把一套通用「评分→单变量改→改后验证严格更好才留否则回滚→触顶停」的纪律套到任意组件上时使用。管优化过程本身的纪律(validation gate / ratchet / 独立验证 / 触顶停),不评单组件深度(交 skill-dev),不查插件接线(交 plugin-dev)。仅手动 /optimize-any 触发。
data-ai
两层规则记忆 (基于 .skein/spec)。planning 时 recall 召回相关规则、task finish 后 sediment 沉淀学习 + prune 自动精简过期/重复/断链规则。core 常驻硬规 + recall 按需召回, 经判定门自动写盘 (不逐次问用户)。产出 .skein/spec 下 core/recall 规则文件 + index。另支持空仓 bootstrap 播种规则基线、记忆大面积失效 (大重构/换栈) 时 reconstruct 可逆归档后按项目类型分型重建、maintain 手动体检 (超预算/stale/断链/重复/废弃, --apply 自动修复)、auto-fix (Stop hook 写 .pending-fix 标记 → main 派 skein-specer bg 跑 maintain --apply 全自动修, 断链只报告)。