Back to Workflow & Productivity

project-session-management

project managementsession trackingworkflow automationgit integrationdeveloper toolsprogress trackingAI assistantcoding workflow
⭐ 860πŸ“„ MITπŸ•’ 2026-06-11Source β†—

Install this skill

npx skills add jezweb/claude-skills

Works across Claude Code, Cursor, Codex, Copilot & Antigravity

Project Session Management functions as a bridge between high-level architectural planning and granular daily code execution. It maintains a central SESSION.md file that tracks active progress, stage transitions, and specific task checkpoints. By formalizing the transition between development sessions, the skill helps developers maintain momentum when resuming complex coding tasks after context loss. It integrates git-based checkpointing with an explicit status-tracking system, ensuring that every session ends with a defined next action and clear implementation state. This approach prevents 'lost-in-code' syndrome by keeping documentation lightweight, version-synced, and focused on current blocking tasks rather than long-term roadmap maintenance. It essentially acts as a navigational hub that maps existing planning documentation to the actual file-level operations happening in real-time within the IDE.

When to Use This Skill

  • β€’Resuming complex feature development after an overnight break or context reset
  • β€’Managing the handoff between phase-based development and formal verification testing
  • β€’Documenting debugging sessions to prevent regression and lost investigation trails
  • β€’Navigating multi-phase software projects that span many files and directories

How to Invoke This Skill

Example prompts that trigger this skill in Claude Code, Cursor, or Antigravity:

  • β€œI need to pause my current progress and save the session state
  • β€œHelp me resume work where I left off on this project
  • β€œCreate a new session tracking file based on my implementation phases
  • β€œWrap up the current session and create a checkpoint
  • β€œWhat is the next action I should be focusing on?

Pro Tips

  • πŸ’‘Always pair this skill with `project-planning` to ensure a well-defined `IMPLEMENTATION_PHASES.md` exists as a foundation.
  • πŸ’‘Be highly specific and actionable when defining 'Next Action' in your `SESSION.md` to maximize clarity upon resuming work.
  • πŸ’‘Leverage the automated `/wrap-session` command to consistently create Git checkpoints, providing a reliable history of your project's progress.

What this skill does

  • β€’Synchronizes SESSION.md state with version-controlled git checkpoints
  • β€’Automates session wrap-up and resumption workflows via dedicated commands
  • β€’Tracks granular progress across specific implementation, verification, and debugging stages
  • β€’Maintains clear links between current work tasks and architectural planning documents
  • β€’Generates standardized git commit messages for identifiable progress markers

When not to use it

  • βœ•Quick, single-session refactoring tasks that do not require ongoing state tracking
  • βœ•Very small projects where the overhead of maintaining SESSION.md exceeds the benefit of context retention

Example workflow

  1. Run /wrap-session to generate a checkpoint and commit current changes
  2. Update the SESSION.md with the latest git hash and completed tasks
  3. Close the IDE or perform a context-clearing switch
  4. Run /continue-session upon returning to restore the planning context
  5. Execute the next action displayed in the summary

Prerequisites

  • –Git repository initialized
  • –IMPLEMENTATION_PHASES.md file created via project-planning

Pitfalls & limitations

  • !Failing to keep SESSION.md updated leads to stale 'next action' prompts
  • !Over-bloating the session file with unnecessary historical details
  • !Forgetting to commit or push git checkpoints after wrapping a session

FAQ

How is this different from a simple TODO list?
It specifically ties tasks to git checkpoints and file paths, ensuring the 'next action' is contextually linked to your last actual commit.
Does this replace my project planning document?
No. The project planning document stays static to outline long-term goals, while SESSION.md tracks the current, daily execution status.
Why is SESSION.md often uncommitted?
It is designed to hold the most recent checkpoint hash generated by the wrap command, which is only available after the code changes are committed.
Can I use this for multiple phases at once?
Yes, it supports tracking multiple active phases, though it is recommended to focus on one implementation stage at a time for clarity.

How it compares

Unlike manual logging or generic chat history, this skill enforces a structured state machine (Implementation/Verification/Debugging) that forces specific, actionable, file-level updates every time you stop working.

Source & trust

⭐ 860 starsπŸ“„ MITπŸ•’ Updated 2026-06-11
πŸ“„ Full skill instructions β€” original source: jezweb/claude-skills
# 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

# 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:

**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


---

# Session Protocol

This project uses SESSION.md for progress tracking across work sessions.

## Key Files

- **SESSION.md** - Current progress, next action, known issues (project root)
- **docs/IMPLEMENTATION_PHASES.md** - Full phase specifications
<!-- CUSTOMIZE: Add other planning docs as needed -->

## Status Icons

- ⏸️ = Not started (pending)
- πŸ”„ = In progress
- βœ… = Complete
- 🚫 = Blocked

## Stages Within a Phase

1. **Implementation** - Writing code for tasks
2. **Verification** - Testing against phase criteria
3. **Debugging** - Fixing issues found

## When Reading SESSION.md

1. Check "Current Phase" and "Current Stage"
2. Review "Progress" checklist for completed/pending tasks
3. Read "Next Action" for specific task (file + line + action)
4. Note any "Known Issues"

## When Updating SESSION.md

1. Mark completed tasks with [x]
2. Update "Current Stage" if changed
3. Set concrete "Next Action": file path + line number + specific task
4. Document any new issues in "Known Issues"
5. If phase complete: Change πŸ”„ to βœ…, collapse to summary

## Next Action Format

Always be concrete:

<!-- ❌ Vague -->
**Next Action**: Continue working on API

<!-- βœ… Concrete -->
**Next Action**: Implement PATCH /api/tasks/:id in src/routes/tasks.ts:47, add ownership validation


## Git Checkpoints

After significant progress or before clearing context:

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

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

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

Next: [Concrete next action]


## Session Workflow

**Ending session**: Update SESSION.md β†’ git checkpoint β†’ note Next Action

**Resuming**: Read SESSION.md β†’ check Next Action β†’ continue from that point

How to Use This Skill Unit

Option A: Project-Specific (Recommended)

  1. Click "Download" above
  2. In your project, create the directory: .agent/skills/project-session-management/
  3. Save the file as SKILL.md
  4. The agent will automatically discover the skill based on its description.

Option B: Global Installation (All Agents)

Save the file to these locations to make it available across all projects:

  • Claude Code: ~/.claude/skills/jezweb/claude-skills/project-session-management/SKILL.md
  • Cursor: ~/.cursor/skills/jezweb/claude-skills/project-session-management/SKILL.md
  • Antigravity: ~/.gemini/antigravity/skills/jezweb/claude-skills/project-session-management/SKILL.md

πŸš€ Install with CLI:
npx skills add jezweb/claude-skills

Read the Master Guide: Mastering Agent Skills β†’

Related Skill Units

Recommended Rules

View more rules β†’

Recommended Workflows

View more workflows β†’

Recommended MCP Servers

View more MCP servers β†’

Take It Further

Maximize your productivity with these powerful resources

πŸ“‹

Define Your Standards

Set up coding standards to ensure this workflow produces consistent, high-quality results.

Browse Rules Library
πŸ“–

Master Workflows

Learn how to create custom workflows, use Turbo Mode, and build your automation library.

Complete Guide

How to use this Skill in Claude Code & Cursor

For Claude Code (CLI)

To use this skill in Claude Code, copy the rule content into your project's custom instructions or follow our Add-Skill CLI guide. This ensures Claude follows your standards during every code generation.

For Cursor & Windsurf

For Cursor or Windsurf, individual skills are best used in the "Rules for AI" section. This specific unit helps the agent avoid workflow & productivity issues, leading to cleaner, more efficient code.

Why the skill format matters: the standardized Agent Skills format lets your AI agent load detailed instructions only when they are relevant, keeping your prompt clean while improving results.

Source & attribution

This skill is categorized under Workflow & Productivity and is published by JezWeb, maintained in jezweb/claude-skills.

← Browse All Agent Skills
Sponsored AI assistant. Recommendations may be paid.