mcpField
S
session-to-skill

session-to-skill

github.com/entireioAgent 工作流233445 次安装8 周前更新
代码仓库

关于 session-to-skill

session-to-skill 引导 Agent 从 Entire 会话历史中提炼聚焦、可复用的技能草稿。它先明确目标并核实历史依据,再提供草稿,未经批准不会写入文件。

主要功能

  1. 01明确要复用的行为
  2. 02搜索 Entire 历史记录
  3. 03提取持久的工作流经验
  4. 04起草精简的 SKILL.md
  5. 05写入文件前征求批准

适用场景

  1. 01将重复任务流程整理为技能
  2. 02把指定的 Entire 会话转成可复用草稿
  3. 03确认来源后汇总相关会话

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/entireio/skills --skill session-to-skill

安装后在 Claude Code 中输入/session-to-skill确认已加载。

详细介绍

将会话转化为技能

使用此技能,帮助用户将 Entire 会话历史转化为聚焦的技能草稿。

目标不是机械地转换整个转录内容,而是将会话和检查点视为素材,然后提取用户希望重复使用的工作流。

响应格式

首次响应此技能调用时,以以下一行开头:

Entire Session To Skill:

然后空一行,再给出内容。

  • 此标题仅用于本次调用的首次响应。同一次调用中的后续轮次不要重新输出此标题。
  • 错误或提前退出时(例如未安装 Entire、当前目录不是 git 仓库、未找到相关会话,或用户尚未说明希望复用什么行为),不要添加此标题。

规则

  1. 首先确定技能应涵盖的可复用行为。如果用户尚未说明技能应帮助完成什么,请先提出问题,再读取转录内容。
  2. 使用 Entire 历史记录作为依据。优先使用 entire search、entire session current、会话元数据文件和 entire checkpoint explain,而不是要求用户粘贴旧转录内容。
  3. 技能草稿应聚焦于未来的行为,而不是回顾会话。保留持久适用的工作流、仓库约定、用户的纠正意见、命令、验证步骤以及应避免的事项。
  4. 如果可能有多个相关会话,请总结重复出现的工作流模式,推荐一组来源,并在展开转录内容前征求用户确认。
  5. 除非用户明确批准目标路径,否则不要写入、安装或覆盖技能文件。默认情况下,直接在响应中提供 SKILL.md 草稿。
  6. 生成的技能中不要包含机密、私密凭据、原始日志或不必要的转录细节。

工作流

1. 明确技能目标

如果用户给出了明确的目标,请继续。示例:

  • “将我的博客发布工作流转化为技能”
  • “根据会话 019 制作一个技能……”
  • “我总是在起草发布说明;把它变成可复用的流程”

如果目标含糊,请询问:

What should this skill help you do repeatedly?

如果用户指定了技能名称,请使用该名称。否则,根据目标推断一个简短的连字符式名称,并在写入文件前与用户确认。

2. 推断重复模式

如果用户提供了检查点 ID,请跳到检查点扩展部分。

如果用户提供了会话 ID,请从以下位置读取匹配的会话元数据:

.git/entire-sessions/<session-id>.json

如果用户描述了重复的工作流,但没有提供会话或检查点,请使用目标相关词语搜索 Entire 历史记录:

entire search "<workflow terms>" --json

如果用户提供了仓库、分支、作者或日期筛选条件,请使用这些条件:

entire search "<workflow terms>" --json --repo owner/name --branch branch-name --author "Name" --date month

仔细解读搜索结果:

  • 如果 entire search 返回有效 JSON,且 "total": 0 或 results 数组为空,请不要将其称为身份验证失败。说明没有找到索引匹配项,然后回退到本地会话元数据。
  • 只有当命令输出明确说明需要身份验证、登录或凭据时,才表示需要身份验证。
  • 如果搜索因其他原因失败,请简要报告错误,并在有本地会话元数据时回退到该元数据。

回退到本地数据时,请检查 .git/entire-sessions/*.json,并根据 last_prompt、description、files_touched、started_at、last_interaction_time、agent_type 以及用户的工作流相关词语进行匹配。

查看排名靠前的结果,并先推断重复的工作流模式,再展示原始会话选项。先说明模式,而不是 ID。

请展示:

  • 你认为用户想要记录的重复工作流
  • 你建议使用的最有力来源集合
  • 每个来源的作用,用通俗语言说明,例如“核心工作流”“图像处理”“验证”或“文案编辑模式”
  • 你计划忽略的会话,以及忽略原因,例如仅包含元数据、重复或一次性任务

会话 ID 和检查点 ID 应作为辅助细节,而不是主要决策依据。请用户确认模式和来源集合后,再展开详细对话记录。

示例:

I found a repeated workflow: publishing blog posts in entire.io from drafts, using repo-specific front matter, slugged asset folders, user-provided images, and website checks.

I recommend using the strongest matching sessions as source material:
- core workflow: <session-id>
- image handling: <session-id>
- validation mechanics: <session-id>

I will ignore metadata-only or one-off edit sessions unless you want them included. Should I continue with this source set?
3. 阅读源材料

对于检查点,运行:

entire checkpoint explain --checkpoint <checkpoint-id> --full --no-pager

如果完整输出失败,而用户想了解更多细节,请回退到:

entire checkpoint explain --checkpoint <checkpoint-id> --raw-transcript --no-pager

对于活动或当前会话,优先使用:

entire session current

如果已安装的 Entire CLI 尚不支持单数形式的 session 命令组,请直接使用会话元数据回退方案:检查 .git/entire-sessions/*.json,根据 last_interaction_time、started_at、agent_type 或用户指定的 Agent 选择相关会话,然后提取 transcript_path。

读取原始对话记录时,请提取相关对话和工具调用行,但不要将其原样全部输出给用户:

grep -E '"type":"(message|function_call|user|assistant)"' <transcript_path> | cut -c1-2000

对于较大的对话记录,请先检查最初的提示词和最终状态:

grep -E '"type":"(message|function_call|user|assistant)"' <transcript_path> | head -40 | cut -c1-2000
grep -E '"type":"(message|function_call|user|assistant)"' <transcript_path> | tail -160 | cut -c1-2000

如果会话元数据列出了已修改的文件,只检查理解持久约定所需的文件。除非技能目标要求,否则避免广泛探索仓库。

4. 提取持久经验

起草前,请私下确定:

  • 未来技能应实现的重复目标
  • 应触发该技能的条件
  • 未来的 Agent 应询问哪些必要输入
  • 特定于仓库的路径、文件格式、前置元数据、命名规则或资源放置位置
  • 能够证明工作流有效的命令和检查
  • 会话中的用户更正和偏好
  • 应避免的失败方法或行为
  • 属于一次性内容、不应纳入技能的部分

如果选择了多个会话,只整合重复出现或明显可复用的经验。不要对相互矛盾的指示取平均值;如果会话间存在分歧,请询问用户如何选择。

5. 起草技能

创建一份完整的 SKILL.md 草稿,并包含必需的前置元数据:

---
name: <hyphen-case-skill-name>
description: Use when <specific trigger and task>.
---

正文应包括:

  • 简短的用途说明
  • 清晰的规则或约束
  • 分步工作流
  • 仅在属于可复用行为时提供的准确命令
  • 预期输出和验证步骤
  • 失败处理方式或需要询问用户的情况

保持技能简洁。除非对未来使用至关重要,否则不要加入会话回顾、完整对话摘录、检查点 ID 或实现说明。

6. 交付并提供安装选项

除非用户已明确给出写入路径,否则先展示 SKILL.md 草稿。

展示草稿后,询问用户是否要全局安装。建议使用跨 Agent 路径:

~/.agents/skills/<skill-name>/SKILL.md

使用以下安装提示格式:

Do you want me to install this skill globally?

Recommended:
- Cross-agent: ~/.agents/skills/<skill-name>/SKILL.md

Other options:
- Codex only: ~/.codex/skills/<skill-name>/SKILL.md
- Write to a repo-local draft: skills/<skill-name>/SKILL.md
- Leave as draft only

只有在用户选择目标位置后才能写入文件。如果目标位置已存在,先询问用户是否覆盖。

除非用户明确要求开发环境链接安装,否则不要创建符号链接。如果用户要求创建符号链接,请在创建前说明源路径和目标路径。

写入技能文件后,总结:

  • 文件写入位置
  • 为其提供信息的会话或检查点
  • 任何假设或待解决的问题

评论

支持 Markdown