Recently I've spent most of my time multi-tasking aggressively on 4-5 tasks. The main way I'm doing this is through running multiple Claude Code sessions in different terminals.
The interesting part has been that the output of my multi-tasking has been specification. You would think, that rather - the output would be code, or perhaps authoritative documentation.
But I have surprised myself in coming to the realisation that the most valuable thing I can get my agents to do, is extract context from me effectively, and turn that into consistently formatted specifications.
These specifications can then, asynchronously - without much oversight from me, be turned into code, or documents or whatever is needed. The most important thing for me to do is put in place the boundaries, guadrails and acceptance criteria.
I'm writing about the specifics on fabric.shivan.dev, but I've been thinking more and more about how to make the specific steps in this process of specification more concrete.
i.e. how do I codify (or skill-ify) the extract of context that will allow me to create a specification for something arbitrary that contains sufficient boundaries, guardrails and acceptance criteria appropriate to the task - such that the output is sensical and high quality?
Further than that - how can I test every specification against a quality bar almost deterministically?