Don't lose your work. Accumulate context as you work, distill it when context runs out, resume cleanly.
The smart session closer. Indexes your session, strips the noise, and writes a focused restart prompt. One command before you exit.
$ /recall save # Indexing session... 847 messages, 142 commands, 6 failures # Distilling... Stripped: - 12 tangential questions about unrelated CSS - 3 failed approaches to AQL index (wrong collection) - debugging CORS issue that was a typo - "what time is it in Tokyo" side question Kept: + Payment Aging bucket alignment: 8-bucket → 5-bucket normalization + PaymentBalance.js shared module created (3 consumers) + Live view pivot changed from FILED_DATE to TODAY + All 8 worker branches merged, pipelines green + Deployed to dev, monitoring claims count reconciliation Saved: restarts/shop1024-checkout-sprint.prompt Entry: #41 Session saved. Restart with: /recall restart 41
The distillation is the key. Your session had 200K tokens of context — wrong turns, debugging rabbit holes, quick "what does this do" questions. The restart prompt keeps only what matters: decisions, state, and next steps.
# SHOP-1024 Checkout Sprint — Session Context ## Permissions (pre-approve these) - Edit/write files in ~/projects/SHOP-1024/ - Run python3, node, git commands - Run npm test and npm run build ## Working Directory `/Users/dev/projects/SHOP-1024` ## Branch `feature/checkout-corrections` (merged to development, 23 commits) ## What Was Done Led 8-team corrections sprint for Payment Aging View. Normalized legacy 8-bucket system to 5 standard buckets via PaymentBalance.js shared module. Delta team changed live view pivot from FILED_DATE to TODAY. All teams merged and deployed to dev. ### Key Accomplishments - PaymentBalance.js: shared computation for 3 dashboard views - normalizeCategories() shim for backward compatibility - Live view uses TODAY as aging pivot (cron rebuilds snapshot) - 79 tests passing across 3 repos - All 8 worker branches merged via PR ### Files Modified - src/components/billing/payment-aging/*.js (6 files) - src/utils/PaymentBalance.js (new) - routes/dashboard/paymentAging.js (Node API) ## Resume Instructions 1. Run `npm test` — verify 79 tests still pass 2. Check dev deployment: https://api-dev.myapp.com:3000 3. Compare Alex's order count: dev vs prod 4. If reconciliation passes, create PR to master 5. Monitor prod pipeline after merge ## Open Items - Backfill script needs cherry-pick to correct branch (Echo) - Playwright E2E tests written but not committed (#53)
See all saved restarts, grouped by ticket and color-coded by Terminal theme. Workers nest under their leads. Searches downward through child projects.
$ /recall restart list Restart Entries (23 total) --- Catppuccin-Mocha --- + #4 [lead] ~/projects cleanup: credentials secured, Tier 1 dirs deleted ~/projects + #13 [lead] Branch cleanup: 65 stale branches audited across 5 repos ~/projects + #29 [lead] devtools installer — Tasks 1-3 done, 4-6 pending ~/projects --- Gruvbox-Dark --- # All SHOP-1024 entries share a theme + #2 [lead] Orders page bug — only 1 order showing for Alex ~/projects/SHOP-1024 + #41 [lead] SHOP-1024 Checkout Sprint — 8 teams, 2-wave execution ~/projects/SHOP-1024 └─ [#18] worker:bravo — Order inclusion/exclusion logic └─ [#20] worker:alpha — Bucket alignment research └─ [#28] worker:hotel — Validation & Reconciliation └─ [#33] worker:echo — Backfill script overhaul └─ [#34] worker:foxtrot — Laravel PHP layer └─ [#36] worker:delta — Live view aging pivot └─ [#37] worker:golf — Dashboard 8-bucket update └─ [#38] worker:charlie — Dollar calc module + #39 [lead] Deploy to dev — all 3 repos merged, pipelines green ~/projects/SHOP-1024 + #51 [lead] Payment Aging sprint — 14/15 tasks done, Playwright remaining ~/projects/SHOP-1024 + #53 [lead] Playwright Payment Aging E2E tests — 5 review passes complete ~/projects/SHOP-1024/app-dashboard/e2e + #54 [lead] Payment reconciliation: Alex formula validated ~/projects/SHOP-1024 --- Nord --- + #52 [lead] SHOP-1025 release timeliness: 30 review iterations, all fixed ~/projects/SHOP-1025
Entries with shared ticket IDs get the same theme. All SHOP-1024 work shows as Gruvbox-Dark — whether it's the lead, workers, or related entries in subdirectories. The theme carries through to the Terminal tab when you launch.
Launch by number. Opens a Terminal tab, pipes the prompt to Claude, and you're back where you left off. Leads auto-launch their workers.
$ /recall restart 41 Launched #41: SHOP-1024 Checkout Sprint (Gruvbox-Dark) cd ~/projects/SHOP-1024 && cat restarts/restart-leader.prompt | claude # Lead has 8 workers — launching them too... Launched #18: worker:bravo — Claims logic (Gruvbox-Dark) Launched #20: worker:alpha — Bucket alignment (Gruvbox-Dark) Launched #28: worker:hotel — Validation (Gruvbox-Dark) Launched #33: worker:echo — Backfill script (Gruvbox-Dark) Launched #34: worker:foxtrot — Laravel PHP (Gruvbox-Dark) Launched #36: worker:delta — Live view pivot (Gruvbox-Dark) Launched #37: worker:golf — Dashboard update (Gruvbox-Dark) Launched #38: worker:charlie — Dollar calc (Gruvbox-Dark) 9 tabs opened — all Gruvbox-Dark theme
SHOP-1024 Checkout Sprint 8 teams, all merged to dev Next: reconciliation check, then PR to master... claude> |
Team Bravo Order inclusion/exclusion CANCELLED, REFUNDED, PENDING exclusions... claude> |
Match by text. Searches summaries and prompt file contents. One match auto-launches; multiple matches show a picker.
$ /recall restart bravo One match found. Launched #18: worker:bravo Order inclusion/exclusion (Gruvbox-Dark)
$ /recall restart deploy Multiple matches for 'deploy': [#39] Deploy to dev — all 3 repos merged, pipelines green [#47] Hotel — deployed to dev, monitoring pipelines Use: /recall restart 39
Each saved or running agent gets an entry in agents.json. Platform-agnostic — tracks Claude Code, Codex, Gemini CLI, or anything else.
{
"id": 41,
"date": "2026-03-09",
"session_id": "a8f2c-4e91-b7d3",
"working_directory": "/Users/you/projects/SHOP-1024",
"summary": "SHOP-1024 Checkout Sprint — 8 teams, 2-wave execution",
"prompt_file": "restarts/restart-leader.prompt",
"platform": "claude-code",
"role": "lead",
"team": "shop1024-checkout",
"goal": "Ship checkout corrections to production",
"comms_file": "team.coord.md",
"status": "saved",
"workers": ["bravo", "alpha", "hotel", "echo", "foxtrot", "delta", "golf", "charlie"],
"lead_id": null
}
| Field | Type | Description |
|---|---|---|
| platform | string | Agent runtime — claude-code, codex, gemini-cli, etc. |
| role | string | lead or worker. Workers reference their lead via lead_id |
| team | string | Team name — used for grouping and CLAUDE_TEAM env var on launch |
| goal | string | What this agent is working toward |
| comms_file | string | Shared coordination file path — all team members read/write |
| status | enum |
saved
online
thinking
offline
— plus initializing, reading, waiting-for-work
|
Recall turns the context limit from a wall into a checkpoint.
No more lost context. The session ends, but the knowledge survives. Every restart prompt is a curated briefing — not a transcript dump, not a raw log, but the decisions and state that actually matter.