You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create or load a recoverable repo/Git checkpoint without relying on prior chat context.
9
+
Create/load a recoverable repo/Git checkpoint without prior chat context.
10
10
11
11
Modes:
12
12
- default or `save`: create or refresh `.savepoint/SAVEPOINT.md`
@@ -17,31 +17,31 @@ If slash prompts are unavailable, treat natural-language `$savepoint` requests t
17
17
18
18
## Rules
19
19
20
-
- During save/load verification, stay in savepoint scope and do not edit application code.
20
+
- During save/load verification, stay in savepoint scope; do not edit application code.
21
+
- Resolve `<savepoint-skill-dir>` before running commands; Claude Code: `${CLAUDE_SKILL_DIR}`.
21
22
- Do not run `/new`, `/status`, PTY/session rotation, threshold policy, or background process control.
22
23
- Run the bundled CLI; do not inspect implementation source during normal use.
23
-
- Prefer current files, Git state, and durable state files over chat memory.
24
-
- Do not paste transcripts, full diffs, long logs, shell history, PRDs, ADRs, issues, or commits.
25
-
- Reference existing artifacts by path, URL, branch, or commit.
26
-
- Redact API keys, tokens, cookies, credentials, private keys, passwords, `.env` values, and PII as `<redacted>`; do not place raw secrets in semantic input files.
24
+
- Prefer current disk/Git/durable state over chat memory.
25
+
- Do not paste transcripts, diffs, logs, shell history, PRDs, ADRs, issues, or commits; cite paths, URLs, branches, or commits.
26
+
- Redact API keys, tokens, cookies, credentials, private keys, passwords, `.env` values, and PII as `<redacted>`; never put raw secrets in input.
27
27
- File savepoints must end with exactly one `SAVEPOINT_V1` marker block.
28
-
- Keep top-level `SAVEPOINT.md` compact. Use generated `details/*.md` only when needed for recovery.
28
+
- Keep top-level `SAVEPOINT.md` compact; use generated `details/*.md` only when needed.
29
29
30
30
## Create / Save
31
31
32
-
1. Treat provided focus text, if any, only as next-session focus.
33
-
2. Capture repo/Git state and write compact input JSON with `goal`, `current_state`, `next_action`, `files_to_inspect_first`, and `unresolved_blockers`; start with `python3 <savepoint-skill-dir>/scripts/savepoint.py init-input --output .savepoint/input.json` if blank.
34
-
3. Set `validation.project.status` to one of `passed`, `failed-expected`, `failed-blocking`, `not-run-justified`, or `not-run-unknown`. For `failed-expected`, include failed command/result/summary evidence, an explicit reason, and next validation command. For `not-run-justified`, include a reason and next validation command.
35
-
4. Run `python3 <savepoint-skill-dir>/scripts/savepoint.py save --input .savepoint/input.json --output .savepoint/SAVEPOINT.md --assert-no-active-commands --scan-redaction --validate`. Inside this repository, `python3 scripts/savepoint.py save ...` also works.
32
+
1. Treat any focus text only as next-session focus.
33
+
2. Capture repo/Git state in compact input JSON with `goal`, `current_state`, `next_action`, `files_to_inspect_first`, and `unresolved_blockers`; if blank, start with `python3 <savepoint-skill-dir>/scripts/savepoint.py init-input --output .savepoint/input.json`.
34
+
3. Set `validation.project.status` to `passed`, `failed-expected`, `failed-blocking`, `not-run-justified`, or `not-run-unknown`. `failed-expected` needs failed command/result/summary evidence, reason, and next validation command. `not-run-justified` needs reason and next validation command.
35
+
4. Run `python3 <savepoint-skill-dir>/scripts/savepoint.py save --input .savepoint/input.json --output .savepoint/SAVEPOINT.md --assert-no-active-commands --scan-redaction --validate`; in this repo, `python3 scripts/savepoint.py save ...` also works.
36
36
5. Inspect only the generated `.savepoint/SAVEPOINT.md`.
37
37
6. Report exact path, `RESUME_READY`, blockers if any, and the first next action.
38
38
39
-
`savepoint.py save` exit code `2`can still mean a not-ready `SAVEPOINT.md` was written. Inspect the file, report blockers, and do not continue unless `RESUME_READY: yes`.
39
+
Exit code `2`may still write a not-ready `SAVEPOINT.md`; inspect it, report blockers, and do not continue unless `RESUME_READY: yes`.
40
40
41
41
## Load / Resume
42
42
43
-
1.Read the selected savepoint: user path first, then`.savepoint/SAVEPOINT.md`.
44
-
2. Verify cwd, Git root, branch, short HEAD, status, and diff against current disk state.
43
+
1.Select the user path first, otherwise`.savepoint/SAVEPOINT.md`; run `python3 <savepoint-skill-dir>/scripts/savepoint.py inspect <path> --json`.
44
+
2. Verify cwd, Git root, branch, short HEAD, status, and diff against disk state.
45
45
3. Disk state wins over savepoint text. Report drift before edits.
46
46
4. Continue only when the user requested continuation and `RESUME_READY` is `yes`, with no blocking drift or missing required file.
47
47
5. For inspect-only requests, do not clean up by default.
@@ -50,16 +50,12 @@ If slash prompts are unavailable, treat natural-language `$savepoint` requests t
50
50
51
51
Use text mode only when the user explicitly asks for copy-paste, text-only, `no-file`, `no files`, `in-response`, or `in the response`.
52
52
53
-
Run`python3 <savepoint-skill-dir>/scripts/savepoint.py text --input .savepoint/input.json`.
53
+
Prepare `.savepoint/input.json` as in Save, then run`python3 <savepoint-skill-dir>/scripts/savepoint.py text --input .savepoint/input.json`.
54
54
55
-
Text mode must not claim `.savepoint/SAVEPOINT.md` was written, repo recovery is guaranteed, or `RESUME_READY: yes`.
55
+
Text mode must not claim `.savepoint/SAVEPOINT.md` was written, recovery is guaranteed, or `RESUME_READY: yes`.
56
56
57
57
## Advanced Cases
58
58
59
-
Read `references/contract.md`only when marker semantics, cleanup, stale savepoints, detail spillover, overwrite adoption, or safe-resume edge cases are unclear.
59
+
Read references only when normal CLI use is insufficient: `references/contract.md`for marker/safe-resume/cleanup/staleness/detail/overwrite edge cases, `references/safety.md` for secret-like paths, and `references/template.md` when the renderer is unavailable.
60
60
61
61
For refresh, append `--force` only when the existing file is the generated, untracked, valid default artifact `.savepoint/SAVEPOINT.md` and the user did not ask to preserve history; otherwise preserve or ask.
62
-
63
-
Read `references/safety.md` only when secret redaction or secret-like paths are involved.
64
-
65
-
Read `references/template.md` only when the renderer is unavailable and a manual artifact is unavoidable.
0 commit comments