# Dart Downstream Fix

> DART Downstream Fix: fix a DART bug reported through gz-physics or Gazebo

- Skill: `dartsim/dart-downstream-fix` (Agent Skill)
- Install (CLI): `npx skillmds@latest add dartsim/dart-downstream-fix`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dartsim/dart-downstream-fix/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dartsim (https://skillmd.com/u/dartsim)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/dartsim/dart-downstream-fix

---


<!-- AUTO-GENERATED FILE - DO NOT EDIT MANUALLY -->
<!-- Source: .claude/commands/dart-downstream-fix.md -->
<!-- Sync script: scripts/sync_ai_commands.py -->
<!-- Run `pixi run sync-ai-commands` to update -->

# dart-downstream-fix

Use this skill in Codex to run the DART `dart-downstream-fix` workflow. The editable
workflow source lives in `.claude/commands/`; this file is its generated adapter
in the shared `.agents/skills/` catalog.

## Invocation

- Claude Code: `/dart-downstream-fix <arguments>`
- Codex: `$dart-downstream-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 downstream-reported DART issue: $ARGUMENTS

## Required Reading

@AGENTS.md
@docs/onboarding/contributing.md
@docs/onboarding/ci-cd.md

## When To Use

Use for downstream issues in gz-physics, Gazebo, or gz-sim that trace back to DART behavior: crashes, assertions, NaN/Inf propagation, missing validation, or DART performance regressions.

## Workflow

If the downstream symptom depends on 3D structure or behavior, route through
`dart-verify-sim`: text oracle plus assessed visual evidence, or a recorded
exception.

1. Read the downstream issue, logs, stack traces, and reproduction steps.
2. Identify the DART API, component, and invalid usage pattern involved.
3. Search for related validation and recovery patterns in DART.
4. Plan the smallest fix and the regression test location.
5. Decide whether the bug applies to the active release line. For applicable
   bug fixes, implement on the active DART 6 LTS branch first, then cherry-pick
   or reapply to `main` for DART 7:
   - branch:
     `fix/<downstream-project>-<issue-number>-<brief-description>-6-lts`
   - add a regression test that reproduces the downstream symptom
   - keep the fix minimal; no unrelated refactors
6. Run `pixi run lint` and the relevant tests per `docs/ai/verification.md`.
7. Ask for explicit maintainer/user approval before pushing or creating PRs.
   After approval, create the release-branch PR with the branch-matching DART
   6.x release milestone and reference the downstream issue.
8. Create the matching `main` PR with milestone `DART 7.0`; adapt API
   differences if needed.

## Release-Line Differences

- DART 7 commonly uses `DART_WARN()` and `<dart/all.hpp>`.
- DART 6 LTS may use `dtwarn << ...`, `<dart/dart.hpp>`, and older test CMake patterns.

## Output

- Root cause and fix summary
- Main PR URL and release PR URL, if applicable
- Tests run and CI status
- Link back to the downstream issue

