Skip to content
Back to skills

Task State Ledger

ASecurity

Maintain an external state ledger for any multi-step task (3+ steps, multi-PR, anything spanning more than one turn or touching production). Triggered when you notice yourself re-deriving "where am I" with repeated gh/git/curl dumps, when a task crosses turns, or when the user asks "why are you stuck/lost". Prevents the "lost" failure mode: re-discovering state every turn instead of reading it.

  • 27 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 3, 2026
ai-agentsgogitdocumentation

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add IgorGanapolsky/ThumbGate --skill task-state-ledger --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Task State Ledger?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Task State Ledger
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/igorganapolsky-task-state-ledger/badge)](https://www.skillsdirectory.com/skills/igorganapolsky-task-state-ledger)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: task-state-ledger
description: >
  Maintain an external state ledger for any multi-step task (3+ steps, multi-PR,
  anything spanning more than one turn or touching production). Triggered when you
  notice yourself re-deriving "where am I" with repeated gh/git/curl dumps, when a
  task crosses turns, or when the user asks "why are you stuck/lost". Prevents the
  "lost" failure mode: re-discovering state every turn instead of reading it.
---

# Task State Ledger — Stop Getting Lost

## The failure this prevents

You re-derive state every turn (where's the PR, what's on main, what's deployed)
with expensive `gh`/`git`/`curl` dumps. The dumps flood context, bury the signal,
and you lose the thread. This is the "constantly stuck and lost" failure. The fix
is mechanical: **write state down once, update it as you go, read it instead of
re-deriving it.** (Anthropic context-engineering: external structured note-taking
is one of the three core long-horizon techniques, alongside compaction and
sub-agents — see https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents)

## The rule

For any task with 3+ steps or that crosses a turn, the FIRST action is to create
or open a ledger at `.thumbgate/implementation-notes.md` or a task-specific
gitignored `.thumbgate/implementation-notes/<date>-<task>.md`. Do not write
operator scratchpads under tracked `.claude/implementation-notes/`; those are
private working notes, not product documentation. The ledger is the single
source of truth.

## Ledger format (keep it short — it's a dashboard, not a diary)

```markdown
# <task> — <date>

## Goal (one sentence)
<the actual end state that means "done">

## Current step
<the ONE thing in flight right now>

## State (verified facts only — each with how/when verified)
- main HEAD: <sha> (git rev-parse origin/main @ HH:MM)
- deployed buildSha: <sha> (curl /health @ HH:MM)
- PR #NNNN: <state>/<mergeState> (gh pr view @ HH:MM)

## Steps (sequential — one in_progress at a time)
- [x] step that's done — evidence
- [ ] step in flight  ← YOU ARE HERE
- [ ] next step
- [ ] ...

## Decisions & corrections
- <decision> because <why>  (mark VERIFIED / UNVERIFIED)
- WRONG: <thing I claimed that was false> → corrected to <truth> @ HH:MM

## Blockers / open questions for the CEO
- <thing only the user can unblock>
```

## Protocol

1. **Open the ledger before doing anything else** on a multi-step task. If it
   exists, read it instead of re-deriving state.
2. **Update "Current step" + "State" after each verification**, not at the end.
   When you run the verifying command, write its result + timestamp into the ledger.
3. **One step `in_progress` at a time.** If you're tempted to start a second, stop
   — see the `scope-discipline` skill.
4. **Log corrections inline.** When "are you sure?" reveals you were wrong, write
   the WRONG→corrected line. This stops you re-making the same wrong claim.
5. **Read the ledger at the start of every turn** on a continuing task. That is
   how you stop being "lost": the answer to "where am I" is a file read, not 10
   tool calls.

## Anti-patterns

| Pattern | Fix |
|---|---|
| 10 `gh`/`git` calls to recover "where am I" | Read the ledger; it has verified state + timestamps |
| State lives only in your head across turns | State lives in the file; head is cache |
| "I'll remember to update notes at the end" | Update after each step — there may be no clean end |
| Re-running a verify you already ran this session | Check the ledger's State block first |

## Exit criteria

The ledger's Goal is met, every step is `[x]` with evidence, and the State block's
verified facts confirm it (e.g. deployed buildSha == main HEAD). Then — and only
then — say "done", once, with the evidence inline.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…