Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
specstoryai avatar

Specstory Session Summary

  • 334 installs
  • 31 repo stars
  • Updated January 31, 2026
  • specstoryai/agent-skills

specstory-session-summary is an agent skill that turns SpecStory .specstory/history session logs into standup-ready progress summaries for developers who need to review recent AI-assisted coding work.

About

specstory-session-summary is a SpecStory agent skill (version 1.0) that reads local .specstory/history files and produces concise standup-style reports of recent AI coding sessions. The workflow scans session history (default: 5 sessions, or today-only via argument), parses user goals from conversation blocks, and outputs per-session titles, outcomes, touched files, and key insights capped at 5–6 lines each. A closing section highlights recurring patterns and unfinished TODOs or blockers. Developers invoke it with /specstory-session-summary or natural-language requests like “summarize my coding sessions from this week” when preparing standups, retrospectives, or personal progress reviews. It ships in the specstoryai/agent-skills collection alongside related history utilities and requires SpecStory session capture to be active in the repository.

  • specstory-session-summary

Specstory Session Summary by the numbers

  • 334 all-time installs (skills.sh)
  • +1 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #1,248 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/specstoryai/agent-skills --skill specstory-session-summary

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs334
repo stars31
Last updatedJanuary 31, 2026
Repositoryspecstoryai/agent-skills

How do you summarize recent AI coding sessions for standup?

Use specstory-session-summary for development tasks

Who is it for?

Developers using SpecStory who need quick standup-ready recaps of recent AI-assisted coding sessions without manually rereading long chat logs.

Skip if: Teams without SpecStory session capture enabled or developers who need deep architectural documentation instead of lightweight session recaps.

When should I use this skill?

The user asks to summarize SpecStory sessions, review .specstory/history, prepare a standup update, or recap what was accomplished this week.

What you get

Standup-formatted session summaries with goals, outcomes, file lists, pattern notes, and unfinished-work flags.

  • standup session summaries
  • patterns and unfinished-work report

By the numbers

  • Defaults to summarizing 5 recent sessions (skill version 1.0)
  • Part of a 6-skill SpecStory agent-skills collection

Files

SKILL.mdMarkdownGitHub ↗

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:

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

How it compares

Pick specstory-session-summary over generic chat summarization when you need structured standup output tied to SpecStory's .specstory/history format and file-level session metadata.

FAQ

How many sessions does specstory-session-summary analyze by default?

specstory-session-summary analyzes the 5 most recent SpecStory sessions by default. Pass today for today-only sessions or a number like 3 as the $ARGUMENTS value to change the window.

Where does specstory-session-summary read session data from?

specstory-session-summary reads local SpecStory capture files under .specstory/history in the project workspace. SpecStory must be recording sessions there before summaries can be generated.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.