From arcforge
Manages coding session continuity with quick handovers, full summaries, tail handovers, archives, and supports resuming, listing, aliasing saved sessions. Use when ending or restarting sessions.
npx claudepluginhub gregoryho/arcforge --plugin arcforgeThis skill uses the workspace's default tool permissions.
Lightweight, user-controlled session continuity. Most handoffs need a short
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
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 /diary)
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.