Skill: unit-executor
Goal
- •Execute one unit end-to-end and leave the workspace in a consistent state.
Inputs
- •
UNITS.csv - •Unit inputs listed in the row (files)
Outputs
- •Unit outputs listed in the row (files)
- •Updated
UNITS.csvstatus (TODO → DOING → DONE/BLOCKED) - •Optional:
STATUS.mdupdated
Procedure (MUST FOLLOW)
- •Load
UNITS.csvand find the first unit with:- •
status=TODO - •all
depends_onunits areDONE
- •
- •Set its status to
DOINGand persistUNITS.csv. - •Run the referenced skill (by following that skill’s
SKILL.md). - •Check the unit’s
acceptanceagainst produced artifacts. - •If acceptance passes, set status to
DONE; otherwise set toBLOCKEDwith a short note inSTATUS.md. - •Stop after one unit (do not start the next unit automatically).
Acceptance criteria (MUST CHECK)
- • Exactly one unit changes from
TODOtoDONE/BLOCKED(viaDOING). - • Output files exist (or acceptance explicitly allows otherwise).
Side effects
- •Allowed: edit workspace artifacts (
UNITS.csv,STATUS.md, unit outputs). - •Not allowed: modify
.codex/skills/content.
Script
Quick Start
- •
python .codex/skills/unit-executor/scripts/run.py --help - •
python .codex/skills/unit-executor/scripts/run.py --workspace <workspace_dir>
All Options
- •
--strict: enable quality gate (blocks on scaffolds; writesoutput/QUALITY_GATE.md)
Examples
- •Run exactly one unit (strict):
- •
python .codex/skills/unit-executor/scripts/run.py --workspace <ws> --strict
- •
- •Equivalent repo wrapper:
- •
python scripts/pipeline.py run-one --workspace <ws> --strict
- •
Notes
- •Returns 0 on
DONE/IDLE, 2 onBLOCKED/ERROR(useful for automation).
Troubleshooting
Issue: no runnable unit is found
Fix:
- •Check
UNITS.csvfor unmet dependencies, missing outputs, orowner=HUMANunits waiting on approvals inDECISIONS.md.
Issue: a unit is marked DONE but outputs are missing
Fix:
- •Fix the status to
TODO/BLOCKEDand re-run; only markDONEwhen acceptance criteria and outputs are satisfied.