关于 skill-recap
skill-recap 审查 Agent 会话,评估技能对工作的帮助或阻碍,并给出有证据支持的发现与结论,适合检查自有或他人仓库中的技能。
主要功能
- 01检查会话及子 Agent 转录
- 02评估技能使用与缺失
- 03整理有证据支持的发现
- 04给出结论及技能改进建议
适用场景
- 01复盘已完成的 Agent 会话
- 02查找导致延误或错误的技能
- 03识别重复工作所需的缺失技能
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ yahyabedirhan/ skills --skill skill-recap安装后在 Claude Code 中输入/skill-recap确认已加载。
附带文件agents/openai.yaml
详细介绍
技能回顾
回顾一个或多个会话,梳理 Agent 及其子 Agent 如何运用技能:哪些技能帮助了工作,哪些技能(或缺失的技能)给会话带来了代价。在回顾末尾列出发现,每项发现都须有来自对话记录的证据,并给出结论。
参数
<skills-repo>:用户在 GitHub 上的技能仓库,格式为owner/repo。
1. 选择会话
- 默认情况下,覆盖当前会话及其生成的所有层级的子 Agent。当前会话内容在你的上下文中。子 Agent 在各自的上下文中运行,因此请从磁盘读取它们的对话记录。
- **如果会话的部分内容已被压缩而不可见:**读取对话记录,补上缺失部分。
- 如果用户指定了范围,例如时间段、项目或会话列表,则严格按指定范围处理,并包括子 Agent。
- 如果对范围有多种理解,例如时间段涉及哪些项目:读取前先询问。
对话记录存放位置
Claude Code 将对话记录保存为文件,每行包含一个 JSON 对象,目录结构如下。布局可能随版本变化;如果路径无效,请在 ~/.claude/projects/ 中搜索会话 ID。
~/.claude/projects/<project>/ <project>: the session's working directory, with / and . turned into -
<session-id>.jsonl the main session
<session-id>/subagents/agent-<id>.jsonl each sub-agent, nested ones included
<session-id>/subagents/agent-<id>.meta.json its type, task description and spawn depth
当前会话的 ID 位于 CLAUDE_CODE_SESSION_ID 环境变量中。技能加载会以名为 Skill 的 tool_use 块出现,技能名称位于块的 input > skill 键中;用户消息中也会出现 <command-name>/<name></command-name>。
- **对于其他运行环境:**查找其保存会话的位置,以及技能加载记录的形式。Codex 将会话保存在
~/.codex/sessions/下;加载技能时会读取其skills/<name>/SKILL.md,因此读取该文件即表示加载。编辑技能的会话也会读取该文件,请注意区分编辑时的读取和加载技能。
2. 审查
对话记录可能很长:搜索审查所需的内容,例如技能加载、错误、重试、针对同一问题的大量连续工具调用,以及用户的更正;并阅读每个匹配项周边的内容,不要通篇阅读。
评估范围内加载的每项技能,以及每段缺少技能的过程。凡是技能帮助或妨碍工作的情况,都应写入回顾,例如:
- 技能本可节省的 token 或时间,或技能造成的 token 或时间开销
- 技能引发或未能阻止的弯路
- 技能中的信息有误或过时
- 出乎意料之处:技能作出的假设与实际情况不符
- 本应触发却未触发的技能,或不该触发却触发的技能
- 用户在聊天中提出、但没有任何技能涵盖的规则
- Agent 为某个本应由技能涵盖的问题自行想出的变通办法
这些只是示例,并非检查清单。对其他人仓库中的技能也要进行同样的审查。
每项发现都必须包含:
- 技能:技能名称及其来源仓库;若缺少技能,则写“无技能”
- 证据:涉及哪个会话或子 Agent,以及发生了什么;直接引用或作出贴近原意的转述
- 代价:造成或可能造成的 token、时间、错误输出或用户注意力成本
- 改进机会:对技能作何修改可以解决问题
如果问题并非任何技能所能解决,则不要列出,因为每项发现都必须指出可通过修改技能来解决的问题。
3. 报告
给出发现,然后给出结论:
- “无需更改技能。” 如果没有符合条件的发现。这是理想结果,并不代表回顾失败。
- 否则,写出 “ 个改进机会”,并指出涉及哪些技能。
如果存在改进机会,请在结尾说明下一步:用户运行 /to-tickets,将它们作为问题提交到 <skills-repo>;除非用户指定其他仓库。/to-tickets 可直接在对话中使用,因此按上述方式撰写的发现就是它的输入。
当 <skills-repo> 是公开仓库时,按用户指示中关于公开仓库的规定撰写每条发现:该规则位于用户的 Agent 指令中,请从那里遵循。
- 对于涉及他人技能的发现: 用户决定是仍将其提交到
<skills-repo>、分叉该技能,还是提交到该技能自己的仓库。
报告结束后即停止,将创建问题、发表评论和编辑技能留给用户,因为由用户决定哪些发现值得采取行动。