feat: add capture skill
This commit is contained in:
@@ -87,6 +87,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
- 新功能实现方案 → 更新组件职责、数据流等章节
|
||||
- 踩坑经验和解决方案 → 添加到踩坑经验章节
|
||||
- API 使用技巧和注意事项 → 更新相关技术栈说明
|
||||
- **成功经验复刻**: 一次对话形成可复用结果后,用 `/capture <目录>` 或 `$capture <目录>` 输出结构化记录;另留单独位置保存“味道”
|
||||
|
||||
{{在此添加项目特定的开发约定}}
|
||||
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
---
|
||||
name: capture
|
||||
description: 复刻一次成功任务的经验,输出到用户指定目录。调用方式 `/capture <目录>` 或 `$capture <目录>`,生成只含 fenced YAML 的 Markdown 记录。
|
||||
---
|
||||
|
||||
# Capture - 成功经验复刻
|
||||
|
||||
> **定位**:把当前会话里已经跑通、值得复用的做法沉淀成结构化记录,供其他仓库直接复刻。
|
||||
|
||||
当用户调用 `/capture <target_dir>`、`$capture <target_dir>`,或自然语言要求“把这次成功经验沉淀/复刻到某个目录”时,执行以下步骤。
|
||||
|
||||
## 1. 锁定输出目录
|
||||
|
||||
- 如果用户给了目录,直接使用。
|
||||
- 绝对路径原样使用;相对路径相对当前仓库根目录。
|
||||
- 如果没给目录,只追问一次:`要保存到哪个目录?`
|
||||
- 目录不存在就创建。
|
||||
|
||||
## 2. 收集事实
|
||||
|
||||
只从这些来源取材:
|
||||
|
||||
- 当前会话里的目标、决策、问题、修复、验证结果
|
||||
- 当前任务产物、相关文件、diff、日志
|
||||
- 明确发生过且已经验证的修复
|
||||
|
||||
不要做这些事:
|
||||
|
||||
- 不复述用户原需求
|
||||
- 不编造未知信息
|
||||
- 不把“计划中但没发生”的内容写成事实
|
||||
|
||||
## 3. 生成记录
|
||||
|
||||
### 3.1 命名
|
||||
|
||||
- `task` 用任务本质的短名字,避免 `misc`、`update-doc` 这类空名。
|
||||
- 文件名:`YYYY-MM-DD-task-slug.md`
|
||||
- 若重名,依次追加 `-2`、`-3`
|
||||
|
||||
### 3.2 内容规则
|
||||
|
||||
- 文件内容只能有一个 fenced code block,语言标记固定为 `yaml`
|
||||
- code block 外不要写任何文字
|
||||
- `raw_request` 只写归一化摘要;拿不准就留空
|
||||
- 空标量字段留空
|
||||
- 空列表字段写 `[]`,不要保留空 `-`
|
||||
- 每个 bullet 尽量控制在两行内
|
||||
- 重点写:目标、输入输出、必须正确项、风险、关键决策、问题修复、成功原因、可复用模式
|
||||
- `why_it_worked` 只写真正起作用的因素
|
||||
- `reusable_pattern` 必须可执行,优先写先做什么、看什么、按什么顺序复用
|
||||
- `problems_and_fixes` 只写实际发生且已验证的项
|
||||
|
||||
### 3.3 固定模板
|
||||
|
||||
~~~~markdown
|
||||
```yaml
|
||||
task: <task_name>
|
||||
|
||||
goal: >
|
||||
<一句话目标>
|
||||
|
||||
context:
|
||||
scene:
|
||||
trigger:
|
||||
audience:
|
||||
deadline:
|
||||
constraints:
|
||||
-
|
||||
|
||||
input:
|
||||
raw_request:
|
||||
known:
|
||||
-
|
||||
unknown:
|
||||
-
|
||||
dependencies:
|
||||
-
|
||||
|
||||
output:
|
||||
deliverable:
|
||||
consumer:
|
||||
usage:
|
||||
acceptance:
|
||||
-
|
||||
|
||||
must_be_right:
|
||||
-
|
||||
|
||||
can_be_rough:
|
||||
-
|
||||
|
||||
risks:
|
||||
-
|
||||
|
||||
decisions:
|
||||
- choice:
|
||||
reason:
|
||||
|
||||
execution:
|
||||
-
|
||||
|
||||
problems_and_fixes:
|
||||
- problem:
|
||||
symptom:
|
||||
cause:
|
||||
fix:
|
||||
status:
|
||||
|
||||
why_it_worked:
|
||||
-
|
||||
|
||||
reusable_pattern:
|
||||
first_step:
|
||||
checkpoints:
|
||||
-
|
||||
reusable_steps:
|
||||
-
|
||||
anti_patterns:
|
||||
-
|
||||
|
||||
one_line_summary: >
|
||||
<一句话总结为什么成功>
|
||||
```
|
||||
~~~~
|
||||
|
||||
如果某个列表字段没有内容,改成 `[]`。如果某个标量字段没有内容,保持为空,不要删字段。
|
||||
|
||||
## 4. 保存和回执
|
||||
|
||||
- 保存到目标目录,不覆盖同名旧文件
|
||||
- 默认不把全文再贴回对话,除非用户明确要求
|
||||
- 回执只说三件事:保存路径、任务名、提醒主人还应该准备一个单独“保存味道”的地方
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 本 skill 只沉淀记录,不修改业务代码
|
||||
- 信息不足时允许留空,但不要跳过关键字段
|
||||
- 如果任务结果并不成功或还没稳定,不要硬写成“成功经验”
|
||||
Reference in New Issue
Block a user