estimatelisted
Install: claude install-skill YasMax91/groundwork
# Estimate
A duration is a **measurement of this codebase's own history**, not an opinion about how long the work
feels. The measurement exists: `hooks/estimate-ledger.sh` records the agent's active minutes per task
and per commit window across every Groundwork project on this machine.
**Read the ledger before writing a number. Every time.** An estimate produced without it is the model's
pretraining prior, and that prior is denominated in developer hours — which is exactly the failure this
skill exists to prevent.
## Get the measurement
```bash
${CLAUDE_PLUGIN_ROOT}/hooks/estimate-ledger.sh --report
```
Add `--level=L2` or `--kind=crud` to narrow it. The output carries, per source and per scope, the
sample size `n`, the median and p75 in **active agent minutes**.
Two sources, never mixed:
- **`task`** — one Groundwork task, start to `final-check`. The right unit. Preferred whenever
`n ≥ estimates.min_sample` (default 5).
- **`commit-window`** — the seed, backfilled from git history. A noisier unit: it measures the slice of
work between two commits, which is smaller and more arbitrary than a task. Usable, and always named
as what it is.
If the ledger is empty, run `--backfill` once. Only if that also yields nothing does the coarse
fallback in [`../../guidelines/ai-sdd-process.md`](../../guidelines/ai-sdd-process.md) §Estimates
apply — and it is labelled coarse in the answer.
## What the answer contains
1. **A line per genuinely different block of work**, then a