home / skills / microck / ordinary-claude-skills / project-session-management

project-session-management skill

/skills_all/project-session-management

This skill helps you manage project progress across sessions by auto-generating SESSION.md, tracking phases, and defining concrete next actions.

npx playbooks add skill microck/ordinary-claude-skills --skill project-session-management

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
7.5 KB
---
name: project-session-management
description: |
  Track progress across work sessions using SESSION.md with git checkpoints and concrete next actions. Converts IMPLEMENTATION_PHASES.md into trackable session state with phase status, progress markers, and recovery points.

  Use when: starting projects after planning phase, resuming work after context clears, managing multi-phase implementations, or troubleshooting lost context, missing progress tracking, or unclear next steps.
---

# Project Session Management Skill

Track progress across work sessions using SESSION.md with git checkpoints and concrete next actions.

---

## When to Use

- Starting projects after `project-planning` generates IMPLEMENTATION_PHASES.md
- Resuming work after context clears
- Mid-phase checkpoints when context is full
- Phase transitions
- Tracking Implementation → Verification → Debugging cycle

---

## Phases vs Sessions

**Phases** (IMPLEMENTATION_PHASES.md): Units of WORK (e.g., "Database Schema", "Auth API"). Have verification/exit criteria. May span multiple sessions.

**Sessions** (SESSION.md): Units of CONTEXT. Complete before clearing/compacting context. Can complete a phase, part of a phase, or multiple small phases.

**Example**: Phase 3 (Tasks API) → Session 1 (GET/POST) → Session 2 (PATCH/DELETE) → Session 3 (verify) ✅

---

## Workflow

**Starting New Project**:
1. After `project-planning` creates IMPLEMENTATION_PHASES.md, offer: "Create SESSION.md to track progress?"
2. Generate SESSION.md from phases, set Phase 1 as 🔄 (in progress), set concrete "Next Action"

**Ending Session**:
- **Automated**: `/wrap-session` (updates SESSION.md, creates checkpoint commit, outputs summary)
- **Manual**: Update SESSION.md → git checkpoint → set concrete "Next Action"

**Resuming**:
- **Automated**: `/continue-session` (loads context, shows summary, continues from "Next Action")
- **Manual**: Read SESSION.md → check "Next Action" → continue

---

## Automation Commands

**`/wrap-session`**: Analyzes state → updates SESSION.md → updates related docs → creates checkpoint commit → outputs summary → optionally pushes

**`/continue-session`**: Loads SESSION.md + planning docs → shows git history + summary → displays verification criteria (if in Verification stage) → opens "Next Action" file → asks permission to continue

---

## SESSION.md Structure

**Purpose**: Navigation hub referencing planning docs, tracking current progress
**Target**: <200 lines in project root
**Update**: After significant progress (not every change)

### Template

```markdown
# Session State

**Current Phase**: Phase 3
**Current Stage**: Implementation (or Verification/Debugging)
**Last Checkpoint**: abc1234 (2025-10-23)
**Planning Docs**: `docs/IMPLEMENTATION_PHASES.md`, `docs/ARCHITECTURE.md`

---

## Phase 1: Setup ✅
**Completed**: 2025-10-15 | **Checkpoint**: abc1234
**Summary**: Vite + React + Tailwind v4 + D1 binding

## Phase 2: Database ✅
**Completed**: 2025-10-18 | **Checkpoint**: def5678
**Summary**: D1 schema + migrations + seed data

## Phase 3: Tasks API 🔄
**Type**: API | **Started**: 2025-10-23
**Spec**: `docs/IMPLEMENTATION_PHASES.md#phase-3`

**Progress**:
- [x] GET /api/tasks endpoint (commit: ghi9012)
- [x] POST /api/tasks endpoint (commit: jkl3456)
- [ ] PATCH /api/tasks/:id ← **CURRENT**
- [ ] DELETE /api/tasks/:id
- [ ] Verify all endpoints (see IMPLEMENTATION_PHASES.md for criteria)

**Next Action**: Implement PATCH /api/tasks/:id in src/routes/tasks.ts:47, handle validation and ownership check

**Key Files**:
- `src/routes/tasks.ts`
- `src/lib/schemas.ts`

**Known Issues**: None

## Phase 4: Task UI ⏸️
**Spec**: `docs/IMPLEMENTATION_PHASES.md#phase-4`
```

---

## Status Icons

Use these emoji status icons consistently:

- **⏸️** = Not started (pending)
- **🔄** = In progress
- **✅** = Complete
- **🚫** = Blocked

---

## Stages Within a Phase

1. **Implementation** → Writing code
2. **Verification** → Testing against criteria
3. **Debugging** → Fixing issues

Update SESSION.md with current stage and progress. Example:

```markdown
**Current Stage**: Verification

**Verification Progress**:
- [x] GET /api/tasks returns 200 ✅
- [x] POST /api/tasks creates task ✅
- [ ] POST with invalid data returns 400 ❌ (returns 500)

**Current Issue**: Invalid data returning 500. Check src/middleware/validate.ts
```

---

## SESSION.md Guidelines

✅ Collapse completed phases (2-3 lines), concrete "Next Action" (file+line+task), reference planning docs, checkpoint at phase end or when context full

❌ No code copying, no duplicating IMPLEMENTATION_PHASES.md, no vague actions, keep <200 lines

---

## Git Checkpoint Format

```
checkpoint: Phase [N] [Status] - [Brief Description]

Phase: [N] - [Name]
Status: [Complete/In Progress/Paused]
Session: [What was accomplished this session]

Files Changed:
- path/to/file.ts (what changed)

Next: [Concrete next action]
```

**Example** (Phase Complete):
```
checkpoint: Phase 3 Complete - Tasks API

Phase: 3 - Tasks API
Status: Complete
Session: Completed all CRUD endpoints and verified functionality

Files Changed:
- src/routes/tasks.ts (all CRUD operations)
- src/lib/schemas.ts (task validation)

Next: Phase 4 - Start building Task List UI component
```

---

## Expected Uncommitted Files (CRITICAL)

**Checkpoint Cycle**: `/wrap-session` creates commit → gets hash → updates SESSION.md with hash. Therefore **SESSION.md is always uncommitted when resuming** (BY DESIGN).

**Expected uncommitted files** (no warning):
- **SESSION.md** - Checkpoint hash updated post-commit, always uncommitted between sessions (NORMAL)
- **CLAUDE.md** - Often updated during dev, may be uncommitted (NORMAL)
- **.roomodes** - Editor/IDE state, not relevant to session handoff (SAFE TO IGNORE)

**Warning triggers** (unexpected):
- Source files (.ts, .tsx, .js)
- Config files (vite.config.ts, wrangler.jsonc)
- Planning docs (IMPLEMENTATION_PHASES.md, ARCHITECTURE.md)
- New untracked files

**`/continue-session` behavior**:
- ℹ️ Info message when only SESSION.md/CLAUDE.md/.roomodes uncommitted
- ⚠️ Warning when code/doc changes uncommitted (shows filtered list excluding expected files)

---

## Context Management

**Context full mid-phase**: Update SESSION.md → checkpoint → clear context → read SESSION.md + planning docs → continue from "Next Action"

**Phase complete**: Check verification criteria → mark 🔄→✅ → checkpoint → move next phase ⏸️→🔄

**Troubleshooting**: Update to "Debugging" stage → document "Current Issue" → when fixed, return to "Verification" or "Implementation"

---

## Integration with project-planning

`project-planning` generates IMPLEMENTATION_PHASES.md (the plan) → `project-session-management` creates SESSION.md (the tracker) → work through phases → git checkpoints → resume from SESSION.md

Planning docs (/docs): Reference material, rarely change
SESSION.md (root): Living document, updates constantly

---

## Creating SESSION.md for New Project

After `project-planning` runs:

1. Read IMPLEMENTATION_PHASES.md
2. Create SESSION.md in root: Phase 1 as 🔄, others as ⏸️
3. Expand Phase 1 with task checklist
4. Set concrete "Next Action"
5. Output for review

Offer: "Would you like me to create SESSION.md to track progress through these phases? (clear current phase, progress tracking, easy resume, git checkpoint format)"

---

## Bundled Resources

**Templates**: SESSION.md.template, checkpoint-commit-format.md, CLAUDE-session-snippet.md

**Scripts**: resume.sh (show current state)

**References**: session-handoff-protocol.md, best-practices.md

Overview

This skill tracks progress across work sessions using a compact SESSION.md and git checkpoints to preserve context and next actions. It converts IMPLEMENTATION_PHASES.md planning output into a session-focused state with phase status, progress markers, and recovery points. The goal is fast resume, clear handoffs, and reliable checkpoint commits that reduce lost context between sessions.

How this skill works

The skill reads IMPLEMENTATION_PHASES.md and generates or updates SESSION.md to reflect current phase, stage (Implementation/Verification/Debugging), concrete next actions, and recent checkpoint hashes. Automation commands wrap and continue sessions: /wrap-session creates a checkpoint commit, updates SESSION.md, and emits a short summary; /continue-session loads session state, shows verification criteria and git status, and opens the next-action file. SESSION.md is kept small (<200 lines), references planning docs, and lists progress items and known issues for quick recovery.

When to use it

  • Start work after project planning produces IMPLEMENTATION_PHASES.md
  • Resume development when context has been cleared or memory is limited
  • Manage multi-phase implementations with clear phase transitions
  • Perform mid-phase checkpoints or prepare a handoff to another contributor
  • Troubleshoot lost context, unclear next steps, or missing progress tracking

Best practices

  • Keep SESSION.md concise: collapse completed phases and include a single concrete Next Action (file + line + task)
  • Checkpoint at meaningful boundaries (phase complete or context full), not after every minor edit
  • Use the emoji status icons consistently: ⏸️ (not started), 🔄 (in progress), ✅ (complete), 🚫 (blocked)
  • Avoid copying implementation doc text; reference planning docs instead and record only progress and issues
  • Treat SESSION.md as intentionally uncommitted between sessions after /wrap-session updates the in-file checkpoint hash

Example use cases

  • Generate SESSION.md automatically after planning to start Phase 1 with a concrete first task
  • Run /wrap-session at end of a session to create a checkpoint commit and update SESSION.md with the new hash
  • Use /continue-session to load the session summary, view verification criteria, and open the next-action file
  • Switch to Debugging stage mid-phase, document the current issue and recovery steps, then resume Verification
  • Collapse completed phases to keep the session file under 200 lines for quick navigation

FAQ

What files are expected to be uncommitted when resuming?

SESSION.md (by design), CLAUDE.md, and editor state files may be uncommitted; unexpected source or config changes trigger warnings.

When should I run /wrap-session versus manual checkpointing?

/wrap-session automates commit creation, session update, and summary output; use it at session end for consistent checkpoints, or update SESSION.md and commit manually if preferred.