foglisted
Install: claude install-skill leoncuhk/defog
# Fog
Fog is the gap between the map (prompt, plan, assumptions) and the territory (codebase, APIs, real constraints, user taste). The ledger makes fog visible and burns it down to a defined end.
## The ledger
One file per task: `FOG.md`, next to where the work happens (or where the user says). When a second task joins the directory, rename the existing ledger to `FOG-<task-slug>.md` before creating the new one, also slugged.
```markdown
# FOG: <task>
## Open
- [KU] <fact to verify> → lookup
- [KU] <decision the user must make> → ask
- [UK] <taste the user will recognize on sight> → show
- [UU?] <suspected constraint nobody has checked> → scout
## Assumed
- [A] <default taken> — cost to revisit: <cost>
## Resolved
- [x] <decision or finding> (<who: user | territory>, <date>) — <why>
## Deviations <!-- add on first deviation; never keep it empty -->
- <plan said / did instead / why / cost to revisit>
```
`territory` covers anything verified against the real system, including your own experiments. Each arrow names the resolver: `→ lookup` you do yourself; the rest are the matching fog-* skill.
## Quadrants and their resolvers
| Tag | Fog type | Resolver |
|---|---|---|
| — | Known known | Not fog. Straight into the spec. |
| `KU` | Known unknown, **fact** | `→ lookup` — the territory answers it. Never ask what code or docs can answer. |
| `KU` | Known unknown, **decision** | `→ ask` (`fog-ask`) |
| `UK` | Unknown known — taste, recognized only on sight | `