plugins/tools/novelist/skills/novelist-character/SKILL.md
--- name: novelist-character description: 创建或更新单个小说人物的详细设定。当用户说"加个人物/写某角色设定/完善某人物/这个角色的经历关系"时调用。每个人物在 人物/<人物名>/ 下独立文件夹, 拆为三文件: 简介.md(简介+性格)、经历.md(各时间段经历/事件)、关系.md(与他人交集/是否见过)。本 skill 独占 人物/ 目录。 user-invocable: true argument-hint: [人物名] arguments: [人物名] --- # novelist-character — 单人物细粒度设定 把一个人物拆成三个正交文件管理, 让"是谁"、"经历过什么"、"和谁有交集"分开演进、便于一致性检查。 ## 三文件结构(人物/<人物名>/) | 文件 | 内容 | 要点 | |---|---|---| | 简介.md | 身份、外貌、**性格**(多维)、动机、说话风格、能力 | 性格写成可驱动行为的条目, 非空泛形容词 | | 经历.md | 按**时间段**排列的经历与关键事件(时间线) | 每条标时
npx skillsauth add lazygophers/ccplugin plugins/tools/novelist/skills/novelist-characterInstall 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.
把一个人物拆成三个正交文件管理, 让"是谁"、"经历过什么"、"和谁有交集"分开演进、便于一致性检查。
| 文件 | 内容 | 要点 | |---|---|---| | 简介.md | 身份、外貌、性格(多维)、动机、说话风格、能力 | 性格写成可驱动行为的条目, 非空泛形容词 | | 经历.md | 按时间段排列的经历与关键事件(时间线) | 每条标时间锚点, 与 世界观/历史.md 对齐 | | 关系.md | 与其他人物的交集: 关系类型、是否见过面、首次相遇章、当前态度 | 双向登记——A 改了对 B 的关系, 也提示更新 B |
AskUserQuestion 问。人物/_索引.md。已存在该人物 → 更新模式(读其三文件再增量改); 不存在 → 新建文件夹 + 三文件。AskUserQuestion 确认「写入 / 补充更多 / 取消」。用户取消 → 不写文件。references/character-templates.md 的模板分别写 简介/经历/关系。每个文件保持单一职责, 不串内容。人物/_索引.md 登记/更新该人物行; 若涉及与他人交集, 提示同步对方 关系.md。novelist-check 复核。novelist-design 引用: 核心设计阶段, design 调用本 skill 落地每个主要人物的骨架。| 触发 | 一线修复 | 仍失败兜底 |
|---|---|---|
| 缺人物名 | AskUserQuestion 问 | 用户不给 → 不创建 |
| 用户信息太少, 设定填不满 | 逐项追问关键维度(动机/性格/背景) | 仍不足 → 只写已知, 文件标「待补」, 禁虚构 |
| 新增关系但对方人物不存在 | 提示先为对方建档(可本 skill 再跑一次) | 用户暂不建 → 关系.md 记为「(未建档)对方名」 |
| 经历时间与 世界观/历史.md 冲突 | 标出冲突点请用户裁定 | 裁定后改对应文件, 禁两边各执一词 |
| 人物/_索引.md 不存在 | 新建索引文件并写表头行(人物名/简介摘要/状态) | 仍失败(权限/路径) → 跳过索引更新, 继续写三文件, 提示用户手动建索引 |
| references/character-templates.md 不存在 | 用内置三文件结构兜底(简介/经历/关系标准格式直接生成) | 提示用户先跑 novelist-init 确保目录完整 |
| # | 禁做 | 改为 | |---|---|---| | 1 | 三件事(简介/经历/关系)塞进一个文件 | 严格三文件分离 | | 2 | 性格写"善良勇敢"等空泛词 | 写可驱动行为的具体条目 | | 3 | 用户没给就大段虚构人物背景 | 缺口先问, 实在没有标「待补」 | | 4 | 改了 A→B 关系却不提示更新 B | 关系双向, 提示同步对方 | | 5 | 写到 章节/ 或 世界观/ 目录 | 只写 人物/, 越界即冲突 |
被 novelist-design 引用以落地主要人物; 与 novelist-worldview / novelist-outline 目录互斥, 互不踩踏。
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 全自动修, 断链只报告)。