원클릭으로
save
Save all session progress to status tracking files. Use when you want to checkpoint work mid-session or before ending.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Save all session progress to status tracking files. Use when you want to checkpoint work mid-session or before ending.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when you want a thorough code review of files, changes, or the entire project before shipping.
Use when you want structured feedback on a plan or document before implementation.
Use when you want to implement the next batch of a plan. Handles module implementation, testing, and validation.
Use when you want a thorough security review of the codebase, a specific file/directory, or a set of changes before shipping.
| name | save |
| description | Save all session progress to status tracking files. Use when you want to checkpoint work mid-session or before ending. |
| risk | safe |
This skill must only be invoked from the main session, never from a subagent.
Determine the project name (used for file paths in all later steps):
a. If a ~/.claude/status/*/session-progress.md was written earlier this session, reuse that project name.
b. Else if inside a git repo with a remote, use the origin remote. Parse the last path component, stripping any trailing .git (e.g., my-lib from git@github.com:user/my-lib.git or https://github.com/user/my-lib.git).
c. Else use the basename of the git root (git rev-parse --show-toplevel).
d. Else use the basename of the current working directory.
e. If still ambiguous, ask the user.
Capture test state (do NOT run tests yourself — a Stop hook already runs pytest automatically):
Create the directory ~/.claude/status/<project-name>/ if it does not exist.
Write/update ~/.claude/status/<project-name>/session-progress.md with:
Timestamp: YYYY-MM-DD HH:MM UTC
Current task: what you were working on
Completed: detailed progress using typed entries. Each entry is classified and formatted as follows:
Entry types:
Why: line.Why: required.decision — better to over-document rationale than lose it.Entry format:
### [decision] Title describing the choice <!-- id:a1b2c3d4e5f6a7b8 -->
Why: Rationale for this decision (SACRED — never compress or paraphrase).
What: Implementation details (optional).
### [observation] Title describing what happened <!-- id:e5f6a7b8c9d0e1f2 -->
Plain body text describing the change.
Entry IDs: Generate a unique ID for each new entry — 16 hex characters (e.g., a1b2c3d4e5f6a7b8). Just produce a random-looking 16-char hex string.
Appending to existing files: When updating an existing session-progress.md, preserve all existing entries verbatim — only append new ones.
Auto-captured entries: If a ## Auto-captured section exists (added by the auto-capture hook), review those entries:
Why: line where appropriate.## Auto-captured section after processing.Entry body content — draw from these details as appropriate:
src/foo/bar.py — added MyClass, refactored process())Remaining: bullet list of what's left, with enough detail to pick up without re-reading the plan
Test state: from step 2
Key decisions: any architectural or design choices made
Active plan: path to the current plan file in ~/.claude/plans/<project-name>/, or "None"
Context needed to continue: anything a fresh session needs to know (key file paths, uncommitted state, critical checkpoints, next batch to start)
Update or create ~/.claude/status/<project-name>/project-status.md — the cumulative project history across all sessions:
If the file does not exist, create it with these sections (adapt to the project):
If the file already exists, read it first and update the sections that changed this session:
Confirm to the user what was saved and where.