dart-release-ci-fix

SkillDev tools

DART Release CI Fix: debug and fix CI failures on the DART 6.20 development branch

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the dart-release-ci-fix skill

What this skill tells your AI

The instructions your AI receives, as published by dartsim/dart in .agents/skills/dart-release-ci-fix/SKILL.md and read by ahel’s review.

Use this skill in Codex to run the DART dart-release-ci-fix 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-release-ci-fix <arguments>
  • Codex: $dart-release-ci-fix <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

Fix DART 6 CI: $ARGUMENTS

Required Reading

@AGENTS.md @docs/onboarding/ci-cd.md @docs/onboarding/release-management.md

Workflow

For a failure involving model/scene structure, physics behavior, or OSG output, use dart-verify-sim to reproduce the claim with text and assessed visual evidence. Document a visual exception when OSG/Xvfb is unavailable or not applicable.

  1. Inspect the failing run:
    gh run view <RUN_ID> --log-failed
    gh run view <RUN_ID> --job <JOB_ID> --log
    
  2. Resolve the target from live state. Default to main; for a PR, verify its base rather than trusting a stale handoff.
  3. If continuing an existing PR, fetch and checkout that branch. Otherwise branch from the resolved target branch without resetting an existing local branch:
    TARGET_BRANCH=${TARGET_BRANCH:-main}
    git fetch origin "$TARGET_BRANCH"
    BRANCH=fix/<issue>-${TARGET_BRANCH}
    if git show-ref --verify --quiet "refs/heads/$BRANCH"; then
      git switch "$BRANCH"
    else
      git switch --no-track -c "$BRANCH" "origin/$TARGET_BRANCH"
    fi
    
  4. If a proven fix exists in a named reference, adapt it only when its assumptions exist here. Preserve C++17, pybind11, dart::utils, OSG, and downstream Gazebo/gz-physics behavior; otherwise make the smallest release-scoped fix.
  5. Explain why the failure was not caught earlier and whether workflow coverage should change.
  6. Run pixi run lint and release-relevant build/tests.
  7. Ask for explicit maintainer/user approval before pushing, creating, or updating the PR; after approval, use the current release milestone and PR template.
  8. Monitor CI until green.

Output

  • Root cause
  • Fix summary
  • PR URL
  • CI status
  • Prevention recommendation, if any

Signals

GitHub stars
1k
Forks
304
Last commit
Sep 2026
Advanced
Item type
skill
Key
dart-release-ci-fix
Source
github.com/dartsim/dart