← ClaudeAtlas

foglisted

Maintain a FOG.md unknowns ledger for a task. Use when a task has unresolved decisions or unverified constraints, when the user mentions unknowns or the fog ledger, or when another fog-* skill needs the ledger rules.
leoncuhk/defog · ★ 1 · AI & Automation · score 74
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 | `