ledger-report

ledger-report is a skill for Claude Code from Dupflo/decision-ledger. It costs 42 tokens per session (985 once invoked), scanned A, original, MIT.

A report showing which project decisions have strong supporting evidence and which areas are thin or overdue for review. It maps the codebase by areas such as authentication, data models, user interfaces, and jobs.

In plain words
What is it for?
Run it to review the project's decision map, find concepts due for another look, or see decisions the user has defended across projects.
Why use it?
It makes weakly supported decisions visible when a project reaches a commit, pull request, or review point. This helps teams revisit risky assumptions instead of relying on an overall progress score.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: reads .claude/ paths.

Part of the decision-ledger plugin — 3 skills shipped together

Good fit Run it to review the project's decision map, find concepts due for another look, or see decisions the user has defended across projects.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/dupflo/decision-ledger/ledger-report
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Dupflo/decision-ledger --skill ledger-report
Clone the repo
git clone --depth 1 https://github.com/Dupflo/decision-ledger

Made for: Claude Code.

Or install decision-ledger, the plugin that ships this one along with the rest of its 3 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ledger-report

README.md
[![agentmods](https://agentmods.dev/badge/skills/dupflo/decision-ledger/ledger-report/github.svg)](https://agentmods.dev/skills/dupflo/decision-ledger/ledger-report)
Your own site
<a href="https://agentmods.dev/skills/dupflo/decision-ledger/ledger-report"><img src="https://agentmods.dev/badge/skills/dupflo/decision-ledger/ledger-report/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ledger-report

Your own site · 80×15
<a href="https://agentmods.dev/skills/dupflo/decision-ledger/ledger-report"><img src="https://agentmods.dev/badge/skills/dupflo/decision-ledger/ledger-report.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 42 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 985 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00042 $0.00985
Opus 5 $0.00021 $0.00492
Sonnet 5 $0.00008 $0.00197
Haiku 4.5 $0.00004 $0.00098

Measured 9d ago against content hash a2b0adf4fffa, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

ledger-report scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/ledger.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

ledger-report/SKILL.md · 81 lines

How it starts

The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ledger-report

The map of what this project's decisions rest on. Report at moments the user already stops at: a commit, a pull request, or an explicit request. Never mid-task.

for p in ~/.claude/skills/decision-ledger/bin/ledger \
         ~/.claude/skills/ledger-report/bin/ledger \
         .claude/skills/ledger-report/bin/ledger \
         .agents/skills/ledger-report/bin/ledger; do
  [ -x "$p" ] && LEDGER="$p" && break
done

$LEDGER report      # the map
$LEDGER askable     # concepts due for a revisit here
$LEDGER personal    # what the user has defended across projects

The list covers both ways this can be installed: install.sh, which lays down the whole repo, and a skills registry, which copies this directory alone.

Present a map, not a curve

A rising line invites optimisation and becomes exactly the engagement metric this project exists to reject. A map answers the only useful question: where am I thin?

Mastery map: 24 decisions tracked, 21 days

  auth/          ██████░░░░  2 of 5 defended     <- thinnest area
  data-model/    █████████░  4 of 5, 1 decayed
  ui/            ██████████  7 of 7
  jobs/          ████░░░░░░  2 of 5, 1 unknown

  Transfers observed: 2 (session-storage, cache-invalidation)

Add at most one factual, non-judgemental line:

Since last week, auth/ grew by 340 lines while two of its decisions remain undefended.

Then stop. No advice, no nudging, no offer of a lesson, no encouragement. The information is the product, and anything appended to it reads as a verdict on the person.

Language

Every sentence describes the project, never the developer.

  • Say: "auth/ has two decisions with nothing on record."
  • Never: "you don't understand auth."

The distinction is not cosmetic. It decides whether this is a map someone consults or a rating they resent, and a rating ends up in a performance review, which is the failure mode the whole design avoids. There is deliberately no global score for the same reason: aggregating across areas produces a number that rates a person.

Read the full file on GitHub · 81 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 81 lines · 42 tokens per session scan A a2b0adf4fffa

Subscribe to this mod's changes

ledger-report is a skill published in the GitHub repository Dupflo/decision-ledger (6 stars, last pushed 1mo ago), licensed MIT. It adds 42 tokens to every session and 985 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

solid-principles

SOLID principles checklist with Java examples. Use when a class has too many responsibilities, an abstraction leaks, or a dependency points the wrong way, and when the user asks about Single Responsibility, Open/Closed, Liskov, Interface Segregation or Dependency Inversion. For naming, duplication and method length…

decebals/claude-code-java · 73 tokens

clean-code

Clean Code principles (DRY, KISS, YAGNI), naming, function design and readability. Use when code is hard to read, with long methods, unclear names, duplication or deep nesting. For how responsibilities are split across classes and which way dependencies point, use solid-principles instead.

decebals/claude-code-java · 64 tokens

architecture-review

Analyze Java project architecture at macro level - package structure, module boundaries, dependency direction, and layering. Use when user asks "review architecture", "check structure", "package organization", or when evaluating if a codebase follows clean architecture principles.

decebals/claude-code-java · 51 tokens

concurrency-review

Review Java concurrency code for thread safety, race conditions, deadlocks, and modern patterns (Virtual Threads, CompletableFuture, @Async). Use when user asks "check thread safety", "concurrency review", "async code review", or when reviewing multi-threaded code.

decebals/claude-code-java · 58 tokens

java-code-review

Systematic code review for Java with null safety, exception handling, concurrency, and performance checks. Use when user says "review code", "check this PR", "code review", or before merging changes.

decebals/claude-code-java · 45 tokens

resolve-pr-comments

Evaluate, fix, answer, and reply to GitHub pull request review comments and conversation comments. Handles both change requests (fix or skip) and reviewer questions (explain using reasoning recalled from past Claude Code transcripts). Use when the user asks to "resolve PR comments", "fix review comments", "address PR…

tobihagemann/turbo · 95 tokens