session-recovery

session-recovery is a skill for Claude Code, Codex from microsoft/waza. It costs 16 tokens per session (1,215 once invoked), scanned A, a copy of session-recovery, MIT.

A guide for finding interrupted Copilot CLI sessions in a read-only SQLite database and understanding where they stopped. Copilot CLI sessions are saved records of terminal-based coding work.

In plain words
What is it for?
Use it to locate recent interrupted sessions, inspect their last checkpoints, and resume work involving branches, issues, or saved agent state.
Why use it?
It helps identify unfinished work after crashes, network loss, restarts, or accidentally closed windows.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

About the project

microsoft/waza is a Go command-line tool for building and evaluating AI agent skills through test suites, benchmarks, and model comparisons. It is for developers who need to measure and improve how reliably agent skills work. The catalogue entries are Waza's own skills, instructions, agent, and MCP integration.

microsoft/waza · 1,294 stars · on GitHub · microsoft.github.io

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/microsoft/waza/session-recovery
Any agent
npx skills add microsoft/waza --skill session-recovery
Clone the repo
git clone --depth 1 https://github.com/microsoft/waza

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for session-recovery

README.md
[![agentmods](https://agentmods.dev/badge/skills/microsoft/waza/session-recovery.svg)](https://agentmods.dev/skills/microsoft/waza/session-recovery)
Your own site
<a href="https://agentmods.dev/skills/microsoft/waza/session-recovery"><img src="https://agentmods.dev/badge/skills/microsoft/waza/session-recovery.svg" alt="Measured on agentmods" height="20"></a>
Per session 16 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,215 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00016 $0.01215
Opus 5 $0.00008 $0.00607
Sonnet 5 $0.00003 $0.00243
Haiku 4.5 $0.00002 $0.00121

Measured 6d ago against content hash 54a7c1feba61, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

session-recovery scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

100% identical to session-recovery — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

.copilot/skills/session-recovery/SKILL.md · 156 lines

How it starts

The opening of the file, as written. The whole thing — 156 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Context

Squad agents run in Copilot CLI sessions that can be interrupted — terminal crashes, network drops, machine restarts, or accidental window closes. When this happens, in-progress work may be left in a partially-completed state: branches with uncommitted changes, issues marked in-progress with no active agent, or checkpoints that were never finalized.

Copilot CLI stores session history in a SQLite database called session_store (read-only, accessed via the sql tool with database: "session_store"). This skill teaches agents how to query that store to detect interrupted sessions and resume work.

Patterns

1. Find Recent Sessions

Query the sessions table filtered by time window. Include the last checkpoint to understand where the session stopped:

SELECT
  s.id,
  s.summary,
  s.cwd,
  s.branch,
  s.updated_at,
  (SELECT title FROM checkpoints
   WHERE session_id = s.id
   ORDER BY checkpoint_number DESC LIMIT 1) AS last_checkpoint
FROM sessions s
WHERE s.updated_at >= datetime('now', '-24 hours')
ORDER BY s.updated_at DESC;

2. Filter Out Automated Sessions

Automated agents (monitors, keep-alive, heartbeat) create high-volume sessions that obscure human-initiated work. Exclude them:

SELECT s.id, s.summary, s.cwd, s.updated_at,
  (SELECT title FROM checkpoints
   WHERE session_id = s.id
   ORDER BY checkpoint_number DESC LIMIT 1) AS last_checkpoint
FROM sessions s
WHERE s.updated_at >= datetime('now', '-24 hours')
  AND s.id NOT IN (
    SELECT DISTINCT t.session_id FROM turns t
    WHERE t.turn_index = 0
      AND (LOWER(t.user_message) LIKE '%keep-alive%'
           OR LOWER(t.user_message) LIKE '%heartbeat%')
  )
ORDER BY s.updated_at DESC;

3. Search by Topic (FTS5)

Use the search_index FTS5 table for keyword search. Expand queries with synonyms since this is keyword-based, not semantic:

SELECT DISTINCT s.id, s.summary, s.cwd, s.updated_at
FROM search_index si
JOIN sessions s ON si.session_id = s.id
WHERE search_index MATCH 'auth OR login OR token OR JWT'
  AND s.updated_at >= datetime('now', '-48 hours')
ORDER BY s.updated_at DESC
LIMIT 10;

Read the full file on GitHub · 156 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 156 lines · 16 tokens per session scan A 54a7c1feba61

Subscribe to this mod's changes

session-recovery is a skill published in the GitHub repository microsoft/waza (1,294 stars, last pushed 3d ago), licensed MIT. It adds 16 tokens to every session and 1,215 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to session-recovery, differing in 0 lines, and is treated as a copy.