mcpField
S
save

save

github.com/workersioAgent 工作流211134 次安装23 周前更新
代码仓库

关于 save

save 是一项将当前对话整理为可复用 Agent 指令文件并保存至 `.claude/agents/` 的技能,涵盖内容提炼、文件格式和结果告知。

主要功能

  1. 01将对话提炼为 Agent 提示词
  2. 02把用户修正纳入规则
  3. 03要求 YAML 前置内容和指定章节
  4. 04保存至 `.claude/agents/`
  5. 05告知文件路径和调用方式

适用场景

  1. 01根据已完成任务创建可复用 Agent
  2. 02将用户修正记录为后续 Agent 规则
  3. 03共享仓库级 Agent 提示词

安装

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

$npx skills add https://github.com/workersio/skills --skill save

安装后在 Claude Code 中输入/save确认已加载。

详细介绍

将会话保存为 Agent

根据当前对话生成可复用的 Agent 文件,并将其保存到 .claude/agents/。

说明

第 1 步:生成 Agent 文件

分析整个对话——原始任务、用户的每次更正、每次工具调用以及最终输出——然后将其提炼为可复用的 Agent 文件。Agent 文件不是会话日志,而是子 Agent 将在没有任何先前上下文的情况下接收的系统提示词。

关键优先事项:

  1. 用户更正是最重要的信号。 每次更正都意味着 Agent 最初违反了一条规则。每条更正都必须转化为明确规则。
  2. 只记录有效做法。 如果方法 A 失败而方法 B 成功——只记录方法 B。
  3. 进行泛化——将特定于本次会话的值(文件名、URL、凭据)替换为描述性占位符。Agent 应适用于类似任务,而不仅限于这一任务。
  4. 保持简洁——这是给子 Agent 使用的系统提示词,越短越好。

输出带有 YAML frontmatter 和系统提示词正文的 Agent 文件:

---
name: "<kebab-case-name>"
description: "<one-liner, max 200 chars>"
tools: Read, Glob, Grep, Bash, Write, Edit
model: sonnet
---

You are an agent that <role description — what this agent does>.

## Behavior

1. <First step the agent should take>
2. <Next step>
3. <...>

## Rules

- <Rule derived from user correction or session learning>
- <Another rule>

## Output

<What the agent should produce — format, structure, location.>
Frontmatter 约束
  • name——必填,使用 kebab-case,最多 100 个字符
  • description——必填,最多 200 个字符
  • tools——必填,使用 Agent 所需工具的逗号分隔列表(从以下列表中选择:Read、Glob、Grep、Bash、Write、Edit、WebFetch、WebSearch)
  • model——必填,除非任务明显需要更强的推理能力(此时使用 opus),否则使用 sonnet
正文约束
  • 以一句角色描述开头:“You are an agent that...”。
  • Behavior 部分:按顺序列出 Agent 要执行的步骤
  • Rules 部分:以项目符号列出约束和指南——本次会话中的每条用户更正都必须包含在此处
  • Output 部分:说明 Agent 要生成的内容及其格式
  • 必须包含所有部分
指南
  • 使用自然语言说明,不要写成正式的 SHALL/MUST 要求
  • 具体明确——例如,“对 Excel 文件使用 openpyxl”,而不是“使用合适的工具”
  • 不要包含特定于本次会话的详细信息(例如本次运行中的具体文件名、URL、凭据或数据值)
  • 应将模式泛化——将具体值替换为 <input-file>、<target-url> 等描述性占位符
  • 只包含成功的步骤,不要包含失败的尝试
  • Agent 文件必须自包含——子 Agent 除了此提示词和输入之外,不需要其他内容
第 2 步:保存 Agent 文件

生成 Agent 文件内容(以 --- 开头)后:

  1. 从 YAML frontmatter 中提取 name。直接将其用作 slug(它已经是 kebab-case)。

  2. 如果 .claude/agents/ 目录不存在,则创建该目录:

    mkdir -p .claude/agents
    
  3. 使用 Write 工具将 Agent 文件内容写入 .claude/agents/{name}.md。

第 3 步:显示结果

告知用户 Agent 已保存到 .claude/agents/{name}.md。让他们知道可以在任何对话中使用 @{name} 调用它。由于 Agent 位于仓库中,因此任何有权访问该仓库的人都可以自动使用它。

评论

支持 Markdown