Current state
- Branch: !
git branch --show-current - Uncommitted changes: !
git status --short - GitHub user: !
gh api user --jq .login 2>/dev/null || echo "(not authenticated — run gh auth login)"
Commit message / PR title
$ARGUMENTS
Weave ship workflow
Rules (non-negotiable)
- Never commit directly to
main— if on main, stop immediately and tell the user to create a feature branch - Run quality gates in order; stop on first failure
- Before committing, verify the branch PR hasn't already been merged:
gh pr list --head <branch> --state merged - Always assign the PR to the current GitHub user (
--assignee <user>) - No "Built with Claude Code" or similar attribution taglines in commit messages, PR titles, or PR bodies
Steps
Check branch — if current branch is
main, stop and tell the user to create a feature branch firstCheck PR not already merged — run
gh pr list --head $(git branch --show-current) --state merged; if any result, stop and warn that the branch was already mergedPre-commit — run these before committing (the git pre-commit hook handles
fmt --checkandclippy, so don't duplicate those):cargo fmt --all— auto-fix formatting so the hook's--checkpassescargo test— the hook does not run tests, so run them here; stop on failure
Commit — if $ARGUMENTS is empty, ask the user for a commit message before proceeding; otherwise use $ARGUMENTS as the commit message. Stage all modified tracked files and new relevant files, then commit. No attribution taglines.
Push —
git push -u origin $(git branch --show-current)Open PR —
gh pr create --title "<title>" --body "<body>" --assignee <github-user>- Derive the title from the commit message
- Write a concise PR body (Summary + Test plan sections)
- No attribution taglines anywhere
Report — print the PR URL