Commit, push, and open a PR
Stages changes, commits, creates PR with stacking and auto-merge options.
/plugin marketplace add settlemint/agent-marketplace/plugin install crew@settlemintgit/pr/<stack_context>
!${CLAUDE_PLUGIN_ROOT}/scripts/git/machete-context.sh 2>&1
</stack_context>
<pr_context>
!${CLAUDE_PLUGIN_ROOT}/scripts/git/pr-context.sh 2>&1
</pr_context>
Stage, commit, ask PR options (stacking, draft, auto-merge), create PR, update annotations.
</objective> <workflow>git branch --show-current && git status --short
If on main → create feature branch first.
git add . && git commit -m "type(scope): msg"
If <stack_context> shows "is NOT in machete layout":
AskUserQuestion({
questions: [
{
question: "Add this branch to a stack?",
header: "Stacking",
options: [
{
label: "No (Recommended)",
description: "Standalone PR against main",
},
{ label: "Stack on parent", description: "Add to machete stack" },
],
multiSelect: false,
},
],
});
If stacking selected:
git machete add $(git branch --show-current) --onto <selected-parent>
AskUserQuestion({
questions: [
{
question: "PR type?",
header: "Type",
options: [
{
label: "Ready for review (Recommended)",
description: "Ready to merge",
},
{ label: "Draft", description: "Work in progress" },
],
multiSelect: false,
},
{
question: "Enable auto-merge?",
header: "Auto-merge",
options: [
{ label: "No", description: "Manual merge required" },
{
label: "Yes",
description: "Auto-merge with squash when checks pass",
},
],
multiSelect: false,
},
],
});
Select template based on commit type:
feat → skills/git/templates/pr-feature.mdfix → skills/git/templates/pr-fix.mdrefactor/docs/test → skills/git/templates/pr-refactor.mdskills/git/templates/pr-default.mdCheck for plan file: ls .claude/plans/*.md 2>/dev/null
If exists, extract motivation and design decisions.
If machete-managed:
git machete github create-pr [--draft]
git machete github anno-prs
If traditional:
git push -u origin $(git branch --show-current)
gh pr create --title "type(scope): description" --body "..." [--draft]
PR_NUM=$(gh pr view --json number -q '.number')
gh pr merge $PR_NUM --auto --squash
Skill({ skill: "crew:git:pr:update" });
Return PR URL.
</workflow><success_criteria>
</success_criteria>