Agent skill

Create PR

by penpot in penpot/penpot

PR flow — open a new PR for the current task branch (validates base branch, commits, issue and push state) or update an existing PR's title or description to match Penpot conventions.

MPL-2.0Auto-check passedDevelopment

Install Create PR

skills CLI
$ npx skills add penpot/penpot --skill create-pr -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install penpot/penpot create-pr --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/penpot/penpot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/create-pr .claude/skills/create-pr && rm -rf skills-src

Use ~/.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/

Facts

Skill name
create-pr
GitHub stars
61k
Token cost
~1.4k tokens
SKILL.md length
777 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
MPL-2.0

At a glance

PR flow — open a new PR for the current task branch (validates base branch, commits, issue and push state) or update an existing PR's title or description to match Penpot conventions.

  • Works in 5 steps: Gather context (read-only) → Validate — stop with one message if… → Already-open PR → …
  • The user asks to open
  • SKILL.md covers When to use, Open mode, Update mode and User context
  • Calls gh, git and python3

What it does

Create PR is an agent skill from penpot/penpot. PR flow — open a new PR for the current task branch (validates base branch, commits, issue and push state) or update an existing PR's title or description to match Penpot conventions. Use it when the user asks to open or create a PR, in any phrasing.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Pull requests. It works with Git. The repository describes itself as: Penpot: The open-source design platform for Product teams that need scalable collaboration. The licence is MPL-2.0.

When your agent uses it

  • The user asks to open
  • In any phrasing

Example prompts

  • “/create-pr”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Gather context (read-only)
  2. Validate — stop with one message if anything fails
  3. Already-open PR
  4. Write and create the PR
  5. Report

What it can do on your machine

Read from SKILL.md and the folder at commit cb1118f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Create PR loads about 1.4k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 777 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~65
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

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.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

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.

SKILL.md

The full file from penpot/penpot at commit cb1118f, republished under its MPL-2.0 licence (© penpot). 777 words, ~1,428 tokens.

Download SKILL.mdSave it as .claude/skills/create-pr/SKILL.md (or your agent's skills folder).
name
create-pr
description
PR flow — open a new PR for the current task branch (validates base branch, commits, issue and push state) or update an existing PR's title or description to match Penpot conventions. Use it when the user asks to open or create a PR, in any phrasing.

Create PR

Two modes. Open mode takes the current task branch to a new, validated PR. Update mode rewrites an existing PR's title or description. Gather information, validate, and act in one pass. If validation fails, STOP with a single coherent message that lists every problem and states exactly what information is missing — never fix or work around problems silently.

Both modes require an authenticated gh CLI (gh auth status) and never push — the user pushes from their own shell.

When to use

  • The user asks to open or create a NEW PR for the current task branch, in any phrasing ("open a PR", "create the pull request", "put this up for review") — or runs /create-pr. → Open mode.
  • The user asks to fix or update an EXISTING PR's title or description to match conventions. → Update mode.

If the running agent cannot write (for example, the plan agent), say so and stop — this skill needs the build agent.

Open mode

1. Gather context (read-only)
  • Current branch: git rev-parse --abbrev-ref HEAD.
  • Target base branch: run ./scripts/detect-target-branch from the repo root. It prints the nearest ancestor branch of HEAD (exit 0) or fails (exit 1).
  • Commits: git log --oneline <base>..HEAD.
  • Push state (local): git rev-parse --verify origin/<branch> and compare with HEAD. It reads the local remote-tracking ref — no network, no SSH. It reflects the last push or fetch this clone knows about.
  • Issue: from the session context, or from the branch name — issue-NNNN maps to issue NNNN; recover its title and body with gh issue view NNNN.
2. Validate — stop with one message if anything fails

Run all checks before reporting, then report every failure together:

  1. Base branch not usable. If the script fails (exit 1), or its output — after stripping an optional remotes/origin/ prefix — is not one of the canonical branches (develop, staging, main), stop and ask the user to re-run with more context — for example, passing the base branch explicitly in their invocation. An explicit base given by the user overrides the script's output.
  2. On a base branch. There is no task branch to merge — say so and stop.
  3. No commits. The branch has no commits ahead of the base — say so and stop.
  4. No clear issue. There is no issue in the session context, and the branch name has no issue-NNNN pattern (or gh issue view finds nothing) — say so and stop. Exception: the user's invocation says no issue / without issue — then continue without an issue reference.
  5. Branch not pushed. The remote-tracking ref origin/<branch> is missing, or git rev-parse origin/<branch> differs from HEAD — the branch was never pushed, or has commits the remote does not have. Never push yourself; ask the user to push and to run /create-pr again afterwards, then stop.
Show full SKILL.md (320 more words)Show less
3. Already-open PR

Check whether a PR already exists for this branch (gh pr list --head <branch>). If one exists, report its URL and stop — do not create a second one. Title or description fixes belong to Update mode.

4. Write and create the PR

Write the title and body following mem:workflow/creating-prs (title format, description structure, writing principles) and mem:workflow/creating-commits (commit type emojis). Derive the title and body from the commits and, when there is one, from the issue body. Include Closes #NNNN for readable context, but do not treat it as the link; use python3 scripts/gh.py link-issue <ISSUE_NUMBER> <PR_NUMBER> after creating the PR.

Repeat the AI-assisted-by: trailer in the body, once per model that worked on the branch, so the PR states the assistance where a reviewer reads it. The branch commits keep their own trailers, and a squash merge carries every one of them into the landed message.

Before offering or accepting a draft PR, warn that CI doesn't run on them. Add --draft only when the user agrees to that.

bash
gh pr create --repo penpot/penpot --base "<BASE>" --title "<TITLE>" \
  --project "Main" --body-file /tmp/pr-body.md

--base is the branch resolved in step 1: without it the PR opens against the repository default, which is wrong for a branch cut from staging. --project "Main" is required by mem:workflow/creating-prs.

If an issue is present, run the explicit assignment command from mem:workflow/creating-prs before reporting success:

bash
python3 scripts/gh.py link-issue <ISSUE_NUMBER> <PR_NUMBER>
5. Report

Report the PR URL and stop.

Update mode

  1. Identify the PR: the number given by the user, or gh pr list --head <branch>.
  2. Write the new title and/or body following mem:workflow/creating-prs.
  3. Apply and verify:
bash
gh pr edit <NUMBER> --repo penpot/penpot --title "<TITLE>" --body-file /tmp/pr-body.md
gh pr view <NUMBER> --repo penpot/penpot --json title,body

If the updated body contains Closes #NNNN, run the explicit assignment command from mem:workflow/creating-prs:

bash
python3 scripts/gh.py link-issue <ISSUE_NUMBER> <PR_NUMBER>
  1. Report and stop.

User context

Extra context in the user's invocation (the message that triggered this skill) plays the role command arguments play elsewhere: overrides such as no issue / without issue, an explicit base branch (from origin/staging), a PR number for Update mode, and so on.

© penpot, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/create-pr of penpot/penpot.

Open the folder on GitHubat commit cb1118f

Compare with similar skills

Create PR 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.

Create PR compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create PR this skillpenpot/penpot61k—~1.4kAutomated safety check: PassMPL-2.0
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Understand Diff AnalysisEgonex-AI/Understand-Anything86k1 repos~1.4kAutomated safety check: PassMIT
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Open Code Review CLIalibaba/open-code-review44k—~3.1kAutomated safety check: PassApache-2.0
Create Pull Requestcline/cline70k1 repos~1.6kAutomated safety check: PassApache-2.0

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Understand Diff Analysis

    Egonex-AI/Understand-Anything

    Reads your git changes or a pull request against a prebuilt knowledge graph of the project to explain what changed, which components are affected and what is risky.

    86k GitHub starsUsed in 1 repo~1.4k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Open Code Review CLI

    alibaba/open-code-review

    Runs the ocr command-line tool to review Git changes, a commit or a branch comparison with an AI model, returning line-level comments and optionally applying fixes.

    44k GitHub stars~3.1k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • Pull Request Title and Body Writer

    openinterpreter/openinterpreter

    Rewrites the title and body of one or more pull requests with gh, leading with why the change was made, then what changed, and describing only the net result.

    69k GitHub starsUsed in 2 repos~1.1k tokens
    DevelopmentAuto-check passed

More from penpot/penpot

All 24 skills in this repo
  • Hardens code against vulnerabilities. An agent skill from penpot/penpot.

    61k GitHub starsUsed in 6 repos~4.7k tokens
    Auto-check: notes
  • Bat Cat

    penpot/penpot

    A cat clone with syntax highlighting, line numbers, and Git integration - a modern replacement for cat.

    61k GitHub starsUsed in 3 repos~1.1k tokens
    Auto-check passed
  • Local CI

    penpot/penpot

    Run local CI-style checks with ./scripts/ci (lint, tests, format) per monorepo module.

    61k GitHub stars~822 tokensUpdated today
    Auto-check passed
  • Ste

    penpot/penpot

    Write or rewrite text in ASD-STE100 Simplified Technical English.

    61k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Code review criteria — the five review axes, core principles, severity format, and verdict for reviewing code changes.

    61k GitHub stars~3.6k tokensUpdated today
    Auto-check passed
  • Create Commit

    penpot/penpot

    Stage, review, and commit files following Penpot commit conventions.

    61k GitHub stars~690 tokensUpdated today
    Auto-check: notes

Works with

Categories

Questions about Create PR

What does Create PR do?

PR flow — open a new PR for the current task branch (validates base branch, commits, issue and push state) or update an existing PR's title or description to match Penpot conventions. Create PR is an agent skill from penpot/penpot. PR flow — open a new PR for the current task branch (validates base branch, commits, issue and push state) or update an existing PR's title or description to match Penpot conventions.

When should I use Create PR?

Create PR fits situations like: the user asks to open; in any phrasing.

How do I install Create PR in Claude Code?

Run `npx skills add penpot/penpot --skill create-pr -a claude-code`. Or copy the skill folder (.agents/skills/create-pr in penpot/penpot) into .claude/skills/create-pr in your project. Claude Code loads it when a task matches its description.

How do I install Create PR in Codex?

Run `npx skills add penpot/penpot --skill create-pr -a codex`. Or copy the skill folder (.agents/skills/create-pr in penpot/penpot) into .agents/skills/create-pr in your project. Codex loads it when a task matches its description.

Can I use Create PR in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add penpot/penpot --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.

What does Create PR need to run?

Going by SKILL.md and its folder, Create PR needs the command-line tools its instructions call (gh, git and python3). Our summary lists: Python 3.

Does Create PR access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Create PR safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Create PR use?

Create PR is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Create PR use?

About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Create PR?

Skills that share tags, products or a category with Create PR: Finishing a Development Branch (obra/superpowers, 296k stars), Understand Diff Analysis (Egonex-AI/Understand-Anything, 86k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Open Code Review CLI (alibaba/open-code-review, 44k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Create PR?

penpot (a GitHub organization) maintains it in penpot/penpot, which has 60,798 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 7, 2026.

Source: penpot/penpot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.