Dev Session
Manage multi-session development work with structured progress files, checkpoint commits, and durable learnings. Produces SESSION.md files that survive context compaction and enable clean handoff between sessions.
Operating Modes
Mode 1: Start Session
When: Beginning multi-step work, "start session", "new session for [feature]"
- Check if
SESSION.md already exists in the project root
- If yes: read it and ask whether to continue the existing session or start fresh
- If no: create from template (see references/session-template.md)
- Pre-fill fields:
- Project: from CLAUDE.md or directory name
- Branch: from
git branch --show-current
- Last Updated: current timestamp
- Phase: ask user what they're working on
- Read the project's CLAUDE.md to orient on context
- Present a brief summary: "Session started. Working on [phase] on branch [branch]."
Mode 2: Checkpoint
When: "checkpoint", major milestone reached, before risky changes, context getting large
- Update SESSION.md:
- Add completed items to What Works
- Update Current Position with exact location (file paths, line numbers)
- Clear resolved Blockers, add new ones
- Write concrete Resume Instructions
- Capture learnings:
- If any patterns, gotchas, or commands were discovered during work, add them to CLAUDE.md
- One line per concept — concise, not verbose
- Git checkpoint:
git add -A && git commit -m "WIP: [what was accomplished]"
- Record the commit hash in SESSION.md under Checkpoint
- Confirm: "Checkpointed at [hash]. SESSION.md updated."
Mode 3: Resume Session
When: "resume", "continue from last session", "where were we", start of a new conversation
- Read
SESSION.md — if missing, inform user and offer to start a new session
- Read the project's
CLAUDE.md for context
- Check what's changed since the recorded checkpoint:
git log --oneline [checkpoint-hash]..HEAD
- Check for uncommitted changes:
git status
- Present a summary:
- Phase: what we were working on
- Position: where we left off
- Changes since: any commits or modifications since checkpoint
- Blockers: anything unresolved
- Suggested next step: first item from Resume Instructions
Mode 4: Wrap Session
When: "wrap session", "done for now", "save progress", ending a session
- Run a full checkpoint (Mode 2)
- Review SESSION.md for completeness:
- Are Resume Instructions concrete enough for a fresh session to continue?
- Is Current Position specific (file paths, not vague descriptions)?
- If the phase is complete:
- Collapse the phase summary to 2-3 lines
- Clear Resume Instructions or note "Phase complete — ready for next phase"
- Confirm: "Session wrapped. Resume with 'resume session' next time."
When to Use
| Scenario |
Use this skill? |
| Multi-phase feature spanning 2+ sessions |
Yes |
| Work that might hit context compaction |
Yes |
| Before making risky or destructive changes |
Yes (checkpoint first) |
| Quick bug fix or single-file edit |
No |
| Single-session task with clear scope |
No |
SESSION.md Principles
- Track progress, not architecture — SESSION.md is a work log, not project documentation
- Concrete over vague — "Resume at
src/auth.ts:42, implement token refresh" beats "Continue auth work"
- Collapse completed work — finished phases become 1-2 line summaries
- Keep under 100 lines — if it's longer, collapse more aggressively
Autonomy Rules
- Just do it: Read SESSION.md, read CLAUDE.md, check git status/log, present summaries
- Brief confirmation: Creating new SESSION.md, committing WIP checkpoints
- Ask first: Overwriting an existing SESSION.md, deleting session data
Reference Files
| When |
Read |
| Creating a new SESSION.md |
references/session-template.md |
| Context compaction tips, what survives |
references/compaction-survival.md |
1---2name: dev-session3description: Manage long development sessions with structured progress tracking. Creates SESSION.md files for multi-session handoff, checkpoints progress with WIP commits, and captures learnings to CLAUDE.md. Trigger with 'start session', 'checkpoint', 'wrap session', 'resume session', or 'context getting full'.4---5
6# Dev Session
7
8Manage multi-session development work with structured progress files, checkpoint commits, and durable learnings. Produces SESSION.md files that survive context compaction and enable clean handoff between sessions.
9
10## Operating Modes
11
12### Mode 1: Start Session
13
14**When**: Beginning multi-step work, "start session", "new session for [feature]"
15
161. Check if `SESSION.md` already exists in the project root
17 - If yes: read it and ask whether to **continue** the existing session or **start fresh**
18 - If no: create from template (see [references/session-template.md](references/session-template.md))
192. Pre-fill fields:
20 - **Project**: from CLAUDE.md or directory name
21 - **Branch**: from `git branch --show-current`
22 - **Last Updated**: current timestamp
23 - **Phase**: ask user what they're working on
243. Read the project's CLAUDE.md to orient on context
254. Present a brief summary: "Session started. Working on [phase] on branch [branch]."
26
27### Mode 2: Checkpoint
28
29**When**: "checkpoint", major milestone reached, before risky changes, context getting large
30
311. Update SESSION.md:
32 - Add completed items to **What Works**
33 - Update **Current Position** with exact location (file paths, line numbers)
34 - Clear resolved **Blockers**, add new ones
35 - Write concrete **Resume Instructions**
362. Capture learnings:
37 - If any patterns, gotchas, or commands were discovered during work, add them to CLAUDE.md
38 - One line per concept — concise, not verbose
393. Git checkpoint:
40 ```bash
41 git add -A && git commit -m "WIP: [what was accomplished]"
42 ```
434. Record the commit hash in SESSION.md under **Checkpoint**
445. Confirm: "Checkpointed at [hash]. SESSION.md updated."
45
46### Mode 3: Resume Session
47
48**When**: "resume", "continue from last session", "where were we", start of a new conversation
49
501. Read `SESSION.md` — if missing, inform user and offer to start a new session
512. Read the project's `CLAUDE.md` for context
523. Check what's changed since the recorded checkpoint:
53 ```bash
54 git log --oneline [checkpoint-hash]..HEAD
55 ```
564. Check for uncommitted changes: `git status`
575. Present a summary:
58 - **Phase**: what we were working on
59 - **Position**: where we left off
60 - **Changes since**: any commits or modifications since checkpoint
61 - **Blockers**: anything unresolved
62 - **Suggested next step**: first item from Resume Instructions
63
64### Mode 4: Wrap Session
65
66**When**: "wrap session", "done for now", "save progress", ending a session
67
681. Run a full checkpoint (Mode 2)
692. Review SESSION.md for completeness:
70 - Are Resume Instructions concrete enough for a fresh session to continue?
71 - Is Current Position specific (file paths, not vague descriptions)?
723. If the phase is complete:
73 - Collapse the phase summary to 2-3 lines
74 - Clear Resume Instructions or note "Phase complete — ready for next phase"
754. Confirm: "Session wrapped. Resume with 'resume session' next time."
76
77## When to Use
78
79| Scenario | Use this skill? |
80|----------|----------------|
81| Multi-phase feature spanning 2+ sessions | Yes |
82| Work that might hit context compaction | Yes |
83| Before making risky or destructive changes | Yes (checkpoint first) |
84| Quick bug fix or single-file edit | No |
85| Single-session task with clear scope | No |
86
87## SESSION.md Principles
88
89- **Track progress, not architecture** — SESSION.md is a work log, not project documentation
90- **Concrete over vague** — "Resume at `src/auth.ts:42`, implement token refresh" beats "Continue auth work"
91- **Collapse completed work** — finished phases become 1-2 line summaries
92- **Keep under 100 lines** — if it's longer, collapse more aggressively
93
94## Autonomy Rules
95
96- **Just do it**: Read SESSION.md, read CLAUDE.md, check git status/log, present summaries
97- **Brief confirmation**: Creating new SESSION.md, committing WIP checkpoints
98- **Ask first**: Overwriting an existing SESSION.md, deleting session data
99
100## Reference Files
101
102| When | Read |
103|------|------|
104| Creating a new SESSION.md | [references/session-template.md](references/session-template.md) |
105| Context compaction tips, what survives | [references/compaction-survival.md](references/compaction-survival.md) |