commit-and-pr
Creates Arena-conformant commits and pull requests. Enforces DCO sign-off (git commit -s), no AI attribution lines (no Co-Authored-By, no Generated-with-Claude footers), <username>/<type>/<short-description> branch naming, separate new commits rather than --amend when iterating on PR feedback, and main as the default base branch. Use when the user asks to commit, stage changes, push the current branch, open a pull request, make a PR, submit changes, or mark work as ready to merge.
适合你,如果希望自动遵循团队的 Git 提交和 PR 约定
npx oh-my-skill add isaac-sim/isaaclab-arena/commit-and-prcurl -fsSL https://oh-my-skill.com/install.sh | bash -s -- isaac-sim/isaaclab-arena/commit-and-prnpx oh-my-skill verify isaac-sim/isaaclab-arena/commit-and-pr怎么用
商店整理自技能原文 · 版本 62a5339 · 表述以原文为准安装后,Claude会按照Arena贡献者指南帮你创建提交和拉取请求:提交时强制包含DCO签名,使用指定的分支命名格式,禁止AI归属行;迭代反馈时添加新提交而非修改历史;PR标题和正文有格式要求;目标分支默认为main。
当你要求提交代码、暂存更改、推送分支、创建拉取请求或标记工作为可合并时触发。
技能原文 SKILL.md
Commit and Pull Request
Creates commits and PRs that follow Arena's contributor guidelines.
Commit
- Run the
pre-commit-checkskill (orpre-commit run --all-fileson the host — pre-commit is not installed in the container) until the working tree is clean. Do not commit through hook failures. - Stage specific files rather than using
git add -A— this avoids accidentally committing dotfiles, credentials, or large untracked artifacts. - Sign off the commit (per
CONTRIBUTING.md— Arena currently requires DCO sign-off; the policy is on the books but not yet CI-enforced):
``bash git commit -s -m "<subject>" ``
- Subject line: imperative mood, ~50 characters, no trailing period.
- Good:
Fix attribute access on wrapped env - Bad:
Fixed the attribute access on the wrapped env.(past tense, trailing period) - Body (when needed): blank line after the subject, wrap at 72 chars, explain what and why — not how (the diff shows that).
- No AI attribution lines. Do not include
Co-Authored-By: Claude...,Generated with Claude Code, or similar footers. The DCO sign-off is the only required trailer.
Use a heredoc for multi-paragraph messages so quoting stays clean:
git commit -s -m "$(cat <<'EOF' <subject> <body paragraph 1> <body paragraph 2> EOF )"
Branch
Branch naming: <username>/<type>/<short-description> where <type> is one of feature, fix, docs, refactor, chore, ci, and <short-description> is kebab-case.
Examples: <username>/feature/video-recording, <username>/fix/experiment-runner-teardown, <username>/docs/update-readme.
Do not use top-level type prefixes that omit the username (e.g. feature/foo, fix/bar).
Pull request
- Push the branch (set upstream on first push):
``bash git push -u origin <branch-name> ``
- Open the PR against
main(the active branch):
``bash gh pr create --base main \ --title "<short imperative subject>" \ --body "<see body format below>" ``
- PR title follows the same rules as a commit subject: imperative, ~70 chars max, no trailing period.
- PR body follows
.github/pull_request_template.md:
```markdown ## Summary <one-line description of the change, ≤50 chars>
## Detailed description
- <why the change was needed>
- <what was changed>
- <impact / what to watch for> ```
Keep it terse — 2–5 detail bullets total. Agent-generated PR bodies tend toward 5+ sections and 500+ words; resist that. The template's bullet form is the standard.
Iterating on review feedback
When addressing review comments, add new commits. Do not --amend and force-push, because reviewers need to see each round of changes as a discrete commit.
# good git commit -s -m "Address review: rename foo to bar" git push # avoid git commit --amend git push --force
The exception: if a single commit is purely a typo fix in your own as-yet-unmerged work and no one has reviewed it, --amend is fine.
Verify
Before declaring the work done:
gh pr view --json title,baseRefName
Confirm:
baseRefNameismain.- Title has no trailing period and is in imperative mood.