원클릭으로
dart-changelog
DART Changelog: decide, draft, finalize, or audit DART changelog entries
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
DART Changelog: decide, draft, finalize, or audit DART changelog entries
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
DART Analyze: analyze repository evidence without editing
DART Architecture: the DART 7 multi-physics, multi-solver, multi-backend simulation pipeline and where each abstraction is owned
DART Audit Agent Compliance: audit and fix gaps when agents miss or cannot discover documented rules
DART Backport PR: backport a merged main PR to a release branch
DART Benchmark Packet: author or refresh a benchmark evidence packet for an owning plan
DART Branch Cleanup: analyze or clean stale repository branches
| name | dart-changelog |
| description | DART Changelog: decide, draft, finalize, or audit DART changelog entries |
Use this skill in Codex to run the DART dart-changelog workflow. The editable
workflow source lives in .claude/commands/; this file is its generated adapter
in the shared .agents/skills/ catalog.
/dart-changelog <arguments>$dart-changelog <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.
Maintain DART changelog entries: $ARGUMENTS
dart-changelog is the reusable changelog decision and writing routine. It is
usually invoked by other DART workflows when they reach a changelog decision,
not directly by users.
Use it to decide whether CHANGELOG.md needs an entry, draft an entry at the
right level of detail, add a PR link after publication, or audit a release
section for missing or over-detailed entries. Keep style, placement, evidence,
and release-note density aligned with docs/onboarding/changelog.md.
@AGENTS.md @docs/onboarding/changelog.md @docs/onboarding/release-roadmap.md @docs/onboarding/release-management.md
Interpret $ARGUMENTS as one of these modes when present:
decide: determine whether the current change needs a changelog entry and
record the reason for the PR checklist/body when no entry is needed.draft: write or revise the entry before a PR number exists.finalize: add the PR link or adjust the entry after a PR exists, keeping the
follow-up local until explicit maintainer/user approval permits a push.audit: scan a release section or PR set for missing, duplicate,
over-detailed, misplaced, or stale entries.release-audit: alias for audit when the caller is finalizing a release
section through dart-release-packaging.If no mode is given, infer the smallest mode that satisfies the caller's need.
Every run must leave the caller with a concise, pasteable decision note. Use this shape in the response, PR body draft, or handoff text:
Changelog decision:
- Mode: decide | draft | finalize | audit | release-audit
- Base evidence: <base ref or PR/release inspected>
- Scope evidence: <diff, PR, issue, or release section inspected>
- Decision: entry required | no entry required | entry deferred | audit only
- Target section: <release/category, or N/A>
- Entry text: <final or draft bullet, or N/A>
- PR-body note: <exact no-entry reason or follow-up, or N/A>
- Follow-up: <PR link, maintainer approval, release audit, or none>
For no entry required, the PR-body note must name the evidence-backed reason
rather than just saying "not needed." For entry deferred, say exactly what is
missing, usually the PR number or release target. For finalize, confirm the
entry still matches nearby CHANGELOG.md style after adding the PR link.
git status --short --branch
git diff --stat
git diff --cached --stat
BASE_REF="$(gh pr view --json baseRefName --jq .baseRefName 2>/dev/null || true)"
# If the caller or arguments name a release branch before PR creation, set
# BASE_REF to that branch before falling back to automatic inference.
if [ -z "$BASE_REF" ]; then
CURRENT_BRANCH="$(git branch --show-current)"
UPSTREAM_REF="$(git rev-parse --abbrev-ref --symbolic-full-name @{upstream} 2>/dev/null || true)"
for REF in "$CURRENT_BRANCH" "${UPSTREAM_REF#origin/}"; do
case "$REF" in
main|release-*) BASE_REF="$REF"; break ;;
esac
done
fi
BASE_REF="${BASE_REF:-main}"
git fetch origin "$BASE_REF"
git diff --stat "origin/$BASE_REF...HEAD"
gh pr diff --name-only 2>/dev/null || true
gh pr list --head "$(git branch --show-current)"
Use the base comparison or PR diff even when the worktree is clean. If a PR,
issue, release, or target branch is named, inspect that live object before
writing and prefer its base over the main fallback.docs/onboarding/changelog.md and the relevant CHANGELOG.md release
section. Compare nearby bullets before drafting so wording, section choice,
and level of detail match the current file.CHANGELOG.md or telling a caller to skip it. The decision must cite the
diff, PR, issue, release section, or target branch that was inspected.([#1234](https://github.com/dartsim/dart/pull/1234));docs/ai/verification.md; before any commit,
run pixi run lint.Other workflows should call this routine whenever they touch behavior or docs
that may need release notes. The caller keeps ownership of the overall task,
validation, PR body, and approval boundary; dart-changelog owns the changelog
decision, wording, placement, evidence-link hygiene, and the pasteable decision
note that lets Claude, Codex, OpenCode, and manual contributors record the same
outcome.
Report:
CHANGELOG.md placement;pixi run lint, docs-only checks) and their results;