@arvoretech/pi-recap
PI extension that drafts a one-line recap of where you left off — on demand with /recap and automatically when you return to an idle session
Package details
Install @arvoretech/pi-recap from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@arvoretech/pi-recap- Package
@arvoretech/pi-recap- Version
1.0.1- Published
- Jul 9, 2026
- Downloads
- 230/mo · 16/wk
- Author
- joao.barros.arvore
- License
- MIT
- Types
- extension
- Size
- 28.9 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./dist/index.js"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@arvoretech/pi-recap
Drafts a one-line recap of where you left off in a Pi session — inspired by Claude Code's session recap.
What it does
- On demand: run
/recapany time to get a 1–2 line summary of what was being worked on, what's done, and the next pending step. Useful before a commit, before opening a PR, or after a long session. - Automatically on return: when you come back to a session that has been idle for a while, Pi drafts the recap and shows it before your next turn — so you don't have to scroll back to rebuild context.
The recap is generated by a background model call (via the host's completeSimple, same mechanism as smart-context) using the current session model. It's best-effort: if it can't run, it silently no-ops and never blocks your turn.
Auto-recap trigger
Pi has no native terminal focus/blur event, so instead of Claude Code's "unfocused ≥ 3 min" signal this extension uses idle wall-clock time since the last completed turn:
- At least 3 minutes elapsed since the last
agent_end. - Session has at least 3 user turns behind it.
- Never twice in a row — after a recap is shown, the next one waits for fresh activity.
- Interactive mode only (
ctx.hasUI); skipped in print/headless mode.
The practical effect (a recap waiting when you return) is the same; the trigger is time-based rather than focus-based.
Configuration
Auto-recap is on by default. Disable it with an env var:
export PI_ENABLE_AWAY_RECAP=0
/recap always works regardless of this setting.
Install
.pi/settings.json:
{
"packages": ["npm:@arvoretech/pi-recap"]
}