sdlc-loglisted
Install: claude install-skill swapnil-agrim/loopsmith
# sdlc-log
Read side of the **local-only action log** (`skills/sdlc-loop/scripts/actionlog.py` writes it,
opt-in via config `action_log.enabled`, default `false`) — a full-granularity trace of file
touches, model/effort choices, subagent dispatch, and every mechanically-guaranteed loop action
(claim/worktree/verify/gate/record), kept entirely separate from the team ledger and never
committed (`.sdlc/state/log/`, already gitignored via the existing `RUNTIME_IGNORES` mechanism).
This skill only ever READS `.sdlc/state/log/*.jsonl`; it shares no code with the writer.
For **"where are we right now"**, run
`python3 "${CLAUDE_SKILL_DIR}/scripts/log.py" status .sdlc` and relay the output. It lists every
ACTIVE goal (claimed, and not yet recorded done/parked/failed), newest activity first, one line per
`(goal, thread)` with its most recent action and how long ago it happened. A goal that has been
quiet a long time (`claimed, last activity 3h ago`) is a visible smell for a human to judge — this
tool makes no liveness claim of its own; it only reports what the log itself says.
For **"what's the status on THIS goal"** — especially a large, multi-thread one (parallel slices,
several subagent dispatches) — run
`python3 "${CLAUDE_SKILL_DIR}/scripts/log.py" goal .sdlc <goal>` and relay the full, oldest-first
history for that one goal, `[actor,thread]`-prefixed, with the distinct thread count in the header.
If either command reports no entries, the feature is very likely just **off** — p