SuperAPI AI 工具集

specstory-yak

编程与开发

查看项目

更新于 10-15 10:45

技能介绍

用途

Specstory Yak Shave Analyzer 用于分析你的 SpecStory AI 编程会话记录,检测会话是否从最初目标偏离到无关的“剃牦牛毛”(yak shaving)式任务。所谓 yak shaving,是指从目标 A 开始,最终却深入到不相关的任务 Z,例如“我要部署应用,但先要修 CI,但先要升级 Node,但先要修 shell 配置……”。该工具会在 .specstory/history 中检测这种模式,并为每个会话生成一个“yak shave 分数”。

主要能力

  • 解析指定日期范围(或全部近期会话)的 specstory 历史文件。
  • 从第一条消息中提取用户最初的意图。
  • 追踪领域偏移:文件引用、工具调用模式、目标变化。
  • 为每个会话评分,范围从 0(高度专注)到 100(最大程度偏离)。
  • 汇总最严重的偏离会话和模式。

使用方式

斜杠命令

通过 /specstory-yak 调用时,解释用户的自然语言:

  • /specstory-yak → --days 7(默认)
  • /specstory-yak last 30 days → --days 30
  • /specstory-yak this week → --days 7
  • /specstory-yak top 10 → --top 10
  • /specstory-yak january → --from 2026-01-01 --to 2026-01-31
  • /specstory-yak from jan 15 to jan 20 → --from 2026-01-15 --to 2026-01-20
  • /specstory-yak by modification time → --by-mtime
  • /specstory-yak last 14 days as json → --days 14 --json
  • /specstory-yak save to yak-report.md → -o yak-report.md
  • /specstory-yak last 90 days output to report → --days 90 -o report.md

直接运行脚本

python /path/to/skills/specstory-yak/scripts/analyze.py [options]

参数:

  • --days N:分析最近 N 天(默认 7)
  • --from DATE:开始日期(YYYY-MM-DD)
  • --to DATE:结束日期(YYYY-MM-DD)
  • --path PATH:.specstory/history 的路径(未指定时自动检测)
  • --top N:显示最严重的 N 个 yak shave(默认 5)
  • --json:以 JSON 输出
  • --verbose:显示详细分析
  • --by-mtime:按文件修改时间而非文件名日期筛选
  • -o, --output FILE:将报告写入文件(自动添加 .md 或 .json 扩展名)

示例:

  • 分析最近 7 天:python scripts/analyze.py
  • 分析最近 30 天并显示前 10:python scripts/analyze.py --days 30 --top 10
  • 分析特定日期范围:python scripts/analyze.py --from 2026-01-01 --to 2026-01-28
  • 按文件修改时间筛选:python scripts/analyze.py --days 7 --by-mtime
  • JSON 输出:python scripts/analyze.py --days 14 --json
  • 保存 Markdown 报告:python scripts/analyze.py --days 90 -o yak-report.md
  • 保存 JSON 文件:python scripts/analyze.py --days 30 --json -o yak-data.json

输出内容

报告包含:分析会话数、平均 yak shave 分数、最严重的 yak shave 列表(含分数、日期、起始目标、最终结果、领域偏移次数与路径)、最专注的会话列表,以及检测到的模式(例如某类任务平均分最高、最安全的任务类型、高峰时段等)。

评分方法

yak shave 分数(0-100)由以下因素计算:

  • 领域偏移:权重 40%,文件引用跳转领域的次数。
  • 目标完成度:权重 25%,最初声明的目标是否完成。
  • 会话长度比例:权重 20%,长度与原始请求复杂度的比值。
  • 工具类型级联:权重 15%,Read→Search→Edit→Create→Deploy 的升级程度。

分数解读:

  • 0-20:高度专注
  • 21-40:轻微跑题
  • 41-60:中度偏离
  • 61-80:明显 yak shaving
  • 81-100:史诗级兔子洞

向用户呈现结果

运行分析脚本后,必须在响应最顶部、显示原始报告输出之前,添加一段个性化的 LLM 生成摘要。摘要指南要求生成 3-5 句个性化评论:以一句诙谐的总体评价开头;具体点出最值得注意的会话;指出一个反复出现的模式;以可操作的建议或玩笑结尾。示例摘要会先给出总体评价,再点名最突出的会话,指出模式,最后给出建议或玩笑,然后才展示原始报告输出。

适用场景

适用于使用 SpecStory 记录 AI 编程会话、希望回顾自己是否频繁偏离原始目标的开发者。可用于定期复盘(如每周、每月)、识别容易导致偏离的任务类型或时间段,以及导出报告用于进一步处理。

限制

资料未提供该工具的安装方式、依赖要求、支持的平台、收费或价格信息,也未说明其对非 SpecStory 格式会话的兼容性。评分方法中各项权重的具体计算细节、LLM 摘要的生成方式(由谁生成、如何触发)暂未提供。