ci(claude): add Claude Code skills for commit, pr, and rebase

Add reusable skill definitions for common contributor workflows:
- commit: creates conventional commits with proper type(scope) format
- pr: creates PRs with conventional commit titles
- rebase-onto-main: handles rebasing onto main when parent branches
  were squash-merged
This commit is contained in:
Jacob Dahl
2026-03-18 08:59:25 -07:00
committed by Ramon Roche
parent 7258ddca29
commit 2ea2bfcc15
3 changed files with 129 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
---
name: commit
description: Create a conventional commit for PX4 changes
disable-model-invocation: true
argument-hint: "[optional: description of changes]"
allowed-tools: Bash, Read, Glob, Grep
---
# PX4 Conventional Commit
Create a git commit: `type(scope): description`
**NEVER add Co-Authored-By lines. No Claude attribution in commits.**
## Steps
1. Check branch (`git branch --show-current`). If on `main`, create a feature branch. Use `<username>/<description>` format where `<username>` comes from `gh api user --jq .login`. If unavailable, just use `<description>`.
2. Run `git status` and `git diff --staged`. If nothing staged, ask what to stage.
3. Pick **type**: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert`
4. Pick **scope** from changed file paths (e.g. `ekf2`, `mavlink`, `sensors`).
5. Write concise imperative description, lowercase, no period, under 72 chars.
6. Breaking changes: `type(scope)!: description`
7. Body (if needed): explain **why**, not what.
8. Stage and commit. No `Co-Authored-By`.
## Examples
```
feat(ekf2): add height fusion timeout
fix(mavlink): correct BATTERY_STATUS_V2 parsing
refactor(navigator): simplify RTL altitude logic
```
If the user provided arguments, use them as context: $ARGUMENTS