
Create Pr
- 11 installs
- Updated February 27, 2026
- vkehfdl1/marshroom
Helps with ai & agent building tasks.
About
create-pr is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- create-pr
- AI & Agent Building
- AI-coding skill
Create Pr by the numbers
- 11 all-time installs (skills.sh)
- Ranked #11,769 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/vkehfdl1/marshroom --skill create-prAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 11 |
|---|---|
| Last updated | February 27, 2026 |
| Repository | vkehfdl1/marshroom ↗ |
What it does
Helps with ai & agent building tasks.
Files
Create a Pull Request for a Marshroom cart issue matching the current branch.
Critical Requirements
- state.json update is MANDATORY. After creating the PR, you MUST update the issue status to
pendingwithprNumberandprURLin${MARSHROOM_STATE:-~/.config/marshroom/state.json}. If this fails, stop and report the error — do NOT silently continue. - Use
marsh prif available; otherwise fall back to directjqatomic write (see step 9).
Steps
1. Read ${MARSHROOM_STATE:-~/.config/marshroom/state.json} and parse the JSON 2. Run git branch --show-current to get the current branch name 3. Find the cart entry matching the current branch and repo. Use relaxed matching:
- First try exact
branchNamematch - Then try
/#Nsuffix match (e.g., current branchHotFix/#20matches cart entry withbranchName: "Feature/#20"because both end with/#20) - If no match, tell the user they're not on a cart issue branch
3-1. Commit the current changes. Give proper commit message to commits. Ask user permission if the changes are too large or suspicious (e.g. 100+ changes, dummy files, DB updates, logs, and so on) 4. Push the current branch: git push -u origin HEAD 5. Build the PR body:
- Start with a brief description of the changes made
- If the matched cart entry has an
issueBodyfield (non-null), include it under a "## Original Issue" section for reviewer context - The body MUST include
close #<issueNumber>(this is mandatory for auto-closing the issue)
6. Create the PR using gh pr create:
- Title: the issue title from the matched cart entry
- Body: the constructed body from step 5
7. After PR creation, verify the body contains the closing keyword:
- Run
gh pr view --json body -q '.body' - If
close #<issueNumber>is NOT found in the body, fix it:gh pr edit --body "$(gh pr view --json body -q '.body')\n\nclose #<issueNumber>"
8. Capture the PR URL and number:
- Run
gh pr view --json number,url -q '.number,.url'
9. Update issue status (MANDATORY):
- First try:
marsh pr - If
marshis not found in PATH, fall back to direct atomic update using the PR number and URL from step 8:
STATE_FILE="${MARSHROOM_STATE:-~/.config/marshroom/state.json}"
TMP="$(mktemp "${STATE_FILE}.XXXXXX")"
jq --argjson n ISSUE_NUMBER --argjson prNum PR_NUMBER --arg prUrl "PR_URL" \
'.cart |= map(if .issueNumber == $n then .status = "pending" | .prNumber = $prNum | .prURL = $prUrl else . end)' \
"$STATE_FILE" > "$TMP" && mv -f "$TMP" "$STATE_FILE"- Verify the update succeeded by reading state.json and confirming status is
pending
10. Display the result:
- PR URL
- PR Number
- Issue: #{issueNumber} {issueTitle}
- Status: pending