dart-resume
Use this skill in Codex to run the DART dart-resume workflow. The editable
workflow source currently lives in .claude/commands/, and this generated
Codex skill is a first-class Codex entrypoint.
Invocation
- Claude Code/OpenCode:
/dart-resume <arguments> - Codex:
$dart-resume <arguments>
Treat the text after the skill name as $ARGUMENTS. When the workflow
references $1, $2, etc., map those to the positional values supplied by the
user.
Command Body
Resume unfinished work to its real completion contract: $ARGUMENTS
Required Reading
@AGENTS.md @docs/dev_tasks/README.md @docs/ai/sessions.md @docs/ai/verification.md @docs/onboarding/ci-cd.md @docs/onboarding/contributing.md @docs/onboarding/changelog.md
Argument Handling
$ARGUMENTS may name a branch, PR, issue, or docs/dev_tasks/<task> path;
scope-limiting modes are honored when given: status (report only),
audit-only (no edits), plan-only (plan, no execution), slice /
next-slice (one bounded increment). With no argument, infer the target from
the current branch and dev-task state during recon.
Workflow
Step 1: Recon (no changes)
git rev-parse --show-toplevel
git status -sb && git branch -vv && git log -10 --oneline --decorate
git diff --stat && git stash list
gh pr list --head "$(git branch --show-current)"
gh pr status
Step 2: Reconstruct
Infer the task from branch name, commits, diffs, issue/PR description, and any
docs/dev_tasks/<task>/ state. If the goal is still unclear after recon, stop
and ask.
For a named docs/dev_tasks/<task>/, reconstruct the task's actual completion
contract before editing. Treat the dev-task folder as an execution plan and
evidence ledger first, not as cleanup inventory:
- read the task README, RESUME, dashboard, packet files, and verification notes;
- extract every acceptance criterion, open decision, required benchmark, required test, and explicit "do not complete until" condition;
- compare those criteria against current branch code, docs, tests, PR state, and available evidence; and
- treat task completion as satisfying those criteria with verification, not as merely promoting notes or deleting the temporary folder.
Step 3: Execute to completion
- Propose a 3-6 step plan before editing.
- Continue by executing the reconstructed plan until the task's acceptance criteria and verification methods are satisfied, or until the same real blocker has been proven and recorded. Preserve existing user changes.
- Do not narrow a broad dev-task objective to documentation cleanup, folder retirement, or evidence promotion unless the implementation criteria are already satisfied or the maintainer has explicitly approved deferring the remaining implementation work.
- Treat dev-task retirement as the final bookkeeping step after implementation completion or an explicitly approved deferral. It is never a substitute for running the plan, benchmarks, tests, and review/PR evidence the task requires.
- For active solver/paper implementations, keep the plan or dev-task resume surface explicit about the completed slice, the next missing paper-parity gap, and why focused green tests are not a full paper-completion claim.
- If the task is being completed, run a completion audit before finalizing:
identify the exact
docs/dev_tasks/<task>/folder, inspect it for remaining plans/evidence/decisions, promote any durable dashboard, evidence matrix, API inventory, migration map, long-lived decision, or deferred-but-real work into release/onboarding/AI docs, update any durable status surface when the task changes roadmap state, then remove the dev-task folder completely in the completing change. - If remaining work is real but blocked by a substantial design decision, maintainer direction, external dependency, or scope boundary that should not be resolved in the current session, ask the human before retiring the folder unless prior maintainer direction is already recorded. Record the parked or blocked work in the durable owner doc before deletion.
- Do not call a dev task complete while
docs/dev_tasks/<task>/still exists. If implementation is done but the folder remains, the remaining work is the durable-doc promotion plus folder cleanup. - Run
pixi run lintbefore committing. - Run relevant tests; use
pixi run test-allbefore done when feasible, andpixi run -e gazebo test-gzwhen package or downstream Gazebo/gz-physics compatibility could be affected. - For model/scene, simulation, dynamics, collision/contact, OSG, or visual
behavior, route through
dart-verify-sim: establish a text correctness oracle first, then capture assessed claim-tied images/debug layers or record a DISPLAY/Xvfb unavailable/not-applicable reason. A screenshot alone is not proof. - Before finalizing a resumed task that changes behavior, public API,
packaging, CI, docs workflow, AI-infra workflow, or user-visible docs, run
the
dart-changelogdecision (decide/finalize) perdocs/onboarding/changelog.md. - Push with the same local and remote topic-branch name only after explicit
maintainer/user approval:
branch=$(git branch --show-current); git push -u origin "HEAD:${branch}". - For already-published PRs, prefer additive follow-up commits. Amend or force-push only after explicit maintainer/user approval and only when the user explicitly requests it or when there is a clear reason such as removing sensitive content or repairing broken branch history.
- Before every approved push to a published PR branch, first fetch and merge the latest target base branch into it (on every push, not just the first), then push normally after explicit maintainer/user approval. Do not rebase published PR branches by default because that invalidates existing CI runs and makes PR review/comment history harder to follow. Rebase or force-push only when the maintainer explicitly requests it.
Safety
No destructive git commands (reset --hard, dropping stashes, deleting branches)
without explicit maintainer/user approval.
Output
- Reconstructed task and current branch state
- Plan followed and files changed
- Verification commands run and their results
- Remaining work and anything held for explicit maintainer/user approval before push/PR update