WorkBuddy技能提炼助手 · 可复用流程挖掘
把"我每天都在重复做同一件事"变成一份清晰的清单:哪些流程值得沉淀成技能。
> 能力边界(先看这条):本技能只帮你「发现问题」——找出哪些重复操作值得做成技能;
> 它不替你「解决问题」——真正的技能创建请交给 skill-creator 类技能。
> 需要 30 天以上的使用历史才能发挥最佳效果(历史不足会自动覆盖全部可用记录)。
你可以这样对我说(触发方式)
随便怎么说都行,类似意思就能触发:
- "根据我的历史任务,有哪些可以沉淀成技能的?"
- "帮我看看我平时都在重复做什么操作"
- "哪些流程值得做成 skill?"
- "这个技能怎么用?"(→ 进入场景 B,帮你配置定期任务)
从头到尾走一遍(三分钟上手)
- 发问:直接对助手说上面任意一句话
- 等待:助手调用本技能扫描本地记录(纯本地、不上传),一般几秒到几十秒出结果
- 看报告:报告在
<你的工作目录>/repeat-flow-report/下,文件名形如repeat-flow-report-20260809.md,重点看这三行:
- 结论 —— 有多少个候选、几个高优先级、几个 ★ 收益最大
- 每个候选的"自动化可行性" —— 高/中/低 + 覆盖状态(未覆盖/部分覆盖/已自动化)
- ★ 标注 —— 打包成技能收益最大的前 3 个 - 做决定:对每个候选三选一——
- ★ 且"未覆盖" → 值得打包,让助手按references/methodology.md归并后创建技能
- "部分覆盖" → 优先扩展已有的那个技能,别重造
- "已自动化" → 跳过,你已经有自动化在跑了 - (可选)一次配置,长期受益:报告看完,直接说"帮我建个定期任务",
以后只在发现新的高优先级流程时才提醒你,老结论不重复打扰(模板见references/automation-setup.md)
报告里的步骤长这样(人话 + 原始签名双显示,不懂代码也能读):
1. 读取文件(处理.md 文件)(`Read(file_path:<path:.md>)`)
2. 编辑修改文件(处理.md 文件)(`Edit(file_path:<path:.md>,...))
前半句是人话,括号里是工具签名(供助手精确打包用,你可以忽略)。
两个使用场景
场景 A · 初次发掘:我有哪些可以沉淀成技能的?
用户问:"根据我的历史任务,有哪些可以沉淀成技能 skill 的?"
助手动作:调用本技能脚本,一次跑通三段流水线,产出结构化报告:
- 分析过去 30 天(历史不足则覆盖全部)的 WorkBuddy 使用记录
- 找出出现 3 次及以上、步骤模式固定的重复性操作流程
- 每个流程给出:触发场景、操作步骤序列(带中文释义)、输入/输出格式、重复频率、自动化可行性与优先级(高/中/低)
- 按优先级降序,★ 标注打包为 skill 后收益最大的候选
- 三态覆盖标注:未覆盖 / 部分覆盖 / 已自动化(避免重复造轮子)
- 交付报告后主动追问:"要不要顺手建一个定期任务,以后有新发现自动提醒你?"
全程本地分析、零上传、只读数据源,不改动任何会话记录。
场景 B · 配置定期任务:这个技能怎么用 / 如何定期自动沉淀?
用户问:"这个技能怎么用?" 或 "怎么让它定期帮我发掘 skill?"
助手动作:引导用户建立一个 WorkBuddy 自动化任务,定期分析并只在有新发现时提醒,
避免每次重复推送旧结论。引导话术与可直接粘贴的 prompt 模板见 references/automation-setup.md。
给用户的引导示例:
> 这个技能支持定期自动运行。我可以帮你建一个自动化任务,比如每两周的周一早上分析一次你最近的使用记录,只在发现"新的高优先级可沉淀流程"时才告诉你。需要我现在帮你建吗?频率可以选每周 / 每两周 / 每月。
脚本直跑(进阶,可选)
日常用对话驱动即可;想手动跑或排查时用命令行:
python scripts/run_miner.py # 近 30 天,报告写到 当前目录/repeat-flow-report/
python scripts/run_miner.py --days 0 # 全部可用历史
无需安装第三方依赖,纯 Python 标准库。出错时提示是中文的(如"没有读取权限""状态库正被占用"),按提示操作即可。
输出物
报告写到 <工作目录>/repeat-flow-report/:
| 文件 | 说明 |
|---|---|
repeat-flow-report-YYYYMMDD.md |
人读报告:候选流程按优先级降序,含五项要素 + ★收益标注 + 覆盖态 |
flow-data-YYYYMMDD.json |
机读数据:同结构,字段为稳定契约,供下游/自动化消费 |
last-run.json |
增量哨兵:含 new_high_priority_count,供定期任务判断"有无新高优先流程" |
深挖与方法论
候选流程的判定口径(≥3 次阈值、步骤固定度、优先级公式、覆盖三态)、
以及脚本如何自动归并同构变体、规则化命名(v1.0.4 起不再依赖助手现场起名),见 references/methodology.md。
报告长什么样(完整示例)
想看一份真实运行、逐段解读的完整报告(从发问→报告头部→候选逐字段→归并留痕→打包决策),
见 references/example-report.md。下面是片段速览:
### 1. 【高】 ★ 批量读取.md 文件(Read→Read)(频次 65 次 / 跨 17 会话)
- 触发场景:(以操作步骤为准,注入文本抓取的边界见 FAQ Q3)
- 操作步骤序列(4 步):
1. 读取文件(处理.md 文件)(`Read(file_path:<path:.md>)`)
2. 读取文件(处理.json 文件)(`Read(file_path:<path:.json>)`)
3. 读取文件(处理.md 文件)(`Read(file_path:<path:.md>)`)
4. 读取文件(处理.py 文件)(`Read(file_path:<path:.py>)`)
- 输入/输出格式:.json、.md、.py
- 重复频率:65 次,跨 17 个会话 / 5 个工作区(固定度:长度比 1.0 / 一致率 1.0)
- 自动化可行性:高(score 260.0)|覆盖状态:未覆盖
流程名是规则化生成的(对象 + 动作 + 工具链,如「批量读取.md 文件(Read→Read)」),
同一份数据两次跑结果一致;同构变体自动合并,合并来源留痕可追溯(merged_from)。
常见问题与反模式
使用中遇到问题(跑出 0 个候选、触发场景乱码、报告看不懂、能否删报告目录等)、
以及"不要这么做"的提醒,见 references/faq.md。
隐私边界
- 只读
~/.workbuddy/下的会话记录与状态库,不修改、不上传、不联网 - 报告默认脱敏:文件路径只保留扩展名与目录深度,不含用户名/文件名原值
- 不读取
~/.workbuddy/logs/与settings.json