unit-executor
SKILL.md
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 --helppython .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.
Weekly Installs
22
Repository
willoscar/resea…e-skillsGitHub Stars
296
First Seen
Jan 23, 2026
Security Audits
Installed on
claude-code18
gemini-cli18
cursor16
opencode16
codex16
antigravity13