When making code changes or reviewing existing code, check if architecture diagram matches implementation, and keep the diagram in sync.
The English summary is being prepared. Showing the original description.
Prepare outstanding commits on a feature branch for a pull request to upstream
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Prepare a pull request from the current feature branch. This skill collects all commits on the current branch that are ahead of upstream/main, generates a PR title and description summarizing the changes, and creates the PR against upstream.
The skill accepts optional arguments:
/pr Add support for TLS client certs)Example: /pr or /pr Fix saturation search convergence
Verify prerequisites:
main branch (should be on a feature branch)upstream remote must existorigin remote must existBRANCH=$(git branch --show-current)
if [ "$BRANCH" = "main" ]; then
echo "Error: Must be on a feature branch, not main"
exit 1
fi
git remote get-url upstream >/dev/null 2>&1 || { echo "Error: 'upstream' remote not found"; exit 1; }
git remote get-url origin >/dev/null 2>&1 || { echo "Error: 'origin' remote not found"; exit 1; }
Run cargo fmt and amend the last commit if formatting changes are needed:
cargo fmt
if [ -n "$(git status --porcelain)" ]; then
git add -u
git commit --amend --no-edit
fi
After this step, the working directory must be clean. If there are still uncommitted changes (non-formatting), stop and tell the user to commit or stash them first.
Sync with upstream:
git fetch upstream
git fetch origin
Identify commits for the PR:
upstream/mainupstream/mainMERGE_BASE=$(git merge-base upstream/main HEAD)
git log --oneline ${MERGE_BASE}..HEAD
git diff ${MERGE_BASE}..HEAD --stat
If there are no commits ahead of upstream/main, stop and tell the user there is nothing to submit.
Generate PR title and description:
## Summary section with 1-3 bullet points describing the changes## Changes section listing the commits## Test plan section with a checklist of testing suggestionsPresent the title and body to the user for review before creating the PR.
Push the feature branch to origin:
BRANCH=$(git branch --show-current)
git push -u origin ${BRANCH}
Create the PR against upstream:
BRANCH=$(git branch --show-current)
gh pr create \
--repo "$(git remote get-url upstream | sed 's/.*github.com[:/]\(.*\)\.git/\1/' | sed 's/.*github.com[:/]\(.*\)/\1/')" \
--head "$(git remote get-url origin | sed 's/.*github.com[:/]\(.*\)\.git/\1/' | sed 's/.*github.com[:/]\(.*\)/\1/' | cut -d/ -f1):${BRANCH}" \
--base main \
--title "${PR_TITLE}" \
--body "${PR_BODY}"
Report the PR URL to the user.
upstream remote: Add it with git remote add upstream <repo-url>origin remote: This is your fork. Add with git remote add origin <fork-url>brew install gh or see https://cli.github.com/gh auth loginNo reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
When making code changes or reviewing existing code, check if architecture diagram matches implementation, and keep the diagram in sync.
The English summary is being prepared. Showing the original description.