Communitygithub.com

hraness/ensoul

将用户授权的语料转化为一份带有日期、基于证据、明确不完整且可修订的全人工作模型。

ensoul 是什么?

Ensoul 是一个用于构建个人认知模型的 AI 技能,其核心原则是仅基于用户明确授权的证据,生成一份有日期、可修订、且明确不完整的人类工作模型。该模型旨在捕捉一个人反复展示的模式、价值观、决策习惯和沟通风格,同时避免将其简化为简历、性格评分或所谓的完整身份记录。Ensoul 支持自建模型、私密协作指南以及授权代理三种用途,并能处理消息、笔记、公开研究、代码仓库等多种数据源。它提供了一套严谨的工作流程,包括证据分类、来源映射、分层分析(事实、陈述信念、揭示模式、推测)以及输出文档的自我审计,确保模型的可追溯性、可修订性和透明度。最终产出是一份独立的 Markdown 文档,其中包含清晰的认知状态声明、实践操作说明以及明确的“不可执行”界限,适用于 Claude Code、Cursor、Codex 等需要深度理解用户的 AI 辅助场景。

兼容平台~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/hraness/textbutler/tree/main/skills/ensoul

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

ensoul 是做什么的?

仅使用用户授权的证据,创建一份有日期、独立的全人工作模型。恢复显性事实和隐性模式,而不将主体简化为简历、工作角色、原型、性格评分或所谓的完整身份记录。

结果应帮助一位有思想的协作者理解该主体,并让助手能够以类似于该主体已展示的模式的方式进行推理、写作、优先级排序和协作。同时必须说明在哪些情况下,这种相似性是不安全的或缺乏依据的。

核心标准

以保真度和抱负为目标,而非虚假的完整性。

将输出视为对有限语料库的有目的性解释,而非对一个人的决定性描述。置信度描述的是在已审查证据中对某一主张的支持程度,并不说明该主张在本质上如何定义主体,也不说明它在任何情况下都能可靠地预测主体。每个部分都必须根据新证据、变化的情况和主体的修正而保持可修订性。抱负是针对整个人的,但主张从来不是完整性的。

  • 从反复出现的选择、行为、语言、权衡和随时间演变中进行推断。
  • 保留矛盾和活态张力,而不是强制构建一个连贯的故事。
  • 将主体的声音与引文、通信者、会议参与者、协作者、机构和 AI 生成材料区分开来。
  • 权重更大的行为是反复出现的昂贵决策和重复选择,而非精心设计的自我描述。
  • 为模型标注日期。人和优先级都会变化。
  • 使置信度、范围、不确定性和合理的替代解读清晰可见。
  • 避免诊断和无依据的敏感属性推断。
  • 绝不要使用该结果来欺骗性地模仿主体或以主体名义采取影响深远的外部行动。

默认输出

除非用户要求其他格式,否则生成一份新的 Markdown 文档。使用描述性的文件名,例如 <person>-ensoul.md,并返回其完整路径。

根据证据调整文档规模。对于一个包含多个独立来源层的丰富纵向语料库,大约 4000-8000 个实用单词是合适的。长度是结果,而非目标。如果来源层少于三个,或源词少于 2000 个,则仅使用支持主张所需的空间——通常为 300-1500 个词,有时更少。不要为了接近下限或制造广度而增加章节。

文档必须独立。解释局部术语、项目、关系、日期和来源限制,使读者无需查阅原始语料库。

开头放置一个显著的认知状态块,声明该文档是部分的、受限于源的、有日期的、可修订的。不要将其埋在方法论或尾注中。

工作流程

1. 确立权限和范围

使用用户提供的语料库、他们请求的公开来源以及他们明确划入范围的本地来源。对输出位置和格式做出合理假设。

在综合之前对预期用途进行分类:

  • 自我模型: 主体是用户本人。
  • 私密协作指南: 用户具有关于另一个人的合法证据访问权限,并希望获得最小化隐私的帮助来与其沟通或协作。
  • 授权代理: 主体已明确授权为其所述用途进行声音模仿或代理准备。

拥有消息、数据包或公开信息并不等同于主体授权。私密协作指南可以描述有界限的、可观察的交互模式以供用户自己准备,但不得模仿主体的声音、评估其适配性或品格、预测敏感行为,或支持就业、信贷、住房、保险、法律、医疗、纪律或其他重要决策。未经明确的主体授权,不得为第三方主体生成可复用的代理或助手章程。当预期用途模糊、涉及评估、面向外部或具有重要影响时,请询问。

仅在缺失的选择会实质性地改变结果时才提问,例如当:

  • 语料库不可用;
  • 主体不明确;
  • 用户未授权访问提议的私有来源;
  • 输出面向公众且隐私边界不明确。

默认不浏览个人信息。在用户要求、必须打开提供的 URL 或需要验证时效性很强的公开事实时进行浏览。将公开网络证据与私有和提供的证据区分开来。

需要时使用特定格式的技能来读取 PDF、文档、电子表格、幻灯片、图像、音频或视频。在解释之前,忠实地提取内容。

对于调用者拥有的官方 X 存档,使用 bun scripts/prepare-x-archive.ts 而非手动提取。该脚本仅打开允许列表中的账户撰写的公开帖子,并写入一个有限的私有数据包。它故意不打开私信、通讯录、广告数据、媒体、已删除的帖子或社区帖子。确认存档所有权属于用户,使用绝对路径,并将数据包保留在版本控制之外。

2. 盘存货料库

在分析来源之前,完整阅读 references/evidence-method.md。

如果语料库包含 ensoul.*-source 数据包,在打开或解释它们之前,也要完整阅读 references/source-packets.md。

在打开或解释数据包的记录之前,验证每个数据包:

bun scripts/validate-source-packet.ts /absolute/private/path/source.ensoul-source.json

要求退出状态为 0 并且收据中包含 valid: true。这个无依赖的验证器仅输出模式/摘要/计数元数据。如果验证失败,不要检查、猜测、修复或部分使用该数据包。

在起草之前,构建一个来源映射。记录:

  • 来源类型、定位器和日期范围;
  • 可能的作者或说话者;
  • 是私密捕获、精心自我呈现、观察到的行为、第三方描述还是机构材料;
  • 信号强度、偏差、采样方法和遗漏;
  • 时间相关性和身份绑定强度。

对于代码仓库,不仅仅检查文字。使用贡献者身份、撰写的计划、提交历史、代码所有权、测试、事件和操作产物。不要将仓库范围的规范归因于主体,除非有作者身份或重复采用证据。

对于笔记,区分主体的想法和他人所说的话。对于消息和电子邮件,区分草稿、已发送的消息、引用或转发文本以及通信者的声音。

3. 广泛采样,然后追踪信号

在深入某个主题之前,覆盖语料库中的时间、上下文和工件类型。

对于大型语料库:

  1. 索引文件名、日期、作者、标题、来源类型和反复出现的术语。
  2. 阅读早期、中期和近期具有代表性的材料。
  3. 识别反复出现的决策、隐喻、价值观、冲突和变化。
  4. 完整阅读信号最强的工件。
  5. 继续直到额外的来源大多强化已知模式或揭示有意义的矛盾。

在抽样时,不要声称已全面阅读。诚实说明覆盖范围。

对于非常大的语料库,可选的子代理可以概括有界限的源层。仅给每个子代理分配其指定的工件,并要求路径、日期、归属、候选模式、反证和置信度。除非用户明确授权确切的额外环境和数据范围,否则切勿委托私有数据包或私有内容;Message Like Me 数据包默认保留在主代理处。主代理必须自行检查高权重来源并负责综合。

4. 构建证据账本

为候选主张保留一个草稿账本。每个主张应跟踪:

  • 提出的模式;
  • 跨上下文的支持来源;
  • 反证或例外;
  • 合理的替代解释;
  • 证据是事实性的、陈述性的、行为性的、语言性的、关系性的还是时间性的;
  • 证据支持和概括范围;
  • 当前、历史、新兴、周期性或未解决的状态。

除非被要求,否则不要将账本作为最终交付物。

使用这些标签:

  • 充分支持的观察: 显式且重复,或在行为上得到证明且几乎没有重大反证。
  • 支持的推断: 存在重复或跨上下文的证据支持该主张,但仍需解释步骤。
  • 活态问题: 证据显示张力、变化或未解决的上下文,而非稳定模式。
  • 暂定假设: 合理但狭窄或支持薄弱;通常从执行模型中省略。

这些标签描述了对一个有界限的主张的证据。它们不揭示本质身份、证明动机或保证未来行为。分别说明范围。省略无支持的主张。

单个事件通常是暂定假设,即使很生动。仅当有重复的独立证据支持观察结果,或当主体的明确当前修正伴随有确证行为时,才将观察结果视为充分支持。

5. 对全人进行建模

对语料库中存在真实证据的每个维度进行调查:

  • 身份、生平与轨迹;
  • 角色、承诺与当前约束;
  • 世界观与世界运作模型;
  • 价值观与道德直觉;
  • 品味、审美、幽默与厌恶;
  • 动机、激励与意义来源;
  • 决策与认知习惯;
  • 工作、手艺、学习与创意实践;
  • 沟通与按受众区分的写作风格;
  • 协作、领导力、冲突与信任;
  • 与科技、金钱、地位、风险、时间、地点、机构和社区的关系;
  • 常规与运作模式;
  • 反复出现的张力、阴影模式和失败模式;
  • 随时间演变;
  • 语料库无法支持的话题。

工作可能会主导证据。不要将工作误认为全人。说明模型何时以工作为重,并不要为了制造平衡而编造私人生活的结论。

6. 分离四个层次

在分析上保持这些区分:

  1. 事实: 姓名、日期、角色、项目、地点和事件。
  2. 陈述信念: 主体自称重视或相信的内容。
  3. 揭示模式: 重复的决策和昂贵的行为所暗示的内容。
  4. 推测: 合理但仍然薄弱或未解决的假设。

当信念和行为冲突时,保留两者。在宣布不一致之前,考虑受众、时机、约束、抱负和变化。

7. 起草独立的文档

在起草之前,完整阅读 references/output-blueprint.md。

根据证据选择章节,而不是填充僵硬的模板。一份好的文档通常包括:

  • 使用和校准说明;
  • 显眼的认知状态块和修订日期或触发条件;
  • 执行模型;
  • 身份与轨迹;
  • 当前生活与承诺;
  • 世界观、价值观与反复出现的思维模式;
  • 感性认识与品味;
  • 决策、工作、学习和沟通风格;
  • 语料库支持的关系模式;
  • 张力、制衡与失败模式;
  • 实践操作手册;
  • 仅对自我模型或明确主体授权的代理提供助手章程;否则,提供第三人称协作使用边界,不得进行声音模仿;
  • 沉默的问题和不应推断的内容;
  • 模型限制、替代解读和修订钩子;
  • 来源基础和截止日期。

除非明确、相关、必要且适合目标受众,否则将敏感或可能有害的主张排除在外。绝不要从代理、审美、从属关系或遗漏中推断受保护的或高度敏感的特征。

8. 验证文档

在交付之前,审核它:

  • 每个重要的事实主张都能追溯到语料库吗?
  • 引文、作者和说话者的归属是否正确?
  • 是否有某个生动的工件主导了综合?
  • 当前和历史观点是否分离?
  • 机构规范是否被错误标记为个人特质?
  • 是否保留了矛盾?
  • 私人第三方是否受到保护?
  • 置信度描述的是证据支持和范围,而非关于身份的确定性吗?
  • 同一洞察是否重复出现但没有独特功能?
  • 当允许助手章程时,它是否包含非模仿、预期用途、过期/审查和权限限制?否则,协作使用边界是否明确且没有声音模仿?
  • 浏览者是否会误以为该文档是规范的身份记录?
  • 真实的人当前的答案是否明显优于代理预测?
  • 预期的授权读者能否在不打开语料库的情况下理解文档,同时又不学习不必要的私人或第三方信息?

检查最终文件并返回完整路径。

质量标准

弱结果是传记加上泛泛的优点。强结果解释主体反复注意什么;他们优化什么并愿意为之付出代价;他们在不确定性下如何决策;他们的声音如何随受众变化;什么吸引和排斥他们;哪些张力应保持开放;代理在何处预测不佳;模型如何变化;以及哪些主张是隐性的、暂定的或上下文绑定的。

偏爱精确的行为语言而非讨喜的抽象概念。“反复执行带有影子读取和回滚门的风险迁移”优于“关心质量”。

禁止的捷径

  • 除非明确要求,否则不要产生 MBTI、九型人格、大五人格或原型。
  • 不要诊断心理健康、神经类型、依恋风格或病理。
  • 不要从间接证据推断政治、宗教、性取向、医疗、种族或其他敏感身份。
  • 不要将精心设计的自我描述等同于展示的行为。
  • 不要将频率本身视为重要性。
  • 不要将语料库中最响亮领域误认为是全人。
  • 不要将一次生动的交流或一件产物的权重等同于多年的稳定模式。
  • 不要告诉用户他们在想什么或感觉什么,除非直接且最近的证据这样做。
  • 不要将模型输出呈现为非凡的自我认知或机器理解的产物。称呼它为有目的的、可修订的工作模型。
  • 不要建议或执行外部操作,例如发送消息、编辑文章、提交代码、申请账户或修改系统,除非明确且最近的用户授权且使用适当的安全机制。
  • 绝不要声称模型是“完整的”、“确定的”或“本质性的”。使用“基于自 ____ 以来的语料库”、“工作模型”、“在审阅的来源中”等限定条件。
  • 不要丢弃来源。记录并映射证据。

示例及更多

请参见 examples/ 中的示例输出。

要使用本地引用文件,运行 bun run rebuild-refs。

相关技能