- name
- pr
- description
- Create a pull request with conventional commit title and description
- argument-hint
- [optional: target branch or description]
- allowed-tools
- Bash Read Glob Grep
# PX4 Pull Request
**The user is the author: no `Co-Authored-By`, no "Generated with <assistant>"
footers. Disclose AI assistance as the last line of the PR body, italicized:
`*Assisted-by: <tool>:<model-id>*`, matching the commit trailer.**
## Steps
1. Check branch. If on `main`, create a feature branch `<username>/<description>`
where `<username>` comes from `gh api user --jq .login`.
2. Gather context: `git status`, `git log --oneline main..HEAD`,
`git diff main...HEAD --stat`, check for remote tracking branch.
3. Sanity-build **one** target the change can actually affect — a board for
firmware changes, `px4_sitl` for POSIX-only or simulation changes. Skip the
build entirely when the diff cannot reach any target (submodule pointer
bumps, docs, ROMFS). Build with the `build-px4-linux` or `build-px4-macos`
skill. Fix any build errors before opening the PR.
4. PR **title:** `type(scope): description` — under 72 chars, covers the
overall change across all commits. If a maintainer squash-merges the PR,
this becomes the commit message.
5. PR **body:** as short as it can be while still landing the point — a
reviewer should take it in at a glance, and a long description is one
nobody reads. Sections, in order: `## Summary`, `## Problem`,
`## Solution`, a sentence or two each. Do not restate the diff (no
file-changed lists, no code snippets), do not mention CI, and do not repeat
what the title already says. If the PR closes an issue, the first line of
`## Summary` is `fixes #<N>`, then a blank line, then the summary. No
boilerplate.
6. Optional `## Testing` section after `## Solution`, only for substantial
testing: SITL scenarios, synthetic or replayed data, hardware-in-the-loop,
bench or flight tests. Building and unit tests are not testing; never
mention them. State what was run and what it showed, as tersely as the
other sections. Never report testing that did not happen: ask the user
what they actually ran.
7. Push with `-u` if needed, then `gh pr create`. Default base is `main`
unless user says otherwise.
8. Return the PR URL.
Ver en GitHub