← Agent MemoryCONTENT HISTORY
WHAT CHANGED
Update to Agent Memory
Snapshot Oct 29, 2026 · 12:08 UTC · version 0.9.30
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Agent Memory and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Resume the most recent agent session for the current working directory, leading with any unanswered question. Use when the user says \"where were we\", \"resume\", \"handoff\", \"pick up where I left off\", or starts a session with no fresh context.",
"included_files": [
{
"relative_path": "EXAMPLES.md",
"size_in_bytes": 1565
}
],
"name": "handoff",
"skill_md_contents": "---\nname: handoff\ndescription: Resume the most recent agent session for the current working directory, leading with any unanswered question. Use when the user says \"where were we\", \"resume\", \"handoff\", \"pick up where I left off\", or starts a session with no fresh context.\nargument-hint: \"[optional cwd override]\"\nuser-invocable: true\n---\n\nThe user wants to resume work. Optional cwd override: $ARGUMENTS\n\n## Quick start\n\n```json\nmemory_sessions { \"limit\": 20 }\n```\n\nPick the most recent session whose `cwd` matches this project, then:\n`memory_recall { \"query\": \"<session top concepts>\", \"limit\": 10 }`.\n\nExpected output:\n\n```text\nResuming 7f3a9c2 \"Auth refresh rework\".\nOpen question: should logout revoke all device tokens or just the current one?\nNext step: decide revoke scope, then update auth/logout.ts.\n```\n\n## Why\n\nMatch the session by directory boundary, not raw prefix, so a sibling repo never\ngets mistaken for this one. Never invent observations for an empty session.\n\n## Workflow\n\n1. Resolve the project path: if `$ARGUMENTS` is given, normalize it to absolute\n (`path.resolve(process.cwd(), $ARGUMENTS)`); else use the cwd.\n2. Call `memory_sessions`. Pick the most recent session whose normalized `cwd`\n matches by directory boundary: equality, OR `cwd.startsWith(projectPath + sep)`,\n OR `projectPath.startsWith(cwd + sep)`. Prefer `completed` over `abandoned`.\n No match: report that this project has no matching session and stop. Do not\n substitute a different project's session.\n3. If the session ended on an unanswered user-facing question, surface it FIRST.\n Look in `summary` or recent `conversation` observations whose `narrative`\n ends in `?`.\n4. Summarize: title/summary, key files, key decisions or errors, using\n `memory_recall` on the top concepts, limit 10. Check each result's session or\n project provenance before including it; a query alone does not enforce scope.\n5. End with one concrete \"next step?\" pointer.\n\n## Anti-patterns\n\nWRONG: `session.cwd.startsWith(projectPath)` matches `/repo-a-staging` when the\nproject is `/repo-a`, resuming the wrong repo's session.\n\nRIGHT: `session.cwd === projectPath || session.cwd.startsWith(projectPath + sep)`,\na directory-boundary check that cannot cross sibling repos.\n\n## Checklist\n\n- cwd override resolved to an absolute, normalized path.\n- Match used a directory-boundary check, not a raw prefix.\n- Unanswered question (if any) leads the response.\n- Empty session is reported plainly, with an offer to start fresh.\n\n## See also\n\n- `recap`, `session-history`, `recall`: same session data, broader views.\n\n## Troubleshooting\n\nSee ../_shared/TROUBLESHOOTING.md if `memory_sessions` or `memory_recall` is not available.\n"
}SHA-256 of public snapshot: 9c28650ab85cc73b8c9ca7a170fb29466ddf8a7bf9290bd8ef40015d6a2e88fa