Use when an existing specification should be broken into one level of stage specifications that are clarified, finalized and prepared.
Break an existing specification into one level of draft child stages, collect the answers to each stage's open questions, then have every child finalized, prepared and linked to its blockers.
$1: the id of the specification to decompose.--auto-apply (optional, in any position): once every child is finalized, apply the parent instead of asking what to do next. It suppresses no other question.$1 is missing, call specs_list with topLevel true and ask which specification to decompose (title and id per option; the user may type an id instead).specs_get. Load methodology.md ### Spec authoring and follow it whenever you write specification content.atn:spec-decomposer breakdown under ## Proposed child specifications), use it.title, summary and Markdown content from its description and the parent:WebSearch / WebFetch first, and end the content with a ## References section listing only the sources that informed a decision: one bullet per source, the URL or local path verbatim, with a short label of what it informed (user-given labels are kept). Never paraphrase, drop or invent a reference.specs_create (title, parentId = the parent id, summary, status draft, content). Never pass blockedBy.specs_qa_add (specificationId = the child id), one call per question, each with 2–5 distinct options in the question text. Err toward more questions: surface every open decision that would materially change the stage's scope, interface or approach, and skip only what the parent, the tree's conventions or common sense already answer.specs_qa_list.answer is still null, with options grounded in the stage (the stored options are a good start).specs_qa_answer (specificationId, questionId, answer).atn:spec-decomposition-finalizer in the foreground with the parent id and every created child (id — title for each). It rewrites, prepares and links every child, including the ordering between the stages; this skill never creates blocked-by links itself.--auto-apply was given, invoke atn:apply with the parent id and report its outcome.atn:apply runs unattended, except that it asks about external blockers and, at the end of the run, which out-of-scope items to turn into ToDo cards): invoke atn:apply with the parent id and report its outcome.atn:decompose with each selected child id, one after another (each run is interactive), then give one aggregated report.specs_list (parentId = the parent id, status prepared) rather than from the finalizer's summary alone.specs_blockers_list, as "