/outcome - OUTCOME.md generation and update
The landing point when another skill detects a missing OUTCOME.md. Returning a hard stop or a warning leaves the outcome empty, so collect it interactively and generate.
Branch
Run ${CLAUDE_SKILL_DIR}/scripts/validate-outcome.ts .claude/OUTCOME.md and enter the flow its JSON flow names. The script owns the criteria.
| state | Condition | flow |
|---|---|---|
| absent | File absent | generate |
| empty | Behavior blank, or TBD only | generate |
| ok | Behavior carries content | update |
Generate
- Read ${CLAUDE_SKILL_DIR}/templates/outcome.md
- Collect Behavior, Non-goals, Constraints in one AskUserQuestion call, one question per item. Behavior needs 1 or more entries with the subject named
- Run each Behavior through the Outcome test; rewrite failures and re-present to the user
- Fill the template and Write
.claude/OUTCOME.md. Neither the opening prose nor Indicators is collected, so skip the prose and drop Indicators with its heading - Re-run validate-outcome.ts and fix until
errorsis empty.placeholder_leftis a surviving placeholder,missing_sectiona dropped heading
Update
- Read
.claude/OUTCOME.mdand present each section as it stands. Show the opening prose and Indicators as unwritten when the generate flow dropped them - Confirm which sections change and what they become via AskUserQuestion. This flow is the only one that can add the opening prose and Indicators
- Run each changed Behavior through the Outcome test, then Edit
- Re-run validate-outcome.ts and confirm
errorsis empty - When
warningscarriesmissing_indicator, ask the user whether to add that indicator. It names an Indicators section missing one of Time, Error rate, or Value