Back to list
jrc1883

session-capture

by jrc1883

AI-powered development workflow automation for Claude Code. Modular plugin suite with 23 commands, 38 skills, and 22 specialized agents for professional software development.

2🍴 0📅 Jan 24, 2026

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." hooks: Stop: - script: "${CLAUDE_PLUGIN_ROOT}/../../shared-py/hooks/auto-save-state.py" once: true

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

Score

Total Score

75/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon