Git Workflow and Versioning
addyosmani/agent-skills
Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.
Stages, commits, pushes and opens a pull request with a Conventional Commits message, after running the project's checks unless told to skip them.
$ npx skills add VeryGoodOpenSource/vgv-wingspan --skill create-pr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install VeryGoodOpenSource/vgv-wingspan create-pr --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/VeryGoodOpenSource/vgv-wingspan.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/create-pr .claude/skills/create-pr && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "create-pr" agent skill from https://github.com/VeryGoodOpenSource/vgv-wingspan/tree/main/skills/create-pr into .claude/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/VeryGoodOpenSource/vgv-wingspan/tree/main/skills/create-prType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add VeryGoodOpenSource/vgv-wingspan --skill create-pr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install VeryGoodOpenSource/vgv-wingspan create-pr --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VeryGoodOpenSource/vgv-wingspan.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/create-pr .agents/skills/create-pr && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "create-pr" agent skill from https://github.com/VeryGoodOpenSource/vgv-wingspan/tree/main/skills/create-pr into .agents/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add VeryGoodOpenSource/vgv-wingspan --skill create-pr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install VeryGoodOpenSource/vgv-wingspan create-pr --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VeryGoodOpenSource/vgv-wingspan.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/create-pr .cursor/skills/create-pr && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "create-pr" agent skill from https://github.com/VeryGoodOpenSource/vgv-wingspan/tree/main/skills/create-pr into .cursor/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/VeryGoodOpenSource/vgv-wingspan.git --path skills/create-pr--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add VeryGoodOpenSource/vgv-wingspan --skill create-pr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install VeryGoodOpenSource/vgv-wingspan create-pr --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VeryGoodOpenSource/vgv-wingspan.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/create-pr .gemini/skills/create-pr && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "create-pr" agent skill from https://github.com/VeryGoodOpenSource/vgv-wingspan/tree/main/skills/create-pr into .gemini/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install VeryGoodOpenSource/vgv-wingspan create-prInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add VeryGoodOpenSource/vgv-wingspan --skill create-pr -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/VeryGoodOpenSource/vgv-wingspan.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/create-pr .github/skills/create-pr && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "create-pr" agent skill from https://github.com/VeryGoodOpenSource/vgv-wingspan/tree/main/skills/create-pr into .github/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add VeryGoodOpenSource/vgv-wingspan --skill create-pr -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install VeryGoodOpenSource/vgv-wingspan create-pr --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VeryGoodOpenSource/vgv-wingspan.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/create-pr .opencode/skills/create-pr && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "create-pr" agent skill from https://github.com/VeryGoodOpenSource/vgv-wingspan/tree/main/skills/create-pr into .opencode/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
create-prStages, commits, pushes and opens a pull request with a Conventional Commits message, after running the project's checks unless told to skip them.
The agent works through a seven-step checklist: parse arguments, validate, assess git state and choose a base branch, stage and commit, push, run CI checks and open the PR. Validation runs the project's formatter, linter and test runner and stops on any failure, while passing `skip-checks`, for example when called from `/build`, bypasses both validation and the CI checks.
It stops on `main` or `master`, asks which branch the PR should target, never stages secret files such as `.env`, `*.key` and `*.pem`, and proposes one conventional commit message, taking the type from a plan file in `docs/plan/` or from the diff and a ticket number from the branch name into a `Refs:` line. Nothing is pushed before you confirm the commit. Reference files cover conventional commits, CI checks, PR CLI usage and the PR template.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 19e0695. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(git push *)Bash(git add *)Bash(git commit *)Bash(gh *)Bash(glab *)From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Designed for Claude Code (or similar products with git access)
From compatibility in the SKILL.md frontmatter.
Create Pull Request loads about 1.3k tokens when it runs, and up to ~2.8k if it reads all its reference files. Until then it costs about 51 tokens; SKILL.md has 582 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
- **Never stage** secret files: `.env`, `*.key`, `*.pem`, `*secret*`, `*credential*`, `*.p12`, `*.jks`.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from VeryGoodOpenSource/vgv-wingspan at commit 19e0695, republished under its MIT licence (© VeryGoodOpenSource). 582 words, ~1,310 tokens.
.claude/skills/create-pr/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Stage uncommitted changes, commit them, push the branch, and open a pull request on the project's Git hosting platform.
SKIP_CHECKS)SKIP_CHECKS)BASE_BRANCH (determined in Step 2).<context>$ARGUMENTS</context>
This may include skip-checks, a ticket number (e.g. VGV-123), a short description, or be empty.
Check whether the argument contains skip-checks. Store as SKIP_CHECKS (boolean).
Extract the ticket number or short description from the remaining argument text (if any).
Skip this step if SKIP_CHECKS is true.
Detect and run the project's formatter, linter, and test runner.
If any command fails, report the error and stop. Do not proceed until all checks pass.
Run in parallel:
git branch --show-current
git status --short
git diff --cached
git diffmain or master, warn the user and stop.git log <BASE_BRANCH>..HEAD --oneline. If there are no commits ahead of BASE_BRANCH, inform the user there is nothing to commit or push, and stop.Use AskUserQuestion:
Question: "Which branch should this PR target?"
Options:
main (default)developStore as BASE_BRANCH.
Produce a single conventional commit covering all changes.
.env, *.key, *.pem, *secret*, *credential*, *.p12, *.jks.git add.type(scope): subject). Consult references/conventional-commits.md for the full spec. Infer type from a plan file in docs/plan/ if present; otherwise infer from the diff. Extract the ticket number from the branch name (e.g. feat/VGV-59-... → VGV-59) into a Refs: line.Use AskUserQuestion to confirm before committing (Yes / No / Edit). On confirm, commit with a HEREDOC to preserve formatting. Do not push yet.
Consult references/push.md to push the branch and handle any failures.
Skip this step if SKIP_CHECKS is true.
Consult references/ci-checks.md to discover and run checks locally from .github/workflows/ci.yaml.
If any check fails, report the errors and stop. Do not proceed until all checks pass.
Run in parallel:
git log <BASE_BRANCH>..HEAD --oneline
git log <BASE_BRANCH>..HEAD --format="%s%n%b"
git diff <BASE_BRANCH>..HEAD --statExtract the ticket number from the branch name (e.g. feat/VGV-59-... → VGV-59) or from the argument.
Follow Conventional Commits summarizing the overall change:
type(scope): short description
Check for a template:
cat .github/PULL_REQUEST_TEMPLATE.md 2>/dev/nullfeat → ✨ New featurefix → 🛠️ Bug fixrefactor → ♻️ Refactordocs → 📝 Documentationtest → 🧪 Testschore/build/ci → 🔧 Maintenancereferences/pull-request-template.md for the default template and filling rules.Output the proposed PR:
## Proposed PR
**Title:** `type(scope): short description`
**Description:**
...Use AskUserQuestion:
Question: "Do you want me to create this PR?"
Options:
references/pr-cli.md to detect the available CLI tool, check for an existing PR, and create it.© VeryGoodOpenSource, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (references) in skills/create-pr of VeryGoodOpenSource/vgv-wingspan.
Open the folder on GitHubat commit 19e0695
Create Pull Request next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Create Pull Request this skillVeryGoodOpenSource/vgv-wingspan | 108 | — | ~1.3k | Automated safety check: Notes | MIT | |
| Git Workflow and Versioningaddyosmani/agent-skills | 102k | 2 repos | ~3.5k | Automated safety check: Notes | MIT | |
| React Router Pull Request Creatorremix-run/react-router | 57k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Emoji Commit ConventionsbaptisteArno/typebot.io | 11k | — | ~424 | Automated safety check: Pass | Custom licence | |
| Draft Pull Request Creatorwordpress-mobile/WordPress-Android | 3.2k | — | ~881 | Automated safety check: Notes | GPL-2.0 | |
| Adk Gitgoogle/adk-python | 22k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 |
addyosmani/agent-skills
Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.
remix-run/react-router
Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.
baptisteArno/typebot.io
Sets the repository's convention for commit messages and pull request titles: one emoji prefix for the main intent, a concise title and clean follow-up commits.
wordpress-mobile/WordPress-Android
Commits and pushes current changes, writes a pull request title and body from the branch history and template, and opens a draft PR on GitHub after you approve it.
google/adk-python
Writes commit messages and pull request descriptions for the adk-python repository: Conventional Commits types and scopes, subject lines that say why a change was made, and the linked-issue and…
wgzhao/Addax
Standard branch, commit, and pull-request workflow for this repo.
VeryGoodOpenSource/vgv-wingspan
Runs parallel review agents over a branch, chosen paths or a whole project and merges their findings into one numbered report you can act on by id.
VeryGoodOpenSource/vgv-wingspan
Rebases the current feature branch onto the latest main, master or develop, stashing uncommitted work first and aborting cleanly if conflicts appear.
VeryGoodOpenSource/vgv-wingspan
Clarifies what to build before how, by asking one question at a time about a feature idea and then handing the result on to planning.
VeryGoodOpenSource/vgv-wingspan
Produces a blameless post-incident debrief with timeline, root cause and follow-up actions after an outage, failed release or significant bug, while details are fresh.
VeryGoodOpenSource/vgv-wingspan
Applies a minimal fix to an emergency bug through triage, root-cause location, a hotfix branch and a blast-radius check, with tests and review still required.
VeryGoodOpenSource/vgv-wingspan
Turns high-level brainstorming and ideas into well-structured, actionable implementation plans.
Works with
Categories
Stages, commits, pushes and opens a pull request with a Conventional Commits message, after running the project's checks unless told to skip them. The agent works through a seven-step checklist: parse arguments, validate, assess git state and choose a base branch, stage and commit, push, run CI checks and open the PR. Validation runs the project's formatter, linter and test runner and stops on any failure, while passing `skip-checks`, for example when called from `/build`, bypasses both validation and the CI checks.
Create Pull Request fits situations like: ready to commit and open a pull request from the current branch; opening a PR with a Conventional Commits message and ticket reference; running formatter, linter and tests before pushing.
Run `npx skills add VeryGoodOpenSource/vgv-wingspan --skill create-pr -a claude-code`. Or copy the skill folder (skills/create-pr in VeryGoodOpenSource/vgv-wingspan) into .claude/skills/create-pr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add VeryGoodOpenSource/vgv-wingspan --skill create-pr -a codex`. Or copy the skill folder (skills/create-pr in VeryGoodOpenSource/vgv-wingspan) into .agents/skills/create-pr in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add VeryGoodOpenSource/vgv-wingspan --skill create-pr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-pr, .gemini/skills/create-pr, .github/skills/create-pr and .opencode/skills/create-pr in your project.
Going by SKILL.md and its folder, Create Pull Request needs the command-line tools its instructions call (git). Our summary lists: git with a configured remote; The `gh` or `glab` CLI for opening the pull request. Its frontmatter pre-approves these tools: Bash(git push *), Bash(git add *), Bash(git commit *), Bash(gh *), Bash(glab *). Compatibility (from SKILL.md): Designed for Claude Code (or similar products with git access).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Create Pull Request is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Create Pull Request: Git Workflow and Versioning (addyosmani/agent-skills, 102k stars), React Router Pull Request Creator (remix-run/react-router, 57k stars), Emoji Commit Conventions (baptisteArno/typebot.io, 11k stars) and Draft Pull Request Creator (wordpress-mobile/WordPress-Android, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
VeryGoodOpenSource (a GitHub organization) maintains it in VeryGoodOpenSource/vgv-wingspan, which has 108 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on September 30, 2026.
Source: VeryGoodOpenSource/vgv-wingspan on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.