Agent skill

PR Workflow

by usenotra in usenotra/notra

Git workflow for pushing code and opening pull requests on GitHub.

AGPL-3.0Auto-check passedDevelopment

Install PR Workflow

skills CLI
$ npx skills add usenotra/notra --skill pr-workflow -a claude-code

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

GitHub CLI
$ gh skill install usenotra/notra pr-workflow --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/usenotra/notra.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pr-workflow .claude/skills/pr-workflow && 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
pr-workflow
GitHub stars
256
Token cost
~1.1k tokens
SKILL.md length
541 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Git workflow for pushing code and opening pull requests on GitHub.

  • Works in 4 steps: Confirm the user asked — in their latest… → Branch off the default branch. Unless… → Commit with a Conventional Commit… → …
  • The user says push
  • SKILL.md covers Workflow, Notes, Gotchas and Troubleshooting
  • Calls gh and git

What it does

PR Workflow is an agent skill from usenotra/notra. Git workflow for pushing code and opening pull requests on GitHub. ALWAYS use this before you git push, push to a remote, open or create a pull request, raise a PR, or "ship" code. Covers confirming the user actually asked to push, cutting a Conventional-Commits feature branch off main, writing a Conventional-Commit PR title, and using the repo's .github PR template as the body. Use whenever the user says push, ship, open/create a PR, raise a pull request, or commit-and-push.

Its SKILL.md is about 1.1k 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 Commit messages, Pull requests and Git workflow. It works with GitHub and Git. The repository describes itself as: Notra is a modern GEO tool that asks ChatGPT, Claude and Gemini the questions your buyers ask. See if you show up, who shows up instead and how to fix it. The licence is AGPL-3.0.

When your agent uses it

  • The user says push
  • Open/create a PR
  • Raise a pull request
  • Commit-and-push

Example prompts

  • “/pr-workflow”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Confirm the user asked — in their latest message. Pushing to a remote /
  2. Branch off the default branch. Unless the user explicitly says to push
  3. Commit with a Conventional Commit message, then push the branch.
  4. Open the PR with a Conventional-Commit title

What it can do on your machine

Read from SKILL.md and the folder at commit e6483cd. 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

    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

PR Workflow loads about 1.1k tokens when it runs. Until then it costs about 123 tokens; SKILL.md has 541 words of instructions outside code blocks.

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

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 usenotra/notra at commit e6483cd, republished under its AGPL-3.0 licence (© usenotra). 541 words, ~1,051 tokens.

Download SKILL.mdSave it as .claude/skills/pr-workflow/SKILL.md (or your agent's skills folder).
name
pr-workflow
description
Git workflow for pushing code and opening pull requests on GitHub. ALWAYS use this before you git push, push to a remote, open or create a pull request, raise a PR, or "ship" code. Covers confirming the user actually asked to push, cutting a Conventional-Commits feature branch off main, writing a Conventional-Commit PR title, and using the repo's .github PR template as the body. Use whenever the user says push, ship, open/create a PR, raise a pull request, or commit-and-push.

Workflow

  1. Confirm the user asked — in their latest message. Pushing to a remote / opening a PR is outward-facing and hard to undo. Do it only when the user's most recent request actually says to push, ship, or open a PR. Approval from an earlier turn does not carry forward — "make the change" is not "push it." If you finished work and the user didn't ask to push, stop and ask. Never push proactively.

  2. Branch off the default branch. Unless the user explicitly says to push straight to main (e.g. "commit straight to main", "push to main directly"), create a feature branch named with Conventional Commits: <type>/<kebab-description>, e.g. feat/add-logout-button.

  3. Commit with a Conventional Commit message, then push the branch. Always make a new commit. Never force-push (git push --force / --force-with-lease) and never amend (git commit --amend) or otherwise rewrite existing commits — unless the user explicitly asks for it in their latest message. To update a PR or fix a previous commit, add another commit and push normally.

  4. Open the PR with a Conventional-Commit title (<type>[(scope)][!]: <subject>, e.g. feat(auth): add OAuth login). For the body: if a .github PR template exists, use it verbatim and add no extra sections, summaries, or "test plan" fields. If there's no template, keep the body to a one-line description — don't invent a template.

type is one of: feat fix docs style refactor perf test build ci chore revert.

Notes

  • Default branch: the base for the PR is the repo's default branch — read it from origin/HEAD, falling back to main.
  • Branch names: lowercase the description, replace spaces and punctuation with dashes, prefix the type — "Add Login (OAuth)" with type feat → feat/add-login-oauth.
  • Finding the PR template: check .github/PULL_REQUEST_TEMPLATE.md first, then the lowercase variant, then the repo root, then docs/. The .github/PULL_REQUEST_TEMPLATE/ directory form holds multiple templates — if the repo uses it, pass the chosen file to gh pr create --body-file.
  • Opening the PR: gh pr create --base <default-branch> --title "<conventional title>" with --body-file <template> when a template exists, or a one-line --body when it doesn't.
Show full SKILL.md (200 more words)Show less

Gotchas

  • "The user asked earlier" is not the latest message. Step 1 is about the most recent request. If it was "fix the bug" and you fixed it, you have not been asked to push. Ask first.
  • A PR template is not a checklist for you to fill in. Use it verbatim as the body; leave its checkboxes/headings exactly as written unless the user fills them. Stacking your own "## Summary / ## Test plan" on top of an existing template is wrong.
  • Never rewrite history to "clean up." Force-pushing and amending are destructive and break anyone who pulled the branch. Even when a previous commit was wrong, the default is a new follow-up commit, not an amend or force-push. Only rewrite when the user explicitly tells you to in their latest message.
  • The template lookup checks .github first, then the repo root, then docs/, and includes the .github/PULL_REQUEST_TEMPLATE/ directory form (multiple templates). If the repo has several, ask which to use.

Troubleshooting

  • gh pr create fails with no default remote repository → run gh repo set-default <owner>/<repo> once, or pass --repo <owner>/<repo>.
  • gh: not authenticated → the user must run gh auth login themselves (suggest they type ! gh auth login). Don't authenticate for them.

© usenotra, AGPL-3.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/pr-workflow of usenotra/notra.

Open the folder on GitHubat commit e6483cd

Compare with similar skills

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

PR Workflow compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PR Workflow this skillusenotra/notra256—~1.1kAutomated safety check: PassAGPL-3.0
React Router Pull Request Creatorremix-run/react-router57k—~2.5kAutomated safety check: PassMIT
Draft Pull Request Creatorwordpress-mobile/WordPress-Android3.2k—~881Automated safety check: NotesGPL-2.0
Publish Pull Request for taskctltaskctl/taskctl434—~979Automated safety check: PassGPL-3.0
Git GitHub Opsc5inco/compose-pokedexer143—~1.3kAutomated safety check: PassMIT
Pull Request Creationlobehub/lobehub83k—~3.2kAutomated safety check: PassCustom licence

Similar skills

  • React Router Pull Request Creator

    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.

    57k GitHub stars~2.5k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Draft Pull Request Creator

    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.

    3.2k GitHub stars~881 tokensUpdated today
    DevelopmentAuto-check: notes
  • Publishes the current branch and opens or updates a GitHub pull request for the taskctl repo, after a pre-publish gate and with a description template matched to the change.

    434 GitHub stars~979 tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • Git GitHub Ops

    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.

    143 GitHub stars~1.3k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Pull Request Creation

    lobehub/lobehub

    Creates a pull request for the current branch against canary, or splits a cross-layer branch into ordered stacked PRs so backend changes merge before their callers.

    83k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed
  • GitHub PR Workflow

    RedWoodOG/Hermes-Desktop

    Full pull request lifecycle — create branches, commit changes, open PRs, monitor CI status, auto-fix failures, and merge.

    177 GitHub starsUsed in 5 repos~2.5k tokens
    DevelopmentAuto-check: notes

More from usenotra/notra

All 17 skills in this repo
  • Ponytail Help

    usenotra/notra

    Quick-reference card for all ponytail modes, skills, and commands.

    256 GitHub starsUsed in 3 repos~697 tokens
    Auto-check passed
  • Neon Postgres

    usenotra/notra

    Guides and best practices for working with Lakebase Postgres, the database behind Neon.

    256 GitHub stars~4.1k tokensUpdated today
    Auto-check: notes
  • Satori

    usenotra/notra

    Expert guidance for Satori, the library that converts JSX/HTML and CSS into SVG (the engine behind dynamic Open Graph images and social cards).

    256 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Workos Widgets

    usenotra/notra

    A skill your agent uses when the user is implementing, embedding, or debugging a WorkOS Widget — specifically the User Management, User Profile, Admin Portal SSO Connection, or Admin Portal Domain…

    256 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Autumn Catalog

    usenotra/notra

    Modeling a user's pricing into an Autumn catalog — deciding the structure (plans, variants, add-ons, licenses, credit systems, pooled balances) before writing config, then filling in the numbers.

    256 GitHub stars~6.1k tokensUpdated today
    Auto-check passed
  • Code Organization

    usenotra/notra

    Repo file-organization convention for TypeScript projects. An agent skill from usenotra/notra.

    256 GitHub stars~893 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about PR Workflow

What does PR Workflow do?

Git workflow for pushing code and opening pull requests on GitHub. PR Workflow is an agent skill from usenotra/notra. Git workflow for pushing code and opening pull requests on GitHub.

When should I use PR Workflow?

PR Workflow fits situations like: the user says push; open/create a PR; raise a pull request; commit-and-push.

How do I install PR Workflow in Claude Code?

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

How do I install PR Workflow in Codex?

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

Can I use PR Workflow 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 usenotra/notra --skill pr-workflow -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-workflow, .gemini/skills/pr-workflow, .github/skills/pr-workflow and .opencode/skills/pr-workflow in your project.

What does PR Workflow need to run?

Going by SKILL.md and its folder, PR Workflow needs the command-line tools its instructions call (gh and git).

Does PR Workflow 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 PR Workflow 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 PR Workflow use?

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

How many tokens does PR Workflow use?

About 1.1k tokens (SKILL.md is roughly 4.2k 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 PR Workflow?

Skills that share tags, products or a category with PR Workflow: React Router Pull Request Creator (remix-run/react-router, 57k stars), Draft Pull Request Creator (wordpress-mobile/WordPress-Android, 3.2k stars), Publish Pull Request for taskctl (taskctl/taskctl, 434 stars) and Git GitHub Ops (c5inco/compose-pokedexer, 143 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PR Workflow?

usenotra (a GitHub organization) maintains it in usenotra/notra, which has 256 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 8, 2026.

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