Stack branch
Shared AI agent skills
npx -y skills add flurdy/agent-skills --skill stack-branchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Create a new branch stacked on another PR. Use when you want to start work that depends on an existing PR that hasn't been merged yet.
SKILL.md
2.8 KB, 676 tokens by cl100k_base, as published. Nobody here has run it
Create Stacked Branch
Create a new branch based on an existing PR branch (not main) for dependent work.
Usage
/stack-branch AB-456
/stack-branch AB-456 feature/parent-branch # Explicit parent
Instructions
1. Get the Jira Ticket
The first argument is the Jira ticket number for the new work.
Use the /jira-ticket skill or the Jira MCP tools directly to get ticket details:
mcp__jira__jira_get with:
path: /rest/api/3/issue/{ticketNumber}
jq: "{key: key, summary: fields.summary, issuetype: fields.issuetype.name}"
2. Identify Parent Branch
If parent branch not specified:
# Check if currently on a feature branch
git branch --show-current
If on a feature branch (not main), offer to use it as the parent. Otherwise, ask the user which branch to stack on.
3. Ensure Parent is Up to Date
# Fetch the parent branch
git fetch origin {parent-branch}
# Check out and update local copy
git checkout {parent-branch}
git pull origin {parent-branch}
4. Create Branch Name
Map the Jira issue type to conventional commit prefix:
| Issue Type | Prefix |
|---|---|
| Story | feat |
| Task | feat |
| Bug | fix |
| Improvement | feat |
| Spike | chore |
| Sub-task | inherit from parent |
Create branch name:
{prefix}/{TICKET}-{summary-in-kebab-case}
Example: feat/AB-456-add-caching-layer
5. Create the Branch
git checkout -b {new-branch-name}
6. Push and Set Upstream
git push -u origin {new-branch-name}
7. Inform User
Tell the user:
- Created branch
{new-branch-name}based on{parent-branch} - When creating a PR, target
{parent-branch}notmain - When
{parent-branch}is merged, use/rebase-merged-parentto rebase onto main
8. Optional: Create Draft PR
Ask if the user wants to create a draft PR now:
Check for a repo-specific PR template at .github/pull-request-template.md or .github/pull_request_template.md. If found, use that format. If not, ask user for confirmation on generating the body ourselves.
Create the PR targeting parent branch
~/.agents/skills/stack-branch/scripts/gh-pr-create.sh --draft --base {parent-branch} --title "{type}({scope}): {description}" --body "$(cat <<'EOF'
{body}
EOF
)"
If the script is unavailable, fall back to:
gh pr create --draft --base {parent-branch} --title "{type}({scope}): {description}" --body "$(cat <<'EOF'
{body}
EOF
)"