← ClaudeAtlas

cs-snapshotlisted

Capture a git snapshot of a tracked directory — detects changes, commits current state, updates snapshot log. Use to checkpoint before/after updates.
brennacodes/brenna-plugs · ★ 1 · Testing & QA · score 70
Install: claude install-skill brennacodes/brenna-plugs
<purpose> Capture the current state of a tracked target directory as a git snapshot. Detects changes since the last snapshot, commits them on the tracking branch, and updates the snapshot log. Skips if nothing changed (unless `--force`). If the target's changelog was modified, re-parses it. </purpose> <steps> <step id="load-config" number="1"> <description>Load Configuration</description> <load-config> <action>Resolve the user's home directory.</action> <command language="bash" output="home" tool="Bash">echo $HOME</command> <constraint>Never pass `~` to the Read tool.</constraint> <read path="<home>/.things/config.json" output="config" /> <if condition="config-missing">Tell the user: "Run `/things:setup-things` first." Then stop.<exit /></if> <read path="<home>/.things/claude-scout/preferences.json" output="preferences" /> <if condition="preferences-missing">Tell the user: "Run `/setup-cs` first." Then stop.<exit /></if> <read path="<home>/.things/claude-scout/targets.json" output="targets" /> </load-config> </step> <step id="resolve-target" number="2"> <description>Resolve Target</description> <action>Parse `$ARGUMENTS` for:</action> - **target-id**: First positional arg, or fall back to `preferences.default_target` - **--message**: Snapshot message (default: current date/time) - **--tag**: Tag to attach to this snapshot entry - **--force**: Take snapshot even if no changes dete