with one click
codex-workflow
// EITS task, commit, and annotate workflow for Codex agents. Use when beginning a task, logging a commit, marking work done, or managing EITS task lifecycle. Codex uses eits CLI directly โ no EITS-CMD directives.
// EITS task, commit, and annotate workflow for Codex agents. Use when beginning a task, logging a commit, marking work done, or managing EITS task lifecycle. Codex uses eits CLI directly โ no EITS-CMD directives.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | codex-workflow |
| description | EITS task, commit, and annotate workflow for Codex agents. Use when beginning a task, logging a commit, marking work done, or managing EITS task lifecycle. Codex uses eits CLI directly โ no EITS-CMD directives. |
Use the eits CLI for all EITS operations.
Codex hooks handle working/idle/waiting/compacting transitions automatically via .codex/hooks.json when ~/.codex/config.toml has features.codex_hooks = true. If hooks are not active, set status manually:
eits sessions update $EITS_SESSION_UUID --status working # start of turn
eits sessions update $EITS_SESSION_UUID --status idle # interactive turn stopped; resumable
eits sessions update $EITS_SESSION_UUID --status waiting # explicitly blocked or waiting on external input
eits sessions update $EITS_SESSION_UUID --status compacting # context compaction in progress
eits sessions update $EITS_SESSION_UUID --status completed # interactive session done
eits sessions update $EITS_SESSION_UUID --status failed # unrecoverable error
# Canonical: create + link + start in one shot
eits tasks begin --title "..."
# ... do work ...
eits tasks complete <task_id> --message "What was done"
Fallback (existing task or if complete fails):
eits tasks start <id> # sets state=2, links session โ use on EXISTING tasks
# ... do work ...
eits tasks annotate <id> --body "Summary"
eits tasks update <id> --state done # aliases: done, start, in-review, todo; numeric also works
States: 1 To Do ยท 2 In Progress ยท 4 In Review ยท 3 Done
After every git commit, log the hash. The PostToolUse hook does this automatically if .codex/hooks.json is active. If not:
HASH=$(git -C $EITS_PROJECT_DIR rev-parse HEAD)
MSG=$(git log -1 --pretty=%s HEAD)
eits commits create --hash $HASH --message "$MSG"
The Stop hook enforces this โ it exits 2 if a task is in-progress with no annotation. Always annotate before declaring a turn done:
eits tasks annotate <id> --body "What was done, what files changed"
rm is aliased to rm-trash and follows symlinks. Use unlink on symlinks:
unlink deps # not: rm deps
unlink _build # not: rm _build
eits dm --to <session_uuid_or_integer_id> --message "text"
--to accepts both UUID and integer session ID. Send sequentially โ never in parallel Bash calls.
eits tasks begin before editing any files (begin > create + claim).unlink, not rm, on symlinks.