dart: Command for Claude Code

.claude/commands/dart-model-upgrade.md

dart-model-upgrade is a command for Claude Code from dartsim/dart. It costs 35 tokens per session (2,083 once invoked), scanned A, original, BSD-2-Clause.

A workflow for reviewing and updating the AI tools used by DART, a 3D physics simulator. It compares models and checks how well they investigate simulation state using text and visual debugging evidence.

In plain words
What is it for?
Use it when upgrading a model or coding agent, reviewing compatibility, or evaluating AI-assisted debugging of DART simulations.
Why use it?
It provides a structured way to decide what AI guidance and tooling to keep, change, remove, or add. This helps avoid outdated, duplicated, or unsafe model-specific instructions.

Command for Claude Code

Written for Claude Code: argument-hint in frontmatter. Also seen: agent in frontmatter; reads .claude/ paths; mentions AGENTS.md.

This is dartsim/dart's own configuration. It tells Claude Code how to work on dart itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything dart configures →

About the project

DART is an open-source C++23 physics engine that simulates the movement and interactions of articulated rigid-body systems for robotics, animation, and machine learning. Researchers and developers use it for kinematics, dynamics, collision handling, constraints, and loading robot models, with C++ and Python interfaces. The catalogue add-ons support workflows built around this engine.

dartsim/dart · 1,201 stars · on GitHub · dart.readthedocs.io

Reuse

Borrowing it

Nothing to install: this file belongs to dartsim/dart. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/dartsim/dart/main/.claude/commands/dart-model-upgrade.md
Clone the repo
git clone --depth 1 https://github.com/dartsim/dart

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for dart-model-upgrade

README.md
[![agentmods](https://agentmods.dev/badge/commands/dartsim/dart/dart-model-upgrade.svg)](https://agentmods.dev/commands/dartsim/dart/dart-model-upgrade)
Your own site
<a href="https://agentmods.dev/commands/dartsim/dart/dart-model-upgrade"><img src="https://agentmods.dev/badge/commands/dartsim/dart/dart-model-upgrade.svg" alt="Measured on agentmods" height="20"></a>
Per session 35 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,083 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00035 $0.02083
Opus 5 $0.00017 $0.01042
Sonnet 5 $0.00007 $0.00417
Haiku 4.5 $0.00003 $0.00208

Measured yesterday against content hash f1eb41fecc9e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

dart-model-upgrade scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/commands/dart-model-upgrade.md · 149 lines

How it starts

The opening of the file, as written. The whole thing — 149 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Improve DART's AI harness for: $ARGUMENTS

Objective

A named model triggers a whole-harness audit: skills, instructions, docs, context/state ownership, tools, agents, hooks, and verification, including this workflow — review both content and structure using the audit contract in docs/ai/components.md; updating a model-routing entry is not the whole task. Later model/effort preferences constrain execution, not this coverage, unless the user explicitly narrows the audit. Prefer coherent evidence-backed changes: substantial restructuring is welcome when comparisons show a benefit, while more machinery or fewer words alone do not establish improvement.

Required Reading

Read the compact intake first: @AGENTS.md @docs/ai/principles.md @docs/ai/components.md

Then load the relevant sections at the phase that needs them; audit each surface without loading every referenced document in full:

  • Target/control: docs/ai/README.md § "Model Routing" and the target tool's section in docs/onboarding/ai-tools.md.
  • Structure/discovery: relevant rows of docs/ai/workflows.md, owner indexes in docs/README.md, and docs/AGENTS.md plus docs/information-architecture.md before documentation changes.
  • Project state: current state in docs/ai/north-star.md, docs/plans/dashboard.md, and one representative active plan/handoff; docs/dev_tasks/README.md and docs/ai/orchestration.md own continuation and phase-specific authorization. Search long handoffs for current state before reading history.
  • Comparison/gates: docs/ai/verification.md and docs/onboarding/agent-sim-verification.md with dart-verify-sim.
  • Tracking/closeout: docs/dev_tasks/README.md; load changelog policy only at closeout. Use docs/plans/README.md only when changing plan state.

Workflow

  1. Normalize target, boundary, and success. Preserve the named model, reasoning modes, tool version, and branch. Default to apply for local improvements; honor explicit audit-only, discussion-only, and tool Plan Mode restrictions. State the boundary, permitted model/effort set, branch, and existing authorization. Do not substitute targets or pin the project. audit-only means no tracked edits, regeneration, dev-task creation, auto-fixing lint, commits, pushes, or external mutations. apply permits local implementation; GitHub mutations still need explicit authorization. Reuse supplied decisions; ask only about unresolved consequential choices.
  2. Capture the unchanged control. Record git state, installed versions, pixi run ai-doctor --json, authored words/files and declared-reading sizes, skill metadata, model/config references, agent inheritance, hooks, scenarios, owner/discovery paths, freshness advisories, and focused read-only gates. Inspect current state and docs/dev_tasks/*/RESUME.md handoffs without importing their historical logs by default. Preserve an unchanged snapshot outside the changing checkout; keep audit notes and expected answers out of evaluation lanes. In multi-session apply, create the usual dev-task home.
  3. Refresh primary guidance. Fetch current official model, prompting, migration, configuration, skills, agents, and hook guidance for the target. Record URLs, retrieval date, and installed-version evidence. Treat remembered limits and repository assumptions as hypotheses. Identify behavior changes that call for new evaluation cases, not generic prompt additions.
  4. Audit content and structure; form hypotheses. Cover every surface in docs/ai/components.md's harness audit contract, including the workflow itself. Classify each finding: preserve (intentional and supported), update (stale/incorrect), remove/consolidate (duplicate or harmful), or add (a distinct missing responsibility/failure boundary). For each proposed change name the observed failure or cost, its owner, the candidate change, the comparison that can reject it, and preservation gates. Check conflicting stops/approvals, discovery gaps, overloading, stale state, repeated facts, and verification that does not cover the actual claim. Report removed/merged content and retained owners; distinguish authored reductions from generated copies, formatting, and deferred loading. Justify net additions and preserved duplication. Do not finish with routing/version edits alone unless other surfaces have evidence-backed preserve verdicts.
  5. Compare one variable at a time. Run fresh non-interactive sessions with the same task, tool permissions, physics sources, and input artifacts. Keep model, effort, prompt/docs changes, and delegation separate. User restrictions bound all lanes and children. Use an older model or lower effort only when permitted; otherwise compare the target with unchanged/proposed instructions at each authorized setting. Verify recorded parent/child model and effort, supply runner settings when the client does not expose them, and inspect transcripts for answer leakage, outside reads, and unexpected mutations. Record correctness, missing constraints, pauses, context reads, tokens, available cost, turns, and wall time. Structural checks and smaller prompts alone do not prove model quality; if no behavioral runner is available, report structural evidence and the exact limitation instead.
  6. Exercise DART physics and failure boundaries. Rebuild stale simulation artifacts before comparing. Route every target through dart-verify-sim: seed static overlap hidden by a render, an unstated dynamic rest/tolerance criterion, and poor framing offered as trusted. Establish a text oracle (metrics, collision/scene/trajectory comparison, or focused behavioral test) shown to detect the defect; corroborate it with assessed headless captures and only claim-tied debug layers. Require native semantic image inspection, repair/rejection of bad views, text/image disagreement handling, and an explicit statement of what images do not prove. If rendering or image review is unavailable, exercise the text path and verification-bundle where possible, record the exact limitation, and make no visual-quality claim. Also use fresh direct, indirect, incomplete, non-trigger, and edge requests; test current-state/resume discovery, supplied decisions, authorization carry-forward, unapproved actions, and unavailable requested settings. A bare invocation of this workflow must discover the whole-harness audit without extra coaching. In audit-only, report coverage gaps without edits.
  7. Implement and retest supported changes in apply only. Keep outcome, domain constraints, permissions, evidence, and stop conditions explicit. Improve owner placement and progressive disclosure; preserve safety and public paths through structural changes. Edit .claude/commands/ and .claude/skills/ sources; run pixi run sync-ai-commands, never hand-edit generated adapters. Keep model names in docs/ai/README.md § "Model Routing" and tested-version evidence, not in generic procedures. Follow docs/ai/orchestration.md for model/effort restrictions and phase-scoped delegation. Re-run affected comparisons after meaningful fixes; reject or revise candidates that lose required behavior or lack sufficient evidence.
  8. Verify and review the final state. Run pixi run check-ai-infra, pixi run test-ai-infra, and relevant docs/AI gates from docs/ai/verification.md, including pixi run check-docs-policy for durable context changes. Use pixi run exercise-agent-scenarios separately when scenarios changed or diagnostics are needed; the aggregate already checks them. Preserve runner-probe invariants, model-pin boundaries, generated parity, and instruction discovery. audit-only uses read-only lint such as pixi run check-lint; apply runs pixi run lint before any commit. Complete the principle audit and two clean role-separated reviews on the post-fix state. Label unavailable behavioral, cross-tool, or hosted evidence; hosted rate limits do not require waiting after local review converges.
  9. Close out by mode and branch. audit-only stops with findings, recommendations, limitations, proposed gates, and apply/adapt/omit advice. In apply, make the changelog decision, promote durable conclusions to their owners, and remove the completed dev-task folder. Report achieved outcomes separately from remaining work. Shared infrastructure lands on DART 7 first; after an authorized merge, inspect release-6.20 from its own base and record apply/adapt/omit. If parallel release work was explicitly requested, keep branches independent and re-audit final main before release publication. Never copy main-only paths into the smaller release catalog.

Read the full file on GitHub · 149 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday Changed · -47 lines · +3 tokens per session f1eb41fecc9e
  2. 3d ago Changed · +6 lines 90a30bbf06ca
  3. 5d ago First seen · 190 lines · 32 tokens per session scan A 4e3645c4fc9c

Subscribe to this mod's changes

dart-model-upgrade is a command published in the GitHub repository dartsim/dart (1,201 stars, last pushed yesterday), licensed BSD-2-Clause. It adds 35 tokens to every session and 2,083 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.