Modes:
- default or
save: create or refresh .savepoint/SAVEPOINT.md
load: verify an existing savepoint and report whether continuation is safe
text: response-only copy-paste handoff; no file recovery guarantee
Rules
- During save/load verification, stay in savepoint scope; do not edit application code.
- Resolve
<savepoint-skill-dir> before running commands; Claude Code: ${CLAUDE_SKILL_DIR}.
- Do not run
/new, /status, PTY/session rotation, threshold policy, or background process control.
- Run the bundled CLI; do not inspect implementation source during normal use.
- Prefer current disk/Git/durable state over chat memory.
- Do not paste transcripts, diffs, logs, shell history, PRDs, ADRs, issues, or commit text; cite paths, URLs, branches, or commits.
- Redact API keys, tokens, cookies, credentials, private keys, passwords,
.env values, and PII as <redacted>; never put raw secrets in input.
- File savepoints must end with exactly one
SAVEPOINT_V1 marker block.
- Keep top-level
SAVEPOINT.md compact; use generated details/*.md only when needed for recovery.
Create / Save
- Treat any focus text only as next-session focus.
- Prepare compact input JSON with
goal, current_state, next_action, files_to_inspect_first, and unresolved_blockers; if none exists, run python3 <savepoint-skill-dir>/scripts/savepoint.py init-input --output .savepoint/input.json.
- Set
validation.project.status to passed, failed-expected, failed-blocking, not-run-justified, or not-run-unknown. failed-expected needs failed command/result/summary, reason, next validation; not-run-justified needs reason and next validation.
- Run
python3 <savepoint-skill-dir>/scripts/savepoint.py save --input .savepoint/input.json --output .savepoint/SAVEPOINT.md --assert-no-active-commands --scan-redaction --validate.
- Inspect only generated
.savepoint/SAVEPOINT.md; report exact path, RESUME_READY, blockers if any, and the first next action.
Exit code 2 may write not-ready SAVEPOINT.md; inspect, report blockers, and do not continue unless RESUME_READY: yes.
Load / Resume
- Select user path first, else
.savepoint/SAVEPOINT.md; run python3 <savepoint-skill-dir>/scripts/savepoint.py inspect <path> --json.
- Verify cwd, Git root, branch, short HEAD, status, and diff against disk state.
- Disk state wins over savepoint text. Report drift before edits.
- Continue only when the user requested continuation and
RESUME_READY is yes, with no blocking drift or missing required file.
- For inspect-only requests, do not clean up by default.
Text Mode
Use text mode only for explicit copy-paste, text-only, no-file, no files, in-response, or in the response requests.
Prepare .savepoint/input.json as in Save, then run python3 <savepoint-skill-dir>/scripts/savepoint.py text --input .savepoint/input.json.
Text mode must not claim .savepoint/SAVEPOINT.md was written, repo recovery is guaranteed, or RESUME_READY: yes.
Advanced Cases
Read references only when normal CLI use is insufficient: references/contract.md for marker/resume/cleanup/stale/detail/overwrite, references/safety.md for secrets, references/template.md for renderer fallback.
For refresh, append --force only when existing .savepoint/SAVEPOINT.md is the generated, untracked, valid default artifact and no history preservation was requested; otherwise preserve or ask.
1---2name: savepoint3description: Recoverable coding-session checkpoint at .savepoint/SAVEPOINT.md for context reset/session transfer. Use for 세이브포인트 만들어줘, 세이브포인트 로드해줘, 세이브포인트 읽어줘, 세이브포인트 이어서 해줘. Not for SQL SAVEPOINT, ordinary summaries, direct code/docs edits without checkpoint intent, /status, /new, PTY/session control, session rotation, or app features named savepoint.4---56Modes:7- default or `save`: create or refresh `.savepoint/SAVEPOINT.md`8- `load`: verify an existing savepoint and report whether continuation is safe9- `text`: response-only copy-paste handoff; no file recovery guarantee1011## Rules1213- During save/load verification, stay in savepoint scope; do not edit application code.14- Resolve `<savepoint-skill-dir>` before running commands; Claude Code: `${CLAUDE_SKILL_DIR}`.15- Do not run `/new`, `/status`, PTY/session rotation, threshold policy, or background process control.16- Run the bundled CLI; do not inspect implementation source during normal use.17- Prefer current disk/Git/durable state over chat memory.18- Do not paste transcripts, diffs, logs, shell history, PRDs, ADRs, issues, or commit text; cite paths, URLs, branches, or commits.19- Redact API keys, tokens, cookies, credentials, private keys, passwords, `.env` values, and PII as `<redacted>`; never put raw secrets in input.20- File savepoints must end with exactly one `SAVEPOINT_V1` marker block.21- Keep top-level `SAVEPOINT.md` compact; use generated `details/*.md` only when needed for recovery.2223## Create / Save24251. Treat any focus text only as next-session focus.262. Prepare compact input JSON with `goal`, `current_state`, `next_action`, `files_to_inspect_first`, and `unresolved_blockers`; if none exists, run `python3 <savepoint-skill-dir>/scripts/savepoint.py init-input --output .savepoint/input.json`.273. Set `validation.project.status` to `passed`, `failed-expected`, `failed-blocking`, `not-run-justified`, or `not-run-unknown`. `failed-expected` needs failed command/result/summary, reason, next validation; `not-run-justified` needs reason and next validation.284. Run `python3 <savepoint-skill-dir>/scripts/savepoint.py save --input .savepoint/input.json --output .savepoint/SAVEPOINT.md --assert-no-active-commands --scan-redaction --validate`.295. Inspect only generated `.savepoint/SAVEPOINT.md`; report exact path, `RESUME_READY`, blockers if any, and the first next action.3031Exit code `2` may write not-ready `SAVEPOINT.md`; inspect, report blockers, and do not continue unless `RESUME_READY: yes`.3233## Load / Resume34351. Select user path first, else `.savepoint/SAVEPOINT.md`; run `python3 <savepoint-skill-dir>/scripts/savepoint.py inspect <path> --json`.362. Verify cwd, Git root, branch, short HEAD, status, and diff against disk state.373. Disk state wins over savepoint text. Report drift before edits.384. Continue only when the user requested continuation and `RESUME_READY` is `yes`, with no blocking drift or missing required file.395. For inspect-only requests, do not clean up by default.4041## Text Mode4243Use text mode only for explicit copy-paste, text-only, `no-file`, `no files`, `in-response`, or `in the response` requests.4445Prepare `.savepoint/input.json` as in Save, then run `python3 <savepoint-skill-dir>/scripts/savepoint.py text --input .savepoint/input.json`.4647Text mode must not claim `.savepoint/SAVEPOINT.md` was written, repo recovery is guaranteed, or `RESUME_READY: yes`.4849## Advanced Cases5051Read references only when normal CLI use is insufficient: `references/contract.md` for marker/resume/cleanup/stale/detail/overwrite, `references/safety.md` for secrets, `references/template.md` for renderer fallback.5253For refresh, append `--force` only when existing `.savepoint/SAVEPOINT.md` is the generated, untracked, valid default artifact and no history preservation was requested; otherwise preserve or ask.