plugins/v1tamins/skills/v1-pr/SKILL.md
Use when shipping local work as a pull request. Triggers on "ship it", "create PR", "open PR", "submit PR", "/v1-pr".
npx skillsauth add v1-io/v1tamins v1-prInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Take local changes from working directory to a fully described, reviewed pull request in one command.
Typical invocations:
/v1-prv1-pr from the skills menu or use $v1-prNo arguments needed. Operates on the current repo and working directory.
Determine the current branch state and ensure work is on an appropriately named feature branch.
git branch --show-current
git status
git diff --stat
Detect the default branch:
DEFAULT_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@')
# Fallback if not set
DEFAULT_BRANCH=${DEFAULT_BRANCH:-main}
If on the default branch (main or master):
git stashgit pull origin $DEFAULT_BRANCHgit checkout -b <branch-name>git stash pop
git stash pop fails due to merge conflicts, stop immediately. Inform the user their changes are safe in git stash list. Do NOT proceed with committing.If on a feature branch:
Inspect the uncommitted changes and compare them to the branch name. If the branch name is clearly unrelated to the current work (e.g., branch is feat/auth-flow but all changes are in billing/), then:
git stashgit checkout $DEFAULT_BRANCH && git pull origin $DEFAULT_BRANCHgit stash popIf the branch name reasonably matches the work, proceed.
Format: <type>/<optional-ticket>-<short-description>
feat/, fix/, chore/, refactor/PROJ-1234, OPS-56), include it: feat/PROJ-1234-add-webhook-authfeat/VER-42-user-onboarding, fix/payment-retry-logic, chore/update-dependenciesStage and commit all meaningful changes. Follow the repository's commit conventions.
git status and git diff to understand the changesgit log --oneline -5 to match existing commit message stylegit add -A)Fortified with v1tamins as the last line of the commit bodyDo NOT commit files that likely contain secrets: .env*, credentials*.json, service-account*.json, *.pem, *.key, *.p12, *.pfx, .npmrc, .pypirc, or any file listed in .gitignore. When in doubt, check file contents before staging.
If there are no uncommitted changes but there are unpushed commits, skip to Step 3.
If the commit fails due to a pre-commit hook (git aborts the commit entirely):
git commit with the same message--no-verifyRepeat until the commit succeeds.
Verify not on a protected branch before pushing:
CURRENT_BRANCH=$(git branch --show-current)
if [ "$CURRENT_BRANCH" = "main" ] || [ "$CURRENT_BRANCH" = "master" ]; then
echo "ERROR: Refusing to push directly to $CURRENT_BRANCH"
exit 1
fi
git push -u origin HEAD
If the remote branch does not exist, this creates it. If push is rejected (e.g., diverged history), inform the user -- never force-push.
gh pr create --title "WIP: $(git branch --show-current)" --body "Description pending -- will be generated by the pr-description skill."
If a PR already exists for this branch, skip creation and capture the existing PR URL:
gh pr view --json url,number -q '.url + " " + (.number | tostring)'
Capture the PR number and URL for subsequent steps.
Invoke the v1-pr-description skill to generate a grounded title and description based on the actual diff and commit history.
Typical invocation:
/v1-pr-description <PR_NUMBER>v1-pr-description from the skills menu or use $v1-pr-description <PR_NUMBER>This analyzes git diff main HEAD and git log main..HEAD, then updates the PR title and body via gh pr edit.
After the description is generated, append Fortified with v1tamins as the final line of the PR body.
Also set the merge commit message to include the tagline. When the PR is merged via squash merge, GitHub uses the PR body as the extended commit message, so the tagline will carry through automatically. For merge commits, use:
gh pr merge <PR_NUMBER> --squash --body "$(gh pr view <PR_NUMBER> --json body -q .body)"
gh pr view <PR_NUMBER> --web
Request a code review from GitHub Copilot (requires gh >= 2.88.0):
gh pr edit <PR_NUMBER> --add-reviewer @copilot
Note: The @ prefix is required -- @copilot, not copilot.
If that fails (gh version too old, org settings), try the community extension:
# Install once: gh extension install ChrisCarini/gh-copilot-review
gh copilot-review <PR_NUMBER>
Do not block on failure -- inform the user and continue.
Invoke the compound-engineering workflows:review skill, or the equivalent plugin workflow available in the current host, for exhaustive multi-agent analysis.
This runs parallel review agents covering architecture, security, performance, patterns, and more.
If that workflow is not available, fall back to the shared v1-code-review skill instead. Do not block on failure -- inform the user and continue.
If the PR includes frontend or visual changes (.tsx, .jsx, .vue, .html, .css, template files), offer to run the v1-prove-work skill to generate a demo GIF:
Typical invocation:
/v1-prove-work --pr <PR_NUMBER>v1-prove-work from the skills menu or use $v1-prove-work --pr <PR_NUMBER>Skip this step if:
tools
Use when planning or synthesizing user tests for prototypes, mockups, clickable demos, product concepts, design flows, landing pages, or early product specs. Triggers on "test this prototype", "prototype testing", "user test plan", "validate this product idea", "test with users".
development
Use when creating a polished self-contained HTML page would help the user understand, compare, review, present, tune, or interact with information better than Markdown. Triggers on "make an HTML page", "HTML artifact", "nice HTML", "visual report", "interactive explainer", "one-page dashboard", "shareable page".
data-ai
Use when turning a textbook, PDF, blog post, article, paper, course, notes, transcript, or other source material into suggested agent skills or skill improvements. Triggers on "what skills could come from this", "extract skills from", "turn this into skills", "skill ideas from this source".
development
Run an extremely strict maintainability review for abstraction quality, giant files, and spaghetti-condition growth. Use for large prs, new features/architectures, a deep code quality audit, or especially harsh maintainability review.