Agent skill · bfollington
convergent-planning
Use when planning any multi-step change, or when a plan already exists and is about to be executed. A plan is a sequence of ambiguity collapses, not a list of tasks — each step must end at a state that can be checked, and the checks must be capable of failing. Trigger on requests to plan, sequence, break down, stage, or scope work, and on any plan that reads as a list of things to do. Do NOT use for single-step changes, or where the outcome is already known and only the typing remains.
What it needs
About 4k tokens when loaded.
What this skill does
Convergent Planning A plan is not a list of things to do. It is a sequence of points at which the number of ways the work could still go down gets smaller. Most plans fail not because a step was wrong but because nothing between the steps was capable of saying so. The work proceeds, the ambiguity is carried forward untouched, and it resolves at the end — all at once, in whatever direction it happens to fall. One operation: find where the plan is uncertain, and put a checkable state at each place the uncertainty ends. What the steps are made of A step is not a unit of effort. It is a unit of ambiguity removed. Ask of each one: what was unknown before this, and known after? If the answer is "nothing" — the step is typing. Merge it into its neighbour. Steps that only move work forward without resolving anything belong inside a checkpoint, not between them. If the answer is "several things" — the step is too big. Not because it is long, but because when it fails, it will not say which of the several things was wrong. The good size is one question per step. Then a failure is a diagnosis. The checkpoint test At the end of each step there is a state. Ask: what would I run, read, or look at to know this step landed — and could that check fail? A check that cannot fail is not a check: "the code compiles" — it compiled before, for reasons unrelated to this step "the tests pass" — if no test in the suite makes an assertion this step could break, they passed vacuously "it looks right" — if it looked wrong, would it be noticed? The check must be tied to the specific ambiguity the step collapsed. A step that resolves "does this API return the shape we assumed" is checked by reading a real response, not by the build succeeding. Where no such check exists, that is the finding. Say so: the step is unverifiable, and everything after it is built on an assumption. Either find a check, or move the step earlier so it fails cheaply. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills bfollington/convergent-planning