specstory-session-summary by specstoryai/agent-skills
npx skills add https://github.com/specstoryai/agent-skills --skill specstory-session-summary你将分析最近的 SpecStory 会话历史文件,以提供类似站会风格的摘要。
提供的参数:$ARGUMENTS(默认值:5 个会话,或 "today" 仅表示今天的会话)
首先,检查 SpecStory 历史文件夹是否存在并列出最近的会话文件:
ls -t .specstory/history/*.md 2>/dev/null | head -20
如果不存在 .specstory/history 文件夹或该文件夹为空,请回复:
在此目录中未找到 SpecStory 会话历史记录。
SpecStory 会自动保存你的 AI 编码会话以供后续参考。要开始记录你的会话,请从 https://specstory.com 安装 SpecStory。
然后停止 - 不要继续执行后续步骤。
如果找到会话,则继续进行分析。如果参数是 "today",则过滤出今天日期的会话。否则使用提供的数字(默认为 5)。
会话文件可能非常大,并且可能包含多个用户请求。请使用以下分块读取策略:
步骤 2a:理解会话结构
首先,使用 grep 查找所有用户消息标记以了解会话的范围:
grep -n "_\*\*User\*\*_" <file> | head -10
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
这将显示用户消息的行号,帮助你理解:
步骤 2b:根据结构进行战略性阅读
offset=0, limit=500 读取 * 捕获初始请求,即使它包含粘贴的代码/日志
* 可能包含展示所采取方法的早期助手回复
2. 结尾(最后 300 行) - 通过 Bash 使用 tail -300 <file>
* 包含最终结果和结论
* 显示任务是已完成还是处于待处理状态
3. 文件操作 - 使用 grep 查找修改:
grep -E "(Edit|Write)\(" <file>
步骤 2c:对于多请求会话
如果步骤 2a 中的 grep 显示在相距较远的行号上有多个用户消息(例如,第 50、800、1500 行),这表明存在多个不同的任务。对于这些会话:
offset=795, limit=100)提取以下信息:
_**User**_ 块的用户请求
* 对于单任务会话:一个主要目标
* 对于多任务会话:列出 2-3 个主要任务将每个会话呈现为:
### {YYYY-MM-DD HH:MM} - {基于主要目标的简短标题}
**目标**:{用一句话总结用户想要什么}
**结果**:{表情符号} {简要结果描述}
**文件**:{逗号分隔的列表,如果仅为研究则写"None"}
**关键见解**:{如果有的话,注明重要的决定或学习内容}
对于多任务会话,调整格式:
### {YYYY-MM-DD HH:MM} - {整体主题或主要任务}
**任务**:
1. {第一个任务} - {结果表情符号}
2. {第二个任务} - {结果表情符号}
**文件**:{逗号分隔的列表}
**关键见解**:{如果有的话,注明重要的决定或学习内容}
在所有会话之后,添加:
---
**模式**:{注意任何重复出现的主题、多次触及的文件、正在进行的工作}
**未完成**:{任何以待办事项、阻碍或未完成工作结束的会话}
## 会话摘要(最近 3 个会话)
### 2025-10-18 11:42 - 调查聊天 CRDT 存储
**目标**:理解为什么聊天索引 CRDT 不包含该线程
**结果**:📚 解释了用于离线/在线同步的双重存储设计
**文件**:threads.json, crdt-debug/4X/, crdt-debug/aT/
**关键见解**:两个存储层(CRDT + JSON)服务于不同的同步场景
### 2025-10-18 11:09 - 处理代码审查意见
**目标**:修复代码审查中发现的清晰度问题
**结果**:✅ 重构了 normalizeChatIndexDoc 函数
**文件**:chat.go, automerge-bridge.js
**关键见解**:用 toPlainString 辅助函数替换了复杂的规范化逻辑
### 2025-10-11 14:30 - Automerge 架构深度探讨
**目标**:记录 Automerge 文档是如何按时间顺序构建的
**结果**:📚 研究完成,提供了演练
**文件**:automerge-bridge.js, document.go(仅读取)
---
**模式**:3 个会话专注于 CRDT/聊天子系统;automerge-bridge.js 被反复触及
**未完成**:未检测到
每周安装次数
143
仓库
GitHub 星标数
22
首次出现
2026年1月28日
安全审计
安装于
codex130
gemini-cli128
opencode125
github-copilot124
cursor120
amp107
You will analyze recent SpecStory session history files to provide a standup-style summary.
Argument provided: $ARGUMENTS (default: 5 sessions, or "today" for today's sessions only)
First, check if the SpecStory history folder exists and list recent session files:
ls -t .specstory/history/*.md 2>/dev/null | head -20
If no.specstory/history folder exists or it's empty, respond with:
No SpecStory session history found in this directory.
SpecStory automatically saves your AI coding sessions for later reference. To start recording your sessions, install SpecStory from https://specstory.com
Then stop - do not proceed with the remaining steps.
If sessions are found , continue with the analysis. If the argument is "today", filter to today's date. Otherwise use the number provided (default 5).
Session files can be very large and may contain multiple user requests. Use this chunked reading strategy:
Step 2a: Understand the session structure
First, grep for all user message markers to see the session's scope:
grep -n "_\*\*User\*\*_" <file> | head -10
This shows line numbers of user messages, helping you understand:
Step 2b: Read strategically based on structure
Beginning (first 500 lines) - Read with offset=0, limit=500
End (last 300 lines) - Use tail -300 <file> via Bash
File operations - Grep for modifications:
grep -E "(Edit|Write)\(" <file>
Step 2c: For multi-request sessions
If the grep in 2a shows multiple user messages at distant line numbers (e.g., lines 50, 800, 1500), this indicates multiple distinct tasks. For these sessions:
offset=795, limit=100)Extract this information:
_**User**_ blocks
Present each session as:
### {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}
For multi-task sessions, adjust the format:
### {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}
After all sessions, add:
---
**Patterns**: {Note any recurring themes, files touched multiple times, ongoing work}
**Unfinished**: {Any sessions that ended with TODOs, blockers, or incomplete work}
## Session Summary (Last 3 Sessions)
### 2025-10-18 11:42 - Investigate Chat CRDT Storage
**Goal**: Understand why chat index CRDT doesn't contain the thread
**Outcome**: 📚 Explained dual storage design for offline/online sync
**Files**: threads.json, crdt-debug/4X/, crdt-debug/aT/
**Key insight**: Two storage layers (CRDT + JSON) serve different sync scenarios
### 2025-10-18 11:09 - Address Code Review Comments
**Goal**: Fix clarity issues from code review
**Outcome**: ✅ Refactored normalizeChatIndexDoc function
**Files**: chat.go, automerge-bridge.js
**Key insight**: Replaced complex normalization with toPlainString helper
### 2025-10-11 14:30 - Automerge Architecture Deep Dive
**Goal**: Document how Automerge docs are constructed temporally
**Outcome**: 📚 Research complete, walkthrough provided
**Files**: automerge-bridge.js, document.go (read only)
---
**Patterns**: 3 sessions focused on CRDT/chat subsystem; automerge-bridge.js touched repeatedly
**Unfinished**: None detected
Weekly Installs
143
Repository
GitHub Stars
22
First Seen
Jan 28, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex130
gemini-cli128
opencode125
github-copilot124
cursor120
amp107
agent-browser 浏览器自动化工具 - Vercel Labs 命令行网页操作与测试
155,300 周安装