Communitygithub.com

hraness/soulscrape

将用户授权的语料转化为带有时间标记、证据校准、明确不完整且可修订的全人工作模型。用于Claude Code、Codex或其他兼容智能体在需要理解、捕捉或重建人物时创建个人操作手册、主文档、数字孪生或代理引导程序;提取世界观、价值观、品味、沟通风格、决策、张力或隐性模式;用公开研究丰富人物画像;或结合来自Peopleblade或Message Like Me的结构化Soulscrape源数据包与笔记、消息、帖子、文档、仓库及其他证据。

soulscrape 是什么?

Soulscrape是一款专业AI智能体技能,专注于从用户授权的证据语料中构建关于个人的“全人”工作模型,旨在避免将人物简化为简历、工作角色或典型人格分数。其核心标准追求保真度和雄心,而非虚假的完整性,要求模型明确标注其不完整性、证据范围、日期和可修订性,并保留矛盾与张力。该技能支持Claude Code、Codex等兼容智能体,通过一套严谨的八步工作流程(包括建立权威与范围、清点语料、广泛采样后追求信号、构建证据账本、建模全人、分离四层、起草独立文档和验证文档)来确保模型的可靠性。它特别强调不将用户授权消息包(如Message Like Me)委托给子代理,并区分私有模型与公开索引(如soulscrape.com上的公开人物索引)。最终输出是一个可独立阅读的Markdown文档,通常包含使用说明、认识论状态块、执行模型及操作手册等部分,且所有推断和声明都必须有明确的证据支持。

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

在你喜欢的 AI 中提问

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

文档

soulscrape 是做什么的?

仅将用户授权的证据转化为一个带时间标记、独立的个人工作模型。恢复显性事实和隐性模式,而不会将主体扁平化为简历、工作角色、原型、人格评分或所谓的完整身份记录。

结果应帮助一位深思熟虑的协作者理解主体,并让助手能够以类似其已展示模式的方式推理、写作、优先排序和协作。同时,它也必须说明在哪些方面相似性是不安全或缺乏支持的。

核心标准

追求保真度和雄心,而非虚假的完整性。

将输出视为对一个有界语料进行的有目的性的解释,而非对一个人的确定性描述。置信度描述的是在已检查证据中对某一主张的支持程度;它并非说明该主张在本质上如何定义主体,或该主张在多大程度上可靠地预测其所有行为。保持每个部分都能根据新证据、变化的环境和主体的修正进行修订。雄心是“全人”;但声称绝非“完整性”。

  • 从贯穿时间维度的重复选择、行为、语言、权衡和演变中进行推断。
  • 保留矛盾与活生生的张力,而不是强行编织一个连贯的故事。
  • 将主体的声音与引用语、通信者、会议参与者、协作者、机构以及人工智能生成的材料区分开来。
  • 重视有代价的行为和重复的决策,胜于精心修饰的自我描述。
  • 为模型标注日期。人和优先级会改变。
  • 使置信度、范围、不确定性和合理的替代解读变得清晰可读。
  • 避免诊断和未经验证的敏感属性推断。
  • 切勿使用结果来欺骗性地冒充主体,或代表主体采取有重大后果的外部行动。

默认输出

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

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

该文档必须独立可读。定义局部行话、项目、关系、日期和来源限制,以便读者无需依赖原始语料。

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

公开索引

当请求要求创建一个关于个人或组织的、公开可发布的索引——即用于 soulscrape.com/<username>/<handle> 的、带来源引用的个人资料,而非私有工作模型时——请完整阅读 references/public-person-index.md 并遵循其指示。公开索引是第二个产物,具有不同的默认值:仅限公开来源,每个声明都必须有引用,且不包含任何私密或第三方细节。使用 bun scripts/validate-person-index.ts 验证数据包,并使用 bun scripts/publish-person.ts 发布它。

工作流程

1. 建立权威与范围

在决定是提问还是直接进行之前,完整阅读 references/questions.md。将一个模糊的请求转化为一组问题,然后只询问那些能改变结果的问题。

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

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

  • 自我建模: 主体就是用户本人。
  • 私人协作指南: 用户合法地拥有关于另一个人的证据,并希望以最小化隐私的方式获得帮助以与该人交流或协作。
  • 授权代理: 主体已明确授权为指定用途进行声音模仿或代理准备。

拥有消息、一个数据包或公开信息,并不等于主体的授权。私人协作指南可以描述有界、可观察的互动模式,供用户自己准备使用,但不得模仿主体的声音、评估其适配性或品格、预测敏感行为或支持雇佣、信贷、住房、保险、法律、医疗、纪律处分或其他重大决策。未经主体明确授权,不得为第三方主体制作可重复使用的代理或助手章程。当预期用途不明确、涉及评估、面向外部或具有重大后果时,请提问。

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

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

默认情况下不要为获取个人信息而进行浏览。仅在用户要求、需要打开提供的URL或需要验证一个时效性强的公开事实时进行浏览。始终将公开网络证据与私密及提供的证据分开保存。

当网络研究在范围内时,请完整阅读 references/web-research.md 并遵循其指示:范围仅来自用户的指示,每个公开发现都会连同其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

要求进程以零退出状态结束,并返回一个包含 valid: true 的收据。无依赖的验证器仅输出模式/摘要/计数元数据。如果验证失败,不要检查、猜测、修复或部分使用该数据包。

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

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

对于仓库,不仅要检查代码,还要检查贡献者身份、编写的计划、提交历史、代码所有权、测试、事件和运维工件。不要将仓库级别的规范归因于主体,除非有作者身份或重复采纳证据的支持。

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

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

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

对于大型语料:

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

当采样时,不要声称已穷尽阅读。诚实地说明覆盖范围。

对于非常大的语料,可选的子智能体可以总结有界的来源层。仅给每个子智能体分配其指定的工件,并要求其提供路径、日期、归属、候选模式、反证据和置信度。除非用户明确授权该特定额外的环境和数据范围,否则绝不要将私有数据包或私有内容委托出去;Message Like Me 数据包默认保留在主智能体处。主智能体必须亲自检查高权重的来源,并拥有合成的主导权。

4. 构建证据账本

为候选主张维护一个临时账本。每个主张应追踪:

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

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

使用这些标签:

  • 有充分支持的观察: 显式且重复,或通过行为展示,几乎没有实质性的反证据。
  • 有支持的推断: 反复出现或跨上下文证据支持该主张,但仍存在一个解释步骤。
  • 活跃的问题: 证据显示出张力、变化或未解决的上下文,而非稳定的模式。
  • 尝试性假设: 看似合理但狭窄或支持较弱;通常从执行模型中省略。

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

单一事件通常是一个尝试性假设,即使它很生动。只有当重复的独立证据支持它,或者主体的一个明确的当前修正有可证实的行为佐证时,才将观察视为有充分支持。

5. 建模全人

调查语料中拥有真实证据的每个维度:

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

工作可能主导证据。不要将工作误认为是整个人的全部。当模型以工作为主要内容时,要明确指出,并且不要为了制造平衡而捏造私人生活的结论。

6. 分离四层

在分析上保持这四个层面的区分:

  1. 事实: 姓名、日期、角色、项目、地点和事件。
  2. 声称的信念: 主体说自己看重或相信的东西。
  3. 揭示的模式: 重复的决策和代价高昂的行动所暗示的内容。
  4. 推测: 仍然薄弱或未解决的合理假设。

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

7. 起草独立文档

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

根据证据选择章节,而不是填充一个僵化的模板。一份强有力的文档通常包括:

  • 使用和校准说明;
  • 可见的认识论状态块和修订日期或触发条件;
  • 执行模型;
  • 身份和轨迹;
  • 当前生活和承诺;
  • 世界观、价值观和重复出现的心理模型;
  • 感受力和品味;
  • 决策、工作、学习和沟通风格;
  • 语料支持的关系模式;
  • 张力、平衡和失败模式;
  • 实际操作手册;
  • 仅针对自我模型或明确由主体授权的代理的助手章程;否则,设定带协作使用边界的第三方边界,且不模仿声音;
  • 沉默的问题和不应推断的内容;
  • 模型限制、替代解读和修订钩子;
  • 来源基础及截止日期。

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

8. 验证文档

在交付前,对其进行审核:

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

检查最终文件并重新……

[为翻译而截断]

相关技能