关于 superself
superself 是用于记录项目目标、决策、工作单元和报告的命令行工具及 Agent 技能,数据保存在独立的 Git 事件日志中。它面向需要跨会话延续项目上下文的 Agent 和团队,并按需从日志推导状态。
主要功能
- 01追加式项目事件日志
- 02从记录状态推导上下文
- 03工作单元生命周期与证据报告
- 04决策与目标记录
- 05搜索及详细工作简报
适用场景
- 01在会话开始时恢复项目上下文
- 02跟踪工作单元进度
- 03记录已确认决策和待议工作
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ wshobson/ agents --skill superself安装后在 Claude Code 中输入/superself确认已加载。
详细介绍
Superself
Superself 是一个 Apache-2.0 命令行工具(npm install -g [email protected],需要 Node 22.12+),它以仅追加的事件日志形式,将项目状态——目标、决策、工作单元、报告——纳入版本控制,存放在与代码分离的 git 仓库中。状态按需派生,因此其中没有任何内容是手工维护的。本技能告诉 Agent 如何通过 self 命令行读取和写入该状态。本技能由 Superself 作者维护:https://github.com/fxylabs/superself
本技能适用的场景
- 项目的
AGENTS.md或CLAUDE.md包含位于 `` 之间的块,或者self setup打印出该目录所解析到的 工作区、项目和存储。 - 当
self --version失败时跳过本技能:该项目未使用 Superself,下文任何内容都不应手工臆造。本技能是针对[email protected]编写的;不同的大版本或次版本可能 移动了某个动词或标志,因此在依赖某一项之前,请先检查self <command> --help。
会话开始
- 运行
self context,并将其输出视为当前事实:目标、生效中的 决策与约定、未完成的工作、最近的报告。它由日志折叠而来,绝不 手工写入。 - 上下文中缺失的内容是有意被置于渲染集合之外的;
self search <query>可以找到 上下文略去的活跃记录,self work show <id>会打印某个单元的完整简报和 报告历史。
工作期间
- 实质性工作会挂接到某个工作单元。用
self work add "<required outcome>"创建一个——该成果是必须变为 事实的东西,而不是任务——然后运行self work start <id>。start会读取简报并 记录本次会话接手了该单元;如果另一个会话持有它, 命令行会说明是谁以及从何时起,但不会拒绝。自行判断并继续。 - 提交之后,报告进展:
self report <id> "<what happened>"。 当前 HEAD 提交会自动作为证据附加;--evidence <commit|note>附加其他内容,--file <path>附加更长的 简报。 - 记录用户已确认的决策:
self decide "<text>" --why "<reason>"。 当用户尚未确认时,使用--proposed。每个事件一个决策。 - 被阻塞了?
self work block <id> --on decision|dependency|external --why "..."。 被取代或转移了?self work retire <id> --why "..." [--successor <id>]。 绝不要将此类单元标记为完成,也绝不要让它错误地处于阻塞状态。 - 发现目标与当前状态之间存在差距?用
self work propose及其简报提出这项工作;由用户接受或拒绝。 - 用户批准了下一步或继续推进?立即用
self work add注册它,并附上其背后的上下文。只存在于 对话中的计划,会在对话结束时丢失。
收尾
- 只有当某份报告带有提交或产物,或者 done 本身陈述了可验证地
发生的事情时,
self work done <id>才会关闭该单元:self work done <id> --report "<what verifiably happened>"。仅有声称会被 拒绝,而已声明的标准会对其进行把关,直到每一项都得到满足。 - 记录一经确认,其文本即不可更改。通过重述来更正它:
任何 add 动词上的
--supersedes <id>会记录新的措辞并保留 谱系。retract会撤回记录,且没有任何内容替代它。
让状态值得信赖的规则
- 记录——事件、决策、报告、约定——以英文书写,这样下一个打开它们的人都能读懂;用对方自己的语言回答对方。
- 分支通过拉取请求进入 main:PR 评审和 CI 掌握合并控制权。Superself 掌握上下文和工作图,而不是合并门禁。
- 切勿手动编辑生成的状态文件或
.superself/下的任何内容。 - 在没有 superself 块的项目中,先运行
self setup。如果它将该目录解析为一个已注册项目,就询问用户一次是否要运行self connect,该命令会把托管块写入AGENTS.md或CLAUDE.md。如果它没有解析出任何项目,就询问一次是否要用self project init注册它。切勿自行注册或连接项目。
深入了解
self --help 列出所有动词;self <command> --help 打印单个命令的标志,且不会触碰状态。主题指南随 CLI 一同提供:
self help agents—— 一个会话如何从头到尾驱动此 CLIself help context——self context渲染出什么,以及为什么其中缺少某些内容self help records—— 每一种记录类型背后的同一个实体,以及如何更正一条记录self help placement—— 范围、优先级和暴露度——一条记录如何赢得它在上下文中的位置self help work—— 工作图:成果、证据、标准和提案self help goals—— 长期目标、目的、里程碑,以及达成一个需要付出什么self help workspace—— 存储库、其中的项目,以及在机器之间迁移它
评论
支持 Markdown