aid-update-mvp
Frontmatter
Section titled “Frontmatter”name— aid-update-mvpdescription— Revise roadmap.md’s ## MVP section only — the first shippable slice: its contents, the line reasoning, what was cut, and its Status field (including the transition to Shipped <version>). Use this skill when the MVP section already carries committed content and its scope has changed. May create the ## MVP section if roadmap.md exists without one. Reads and consumes an MVP seed when one is present in.aid/design/; never requires one. Asks every run which previously created outputs to update alongside it — no stored list, no tracking metadata written. Everything outside ## MVP belongs to/aid-update-roadmap. When roadmap.md is absent, routes to/aid-create-roadmapwithout writing anything.allowed-tools— Read, Glob, Grep, Bash, Write, Edit, Agentargument-hint— [<slice>] — what to revise in the MVP section (contents, line, cuts, status)
Definition: canonical/skills/aid-update-mvp/SKILL.md
flowchart TB classDef aidNode color:#fff classDef aidEntry fill:#166534,stroke:#14532d,color:#fff classDef aidExit fill:#991b1b,stroke:#7f1d1d,color:#fff classDef aidDecision fill:#92400e,stroke:#78350f,color:#fff classDef aidLoopBack fill:#1e3a8a,stroke:#1e3a8a,color:#fff classDef aidStep fill:#1a2035,stroke:#d4a853,color:#f1f5f9 n1(["INTAKE"]) n2["GUARD"] n3["UPDATE"] n4["VERIFY"] n5["PRESENT<br/>hard stop -- the user decides"] n6(["DONE"]) n1 --> n2 n2 --> n3 n3 --> n4 n4 -.-> n3 n4 --> n5 n5 --> n6 class n1 aidEntry class n2 aidStep class n3 aidStep class n4 aidLoopBack class n5 aidStep class n6 aidExit class n1 aidNode class n2 aidNode class n3 aidNode class n4 aidNode class n5 aidNode class n6 aidNode
Source fragments
Section titled “Source fragments”Every node in the chart above, in chart order, with the exact canonical/ text it was derived from.
## State: INTAKE
1. **Require a subject.** Empty argument -> ask one bootstrapping question ("What would you like to revise in the MVP section -- slice contents, the line reasoning, cuts, or status?") and wait.2. **Allocate, exactly per `design-lifecycle.md § Skill shape -- Allocation`** -- the Work Initiation Gate, then `initiator: aid-update-mvp`, `active_skill: aid-update-mvp`, `pipeline.path: lite`, `lifecycle: Running`. `phase` is not driven.3. **Read the destination** at `.aid/knowledge/roadmap.md`. If absent, **route** to `/aid-create-roadmap` -- name it explicitly in the response -- and write nothing. Set `lifecycle: Paused-Awaiting-Input`. Advance to DONE without proceeding further.4. **Read the seed** at `.aid/design/mvp.md` if one exists. Note its presence or absence; do not require it.5. **Ask the derived-outputs question** -- every run, unconditionally: "Which previously created outputs should be updated alongside the MVP section?" Wait for the user's answer before proceeding. Write no stored list and no tracking metadata anywhere.6. **Classify complexity (model + effort)** for the `aid-architect` dispatch below; verifier tier >= producer tier (`agent-dispatch-tiering.md`).Source: canonical/skills/aid-update-mvp/SKILL.md#L43-L60 · full step: canonical/skills/aid-update-mvp/SKILL.md#L43-L62
## State: GUARD
**Readiness gate (class-1 contract, feature-002 §3b).** Only applies when a seed wasfound in INTAKE.Source: canonical/skills/aid-update-mvp/SKILL.md#L66-L69 · full step: canonical/skills/aid-update-mvp/SKILL.md#L66-L78
## State: UPDATE
Dispatch **`aid-architect`** (clean context, tiered) to revise the `## MVP` section.Apply the **byte-range write discipline** (`feature-003 §4`, feature-002 §3c *Mechanics*):read the whole `roadmap.md` file, identify the `## MVP` byte range (the literal heading`## MVP`, matched exactly, through to the next heading of level 2 or shallower, or EOF),replace only that range with the new content, and write the file back with every byteoutside that range **byte-identical** -- no reformatting, no whitespace change, nore-ordering of any other region.Source: canonical/skills/aid-update-mvp/SKILL.md#L82-L90 · full step: canonical/skills/aid-update-mvp/SKILL.md#L82-L121
## State: VERIFY
**Full verify** -- exactly as `design-lifecycle.md § Skill shape -- "Full verify"`defines it. Not clean -> loop to UPDATE; the circuit-breaker there governs escalationto IMPEDIMENT + `lifecycle: Blocked`.Source: canonical/skills/aid-update-mvp/SKILL.md#L125-L129 · full step: canonical/skills/aid-update-mvp/SKILL.md#L125-L131
5 · PRESENT — hard stop — the user decides · step
## State: PRESENT (hard stop -- the user decides)
Set `lifecycle: Paused-Awaiting-Input`. Present the revised `## MVP` section clearly.Assert:Source: canonical/skills/aid-update-mvp/SKILL.md#L135-L138 · full step: canonical/skills/aid-update-mvp/SKILL.md#L135-L151
## State: DONE
Set `lifecycle: Completed`, `updated` now, append a `## Lifecycle History` row.Source: canonical/skills/aid-update-mvp/SKILL.md#L155-L157 · full step: canonical/skills/aid-update-mvp/SKILL.md#L155-L157