| name | neo-finalize |
| description | Consolidate approved Neo artifacts into a versioned implementation brief, process clarification or requested design changes, invalidate affected decisions, and obtain explicit final approval. Use only with a finalize-stage handoff generated by $neo. Do not use directly or begin implementation from a stale or unapproved brief. |
Finalize the Plan
Work only on the active Neo finalize stage.
Use the <neo-cli> already resolved by the active $neo router. If it is not
present in the handoff context, resolve
scripts/neo.py from the installed neo skill's
source location.
-
Validate the handoff with neo.py handoff <slug> --expect finalize.
-
Load approved artifacts, recorded decisions, prototype evidence, and open
non-blocking risks.
-
Read
interaction.md and
implementation-brief.md.
-
Check cross-stage consistency. Return to the owning stage rather than
silently resolving a conflict.
-
Write .neo/tasks/<slug>/implementation-brief.md, then run:
python3 <neo-cli> finalize <slug> \
--artifact .neo/tasks/<slug>/implementation-brief.md
-
Present only critical decisions, unresolved risks, changes since the prior
review, and the artifact path.
-
Classify user feedback:
- clarification: answer and record without invalidation;
- change: identify affected decisions, confirm ambiguous interpretation,
record feedback, and regenerate invalidated stages;
- rejection: reopen the named stage and every dependent stage;
- approval: run
neo.py approve <slug>.
-
After change or rejection, show a compact before/after delta and repeat all
invalidated gates. Never treat silence or a clarification as approval.
Finish only when neo.py status <slug> reports the final brief as approved.
Tell the implementer to start in a fresh context with that exact artifact.