Claude Code Plugins

Community-maintained marketplace

Feedback

Saves complete session state to STATUS.json for seamless continuation across conversations. Captures git context, in-progress tasks, service status, focus area, and next actions. Use at the end of work sessions, before context limits, or when switching to a different task. Do NOT use mid-task or for quick questions - the overhead is only worthwhile when you actually need to resume later.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name session-capture
description Saves complete session state to STATUS.json for seamless continuation across conversations. Captures git context, in-progress tasks, service status, focus area, and next actions. Use at the end of work sessions, before context limits, or when switching to a different task. Do NOT use mid-task or for quick questions - the overhead is only worthwhile when you actually need to resume later.

Session Capture

Overview

Save current session state to STATUS.json for seamless continuation in future sessions.

Core principle: Future Claude should have everything needed to continue without asking.

Trigger: End of work session, major milestones, before context limits

STATUS.json Schema

{
  "lastUpdate": "2025-01-15T10:30:00Z",
  "project": "project-name",
  "sessionType": "Fresh | Resume | Continuation",
  "git": {
    "branch": "feature/current-work",
    "lastCommit": "abc123 - feat: add feature X",
    "uncommittedFiles": 3,
    "stagedFiles": 1
  },
  "tasks": {
    "inProgress": ["Task being worked on"],
    "completed": ["Recently completed task"],
    "blocked": ["Task blocked by X"]
  },
  "services": {
    "devServer": {"running": true, "port": 3000},
    "database": {"running": true, "port": 5432}
  },
  "context": {
    "focusArea": "Working on authentication flow",
    "blocker": "Waiting for API response format clarification",
    "nextAction": "Implement token refresh logic",
    "keyDecisions": ["Using JWT for auth", "Session expiry: 1 hour"]
  },
  "projectData": {
    "testStatus": "47 passing, 2 failing",
    "buildStatus": "passing",
    "lintErrors": 0
  }
}

Capture Process

Step 1: Gather Git State

# Get current branch
git branch --show-current

# Get last commit
git log -1 --format="%h - %s"

# Count uncommitted changes
git status --porcelain | wc -l

# Get staged files
git diff --cached --name-only | wc -l

Step 2: Gather Task State

From TodoWrite:

  • Tasks marked as in_progress
  • Recently completed tasks (last 3)
  • Any blocked tasks with reasons

Step 3: Check Services

# Check if dev server is running
curl -s http://localhost:3000/health || echo "not running"

# Check database
pg_isready -h localhost -p 5432 || echo "not running"

Step 4: Document Context

Capture:

  • What area of code you're focused on
  • Any blockers or decisions made
  • What should happen next
  • Key decisions made during session

Step 5: Run Project Checks

# Run tests
npm test 2>&1 | tail -1

# Check build
npm run build 2>&1 | tail -1

# Run lint
npm run lint 2>&1 | tail -1

Step 6: Write STATUS.json

Write to .claude/STATUS.json (or project root if no .claude directory)

When to Capture

Automatic triggers:

  • End of conversation (if hooks enabled)
  • Before Claude Code closes
  • After major milestone completion

Manual triggers:

  • Before switching to different work
  • When hitting context limits
  • Before complex operations

Example Output

{
  "lastUpdate": "2025-01-15T14:30:00Z",
  "project": "my-app",
  "sessionType": "Resume",
  "git": {
    "branch": "feature/user-auth",
    "lastCommit": "a7f3c2e - feat: add login form component",
    "uncommittedFiles": 2,
    "stagedFiles": 0
  },
  "tasks": {
    "inProgress": ["Implement password reset flow"],
    "completed": ["Create login form", "Add form validation"],
    "blocked": []
  },
  "services": {
    "devServer": {"running": true, "port": 3000},
    "database": {"running": true, "port": 5432}
  },
  "context": {
    "focusArea": "Authentication system",
    "blocker": null,
    "nextAction": "Add forgot password email template",
    "keyDecisions": ["Using nodemailer for emails", "Password reset expires in 1 hour"]
  },
  "projectData": {
    "testStatus": "45 passing, 0 failing",
    "buildStatus": "passing",
    "lintErrors": 0
  }
}

Integration

Pairs with:

  • session-resume - Reads STATUS.json on startup
  • context-restore - Loads previous context into working memory

Hook integration:

  • Can be triggered by session-end hook
  • Runs before Claude Code closes