Install any skill in seconds. Free to start, no credit card required.
Get Started Free →SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still an open loop, and what was just started. Use when someone asks "what happened this week", "what is still open", "what did the team finish", "give me the weekly rollup", or wants a
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-18 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -38% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -10% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 2% | 0% |
A lead needs a weekly answer across the team's repos: what work happened this week, what got finished, and what is still open and needs a next step. Workthreads produces that rollup from SpecStory histories - the .specstory/history transcripts your coding agents already write. It reports lines of work and their lifecycle (new / open / recently closed).
A deterministic engine (scripts/workthreads.mjs threads) does the retrieval, clustering, and classification; you do the synthesis - you turn its evidence into the lead's weekly report. Do not try to read raw transcripts yourself; they can be hundreds of thousands of lines. Run the engine and write the rollup from its output.
This skill is harness-portable (agentskills.io format). Where it names a specific tool (e.g. AskUserQuestion), treat that as "use your harness's equivalent; fall back to plain chat."
of work that can span several sessions). It assigns each thread one lifecycle status relative to today:
when a beat ran a rollback command (git revert / git reset --hard / git checkout -- ...).
same corpus are byte-identical.
bash node "${CLAUDE_SKILL_DIR}/scripts/workthreads.mjs" index --projects <parent-of-repos> --db <db> # or a single tree: --scan <root> or a single history dir: --dir <dir>
threads cross-project for the last 7 days and capture the evidence:bash node "${CLAUDE_SKILL_DIR}/scripts/workthreads.mjs" threads --db <db> --days 7 # human digest node "${CLAUDE_SKILL_DIR}/scripts/workthreads.mjs" threads --db <db> --days 7 --json # machine-readable The digest prints, per project, three sections in order - New, Open, Recently closed - each thread with its evidence refs (path:line), last-activity date, status, and a reverted marker. --json emits an array of threads (project, status, reverted, the files touched, last-activity date).
closed threads);open threads, unresolved or needing verification, with a suggestednext step each;
reverted threads);path:line) so each claim is checkable.Add a caveat that the week may still be in progress, so open and new threads are snapshots, not final outcomes.
.specstory/workthreads/<YYYY>-W<week>.md (ISO week number, e.g. .specstory/workthreads/2026-W25.md). Also offer threads --out <file> to drop the raw digest beside your written summary.
If the user just invokes the skill with no specifics, ask three short questions (use AskUserQuestion or plain chat), then run the default flow with the answers:
.specstory/history corpus?--days N to widen.)status line? Tailor which sections you emphasize to the answer.
Node ESM only, zero dependencies, Node >= 22.5. No em dashes anywhere (use " - "). The engine path never calls an LLM or the network; all judgment (the written narrative, suggested next steps, emphasis) is yours.
Other measured skills in the registry, with their headline benchmark lift.