关于 salvage
salvage 是一项 Agent 技能,在工作偏离方向或准备重启时提取有用经验。它将发现、约束、背景和可复用成果整理成重启报告,而非用于日常复盘。
主要功能
- 01判断何时应整理并重启
- 02结构化提取经验与约束
- 03为新尝试生成重启资料
- 04保存非显而易见的经验
- 05提供会话交接报告格式
适用场景
- 01放弃停滞方案前记录经验
- 02记录实施中发现的约束
- 03向新会话传递背景与可复用成果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ open-horizon-labs/ skills --skill salvage安装后在 Claude Code 中输入/salvage确认已加载。
附带文件agents/openai.yamlreferences/extraction.md
详细介绍
/salvage
在重新开始前提取经验。代码成本低;经验才是资产。
适用时机
当工作偏离方向、方法多次反转、范围不断扩大、终点不断变化,或感觉应该从头开始时,调用 /salvage。
不要在以下情况下使用: 工作进展正常。Salvage 是重启前的经验提取,不是例行反思。
即时参考
只有当 salvage 需要比核心报告更深入地提取经验时,才加载 references/extraction.md。
Salvage 流程
第 1 步:说明当前状态
“由于 [原因],本次会话/当前方法将进行 salvage。原本的目标是 [目标]。实际情况是 [现实情况]。”
第 2 步:提取重要内容
只提取实际存在的内容;不要为了填满类别而凑内容。
核心类别:
- 经验: 哪些内容改变了你的理解?
- 认知框架转变: 哪种说法已无法解释现实?
- 防护措施: 哪项约束是通过艰难经历才发现的?
- 缺失的上下文: 哪些信息本应更早查找或询问?
- 归属/协作: 哪些权限、负责人、交接、审查、异议或验证边界变得模糊?
- 可复用片段: 哪些代码、模式或部分方案值得保留?
如果有 RNA/OH 工具可用,先检查现有的 metis/guardrails,再编写新内容。更新或强化现有条目,而不是创建近似重复的条目。
第 3 步:为全新开始整理材料
整理一份重启工具包:原始目标、进行 salvage 的原因、关键经验、认知框架转变、新的防护措施、归属/协作方面的问题、重启所需的上下文,以及可复用片段。
第 4 步:持久化经验
持久化 metis,而非噪声。只记录那些会影响之后决策的非显而易见的约束、异常、权衡和局部模式。泛泛的最佳实践建议会增加上下文成本,却无法带来局部效益。
如果多次 salvage 得出相同的经验,请运行 /distill;知识库中已有相关知识,但没有被查阅。
输出格式
## Salvage
### Salvage Report
**Salvaged:** [date/session identifier]
**Reason:** [why this work is being salvaged]
**Original Aim:** [what we were trying to do]
### Learnings
[Numbered list of key insights]
### Frame Shifts
[Old frame → new frame, with evidence]
### New Guardrails
[Explicit constraints with reason and trigger]
### Missing Context
[What would have helped]
### Ownership / Coordination Breakdowns
[Authority boundary, missing owner, or handoff rule]
### Reusable Fragments
[Code or patterns worth keeping]
### Fresh Start Recommendation
[How to approach this next time]
会话交接
如果正在使用会话文件,先阅读之前阶段的章节,再替换或追加 ## Salvage。之后的尝试应将 salvage 报告作为重启上下文,而非保留失败代码的指令。