From loopkit
Reconstructs project state in fresh coding sessions by running a fixed 6-step sequence: pwd, read progress, git log, count features, init, smoke-test. Prevents building on broken state.
How this skill is triggered — by the user, by Claude, or both
Slash command
/loopkit:progress-reading-protocolWhen to use
very first tool calls of any fresh coding-agent session, rehydrating after a context reset or crash mid-project, verifying a claimed-shipped feature before picking up new work
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You have no memory of the previous session. The repo does. Every fresh session burns 5-10 minutes reconstructing state unless you follow a fixed opening sequence — with the sequence, it drops to 30-60 seconds. The cost is 2-4k tokens at the top of every session; the payoff crosses over past four sessions on the same project.
You have no memory of the previous session. The repo does. Every fresh session burns 5-10 minutes reconstructing state unless you follow a fixed opening sequence — with the sequence, it drops to 30-60 seconds. The cost is 2-4k tokens at the top of every session; the payoff crosses over past four sessions on the same project.
Skipping steps is the failure mode. Sessions that skip the smoke-test step (6) reliably build new features on top of silently broken ones. See the "looks shipped, isn't shipped" bug (originally documented in the shift-work harness pattern).
pwd — confirm you are in the project directory. You may only edit files below this path.claude-progress.txt (or whatever the project's shift-notes file is called). This is the previous session's prose handoff.
2b. Read claude-decisions.json — the machine-readable ledger of decisions the loopkit pre-compact hook extracts before each compaction. Prose in claude-progress.txt tells you what the last session did; JSON in claude-decisions.json tells you what was chosen and rejected. If the two disagree on a specific choice, the JSON is the durable record. See [[active-memory-reminder]].git log --oneline -20 — see what was actually committed. If the progress file and the git log disagree, trust the git log. The progress file can be truncated by a crashed write; the log is append-only.cat feature_list.json | jq '[.[] | select(.passes==false)] | length'. Adjust the field name to the project's schema. This anchors you to the source of truth for completion state../init.sh — bring up the dev server. If this fails, fixing it is your only job this session. Do not skip to feature work with a broken environment.curl, or the actual CLI. Not unit tests. If it fails, invoke [[broken-window-check]]: revert the offending commit, flip the feature back to passes: false, and fix it before touching new work.Only after all six steps pass do you pick new work (see [[shift-notes]] for selection heuristics).
init.sh and assuming success without smoke-testing a feature. The dev server can start clean while every route is broken.Roughly 2-4k tokens and 30-60 seconds of wall-clock at the top of every session. Payoff crosses over past ~4 sessions on the same project; below that, the ritual is overhead. If your project is one-shot, use [[verification-before-completion]] instead.
When NOT to apply: single-shot sessions with no prior state, or the very first session of a project (there is nothing to read yet — run the initializer instead).
npx claudepluginhub archive228/loopkit --plugin loopkitManages long-running development projects across multiple Claude sessions: initializes, continues, tracks progress, updates feature lists. Activates on start/continue/resume project triggers.
Orients at session start by checking GitHub project state, reading memory, verifying environment, and reviewing repository state to establish context before work.
Initializes a development session with context compilation, GitHub sync, and memory loading. Covers session start, project status checks, context restoration, and GitHub issue synchronization.