Agent skill

Shift Pull Request Rules

by shift-editor in shift-editor/shift

Rules for preparing, opening and updating pull requests in the Shift repository: Conventional Commit titles, Release Please effects, evidence-based bodies and UI screenshots.

Apache-2.0Auto-check: notesDevelopment

Install Shift Pull Request Rules

skills CLI
$ npx skills add shift-editor/shift --skill pr -a claude-code

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

GitHub CLI
$ gh skill install shift-editor/shift 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/shift-editor/shift.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/pr .claude/skills/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
pr
GitHub stars
343
Token cost
~2.1k tokens
SKILL.md length
1,087 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
Apache-2.0

At a glance

Rules for preparing, opening and updating pull requests in the Shift repository: Conventional Commit titles, Release Please effects, evidence-based bodies and UI screenshots.

  • Works in 12 steps: Read git status, staged and unstaged… → Confirm the branch contains only the… → Search open and recently closed issues;… → …
  • Opening a pull request in the Shift repository
  • SKILL.md covers Title syntax, Release Please behavior, Pull request body and Preparation process, plus 2 more sections
  • Calls git

What it does

This skill sets out how pull requests are written in the Shift font editor repository, and it also enforces issue discovery and linkage and safe pushing. Each pull request is one reviewable change, and its title must follow Conventional Commits, stay within 72 characters, use lowercase imperative wording after the colon, describe the outcome rather than the files, and omit trailing punctuation, emoji, agent labels and tool prefixes. CI rejects non-conforming titles, and the title may become a squash commit subject.

Release Please reads conventional commits merged to main: feat, fix and perf become public changelog entries, while refactor, test, docs, build, ci, style and chore stay hidden. Ordinary pull requests must not bump the product version or edit generated changelog sections, maturity changes need your explicit approval and a Release-As footer, and the generated release pull request gets its own review of version, changelog, warning text and artifact readiness.

The body is concise, with a summary of what changed and why, and sections for risks or follow-ups only when they help review. Testing notes must separate commands that passed, checks that failed and why, checks not run and focused manual verification, and release changes state whether packaging was smoke-tested. Visible UI changes need screenshots or recordings before the pull request is marked ready.

When your agent uses it

  • Opening a pull request in the Shift repository
  • Writing a Conventional Commit title that will also feed release notes
  • Updating a pull request body with accurate testing evidence
  • Reviewing the generated release pull request before merging it

Example prompts

  • “Open a pull request for this branch with a proper Conventional Commit title and a testing section.”
  • “Rewrite my PR title so it is under the length limit and describes the outcome, not the files.”
  • “Update the PR body with the checks that passed, the ones that failed and the ones I did not run.”
  • “Review the release pull request before we merge it.”

Requirements

  • A checkout of the Shift repository

Workflow steps

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

  1. Read git status, staged and unstaged diffs, the branch commits, and the complete diff against main.
  2. Confirm the branch contains only the requested change. Do not absorb unrelated dirty files.
  3. Search open and recently closed issues; decide whether the pull request closes, references, or does not require an issue.
  4. For substantial untracked work, invoke /issue before opening the pull request.
  5. Use /commit to create any required logical commits.
  6. Rebase or merge the current main only when needed. Do not rewrite a published branch without explicit approval.
  7. Run focused validation and the repository checks required by the affected subsystem.
  8. Re-read the final diff and summarize observable behavior, not implementation trivia.
  9. Choose a Conventional Commit title that matches the dominant change.
  10. Push the named branch without force unless explicitly approved.
  11. Create the pull request with an explicit base and head, preferably using a body file to preserve formatting.
  12. Verify the rendered issue keyword and all body formatting on GitHub.

What it can do on your machine

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

    • git

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

  • Network

    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.

  • 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

Shift Pull Request Rules loads about 2.1k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 1,087 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~74
When it runs · the whole SKILL.md, loaded when a task matches
~2.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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:143
    include credentials, signing material, `.env` files, or tokens.

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 shift-editor/shift at commit e7dacfa, republished under its Apache-2.0 licence (© shift-editor). 1,087 words, ~2,058 tokens.

Download SKILL.mdSave it as .claude/skills/pr/SKILL.md (or your agent's skills folder).
name
pr
description
Canonical rules for preparing, opening, and updating Shift pull requests. Use whenever the user asks to create, open, draft, update, or review a pull request. Enforces issue discovery and linkage, Conventional Commit titles, release-note quality, complete validation evidence, and safe pushing.

/pr — How Shift pull requests are written

A pull request is one reviewable product or engineering change. Its title must make sense in history and as potential Release Please input.

Title syntax

Every pull request title uses Conventional Commits:

text
<type>[optional scope][optional !]: <concise imperative description>

Use the same types and subject rules as /commit. Examples:

text
feat: add source conversion preview
fix(document): preserve the last valid save
ci: publish signed Alpha artifacts

The title must:

  • be at most 72 characters;
  • use lowercase imperative wording after the colon;
  • describe the user or system outcome, not the list of files changed;
  • omit trailing punctuation, emoji, agent labels, and [codex] prefixes.

CI rejects titles that are not Conventional Commits. GitHub may also use the pull request title as a squash commit subject, so treat it as release-quality history.

Release Please behavior

Release Please reads conventional commits merged to main and maintains a draft release pull request.

  • feat, fix, and perf become public changelog entries.
  • refactor, test, docs, build, ci, style, and chore remain valid but are hidden from public release notes.
  • Ordinary pull requests must not bump the product version or edit generated changelog sections.
  • Maturity and milestone changes require explicit user approval and a Release-As: footer.
  • The generated chore: release Shift … pull request is special: review its version, changelog, warning text, and artifact readiness before merging it.

Pull request body

Use a concise body with evidence:

markdown
## Summary

- what changed and why
- important behavioral or architectural boundary

## Issue

Closes #123

## Testing

- `exact command`
- focused manual verification

Add ## Risks or ## Follow-up only when they materially help review. Do not add empty sections, generic claims such as “tests pass,” generated marketing prose, or agent attribution.

Testing entries must distinguish:

  • commands that passed;
  • checks that failed and why;
  • checks not run;
  • focused manual verification where an automated test would be low value.

For release changes, state whether packaging was smoke-tested and which hosted platform/signing checks remain.

UI review evidence

For materially visible UI changes, attach screenshots or recordings before marking the pull request ready for review.

  • Cover every distinct state needed to review the change, including native dialogs and fallback, error, empty, loading, or disabled states when affected.
  • Capture the actual implementation. Include before-and-after evidence when the change intentionally modifies existing appearance or interaction.
  • Prefer GitHub user attachments over committing review-only media to the repository.
  • Redact private user data, credentials, and sensitive documents before uploading.
  • If useful evidence cannot be captured safely or reliably, state why in the pull request rather than silently omitting it.

Do not add ceremonial screenshots for changes with no visible review surface.

Desktop E2E impact

For changes that can affect desktop user flows or rendering, complete the E2E impact check in apps/desktop/e2e/README.md before opening or updating the pull request.

  • Search existing specs by affected surface, command, or workflow even when the branch does not change E2E files.
  • Run the smallest relevant Playwright project, file, and title filter. Run the complete affected project for broad or shared-fixture changes.
  • Update visual snapshots only for intentional appearance changes, inspect every changed image, and rerun without update mode.
  • List exact E2E commands in ## Testing; explicitly identify relevant E2E coverage not run and why.
Issue linkage

Every ordinary pull request includes ## Issue. Search open and recently closed issues before opening or updating the pull request, and reference every issue materially addressed by the change.

  • Use Closes #123 only when the pull request fully satisfies that issue's acceptance criteria. Merging to the default branch then closes the issue.
  • Use Refs #123 for partial work, prerequisites, investigation, or related context. The issue remains open.
  • If substantial feature, bug, regression, or roadmap work has no adequate issue, invoke /issue and create one before opening the pull request.
  • For small maintenance, documentation, dependency, or mechanical work with no issue, write No issue — <brief reason> rather than creating a ceremonial issue.
  • Generated Release Please and dependency-bot pull requests are exempt from the issue section.

Never use a closing keyword merely because an issue is related. If any accepted outcome remains, use Refs.

Show full SKILL.md (458 more words)Show less

Preparation process

  1. Read git status, staged and unstaged diffs, the branch commits, and the complete diff against main.
  2. Confirm the branch contains only the requested change. Do not absorb unrelated dirty files.
  3. Search open and recently closed issues; decide whether the pull request closes, references, or does not require an issue.
  4. For substantial untracked work, invoke /issue before opening the pull request.
  5. Use /commit to create any required logical commits.
  6. Rebase or merge the current main only when needed. Do not rewrite a published branch without explicit approval.
  7. Run focused validation and the repository checks required by the affected subsystem.
  8. Re-read the final diff and summarize observable behavior, not implementation trivia.
  9. Choose a Conventional Commit title that matches the dominant change.
  10. Push the named branch without force unless explicitly approved.
  11. Create the pull request with an explicit base and head, preferably using a body file to preserve formatting.
  12. Verify the rendered issue keyword and all body formatting on GitHub.
  13. Return the pull request URL, title, issue relationship, commit list, and validation status.

A request to create or update a pull request authorizes the ordinary push needed for that request. It never authorizes force-pushing, changing repository settings, merging the pull request, or publishing a release.

Review process

When reviewing a pull request:

  • inspect the diff and tests rather than trusting the body;
  • verify the title matches Conventional Commits and the actual dominant change;
  • identify user-visible feat, fix, and perf wording that would be confusing in release notes;
  • verify the issue section exists, every linked issue is relevant, and Closes is used only for complete resolution;
  • check that version and generated changelog edits appear only in a Release Please pull request;
  • distinguish blocking correctness issues from optional improvements;
  • verify claims against repository behavior and report exact paths and lines.

Hard rules

  • Never open an ordinary pull request without searching for relevant issues and including an issue section.
  • Never open a pull request from a branch with uncommitted intended changes.
  • Never include credentials, signing material, .env files, or tokens.
  • Pull request titles, bodies, comments, commits, and release-note wording must describe the change and its validation, not the process used to produce it. Never include incidental execution metadata such as agent identity, handoff mechanics, remote hosts, machine names, tmux sessions, worktree paths, or “finishing work off.” Mention such infrastructure only when it is itself the subject of the change. Platform names are allowed only when materially relevant to behavior or testing evidence.
  • Never force-push, merge, enable auto-merge, or publish a release unless the user explicitly asks.
  • Never fabricate issue links, test results, screenshots, reviewers, or release-note claims.
  • Never hide a failed or skipped check from the pull request body.

© shift-editor, Apache-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 .codex/skills/pr of shift-editor/shift.

Open the folder on GitHubat commit e7dacfa

Compare with similar skills

Shift Pull Request Rules 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.

Shift Pull Request Rules compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Shift Pull Request Rules this skillshift-editor/shift343—~2.1kAutomated safety check: NotesApache-2.0
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
Plane Release Notes Generatormakeplane/plane60k—~2.5kAutomated safety check: PassAGPL-3.0
Uui PR Contributingepam/UUI248—~1.7kAutomated safety check: NotesMIT
PR Finalize Reviewmicrosoft/garnet12k—~3.1kAutomated safety check: PassMIT
Git Workflow and Versioningaddyosmani/agent-skills102k2 repos~3.5kAutomated safety check: NotesMIT

Similar skills

  • Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.

    18k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Builds categorized release notes for a Plane release pull request from its commits and writes them into the PR description, for both the plane-cloud and plane-ee repos.

    60k GitHub stars~2.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Guides the UUI pull request process including branch naming, pre-PR checklist, changelog updates, and quality requirements.

    248 GitHub stars~1.7k tokensUpdated 8 days ago
    DevelopmentAuto-check: notes
  • PR Finalize Review

    microsoft/garnet

    Official

    Checks that a pull request's title and description match its implementation and reviews the code for Garnet best practices, reporting findings without posting them.

    12k GitHub stars~3.1k tokensUpdated today
    DevelopmentAuto-check passed
  • 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.

    102k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • 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 today
    DevelopmentAuto-check passed

More from shift-editor/shift

All 14 skills in this repo
  • Shift Commit Rules

    shift-editor/shift

    Rules for writing git commits in the Shift font editor repo: Conventional Commits subjects, user-facing changelog wording, concise subjects and logical commit boundaries.

    343 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check: notes
  • Dead Code Removal with Knip

    shift-editor/shift

    Finds unused files, exports and class members with Knip, then verifies each candidate through reference tracing before removing anything, never using knip --fix.

    343 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Shift Subsystem Docs

    shift-editor/shift

    Updates or creates DOCS.md files for Shift subsystems, recording the architecture invariants and constraints that cannot be learned from reading the source.

    343 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Adversarial Docs Audit

    shift-editor/shift

    Fact-checks DOCS.md files against the source code, testing each concrete claim and sorting it as true, false, stale or unverifiable.

    343 GitHub stars~818 tokensUpdated yesterday
    Auto-check passed
  • Shift Issue Writer

    shift-editor/shift

    Sets the rules for finding, writing and updating Shift GitHub issues: search for duplicates first, use outcome-focused titles and testable acceptance criteria.

    343 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Shift JSDoc Contracts

    shift-editor/shift

    Guides writing JSDoc for Shift exported APIs as a stable caller contract, covering ownership, lifetime, side effects and nullability that TypeScript types cannot express.

    343 GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Shift Pull Request Rules

What does Shift Pull Request Rules do?

Rules for preparing, opening and updating pull requests in the Shift repository: Conventional Commit titles, Release Please effects, evidence-based bodies and UI screenshots. This skill sets out how pull requests are written in the Shift font editor repository, and it also enforces issue discovery and linkage and safe pushing. Each pull request is one reviewable change, and its title must follow Conventional Commits, stay within 72 characters, use lowercase imperative wording after the colon, describe the outcome rather than the files, and omit trailing punctuation, emoji, agent labels and tool prefixes.

When should I use Shift Pull Request Rules?

Shift Pull Request Rules fits situations like: opening a pull request in the Shift repository; writing a Conventional Commit title that will also feed release notes; updating a pull request body with accurate testing evidence; reviewing the generated release pull request before merging it.

How do I install Shift Pull Request Rules in Claude Code?

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

How do I install Shift Pull Request Rules in Codex?

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

Can I use Shift Pull Request Rules 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 shift-editor/shift --skill 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/pr, .gemini/skills/pr, .github/skills/pr and .opencode/skills/pr in your project.

What does Shift Pull Request Rules need to run?

Going by SKILL.md and its folder, Shift Pull Request Rules needs the command-line tools its instructions call (git). Our summary lists: A checkout of the Shift repository.

Does Shift Pull Request Rules access the network?

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.

Is Shift Pull Request Rules safe to install?

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.

What licence does Shift Pull Request Rules use?

Shift Pull Request Rules is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Shift Pull Request Rules use?

About 2.1k tokens (SKILL.md is roughly 8.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 Shift Pull Request Rules?

Skills that share tags, products or a category with Shift Pull Request Rules: Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), Plane Release Notes Generator (makeplane/plane, 60k stars), Uui PR Contributing (epam/UUI, 248 stars) and PR Finalize Review (microsoft/garnet, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Shift Pull Request Rules?

shift-editor (a GitHub organization) maintains it in shift-editor/shift, which has 343 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 6, 2026.

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