SuperAPI AI 工具集

specstory-session-summary

编程与开发

查看项目

更新于 10-16 04:17

技能介绍

用途

该技能用于分析 SpecStory 保存的 AI 编程会话历史文件,并以站会(standup)格式生成近期会话摘要。当用户希望回顾 .specstory/history 中的会话、准备站会或快速了解近期工作进展时使用。

主要能力

  • 查找并列出 .specstory/history 目录下的近期会话文件(默认最近 5 个,或指定 "today" 仅查看当天会话)。
  • 若目录不存在或为空,会提示未找到 SpecStory 会话历史,并建议从 https://specstory.com 安装 SpecStory 以开始记录会话。
  • 对每个会话进行分块读取与分析:
    • 通过 grep 用户消息标记了解会话范围与请求数量。
    • 读取文件开头(前 500 行)和结尾(最后 300 行)以捕获初始请求与最终结果。
    • 通过 grep 文件操作(Edit/Write)提取被修改的文件名。
    • 对多请求会话,围绕各用户消息行号读取并总结 2-3 个主要任务。
  • 提取每个会话的目标、结果(完成、研究、进行中、放弃、受阻)、涉及文件、关键决策。
  • 按固定格式输出每个会话摘要,并在最后附加整体模式与未完成事项。

使用方式

技能接受一个参数:$ARGUMENTS(默认 5 个会话,或 "today" 表示仅当天会话)。

执行步骤:

  1. 检查 .specstory/history 文件夹是否存在并列出近期会话文件:

    ls -t .specstory/history/*.md 2>/dev/null | head -20
    

    若无文件夹或为空,则输出提示并停止。

  2. 读取并分析每个会话:

    • 使用 grep -n "_**User**_" <file> | head -10 查看用户消息位置。
    • 读取开头 500 行(offset=0, limit=500)和结尾 300 行(tail -300 <file>)。
    • 使用 grep -E "(Edit|Write)\(" <file> 查找文件修改。
    • 对多请求会话,围绕各用户消息行号读取(如 offset=795, limit=100),总结 2-3 个主要任务。
  3. 按以下格式输出每个会话:

    ### {YYYY-MM-DD HH:MM} - {Brief Title from Main Goal}
    **Goal**: {1 sentence summarizing what user wanted}
    **Outcome**: {emoji} {Brief result description}
    **Files**: {comma-separated list, or "None" if research only}
    **Key insight**: {Notable decision or learning, if any}
    

    多任务会话格式:

    ### {YYYY-MM-DD HH:MM} - {Overall Theme or Primary Task}
    **Tasks**:
      1. {First task} - {outcome emoji}
      2. {Second task} - {outcome emoji}
    **Files**: {comma-separated list}
    **Key insight**: {Notable decision or learning, if any}
    
  4. 在所有会话后添加总结部分:

    ---
    **Patterns**: {Note any recurring themes, files touched multiple times, ongoing work}
    **Unfinished**: {Any sessions that ended with TODOs, blockers, or incomplete work}
    

适用场景

  • 回顾近期 AI 编程会话,快速了解工作内容。
  • 准备站会或每日同步。
  • 识别重复出现的主题、多次修改的文件以及未完成的工作。

限制

  • 依赖 .specstory/history 目录及 SpecStory 保存的会话文件;若不存在则无法分析。
  • 会话文件可能非常大,需采用分块读取策略;若读取失败或文件过大,只能基于可提取的内容工作。
  • 输出为简洁摘要,每个会话最多 5-6 行(多任务会话略多),不适合详细文档。
  • 跳过仅包含快速提问、无实际工作的会话。
  • 多任务会话最多总结 3 个主要任务,次要任务归为 "various small fixes"。
  • 文件列表优先显示文件名而非完整路径。
  • 标题根据用户目标推断,而非文件名。