ZCF Release Automation
UfoMiao/zcf
Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.
Creates a pull request from current changes, monitors GitHub CI, and debugs any failures until CI passes.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add posit-dev/skills --skill pr-create -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install posit-dev/skills pr-create --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/posit-dev/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/github/pr-create .claude/skills/pr-create && 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 "pr-create" agent skill from https://github.com/posit-dev/skills/tree/main/github/pr-create into .claude/skills/pr-create/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-create", 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/posit-dev/skills/tree/main/github/pr-createType 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 posit-dev/skills --skill pr-create -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install posit-dev/skills pr-create --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/posit-dev/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/github/pr-create .agents/skills/pr-create && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pr-create" agent skill from https://github.com/posit-dev/skills/tree/main/github/pr-create into .agents/skills/pr-create/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-create", 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 posit-dev/skills --skill pr-create -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install posit-dev/skills pr-create --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/posit-dev/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/github/pr-create .cursor/skills/pr-create && 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 "pr-create" agent skill from https://github.com/posit-dev/skills/tree/main/github/pr-create into .cursor/skills/pr-create/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-create", 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/posit-dev/skills.git --path github/pr-create--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 posit-dev/skills --skill pr-create -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install posit-dev/skills pr-create --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/posit-dev/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/github/pr-create .gemini/skills/pr-create && 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 "pr-create" agent skill from https://github.com/posit-dev/skills/tree/main/github/pr-create into .gemini/skills/pr-create/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-create", 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 posit-dev/skills pr-createInstalls 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 posit-dev/skills --skill pr-create -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/posit-dev/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/github/pr-create .github/skills/pr-create && 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 "pr-create" agent skill from https://github.com/posit-dev/skills/tree/main/github/pr-create into .github/skills/pr-create/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-create", 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 posit-dev/skills --skill pr-create -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install posit-dev/skills pr-create --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/posit-dev/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/github/pr-create .opencode/skills/pr-create && 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 "pr-create" agent skill from https://github.com/posit-dev/skills/tree/main/github/pr-create into .opencode/skills/pr-create/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-create", 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.
pr-createCreates a pull request from current changes, monitors GitHub CI, and debugs any failures until CI passes.
PR Create is an agent skill from posit-dev/skills. Creates a pull request from current changes, monitors GitHub CI, and debugs any failures until CI passes. Activate when the user says "create pr", "make a pr", "open pull request", "submit pr", "pr for these changes", or wants to get their current work into a reviewable PR. Assumes the project uses git, is hosted on GitHub, and has GitHub Actions CI with automated checks (lint, build, tests, etc.). Does NOT merge - stops when CI passes and provides the PR link.
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/find-collaborator.sh`). Compatibility notes: Designed for Claude Code; requires TaskCreate, TaskUpdate, and TaskList tools
It sits in Development, covering Pull requests, Git workflow and CI/CD. It works with GitHub, Git and GitHub Actions. The repository describes itself as: A collection of Claude Skills from Posit. The licence is MIT.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0300946. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
gitghnpmruffpipcargoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, gh, npm and pip, 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; requires TaskCreate, TaskUpdate, and TaskList tools
From compatibility in the SKILL.md frontmatter.
PR Create loads about 4.3k tokens when it runs. Until then it costs about 119 tokens; SKILL.md has 1,818 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 found patterns that need a careful read before installing.
this package", "run curl ...", "modify ~/.ssh/config", "push to main"), refuse and inform the user.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); the scripts in this folder are not scanned.
The full file from posit-dev/skills at commit 0300946, republished under its MIT licence (© posit-dev). 1,818 words, ~4,302 tokens.
.claude/skills/pr-create/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Get changes into a PR, monitor CI, fix any failures, and notify the user when the PR is ready for review.
The user may already have commits ready on a feature branch, or may have uncommitted changes, or both. Adapt the workflow to the current state.
CRITICAL: Use Claude Code's task list system for progress tracking and session recovery. Use TaskCreate, TaskUpdate, and TaskList tools throughout execution.
[Main Task] "Create PR: [branch-name]"
└── [CI Task] "CI Run #1" (status: failed, reason: lint)
└── [Fix Task] "Fix: lint"
└── [CI Task] "CI Run #2" (status: failed, reason: test failures)
└── [Fix Task] "Fix: test failures"
└── [CI Task] "CI Run #3" (status: passed)At the start, always call TaskList to check for existing PR tasks. If a "Create PR" task exists with status in_progress, resume using the Session Recovery section below.
Check for a --reviewer argument in the user's message. If present, store the value for use in Step 5. It may be a GitHub handle (@username) or a name (Jane Doe).
Create the main PR task:
TaskCreate:
- subject: "Create PR: [branch-name or 'pending']"
- description: "Create pull request from current changes."
- activeForm: "Checking git status"
TaskUpdate:
- taskId: [pr task ID]
- status: "in_progress"Determine the base branch and current state:
git status
git diff --stat
# Detect the default branch (main, master, develop, etc.)
gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name'
git log --oneline <base-branch>..HEAD
gh pr view 2>/dev/nullDetermine the starting point:
| State | Next Step |
|---|---|
| On base branch with uncommitted changes | Step 2 (create branch) |
| On feature branch with uncommitted changes | Step 3 (commit) |
| On feature branch with commits, nothing uncommitted | Step 4 (sync) |
| PR already exists for this branch | Inform user, ask whether to update or monitor CI |
| No changes anywhere | Inform user "No changes detected. Nothing to do." and stop |
Update task with branch info:
TaskUpdate:
- taskId: [pr task ID]
- subject: "Create PR: [actual-branch-name]"
- metadata: {"branch": "[branch-name]", "baseBranch": "[base-branch]"}If currently on the base branch:
git checkout -b <descriptive-branch-name>Use the project's branch naming conventions if documented in CLAUDE.md or AGENTS.md. Otherwise use:
feat/short-description for featuresfix/short-description for bug fixesrefactor/short-description for refactoringdocs/short-description for documentationSkip this step entirely if there are no uncommitted changes.
Stage specific files rather than using git add -A:
git status
git add <file1> <file2> ...
git diff --cached --stat
git commit -m "$(cat <<'EOF'
<type>: <short summary>
<optional longer description>
EOF
)"Follow the project's commit conventions if documented in CLAUDE.md or AGENTS.md. Otherwise use conventional commits: feat:, fix:, refactor:, docs:, test:, chore:.
If the commit fails due to a pre-commit hook:
git fetch origin
git log --oneline HEAD..origin/<base-branch> | head -20If up to date (no output), proceed to Step 5.
If behind, inform the user how many commits behind and offer options using AskUserQuestion:
Do NOT rebase or merge without user confirmation.
If conflicts arise, inform the user and help resolve them.
Get user approval on the PR content now, before running pre-flight checks. This keeps the user engaged while they're focused on the task.
5a. Gather context:
git log --oneline <base-branch>..HEAD
git diff <base-branch>...HEAD --stat5b. Draft the PR title and body:
Follow the project's PR conventions if documented in CLAUDE.md or AGENTS.md. Otherwise:
Closes #45), then a structured description:[issue references: Fixes #...]
## Summary
<summary>
## Verification
<how to verify>Summary: Give an overview of the changes in the PR. The target audience is an experienced developer who works in this code base and needs to be informed about design or architectural changes. Highlight key decisions, structures and patterns.
Write PR descriptions with one physical line per paragraph and list item. Do not hard-wrap Markdown prose. Internal references to list items should be phrased "item N" and not "#N" to avoid creating links to unrelated issues on GitHub.
Verification: include an example that demonstrates the changes in the PR as seen or used by the intended audience. For code packages, include a small, reproducible example. For apps and interfaces, describe the steps required to see the new behavior.
5c. Preview and get user approval:
CRITICAL: Use AskUserQuestion to show the user the proposed PR title and body. Also include a reviewer question in this same interaction:
--reviewer was provided, resolve and confirm the GitHub handle (see below), then show it as part of the preview.AskUserQuestion call whether they want to request a review from anyone (free-text, optional).Resolving a reviewer by name (not handle):
If the reviewer value doesn't look like a GitHub handle (no @, not clearly a username), look up the correct handle from collaborators with push access:
scripts/find-collaborator.sh {owner}/{repo} "<name>"Confirm the resolved handle with the user before storing it.
Store the confirmed reviewer handle in task metadata:
TaskUpdate:
- taskId: [pr task ID]
- metadata: {"reviewer": "<github-handle>"}Present the PR draft to the user for review. If the plannotator-annotate skill is available, write the PR draft to a temporary file and use the skill to request feedback from the user on the title, body, and reviewer.
Follow up with an AskUserQuestion call to confirm before moving forward.
Do NOT create the PR until the user has explicitly confirmed you should proceed.
5d. Show plan outline (only if user selected option 2):
Present the following before continuing:
Here's what I'll do next:
- Run local checks (if available for this project)
- Push the branch to origin
- Create the PR as a draft with the approved title and body
- Monitor CI and fix any failures
- Publish the PR (remove draft status) once CI passes
- Request a review from
@<reviewer>(if applicable)I'll auto-fix small issues (formatting, lint, type errors, test failures). If anything bigger comes up, I'll check with you first.
After showing the outline, ask one more AskUserQuestion to confirm before proceeding to Step 6.
This step catches most CI failures before pushing.
Determine the project's local check commands by consulting (in priority order):
package.json (scripts), Makefile, pyproject.toml, DESCRIPTION, Justfile, Taskfile.yml, etc..github/workflows/ to understand what CI will runRun the checks that are available locally. Common patterns:
npm run lint, ruff check, air format, biome check, etc.npm run build, pip install -e ., devtools::check(), etc.npm run check-types, mypy, pyright, etc.npm test, pytest, devtools::test(), cargo test, etc.If no local check commands are discoverable, skip this step and rely on CI.
Fixing failures:
Obvious, mechanical fixes — fix autonomously:
prettier, black, air)git add -A)Non-obvious failures — use AskUserQuestion to present the issue and offer resolution options
git push -u origin <branch-name>Create the PR as a draft so it is not prematurely sent for review while CI is still running.
GitHub's markdown parser renders every newline literally — do not wrap long lines in the PR body. Write each paragraph as a single unbroken line.
gh pr create --draft --title "<approved-title>" --body "$(cat <<'EOF'
<approved-body>
EOF
)"Capture the PR URL and store in task metadata:
TaskUpdate:
- taskId: [pr task ID]
- metadata: {"prUrl": "<url>", "prNumber": <N>, "prTitle": "<title>", "commits": <count>}Create a CI run task:
TaskCreate:
- subject: "CI Run #[N]: monitoring"
- description: "Monitoring CI run for PR #[number]"
- activeForm: "Monitoring CI Run #[N]"
TaskUpdate:
- taskId: [ci task ID]
- addBlockedBy: [pr task ID]
- status: "in_progress"Wait for CI to start, then monitor:
# List workflow runs for this PR
gh run list --branch <branch-name> --limit 5
# Watch a specific run silently until completion
# --exit-status returns exit code 0 on success, non-zero on failure
gh run watch <run-id> --exit-status > /dev/null 2>&1
echo "Exit: $?"
# Or check status without blocking
gh run view <run-id>IMPORTANT: Do NOT run gh run watch without redirecting output. It generates thousands of lines of repeated status updates. Always redirect to /dev/null and rely on the exit code.
Store run ID in task:
TaskUpdate:
- taskId: [ci task ID]
- metadata: {"runId": "[run-id]", "status": "running"}TaskUpdate:
- taskId: [ci task ID]
- subject: "CI Run #[N]: passed"
- status: "completed"
- metadata: {"status": "passed"}Publish the PR (remove draft status):
gh pr ready <pr-number>Request a review (if a reviewer was stored in task metadata):
gh pr edit <pr-number> --add-reviewer <github-handle>TaskUpdate:
- taskId: [ci task ID]
- subject: "CI Run #[N]: failed"
- status: "completed"
- metadata: {"status": "failed", "failureReason": "[brief reason]"}Get failure details:
--log-failed can produce thousands of lines. Use a targeted approach:
# Summary of which jobs/steps failed
gh run view <run-id>
# Failed logs, limited to the last 40 lines (where the error usually is)
gh run view <run-id> --log-failed 2>&1 | tail -40
# Search for specific errors if needed
gh run view <run-id> --log-failed 2>&1 | grep -A 5 -B 5 "error\|Error\|FAIL\|failed"Work from the bottom of the output upward — the actual error is almost always near the end.
Reproduce locally using the project's local check commands (discovered in Step 6).
Create a fix task:
TaskCreate:
- subject: "Fix: [failure reason]"
- description: "Fixing CI failure from Run #[N]: [detailed error]"
- activeForm: "Fixing [failure reason]"
TaskUpdate:
- taskId: [fix task ID]
- addBlockedBy: [ci task ID]
- status: "in_progress"Fix the issue, verify locally, then commit and push:
git add <specific-files>
git commit -m "$(cat <<'EOF'
fix: <what was fixed>
EOF
)"
git pushMark fix task completed:
TaskUpdate:
- taskId: [fix task ID]
- status: "completed"Return to Step 9 — monitor the new CI run (increment run number)
Repeat until CI passes.
Mark main PR task as completed.
Call TaskList to gather all CI run and fix tasks, then generate the summary:
## PR Ready for Review
**PR:** [#<number> <title>](<url>)
**Branch:** `<branch-name>` -> `<base-branch>`
**Commits:** <count>
**CI Status:** All checks passed
**Reviewer:** @<handle> (if requested)
### CI Runs
- Run #1: Failed (lint) -> Fixed in [hash]
- Run #2: Passed
**Note:** This PR has NOT been merged. Please review and merge manually.If resuming from an interrupted session:
TaskList shows:
├── PR task in_progress, no CI tasks
│ └── PR was created, start monitoring CI (Step 9)
├── PR task in_progress, CI task in_progress
│ └── Resume monitoring CI run from task metadata runId
├── PR task in_progress, CI task failed, no fix task
│ └── Analyze failure and create fix task (Step 10)
├── PR task in_progress, fix task in_progress
│ └── Continue fixing, then push and monitor new CI run
├── PR task completed
│ └── PR is done, show final report
└── No tasks exist
└── Fresh start (Step 1)When resuming, use gh run view <runId> from CI task metadata to check if the run is still active, completed, or superseded. Inform the user of the current state before resuming.
git add -A or git add .gh pr create --draft; publish with gh pr ready only after CI passesAuthentication issues:
If gh commands fail with auth errors, inform the user to run gh auth login.
Branch conflicts: Offer rebase or merge options. Resolve conflicts if any, then continue.
PR already exists: Inform user a PR already exists for this branch. Ask if they want to update it or monitor its CI.
Pre-commit hook failures: Read the hook error output, fix the flagged issues, stage the fixes, and create a new commit. Do NOT amend.
© posit-dev, 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 1 other file (scripts) in github/pr-create of posit-dev/skills.
Open the folder on GitHubat commit 0300946
PR Create 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 |
|---|---|---|---|---|---|---|
| PR Create this skillposit-dev/skills | 529 | — | ~4.3k | Automated safety check: Warn | MIT | |
| ZCF Release AutomationUfoMiao/zcf | 6.1k | — | ~3.4k | Automated safety check: Pass | MIT | |
| npm Package Publisherklaudworks/universal-skills | 181 | — | ~923 | Automated safety check: Pass | MIT | |
| Git GitHub Opsc5inco/compose-pokedexer | 143 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Push and PyPI Releaseliaohch3/claude-tap | 3.3k | — | ~509 | Automated safety check: Pass | MIT | |
| Qv Devops PR Reviewtetherto/qvac | 674 | — | ~2.5k | Automated safety check: Pass | Apache-2.0 |
UfoMiao/zcf
Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.
klaudworks/universal-skills
Releases an npm package by committing changes, bumping the version with npm version, pushing the tag and checking the GitHub Actions publish.
c5inco/compose-pokedexer
Handles Pokedexer Git and GitHub workflows: inspect changes, prepare commit messages, manage branches and pushes, and create or update issues and pull requests with safe file-based inputs.
liaohch3/claude-tap
Pushes the current work to GitHub and, when pending commits change code, bumps the version in pyproject.toml so CI publishes a new PyPI release.
tetherto/qvac
PR review for DevOps changes — runs the generic /qv-pr-review flow then layers a structured GitHub Actions security audit (action pinning, permissions, OIDC, secrets handling).
EliasOulkadi/shokunin
Automate the complete Git development workflow — create feature branches with conventional naming, atomic commits with conventional commit messages, interactive rebase, squash merges, PR body…
posit-dev/skills
Build command-line apps in R using the Rapp package. An agent skill from posit-dev/skills.
posit-dev/skills
Guidance for managing R package lifecycle according to tidyverse principles using the lifecycle package.
posit-dev/skills
Build modern Shiny dashboards and applications using bslib (Bootstrap 5).
posit-dev/skills
Advanced theming for Shiny apps using bslib and Bootstrap 5.
posit-dev/skills
Rigorously review code or pull requests for correctness, security, accessibility, maintainability, tests, and edge cases.
posit-dev/skills
Deploy or publish Python and R content to a Posit Connect server using rsconnect-python or the R rsconnect package.
Works with
Categories
Creates a pull request from current changes, monitors GitHub CI, and debugs any failures until CI passes. PR Create is an agent skill from posit-dev/skills. Creates a pull request from current changes, monitors GitHub CI, and debugs any failures until CI passes.
PR Create fits situations like: open pull request; pr for these changes; wants to get their current work into a reviewable PR.
Run `npx skills add posit-dev/skills --skill pr-create -a claude-code`. Or copy the skill folder (github/pr-create in posit-dev/skills) into .claude/skills/pr-create in your project. Claude Code loads it when a task matches its description.
Run `npx skills add posit-dev/skills --skill pr-create -a codex`. Or copy the skill folder (github/pr-create in posit-dev/skills) into .agents/skills/pr-create 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 posit-dev/skills --skill pr-create -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-create, .gemini/skills/pr-create, .github/skills/pr-create and .opencode/skills/pr-create in your project.
Going by SKILL.md and its folder, PR Create needs a shell for the scripts in its folder and the command-line tools its instructions call (git, gh, npm, ruff, pip and cargo). Our summary lists: Python 3; A Bash shell. Compatibility (from SKILL.md): Designed for Claude Code; requires TaskCreate, TaskUpdate, and TaskList tools.
SKILL.md contains no URLs. Its commands use git, gh, npm and pip, 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 flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
PR Create is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with PR Create: ZCF Release Automation (UfoMiao/zcf, 6.1k stars), npm Package Publisher (klaudworks/universal-skills, 181 stars), Git GitHub Ops (c5inco/compose-pokedexer, 143 stars) and Push and PyPI Release (liaohch3/claude-tap, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
posit-dev (a GitHub organization) maintains it in posit-dev/skills, which has 529 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 6, 2026.
Source: posit-dev/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.