From arcforge
Ends sessions with handovers or archives for continuity. Supports quick handover, full context summary, tail handover, and durable archive snapshots.
How this skill is triggered — by the user, by Claude, or both
Slash command
/arcforge:arc-managing-sessions save [alias] | resume [alias] | list [--limit N] [--date YYYY-MM-DD] [--query id] | alias <id> <name> | aliasessave [alias] | resume [alias] | list [--limit N] [--date YYYY-MM-DD] [--query id] | alias <id> <name> | aliasesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Lightweight, user-controlled session continuity. Most handoffs need a short
Lightweight, user-controlled session continuity. Most handoffs need a short handover, not a durable archive. Reach for archive only when the work has lasting value beyond the next session.
Default = handover, not archive. Archives are heavier, take more enrichment, and are intended as durable knowledge — most session endings do not warrant one.
If you are unsure, do a handover. Handovers can always be promoted into an archive later.
Pick the lightest mode that gets the next session unstuck.
A 5–10 line bullet list covering: current goal, last concrete step taken,
what's next, and any open blocker. No file written by default — just paste
into the next session, or save as handover-{slug}.md if asked.
Use when the user says "let's pick this up next time," "wrap up," "end session," or asks for a brief handoff.
A structured paragraph-plus-bullets summary: goal, decisions made so far, open questions, files touched, next step. Longer than a quick handover, but still a summary — not a transcript.
Use when the next session will be picked up by a different person or agent, or when the goal has multiple moving parts.
The lightest mode. Capture only the last few exchanges and the immediate next step — a "you are here" marker. No goal recap, no decision log.
Use when the user explicitly wants short context only, or when the current turn was clearly the middle of one task and we just need to resume that exact task.
A full session save with enrichment (see save below). Produces a
durable Markdown file under ~/.arcforge/sessions/.... Heaviest mode.
Use when the archive recommendation heuristics below say the work is worth preserving.
Default = handover, not archive. Only escalate to archive when at least one of these holds.
Archive when:
Do not archive when:
In all "do not archive" cases, produce a handover instead.
| Task | Command |
|---|---|
| Quick handover | /arc-managing-sessions handover [--mode quick|full|tail] |
| Archive (save) session | /arc-managing-sessions save [alias] |
| Resume archived session | /arc-managing-sessions resume [alias] |
| List sessions | /arc-managing-sessions list [--limit N] [--date YYYY-MM-DD] [--query id] |
| Create alias | /arc-managing-sessions alias <id> <name> |
| List aliases | /arc-managing-sessions aliases |
--save).save
below.These remain available for the durable archive path. Set SKILL_ROOT
before running scripts:
: "${SKILL_ROOT:=${ARCFORGE_ROOT:-}/skills/arc-managing-sessions}"
save [alias]Archive the current session with enrichment.
Process:
~/.arcforge/sessions/{project}/{date}/{sessionId}.json.~/.arcforge/sessions/{project}/{date}/session-{alias}.md.node "${SKILL_ROOT}/scripts/sessions.js" save <alias> [summary] [whatWorked] [whatFailed] [blockers] [nextStep]
Important: Do NOT just run the script mechanically. Reflect on the
conversation and write the enrichment content first, then call the script
with those values (or write the session file directly and fill in every
<!-- TO BE ENRICHED --> placeholder).
resume [alias]Load an archived session and present a structured briefing.
Process:
node "${SKILL_ROOT}/scripts/sessions.js" resume [alias]
Critical: After showing the briefing, do NOT start working automatically. Wait for the user to confirm what to do next.
listBrowse sessions with metadata. Shows both auto-tracked sessions (from hooks) and user-archived sessions.
Options:
--limit N — show N results (default 20)--date YYYY-MM-DD — filter by date--query id — filter by session ID substringnode "${SKILL_ROOT}/scripts/sessions.js" list [--limit N] [--date YYYY-MM-DD] [--query id]
alias <id> <name> / aliasesCreate an alias for easy reference, or list all aliases.
node "${SKILL_ROOT}/scripts/sessions.js" alias <session-path> <name>
node "${SKILL_ROOT}/scripts/sessions.js" aliases
~/.arcforge/sessions/{project}/
├── aliases.json # Project-scoped alias registry
├── {YYYY-MM-DD}/
│ ├── {sessionId}.json # Auto-saved session metrics
│ ├── session-{alias}.md # User-archived session (from save)
│ ├── handover-{slug}.md # Optional handover file (from handover --save)
│ ├── diary-{sessionId}.md # Diary entry (from arc-journaling)
save without reflecting first — always write enrichment based
on conversation context before invoking the script.resume without waiting for user confirmation.<!-- TO BE ENRICHED --> placeholders — fill in every section.resume, always wait for user
confirmation.Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub gregoryho/arcforge --plugin arcforge