Skip to content
Back to skills

Aid Update Mvp

ASecurity

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 ...

  • 6 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
toolsgoshellbashgit

Works with

  • terminal

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add AndreVianna/aid-methodology --skill aid-update-mvp --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Aid Update Mvp?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Aid Update Mvp
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/andrevianna-aid-update-mvp/badge)](https://www.skillsdirectory.com/skills/andrevianna-aid-update-mvp)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: aid-update-mvp
description: >
  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-roadmap` without writing anything.
allowed-tools: Read Glob Grep Bash Shell Terminal Write Edit Agent
argument-hint: "[<slice>] -- what to revise in the MVP section (contents, line, cuts, status)"
---

# Update MVP (revise roadmap.md's ## MVP section)

`/aid-update-mvp` revises the `## MVP` section of `.aid/knowledge/roadmap.md`. It is
an `update`-stage skill under the shared contract in
`.aid/runtime/templates/design-lifecycle.md` (class 1), reading and consuming a seed
from `.aid/design/mvp.md` when one is present, and never requiring one.

- **Boundary vs `/aid-update-roadmap`:** this skill owns only the `## MVP` byte range.
  Everything outside it -- the preamble, `## Contents`, `## Now`, `## Next`, `## Later` --
  belongs to `/aid-update-roadmap`. The byte-range write discipline enforces this
  structurally.
- **May create the section.** If `roadmap.md` exists but has no `## MVP` section this
  skill creates it at the anchor position -- immediately after `## Contents` and before
  `## Now` (`feature-003 §3c`).
- **Destination absent:** when `roadmap.md` does not exist this skill routes to
  `/aid-create-roadmap`, names it explicitly, and writes nothing.
- **No document ownership, no registration.** This skill writes a section of an existing
  document, not a document of its own. It never writes a `.aid/settings.yml`
  `knowledge.doc_set` entry and never writes a `.aid/knowledge/README.md` Completeness
  row (REQUIREMENTS CC-5).
- **Not a numbered pipeline phase**; does not route to `/aid-execute`.

State machine: **INTAKE -> GUARD -> UPDATE -> VERIFY -> PRESENT -> DONE**.
Print the `[State: NAME] -- {purpose}` entry line on each state.

---

## 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`).

**Advance:** GUARD.

---

## State: GUARD

**Readiness gate (class-1 contract, feature-002 §3b).** Only applies when a seed was
found in INTAKE.

- **Seed present, unresolved questions, no override** → refuse. Name each unresolved
  question **and** the override flag `--override-open-questions` the user must supply to bypass the gate. Write
  nothing; leave seed and destination byte-identical. Set `lifecycle:
  Paused-Awaiting-Input`.
- **No seed present** → advance (gate does not apply).
- **Seed present, no unresolved questions, or override supplied** → advance.

**Advance:** UPDATE.

---

## 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 byte
outside that range **byte-identical** -- no reformatting, no whitespace change, no
re-ordering of any other region.

**May create the section.** If `roadmap.md` exists without a `## MVP` section: insert the
section immediately after the `## Contents` block and before `## Now` (`feature-003 §3c`,
feature-002 §3c *Position when created*). This is a pure insertion -- zero deletions in
the diff (`git diff --numstat` shows 0 deletions).

**`## MVP` section shape** (`feature-003 §3c`):

    ## MVP

    - **What:** the first shippable slice, itemized.
    - **Why:** why the line falls there.
    - **Rejected:** what was cut from the slice, each with the reason for the cut.
    - **Status:** Not started | In progress | Shipped <version> -- with the evidence
      anchor.

**Artifact-specific duties:**
- **Revise the slice** -- update `What`, `Why`, and `Rejected` fields.
- **Update `Status`** -- including the transition to `Shipped <version>` with a durable
  evidence anchor (path plus a grep-recoverable symbol or heading, never `path:LINE`).

**Never edits `## Contents`** -- that block is outside the `## MVP` byte range and
belongs to `/aid-create-roadmap`. The byte-range discipline makes this structurally true.

**Seed handling (CC-3).** If a seed was read in INTAKE: use it as input to the revision;
**delete it** after the update is written. If no seed was present: no file to delete.

**User-named outputs.** For each output the user named in INTAKE: update it alongside the
MVP section in this same dispatch.

**Advance:** VERIFY.

---

## 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 escalation
to IMPEDIMENT + `lifecycle: Blocked`.

**Advance:** PRESENT.

---

## State: PRESENT (hard stop -- the user decides)

Set `lifecycle: Paused-Awaiting-Input`. Present the revised `## MVP` section clearly.
Assert:

- `## Contents` is unchanged -- the `- [MVP](#mvp)` entry is present and no other entry
  was added or removed.
- Every byte outside the `## MVP` range is identical to what it was before this run.
- If a section was created (it was absent before): the section now exists immediately
  after `## Contents`.
- If a seed was consumed: `.aid/design/mvp.md` no longer exists.
- No `.aid/settings.yml` `knowledge.doc_set` entry and no `.aid/knowledge/README.md`
  Completeness row was written.
- No tracking metadata was written to any output.
- To revise the direction entries outside MVP, use `/aid-update-roadmap`.

**Advance:** DONE.

---

## State: DONE

Set `lifecycle: Completed`, `updated` now, append a `## Lifecycle History` row.

---

## Constraints

- **Owns only `## MVP`** -- every byte outside that range is byte-identical after this
  run (`feature-003 §4`; REQUIREMENTS AC-6a).
- **Never edits `## Contents`** -- that block belongs to `/aid-create-roadmap`; the
  byte-range discipline structurally prevents it.
- **Absent destination routes to `/aid-create-roadmap`** -- names it, writes nothing
  (`feature-003 §6c`, §4; REQUIREMENTS CC-5).
- **Byte-range write discipline**: read the whole file, replace only the `## MVP` range,
  write back with every other region byte-identical -- never regenerate the document.
- **No registration entry** -- this skill creates no document and therefore writes no
  `.aid/settings.yml` `knowledge.doc_set` entry and no `.aid/knowledge/README.md`
  Completeness row (REQUIREMENTS CC-5).
- **`phase` is not driven** by this skill (`design-lifecycle.md § Skill shape --
  Allocation`).
- **Full verify**, per `design-lifecycle.md`, unlike a light single-pass check.
- **Seed consumed when present, never required** (CC-3). If a seed was read: delete it
  after the update is written. If no seed: proceed without one.
- **Derived-outputs question asked every run, unconditionally** -- no stored list, no
  tracking metadata written (FR-8, feature-002 §3d).
- **C-3 compliance**: writes no `## Change Log`, no `## Revision History`, no
  `changelog:` frontmatter field, no work id, and no work-folder path into `roadmap.md`.
- **Clean context**; **verification always a sub-agent dispatch** (`aid-reviewer`).
- **Tracking:** write STATE `lifecycle` at every transition.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.