> Track, rewind, and summarize Claude's edits and conversation to manage session state.
From claude-code-expertnpx claudepluginhub markus41/claude --plugin claude-code-expertThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Ingests video/audio from files, URLs, RTSP, desktop; indexes/searches moments with timestamps/clips; transcodes/edits timelines (subtitles/overlays/dubbing); generates assets and live alerts.
Track, rewind, and summarize Claude's edits and conversation to manage session state. Built-in feature — no configuration required.
Claude Code automatically tracks file edits as you work, allowing you to quickly undo changes and rewind to previous states. This safety net lets you pursue ambitious, wide-scale tasks knowing you can always return to a prior code state.
Open with Esc + Esc (double-press) or /rewind command.
Scrollable list shows each prompt from the session. Select a point and choose an action:
| Action | Effect |
|---|---|
| Restore code and conversation | Revert both code and conversation to that point |
| Restore conversation | Rewind to that message, keep current code |
| Restore code | Revert file changes, keep conversation |
| Summarize from here | Compress conversation from this point forward |
| Never mind | Cancel, return to message list |
After restoring conversation or summarizing, the original prompt is restored into the input field for re-sending or editing.
Restore (3 options) — reverts state: undoes code changes, conversation history, or both.
Summarize from here — different behavior:
/compact — keep early context in full, compress what's using spaceUse summarize to free context space. Use fork (claude --continue --fork-session) to branch and try a different approach while keeping original session.
Checkpointing is valuable during CI/CD workflows:
When a build fix attempt makes things worse, rewind to the pre-fix state and try a different approach.
Checkpoint before each debugging hypothesis. If approach A fails, rewind and try approach B without residual changes.
Make sweeping changes with confidence — rewind instantly if tests fail.
Files modified by bash commands (rm, mv, cp) are NOT tracked. Only direct file edits through Claude's editing tools.
Manual changes outside Claude Code and edits from other concurrent sessions are normally not captured (unless they modify same files as current session).
For tasks that span multiple sessions or risk context loss from /compact, deploy this resilience system.
Create .claude/active-task.md at the start of any long-running task:
# Active Task
**Started:** {date}
**Goal:** {one-sentence goal}
**Branch:** {branch name}
## Current Phase
{phase name + what's being done right now}
## Completed Phases
- [x] Phase 1: {description} — {outcome}
- [ ] Phase 2: {current}
## Modified Files
- `src/auth/middleware.ts` — added token refresh logic
- `src/auth/types.ts` — added RefreshToken type
## Verification Ledger
| File | Test | Status |
|------|------|--------|
| auth/middleware.ts | auth.test.ts | PASS |
| auth/types.ts | N/A (types only) | N/A |
## Next Action
{exact next step, specific enough to resume without context}
## Restart Prompt
If this session is lost, start the next session with:
"Continue the auth token refresh implementation. Read .claude/active-task.md first."
Register this hook to re-inject task state after /compact runs:
#!/usr/bin/env bash
# .claude/hooks/post-compact-restore.sh
# Registered on: PreCompact or UserPromptSubmit
set -euo pipefail
TASK_FILE=".claude/active-task.md"
if [ -f "$TASK_FILE" ]; then
echo "=== ACTIVE TASK CONTEXT ===" >&2
head -30 "$TASK_FILE" >&2
echo "=== END ACTIVE TASK ===" >&2
fi
echo '{"decision": "approve"}'
Before compacting or ending a session, update the verification ledger in active-task.md:
# Quick ledger update command
for file in $(git diff --name-only HEAD); do
echo "- \`$file\` — {purpose} — {test status}"
done
When resuming after compaction or restart:
Continue where we left off. Before doing anything else:
1. Read .claude/active-task.md
2. Check git log --oneline -5 to see what was committed
3. Run {test_cmd} to verify current state
4. Report: what phase are we in? What is the exact next step?
Then continue.
| Event | Action |
|---|---|
| Starting a task > 30 min estimated | Create active-task.md |
| Completing a phase | Update Completed Phases |
| Writing or modifying a file | Add to Modified Files |
| Running tests | Update Verification Ledger |
| About to run /compact | Update Next Action |
| Session about to end | Update Restart Prompt |
| Task complete | Delete active-task.md |
/rewind command reference