| name | ship |
|---|---|
| description | Commits, pushes and raises a PR. |
| disable-model-invocation | true |
This skill handles the complete workflow of committing staged/unstaged changes, pushing to the remote, and raising a Pull Request.
- Analyse Changes - Review all pending changes (staged and unstaged) to understand the scope and nature of the work
- Commit - Create a well-formed conventional commit
- Push - Push the current feature branch to origin
- Raise PR - Create a Pull Request
Use Conventional Commits format:
<type>: <description>
[optional body with more detail]
feat:- new functionalityfix:- bug fixesrefactor:- code restructuring without behaviour changedocs:- documentation onlytest:- adding or updating testschore:- maintenance tasks, dependency updates
- First line must be 50 characters or fewer to avoid GitHub truncation
- Description should be lowercase, imperative mood ("add feature" not "added feature")
- Body (if needed) should be wrapped at 72 characters
- Determine the target branch by checking which of the following exists on the remote, in priority order:
develop,main,master. Use the first one found.
The PR title should match the first line of the commit message (including the conventional commit prefix).
Use this template for the PR body:
## Summary
[2-3 sentences describing what this PR accomplishes and why]
## Changes
[Bullet points of the key modifications, grouped logically]
## Test Plan
- [ ] [Specific scenario to verify]
- [ ] [Another test case]
- [ ] [Edge case to check]
## Notes for Reviewers
[Any context that will help reviewers: areas of uncertainty, alternative approaches considered, architectures and patterns worthy of note, or specific files to scrutinise]- Run
git statusandgit diffto understand all pending changes - Analyse the changes to determine the appropriate commit type and craft a meaningful message
- Stage all changes with
git add -A - Commit with the crafted message
- Push the branch with
git push -u origin HEAD - Determine the target branch -
develop,main, ormasterin that order of priority. - Create the PR using
gh pr create --base <target branch> --title "<commit first line>" --body "<PR body>"
- Derive the commit message and PR content entirely from analysing the actual changes - do not ask the user to describe them
- The test plan should contain specific, actionable test cases derived from the changes, not generic placeholders
- If changes span multiple concerns and would benefit from separate commits, note this to the user but proceed with a single commit unless instructed otherwise