session-update — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited session-update (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are capturing work-in-progress into today's SESSION_LOG.md entry before context is cleared or handed off. The goal: preserve what THIS Claude instance knows — decisions, reasoning, blockers, dead-end approaches — before it's lost. Git alone can't recover any of that.
Primary use case: run this right before /clear. Secondary: mid-session checkpoint after a chunk of work.
Read .claude/SESSION_LOG.md. Find the top entry.
If top entry's date == today (MM-DD-YYYY format; legacy YYYY-MM-DD is equivalent): continue to Step 2.
If no today entry: tell the user:
"No session-start stub exists for today. Run /session-start first to create today's entry, then re-run session-update."Stop. Do not create the entry here — that's session-start's job.
Look inside today's entry for a tracking marker of the form:
<!-- last-update: <git-hash> --><git-hash> + current uncommitted changes + this conversation's work not yet in the entry.Collect inputs:
# Current HEAD (for the new marker)
git rev-parse --short HEAD
# Commits since last marker (if marker exists):
git log --oneline --all <marker-hash>..HEAD
# Or commits since today's start (if no marker):
git log --oneline --all --since="6am"
# Uncommitted state
git status --short
git diff --statAlso mine this conversation's context for things git won't show:
Draft bullets/rows for these four sections (merge into whatever already exists in the entry — don't replace):
### What Was Accomplished### Key Decisions### Files Modifiedgit diff --name-only <marker>..HEAD + uncommitted)### Notes for Next SessionIf git diff --stat shows changes, summarize them to the user:
"Uncommitted changes: - path/to/file.py (+12 / -3) - ...>
Capture as WIP in Notes for Next Session?"
Never commit the changes from this skill — WIP captures are descriptive only.
Show the user the drafted additions, grouped by section. Ask:
"Apply these updates to Session NNN? You can edit, add anything I missed, or accept as-is."
Wait for confirmation or edits. If they edit, incorporate and re-confirm.
Read today's entry. Apply the confirmed additions using these rules:
DO NOT touch:
## MM-DD-YYYY - Session NNN: [In Progress] title line**Focus:** _In progress — finalize at session end_ lineThose are session-end's job to finalize.
DO:
**Focus:** _In progress — finalize at session end_
<!-- last-update: <new-HEAD-hash> -->--- separator before the next session entry.Example — entry after first update:
## 04-13-2026 - Session 115: [In Progress]
**Focus:** _In progress — finalize at session end_
<!-- last-update: a1b2c3d -->
### What Was Accomplished
1. **Thing one** — one-line description
### Key Decisions
- Decision — rationale
### Files Modified
| File | Changes |
|------|---------|
| `api/app/foo.py` | Added bar handler |
### Notes for Next Session
- **WIP:** About to refactor `baz()` — paused here.
---Tell the user:
"Session NNN updated through commit<hash>. Captured N accomplishments / M decisions / K files / [WIP: yes|no]. Safe to/clear."
| Situation | Action |
|---|---|
| No today entry in SESSION_LOG.md | Tell user to run /session-start first |
<!-- last-update: hash --> present | Scope new work to commits after that hash |
| No marker | Scope new work to today's commits + conversation |
| Uncommitted changes exist | Offer to capture as WIP |
Called right before /clear | Primary use case — prioritize decisions + WIP + dead ends |
| Multi-agent day | Each Claude instance updates → marker advances → no double-counting |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.