specstory-session-summary
Summarize recent SpecStory AI coding sessions in standup format. Use when the user wants to review sessions from .specstory/history, prepare for standups, track work progress, or understand what was accomplished.
Best use case
specstory-session-summary is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Summarize recent SpecStory AI coding sessions in standup format. Use when the user wants to review sessions from .specstory/history, prepare for standups, track work progress, or understand what was accomplished.
Teams using specstory-session-summary should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/specstory-session-summary/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How specstory-session-summary Compares
| Feature / Agent | specstory-session-summary | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Summarize recent SpecStory AI coding sessions in standup format. Use when the user wants to review sessions from .specstory/history, prepare for standups, track work progress, or understand what was accomplished.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
## Context
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)
## Your Task
### Step 1: Find Recent Sessions
First, check if the SpecStory history folder exists and list recent session files:
```zsh
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).
### Step 2: Read and Analyze Each Session
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:
- How many distinct requests were made
- Where to read for each request's context
**Step 2b: Read strategically based on structure**
1. **Beginning (first 500 lines)** - Read with `offset=0, limit=500`
- Captures the initial request even if it includes pasted code/logs
- May include early assistant responses showing the approach taken
2. **End (last 300 lines)** - Use `tail -300 <file>` via Bash
- Contains the final outcome and conclusion
- Shows whether tasks were completed or left pending
3. **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:
- Read around each user message line number (e.g., `offset=795, limit=100`)
- Summarize the 2-3 main tasks rather than just the first one
**Extract this information:**
1. **Goal(s)**: The user's request(s) from `_**User**_` blocks
- For single-task sessions: one main goal
- For multi-task sessions: list the 2-3 primary tasks
2. **Outcome**: Determine from the end of the conversation:
- ✅ Completed - task was finished successfully
- 📚 Research - information gathering, no code changes
- 🔧 In Progress - work started but session ended mid-task
- ❌ Abandoned - user changed direction or gave up
- 🚧 Blocked - ended with unresolved error or blocker
3. **Files**: Modified files from Edit/Write tool uses (extract filenames only)
4. **Key decisions**: Look in the conversation for:
- Explicit choices ("decided to", "chose", "instead of")
- Trade-off discussions
- Architecture or design conclusions
### Step 3: Format Output
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}
```
### Step 4: Summary Section
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}
```
## Guidelines
- Keep each session summary to 5-6 lines maximum (slightly more for multi-task sessions)
- Infer the title from the user's goal, not the filename
- For files, prefer showing just the filename, not full paths
- Skip sessions that are just quick questions with no real work
- For multi-task sessions, summarize up to 3 main tasks; group minor tasks as "various small fixes"
- Be concise - this is for quick daily review, not detailed documentation
- If a file read fails or is too large, work with what you can extract; don't skip the session entirely
## Example Output
```
## 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
```Related Skills
specstory-yak
Analyze your SpecStory AI coding sessions in .specstory/history for yak shaving - when your initial goal got derailed into rabbit holes. Run when user says "analyze my yak shaving", "check for rabbit holes", "how distracted was I", or "yak shave score".
specstory-project-stats
Fetch project statistics from SpecStory Cloud. Run when user says "get project stats", "show SpecStory stats", "project statistics", "how many sessions", or "SpecStory metrics".
specstory-organize
Organize SpecStory AI coding sessions in .specstory/history into year/month folders. Run when user says "organize my history", "clean up specstory", "sort my sessions", or "organize specstory files".
specstory-link-trail
Track all URLs fetched during SpecStory AI coding sessions. Run when user says "show my link trail", "what URLs did I visit", "list fetched links", or "show web fetches".
specstory-guard
Install a pre-commit hook that scans .specstory/history for secrets before commits. Run when user says "set up secret scanning", "install specstory guard", "protect my history", or "check for secrets".
session-lifecycle-patterns
Manage AI agent session lifecycles with structured phases (FRAME, SHAPE, BUILD, PROVE), context preservation across sessions, handoff protocols, and session metadata tracking. Triggers on session management, agent lifecycle, or multi-session workflow requests.
session-governance-audit
Parse a session transcript into a structured Session Governance Index — an annotated bibliography of every file modified and commit made, internal-energy accounting (tool uses, estimated tokens), shipped-vs-tasked atom tally, and classification of missing items as Gaps or Vacuums. Triggers on "visibility-schema-substrate-sweep", "session cascade audit", "session governance audit", or any request to summarize what a session actually produced versus what it was asked to produce.
taxonomy-modeling-design
Phase 2 of the pentaphase structural-overhaul protocol. Classifies entities, standardizes attributes, establishes relationships, and designs the access framework. Use when the user invokes phase 2 of an overhaul, asks to "design the taxonomy" or "model the structure", or has completed a landscape audit and is ready to redesign. Consumes phase-1-landscape-report.md; produces phase-2-taxonomy-model.md.
systemic-ingestion-normalization
Phase 4 of the pentaphase structural-overhaul protocol. Purges redundancies, enriches and aligns legacy entities to the new schema, executes phased ingestion into the new environment, and audits integrity. Use when the user invokes phase 4 of an overhaul, asks to "migrate the data" or "ingest into the new system", or has a configured environment ready to accept legacy entities. Consumes phase-3-environment-spec.md; produces phase-4-ingestion-report.md.
system-environment-configuration
Phase 3 of the pentaphase structural-overhaul protocol. Translates the taxonomy model into objective technical criteria, evaluates candidate mechanisms or frameworks, instantiates the chosen architecture, and programs validation rules. Use when the user invokes phase 3 of an overhaul, asks to "select a system" or "configure the environment", or has a taxonomy model and is ready to choose technology. Consumes phase-2-taxonomy-model.md; produces phase-3-environment-spec.md.
pentaphase-orchestrator
Threads the full five-phase structural-overhaul protocol — landscape discovery, taxonomy design, environment configuration, systemic ingestion, governance evolution — for any substrate the user names. Use when the user requests a structural overhaul, system redesign, or end-to-end restructuring of a documentation system, asset registry, code monorepo, knowledge base, or operational workflow; or when they explicitly invoke the pentaphase methodology. Coordinates handoffs between phase-skills and seats validation gates between phases.
landscape-discovery-audit
Phase 1 of the pentaphase structural-overhaul protocol. Inventories assets, maps current flow, identifies friction, and defines value metrics for any substrate. Use when the user invokes phase 1 of an overhaul, requests a baseline audit, asks to "discover the landscape" of a system, or wants to understand current state before redesigning. Produces phase-1-landscape-report.md.