It seems like everyone has a very different idea of what spec means in agentic coding.
To me, spec answers the what, the plan answers the how, and in what order, build packets answer the how but with more granularity.
In most cases, you should only care about the what. How it gets done (plan) is simply an implementation detail that you should not care about the same way automated tests should not care about them.
What you prescribe in spec is that data must pass from A to B through C, preserved in D and presented in E in shape of F. It's much easier to write (and change) this in spec than in say, Rust.
To me, spec answers the what, the plan answers the how, and in what order, build packets answer the how but with more granularity.
In most cases, you should only care about the what. How it gets done (plan) is simply an implementation detail that you should not care about the same way automated tests should not care about them.
What you prescribe in spec is that data must pass from A to B through C, preserved in D and presented in E in shape of F. It's much easier to write (and change) this in spec than in say, Rust.