nathan13888/nice-skills/send-it
- community
Checking that the SKILL.md file is still in the repository.
Push feature branch and create a GitHub PR with structured title and description. Auto-detects branch context, drafts a structured PR body, gets user confirmation, then pushes and creates the PR. GitHub-only, uses gh CLI. Use when user says "send it", "push and PR", "create PR", "open a PR", "ship it", or "send this branch".
Install
npx vskill@latest install nathan13888/nice-skills/send-itSKILL.md
Send It
Push the current feature branch and create a structured GitHub PR in one shot. Gathers context from git history, drafts a PR with a clear title and body, confirms with the user, then pushes and opens the PR.
Workflow
Follow all 5 steps sequentially.
Step 1: Preflight Checks
Run a single Bash call to detect the full context:
Route based on results:
| Condition | Action | |
|---|---|---|
Not a git repo (IS_GIT is not true) | Report "Not a git repository." and STOP | |
gh not authenticated (GH_AUTH_EXIT != 0) | Report "GitHub CLI not authenticated. Run gh auth login." and STOP | |
On trunk (CURRENT == TRUNK) | Report "You're on {trunk} -- switch to a feature branch first." and STOP | |
Detached HEAD (CURRENT == "DETACHED") | Report "Detached HEAD -- checkout a branch first." and STOP | |
No trunk found (TRUNK is empty) | Use AskUserQuestion to ask the user for their trunk branch name, then continue | |
No commits ahead (AHEAD == 0) | Report "No commits ahead of {trunk} -- nothing to send." and STOP | |
PR already exists (EXISTING_PR_EXIT == 0) | Use AskUserQuestion: "PR already exists at {url} ({state}). Options: (1) Update existing PR description, (2) Continue and create a new PR anyway, (3) Stop." Route accordingly. |
If all checks pass, proceed to Step 2.
Step 2: Gather Context
Compute the merge base, then run parallel Bash calls to collect data:
Then in parallel:
Parse all output silently. Do NOT echo raw git output to the user. Extract:
- List of commits (hash + subject + body)
- Files changed with line counts
- Full diff for understanding changes
- Whether upstream tracking exists
Step 3: Draft PR
Analyze the commits, diff stat, and full diff to draft the PR.
Title
- Capitalized, human-like one-sentence summary of what this branch does
- No conventional commit prefixes (no
feat:,fix:, etc.) - Under 70 characters
- Examples: "Add user authentication with JWT tokens", "Fix race condition in queue processor", "Replace legacy search with Elasticsearch"
Body
Structure the body with exactly these 4 sections:
Drafting rules:
- Derive content from commits and diff -- do not fabricate changes
- Summary focuses on _what_ and _why_; Implementation focuses on _how_
- Followup should only include items that are genuinely relevant -- omit the section if there's nothing to note
- Keep the total body under 60 lines
Present the draft to the user:
Step 4: User Confirmation
Use AskUserQuestion with these options:
- Send as draft PR -- push and create a draft PR
- Send as ready PR -- push and create a ready-for-review PR
- Edit -- user provides changes to title or body
If the user chooses "Edit", apply their changes to the draft and present the updated version. Repeat Step 4 until the user confirms with option 1 or 2.
Step 5: Push and Create PR
Push the branch
Check whether upstream tracking exists (from Step 2):
- No upstream:
git push -u origin {branch} - Has upstream:
git push
If push fails, report the error and STOP. Do not force-push.
Create the PR
- Write the PR body to a temp file using the
Writetool:
- Create the PR:
For a draft PR:
For a ready PR:
- Capture the PR URL from the command output.
- Clean up the temp file:
Final output
Guidelines
- `Write` tool for temp files -- use the
Writetool to create/tmp/send-it-pr-body.md. DO NOT useecho,cat <<EOF, or shell redirects. Always pass the body via--body-file. - No subagents -- this is a straightforward linear workflow. Do not spawn Task agents.
- Never push to trunk -- if somehow on trunk, STOP in Step 1.
- Never force-push -- if
git pushfails, report the error and stop. Let the user decide how to resolve. - Clean up temp files -- always
rm -f /tmp/send-it-pr-body.mdafter PR creation, even if theghcommand fails. - Respect user edits -- when the user modifies the draft, apply changes exactly as specified. Do not re-derive the content from scratch.
- Title quoting -- when passing the title to
gh pr create, ensure it's properly quoted to handle special characters. - Existing PR handling -- if updating an existing PR, use
gh pr edit {number} --title "{title}" --body-file /tmp/send-it-pr-body.mdinstead ofgh pr create.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/send-it/SKILL.md
Popularity
- Repository stars
- 5
- 7-day trend score
- 9
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 9 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/nathan13888/nice-skills/send-it)