Auto Create Skill — Auto 创建 技能
v1.0.0从会话中识别固定工作流并自动生成可复用的 技能。用户下次只需提供关键参数即可 重复执行相同流程。同时支持对已创建的 技能 进行增量更新(添加步骤、修改流程、 删除步骤、调整顺序等)。 当用户提到以下任意情况时,立即使用本 技能: - "把这个流程保存为 技能" / "把这个工作流抽取出来" - "创建一个自动化流程" / "我想把这个固定下来" - "帮我生成一个 技能 来做 XXX" - "更新/修改/编辑 XXX 技能" (其中 XXX 是由本 技能 创建的) - "给 XXX 流程加一个步骤" / "删掉 XXX 流程里的某步" - "列出我创建的所有 技能" / "查看 技能 列表" - 用户描述了一个重复性工作流并暗示想自动化 - 用户在会话中反复执行类似操作并表示想固化流程
运行时依赖
安装命令
点击复制技能文档
Auto 创建 技能
本 技能 的核心能力:从对话中提取可复用的工作流,生成结构化的 技能 文件, 让 Claude 在后续会话中能按照固定流程执行任务。
核心概念 什么是「工作流 技能」
工作流 技能 是一个结构化的 技能.md 文件,它定义了:
触发条件:什么场景下应该使用这个流程 输入参数:用户需要提供哪些信息(如 Jira ID、分支名等) 执行步骤:按顺序排列的操作步骤,每步包含:具体动作、使用的工具/MCP、 是否需要用户确认、失败时的处理方式 流程控制:条件分支、循环、用户交互点 环境检测(关键!)
在创建或更新 技能 之前,必须先检测当前运行环境,因为不同环境的 技能 安装路径完全不同。执行以下检测逻辑:
# 环境检测 if [ -d "$HOME/.claude" ] && command -v claude &>/dev/null; then echo "ENV=claude-code" echo "技能_DIR=$HOME/.claude/技能s" echo "REGISTRY=$HOME/.claude/技能s/.auto-技能-registry.json" elif [ -d "/mnt/技能s/user" ]; then echo "ENV=claude-AI" echo "技能_DIR=/mnt/user-data/输出s" echo "REGISTRY=/mnt/技能s/user/.auto-技能-registry.json" else echo "ENV=unknown" echo "技能_DIR=$HOME/.claude/技能s" echo "REGISTRY=$HOME/.claude/技能s/.auto-技能-registry.json" fi
各环境的行为差异:
环境 技能 写入路径 安装方式 Claude Code ~/.claude/技能s/<技能-name>/ 直接写入,立即生效,下次会话可通过 /技能 调用 Claude.AI /mnt/user-data/输出s/<技能-name>/ 生成文件供用户下载,用户需到 Customize > 技能s 手动上传 未知环境 ~/.claude/技能s/<技能-name>/ 尝试直接写入,失败则输出到当前目录
Claude.AI 特别注意:Claude.AI 的代码执行环境是临时沙箱,写入 /mnt/技能s/user/ 的文件在会话结束后会消失。所以必须:
将生成的 技能 文件输出到 /mnt/user-data/输出s/ 供用户下载 使用 present_files 工具向用户展示文件下载链接 明确告知用户:「请下载此文件,然后到 Customize > 技能s 上传安装」 工作流 技能 的目录结构(严格遵守!)
Claude Code 的 技能 加载机制要求:文件必须放在以 技能 名称命名的子目录下, 文件名必须是 技能.md(全大写)。这不是建议,是硬性要求,否则 Claude Code 无法识别该 技能。
正确结构(以 fix-easy-bug 为例):
~/.claude/技能s/fix-easy-bug/ ← 必须是子目录 └── 技能.md ← 文件名必须是 技能.md(全大写)
以下都是错误的,会导致 技能 无法被发现:
# ❌ 错误:直接放在 技能s 目录下,没有子目录 ~/.claude/技能s/fix-easy-bug.md
# ❌ 错误:文件名不对 ~/.claude/技能s/fix-easy-bug/fix-easy-bug.md ~/.claude/技能s/fix-easy-bug/技能.md
# ❌ 错误:路径层级不对 ~/.claude/技能s/技能.md
创建文件时必须使用以下命令序列(不可省略 mkdir):
mkdir -p $技能_DIR/<技能-name> cat > $技能_DIR/<技能-name>/技能.md << '技能_EOF' <技能 内容> 技能_EOF
在 Claude.AI 环境下同理:
mkdir -p /mnt/user-data/输出s/<技能-name> # 将 技能.md 写入该子目录
注册表
所有由 auto-创建-技能 创建的 技能 都会被记录到注册表中,方便管理。 注册表路径根据环境自动选择(见上方环境检测)。
操作模式
根据用户意图,本 技能 有三种操作模式:
模式 A:创建新 技能(从会话或描述中提取工作流) 模式 B:更新已有 技能(修改由本 技能 创建的工作流) 模式 C:管理 技能(列出、查看、删除已创建的 技能) 模式 A:创建新 技能 第一步:提取工作流信息
从当前会话或用户描述中,收集以下关键信息:
技能 名称:简洁的英文标识符(kebab-case),如 simple-bugfix 技能 用途:一句话描述这个流程做什么 触发场景:用户会怎样描述需要执行这个流程 输入参数:用户每次需要提供的变量信息 参数名、类型、是否必填、默认值、示例值 执行步骤:按顺序的操作列表 每步的具体操作 使用的工具(bash、MCP server、网页_搜索 等) 是否需要等待用户确认才能继续 可能的失败情况及处理方式 流程分支(如果有):不同条件走不同路径 完成条件:怎样算流程执行完毕
关键原则:向用户确认你的理解是否正确,不要假设。特别关注:
哪些步骤是需要用户确认的「检查点」(检查point) 哪些步骤可以自动执行无需干预 步骤之间的依赖关系 异常情况的处理方式 第二步:与用户确认工作流
用结构化的方式向用户呈现你提取到的工作流,例如:
📋 工作流:简单 BUG 修复 (simple-bugfix)
输入参数: - jira_id (必填): Jira Issue ID,如 PROJ-1234
步骤: 1. [自动] 通过 Jira MCP 查询 {jira_id} 的 BUG 详情 2. [自动] 分析 BUG 信息,定位代码问题 3. [自动] 修复代码 4. [等待确认] 通知用户验证修复结果 5. [用户确认后] 提交到 bugfix/{jira_id} 分支并推送远端
请用户确认或修改后再继续。
第三步:生成 技能 文件
用 references/工作流-技能-template.md 作为参考模板,生成 技能.md。
生成前请先阅读模板文件(路径根据 auto-创建-技能 自身安装位置而定):
Claude Code: cat ~/.claude/技能s/auto-创建-技能/references/工作流-技能-template.md Claude.AI: cat /mnt/技能s/user/auto-创建-技能/references/工作流-技能-template.md
生成 技能 时遵循以下原则:
YAML frontmatter 中的 description 要「积极触发」——列出所有可能的 触发短语,宁多勿少 输入参数段 要清晰列出所有参数,包括类型、是否必填、默认值 步骤定义 要精确到可执行级别——Claude 读了就能直接按步骤操作 每一步都要明确标注: [AUTO] = 自动执行,无需用户干预 [CONFIRM] = 执行后等待用户确认才能继续 [输入] = 需要用户在此步提供额外信息 工具调用要写具体:不要写「使用 MCP 查询」,要写明 用哪个 MCP server、调用什么方法、传什么参数 错误处理 要为关键步骤定义失败后的行为 第四步:写入文件并注册
首先执行环境检测(参见上方「环境检测」章节),确定 技能_DIR。
Claude Code 环境: 必须创建子目录,然后在子目录内创建 技能.md 文件(不可直接在 技能s 目录下创建 .md 文件): # ✅ 正确:先建子目录,再在里面写 技能.md mkdir -p ~/.claude/技能s/<技能-name> cat > ~/.claude/技能s/<技能-name>/技能.md << '技能_EOF'
name: <技能-name> description: ...
<技能 内容> 技能_EOF
# ❌ 绝对禁止:不要这样做 echo "..." > ~/.claude/技能s/<技能-name>.md
更新注册表 python3 /scripts/manage_registry.py 添加 \ --name "<技能-name>" \ --description "" \ --path "$HOME/.claude/技能s/<技能-name>/技能.md" \ --params ''
告知用户:「技能 已安装,你可以在新会话中通过 /技能 找到它, 或直接描述任务让 Claude 自动触发。」
创建后验证(必做):
# 验证文件路径是否正确 if [ -f "$HOME/.claude/技能s/<技能-name>/技能.md" ]; then echo "✅ 技能 文件路径正确" head -5 "$HOME/.claude/技能s/<技能-name>/技能.md" else echo "❌ 错误:技能.md 未在正确位置创建!" # 检查是否误创建为平铺文件 ls -la "$HOME/.claude/技能s/" | grep "<技能-name>" fi
Claude.AI 环境: 将 技能 文件写入到 /mnt/user-data/输出s/<技能-name>/技能.md 使用 present_files 工具向用户提供下载链接 必须明确告知用户以下安装步骤: 下载生成的 <技能-name> 文件夹 打开 Claude.AI,进入 Customize > 技能s 点击上传,选择下载的文件夹 确认 技能 已启用(toggle 开启) 同时更新沙箱内的注册表(供当前会话使用) 模式 B:更新已有 技能 第一步:定位目标 技能 先执行环境检测,确定注册表和 技能 目录的路径 运行注册表管理脚本查看所有已创建的 技能: Claude Code: python3 ~/.claude/技能s/auto-创建-技能/scripts/manage_registry.py 列出 Claude.AI: python3 /mnt/技能s/user/auto-创建-技能/scripts/manage_registry.py 列出 根据用户描述匹配到目标 技能