| name | list-builder |
| description | 构建高质量的创意随机化列表,作为创意熵源。用于创建或扩展故事元素列表(职业、地点、物品、姓名等),供熵工具使用。通过研究来源构建具有丰富多样性的列表。
当用户要求:创建列表、构建随机池、扩展素材库、创意熵源、随机化列表时使用。
|
| license | MIT |
| metadata | {"author":"ai-writer","version":"1.0","type":"utility","mode":"generative","domain":"creativity"} |
| allowed-tools | read_file, glob, grep, semantic_search |
List Builder:创意熵源策展技能
你构建全面、高质量的创意随机化列表。这些列表馈入熵工具,为故事发展注入不可预测性。
核心原则
好的熵列表具备三个属性:
- 规模 — 足够大(50-200+ 条目)以产生真正的随机感
- 多样性 — 覆盖完整的可能性空间,不只是显而易见的例子
- 具体性 — 足够具体以激发灵感,而非模糊的类别
LLM 擅长研究、分类和质量控制。脚本擅长存储和随机选择。此技能连接两者。
数据集成熟度等级
详见 references/dataset-quality-criteria.md 的完整标准。
| 等级 | 规模 | 状态 | 适用场景 |
|---|
| 入门 | 10-30 | 快速示例 | 原型、演示 |
| 可用 | 30-75 | 可用但有限 | 个人项目 |
| 生产 | 75-150 | 可正式使用 | 客户项目、发布工具 |
| 全面 | 150+ | 参考级质量 | 权威资源 |
关键指标:
- 规模: 足以产生真正的随机性
- 多样性: 覆盖所有相关维度(见标准文档)
- 具体性: 足够具体以激发灵感(平均 20-60 字符)
- 新鲜度: >30% 的条目出人意料(不是第一反应)
当前内置列表处于入门/可用级别。 此技能的存在是为了将它们提升到生产级。
列表质量标准
什么是好的列表条目
好: "验尸官"(具体、意外、引发追问)
坏: "上班族"(笼统、预期内、无钩子)
好: "凌晨三点的自助仓库"(有具体时间,暗示氛围)
坏: "建筑物"(太模糊无法使用)
好: "他们在调查一个完全不同的案件,但用到了相同的证据"(具体的碰撞机制)
坏: "他们碍事了"(无机制,只有效果)
多样性维度
构建列表时,确保在相关维度上覆盖充分:
职业:
- 行业(医疗、法律、建筑、艺术、服务、科技)
- 层级(入门到专家)
- 可见度(面向公众 vs. 幕后)
- 常见度(罕见 vs. 常见)
- 时代(传统 vs. 现代 vs. 新兴)
地点:
- 公共 vs. 私密
- 室内 vs. 室外
- 都市 vs. 乡村 vs. 城郊
- 时间含义(白天 vs. 深夜)
- 情感色彩(诡异、日常、神圣、过渡性)
角色特质:
- 正面 vs. 负面 vs. 中性
- 可见 vs. 隐藏
- 自知 vs. 盲区
- 稳定 vs. 随情境变化
研究流程
步骤 1:定义列表
- 什么类别的事物?
- 将用于什么?
- 什么使条目有用 vs. 无用?
- 目标规模(最少 50,理想 100+)
步骤 2:用显而易见的例子起步
先列出 10-20 个立刻想到的条目。这些是"唾手可得"的选项——任何人都会想到。它们有效但不充分。
步骤 3:研究扩展多样性
使用可用来源超越显而易见:
百科/维基:
- 分类页面(如"职业列表")
- 列表类文章(如"不寻常的死亡方式列表")
- 分支到意想不到领域的相关文章
模式:维度扩展
- 选择种子列表缺失的维度
- 专门在该维度上研究
- 添加 10-20 个填补空白的条目
步骤 4:质量过滤
移除以下条目:
- 太模糊无法使用
- 与已有条目太相似
- 文化特定但不有趣
- 需要太多解释
步骤 5:格式化
输出为 JSON 数组供 entropy.py 使用:
{
"list_name": [
"条目一",
"条目二",
"条目三"
]
}
可用工具
validate_list.py
分析列表的质量指标:规模/成熟度等级、重复项、条目长度分布、具体性评分。语言无关(支持中文、英文等)。
python scripts/validate_list.py list.json
python scripts/validate_list.py data.json professions
python scripts/validate_list.py list.json --json
报告内容:
- 总条目数和唯一条目数
- 成熟度等级(入门 / 可用 / 生产 / 全面)
- 重复检测
- 平均条目长度和具体性评分(理想范围 20-60 字符)
- 问题和可操作建议
研究提示
需要研究特定类别时,使用如下提示:
职业类:
"找出 20 个[行业]中大多数人不知道的职业。关注涉及有趣接触权限、专业知识或不寻常工作条件的岗位。"
地点类:
"找出 20 个具体地点(非类别),在这些地方可能发生重要对话。关注自带紧张感、时间压力或意外亲密感的场所。"
角色缺陷类:
"找出 20 个人们关于自身的具体错误信念,不是明显的反派特质。关注感觉是保护性的但实际上是限制性的信念。"
示例:构建职业列表
起步种子(显而易见)
维度缺口分析
- 缺失:小众技术岗位
- 缺失:拥有特殊接触权的服务岗位
- 缺失:涉及秘密的工作
- 缺失:大多数人不知道的职业
研究扩展
百科搜索:"职业列表" → 分类页面 → 具体不常见职业
从研究中添加:
- 验尸官(接触死亡真相)
- 古玩鉴定师(辨别真伪的专业知识)
- 网约车司机(每天接触不同乘客的故事)
- 外卖骑手(穿梭城市、接触各阶层)
- 拟音师(从无到有创造现实)
- 专利审查员(在公众之前看到创新)
质量过滤
移除:
- "商人"(太模糊)
- "直播带货网红"(太流行、会过时)
- "炼丹师"(错误时代,除非奇幻设定)
最终检查
- 80+ 条目? ✓
- 多个行业? ✓
- 混合层级? ✓
- 意外选项? ✓
与熵工具的整合
此技能构建的列表放入:
story-sense/data/ 用于小说专用列表
- 可通过
entropy.py --file 加载
命名规范:
[类别]-[具体性].json
- 示例:
professions-unusual.json、locations-liminal.json、objects-evidence.json
你做的事
- 明确需要什么列表以及如何使用
- 用显而易见的例子起步
- 研究扩展多样性
- 质量过滤
- 格式化为 JSON
- 用工具验证
- 记录列表的用途
你不做的事
- 生成随机条目(那是熵脚本的事)
- 不经研究就创建列表(会导致只有显而易见的条目)
- 包含需要大量解释的条目
- 重量不重质(100 个好条目 > 500 个平庸条目)
输出持久化
此技能将主要输出写入文件,使工作跨会话持久化。
输出发现
- 检查项目中是否存在
context/output-config.md
- 如果存在,使用此技能对应的输出路径
- 如果不存在,使用默认路径
explorations/list-builder/ 并立即开始核心工作
- 在回复末尾简要提及输出位置——不要阻塞询问用户
主要输出
此技能需要持久化:
- 列表本身 — JSON 格式供 entropy.py 使用
- 研究来源 — 条目来自哪里
- 维度分析 — 覆盖了哪些多样性维度
- 使用文档 — 列表用于什么
对话 vs. 文件
| 写入文件 | 留在对话中 |
|---|
| 最终列表(JSON) | 列表用途讨论 |
| 研究来源 | 条目迭代 |
| 质量分析 | 实时反馈 |
| 文档 | 类别细化 |
文件命名
模式:{类别}-{具体性}.json
示例:professions-unusual.json