Agent skill

Pull Request

by s3s-project in s3s-project/s3s

Prepare a change for this repository as a pull request. An agent skill from s3s-project/s3s.

Apache-2.0Auto-check passedDevelopment

Install Pull Request

skills CLI
$ npx skills add s3s-project/s3s --skill pull-request -a claude-code

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

GitHub CLI
$ gh skill install s3s-project/s3s pull-request --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/s3s-project/s3s.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pull-request .claude/skills/pull-request && 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
pull-request
GitHub stars
311
Token cost
~2k tokens
SKILL.md length
1,167 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
Apache-2.0

At a glance

Prepare a change for this repository as a pull request. An agent skill from s3s-project/s3s.

  • A branch is ready to publish
  • SKILL.md covers Before publishing, Branch and history, Commits and Title and body, plus 6 more sections
  • Calls just and cargo
  • Writing the commit series

What it does

Pull Request is an agent skill from s3s-project/s3s. Prepare a change for this repository as a pull request. Use when a branch is ready to publish, when writing the commit series or the pull request description, or when a queued pull request needs follow-up.

Its SKILL.md is about 2k 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 Rust. The licence is Apache-2.0.

When your agent uses it

  • A branch is ready to publish
  • Writing the commit series
  • The pull request description
  • A queued pull request needs follow-up

Example prompts

  • “/pull-request”

Requirements

  • Python 3

What it can do on your machine

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

    • just
    • cargo

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

  • Network

    Links to these hosts (documentation or services it may open):

    • conventionalcommits.org
    • github.com

    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

Pull Request loads about 2k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 1,167 words of instructions outside code blocks.

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

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 s3s-project/s3s at commit 1e1c52e, republished under its Apache-2.0 licence (© s3s-project). 1,167 words, ~1,959 tokens.

Download SKILL.mdSave it as .claude/skills/pull-request/SKILL.md (or your agent's skills folder).
name
pull-request
description
Prepare a change for this repository as a pull request. Use when a branch is ready to publish, when writing the commit series or the pull request description, or when a queued pull request needs follow-up.
license
Apache-2.0

Pull request

A pull request here is squash-merged into main, so its title becomes the commit subject on main and its body is the only narrative a later reader gets. Prepare both with the same care as the diff.

Before publishing

  • Run the gates on the tree that will be pushed: just dev, just ci-rust, and the nightly clippy line CI uses. just ci-rust ends with assert_unchanged, so a codegen run that is not committed fails the gate; keep just codegen idempotent. CI runs just ci-rust under both a stable and a nightly toolchain, so the nightly half has to be run locally as cargo +nightly clippy --workspace --all-targets --all-features -- -D warnings.
  • Run just ci-python for Python changes, just spdx-check for new files, and just link-license-check when the set of published crates changes. A skill lives in .agents/skills/<name>/SKILL.md, is symlinked from .github/skills/<name>, and carries license: "Apache-2.0" in its frontmatter instead of an SPDX header.
  • A change that touches a feature gate is also checked in s3s-fs: the default build must not pull quinn or h3, and --features http3 must.
  • Collect the evidence the body will cite: commands, exit codes, counts, and the source of every number (a gate, a measurement, a parity check).
  • Keep one logical change per branch. A second concern rides in a second pull request, not in a second commit series.

Branch and history

  • Name the branch <type>/<slug> with the same type the commits use: feat/, fix/, docs/, test/, refactor/, chore/.
  • Branch from main, or from the branch the change builds on, and keep the history linear: the main ruleset requires linear history and the merge method is squash, so merge commits and "fix review" commits only enlarge the reviewer's diff.
  • Fold a fix into the commit that owns the file and push with --force-with-lease. Rewriting your own unmerged branch is normal here; rewriting a branch someone else reviewed warrants a comment that says what moved.

Commits

  • Follow Conventional Commits; the Git section of CONTRIBUTING.md points there.
  • Scope with the crate or the area the change belongs to (s3s, s3s-fs, codegen, xtask, ci, deps, release, ...).
  • The subject states the change; the body states why it is needed and what it makes true. Do not narrate the iterations that led to it.
  • Mark a change that alters existing behaviour with ! after the type or scope (feat(s3s)!:) and describe the migration under ### Behavior.
  • Add Assisted-by: <tool>:<model> when a tool wrote a substantive part of the change, and never add Signed-off-by on someone else's behalf; the AI Contribution Policy governs both.

Title and body

  • Title: the subject of the squash commit, without a (#N) suffix — GitHub appends the number when it merges.
  • Body: use these sections in this order and drop the ones that do not apply.
    • ### Summary — one paragraph: the problem, the change, and the number that shows the effect.
    • ### Changes — bullets, one per behavioural unit rather than one per file.
    • ### Behavior — what changes for a user or a caller, including deliberate breakages.
    • ### Tests — what ran, with exit codes or counts, plus any parity check or red control that shows the tests can fail.
    • ### References — the issues, upstream discussions or earlier pull requests the change answers. Write Part of #N while the issue still tracks other work: Fixes and Closes close it on merge.
    • ### Dependencies — what the change adds, removes or bumps, and anything the release order depends on.
    • ### AI — the tool and model that took part, what they did, and that a human reviewed the diff and owns the change.
  • Open the pull request as a draft: the main ruleset runs a Copilot code review on drafts too. Convert it to ready when the checks are green and the description is complete.
Show full SKILL.md (553 more words)Show less

What the checks will run

  • CI runs on pull_request against main and feat/**, on merge_group, on a weekly schedule and on manual dispatch. skip-check is configured with paths_ignore: '["*.md"]', and status-check aggregates the jobs; that aggregate is the only check the ruleset requires.
  • A pull request runs python, rust-msrv, rust (stable and nightly; the nightly leg is continue-on-error), cross-test (macOS and Windows), wasm-test and coverage.
  • The seven e2e jobs (mint, s3-tests, boto3, rclone, s3s-e2e against silo or s3s-fs) carry if: github.event_name != 'pull_request': they run in the merge queue and on the schedule, never on the pull request. A pull request with every visible check green can therefore still fail the queue, so run the affected script under scripts/ before queueing it.
  • Audit (dependency and license policy) runs when a manifest, the lockfile or .cargo/ changes; Fuzz when fuzz/, crates/ or its own workflow changes — on a pull request that is fuzz-check alone, because fuzz-run carries the same != 'pull_request' gate and fuzzes one rotating target per week on the schedule; Semver runs on every pull request and merge group.
  • Code scanning uses GitHub's default setup. A very large diff can make it attribute pre-existing alerts to the pull request, and that check is not required: read code-scanning/alerts before treating it as a finding.

Landing

  • main takes pull requests through the merge queue with the squash method; the queue re-runs CI, Audit and Semver on merge_group, and that is where the e2e jobs run for the first time. A queued pull request that fails the queue is dequeued rather than merged, so read the merge_group run before queueing it again.
  • Merging does not delete the head branch, so clean up after it: once the pull request is merged, delete the head branch (remote and local) and remove the worktree instead of leaving a stale checkout behind.

Working with a review

  • Treat a review comment as a question to settle, not a verdict to obey: answer with the artifact that settles it (a command, a file, a test) and state what changed.
  • Reply on the line that was questioned, and say what changed.
  • Either amend the commit that owns the change or append a commit that answers the review; both are accepted here. Pick the one that leaves the history easiest to read and mention which one you used.

Watching a pull request

Hang cargo run -p xtask -- watch-pr <PR#> in the background while a pull request is open, read its log when it exits and hang it again; the watch-pr skill covers the state line, the exit conditions, the restart discipline, and how to wait for checks alone with gh.

The public layer

Everything committed here, and everything pasted into a pull request, a review or a log, is public. Strip local paths, internal notes, tool- or machine-specific references, and personal data before they leave the machine, and keep a published tool self-contained: no dependency on a local checkout, no absolute path, no private context. A script that is brought into the repository is rewritten for that audience rather than copied.

What needs an explicit instruction

Pushing a branch, opening, undrafting, queueing or merging a pull request, dismissing a scanning alert, changing repository settings, deleting branches, and force-pushing a branch somebody else owns are actions to take only when the person responsible asks for them.

© s3s-project, 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 .agents/skills/pull-request of s3s-project/s3s.

Open the folder on GitHubat commit 1e1c52e

Compare with similar skills

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.

Pull Request compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pull Request this skills3s-project/s3s311—~2kAutomated safety check: PassApache-2.0
SeekDB Code Reviewoceanbase/seekdb3.1k—~2.1kAutomated safety check: PassApache-2.0
Commit ScopeDevolutions/IronRDP3.2k—~854Automated safety check: PassApache-2.0
PR Cyclejaemk/cached2.1k—~4.8kAutomated safety check: NotesMIT
PR Reviewjaemk/self_update961—~1.5kAutomated safety check: NotesMIT
PR Reviewjaemk/cached2.1k—~2.5kAutomated safety check: NotesMIT

Similar skills

  • SeekDB Code Review

    oceanbase/seekdb

    Reviews seekdb pull requests and diffs for real defects in correctness, resources, concurrency, security and tests, reporting only Blocker or Major findings.

    3.1k GitHub stars~2.1k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Commit Scope

    Devolutions/IronRDP

    Derive and validate the canonical scope for IronRDP Conventional Commit and pull-request titles.

    3.2k GitHub stars~854 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • PR Cycle

    jaemk/cached

    PR review-and-update cycle — the orchestrator that takes a PR from review to resolved.

    2.1k GitHub stars~4.8k tokensUpdated 6 days ago
    DevelopmentAuto-check: notes
  • PR Review

    jaemk/self_update

    Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/self_update.

    961 GitHub stars~1.5k tokensUpdated 1 mo ago
    DevelopmentAuto-check: notes
  • PR Review

    jaemk/cached

    Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/cached.

    2.1k GitHub stars~2.5k tokensUpdated 6 days ago
    DevelopmentAuto-check: notes
  • Rocketmq Rust PR Submitter

    mxsm/rocketmq-rust

    A skill your agent uses when the user asks to prepare, submit, publish, or optimize a pull request for the rocketmq-rust project, especially when the PR title or commit message must follow the [ISSUE

    1.5k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed

More from s3s-project/s3s

All 10 skills in this repo
  • Code Coverage

    s3s-project/s3s

    Measure and grow the line coverage of the s3s crate. An agent skill from s3s-project/s3s.

    311 GitHub stars~789 tokensUpdated today
    Auto-check passed
  • Gh Stack

    s3s-project/s3s

    Work with stacked pull requests in this repository using gh stack.

    311 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Code Review

    s3s-project/s3s

    Review a pull request or a proposed change to this repository.

    311 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Codegen

    s3s-project/s3s

    Change generated code in this repository. An agent skill from s3s-project/s3s.

    311 GitHub stars~726 tokensUpdated today
    Auto-check passed
  • Fuzz Testing

    s3s-project/s3s

    Add, run or schedule a fuzz target in this repository. An agent skill from s3s-project/s3s.

    311 GitHub stars~838 tokensUpdated today
    Auto-check passed
  • Mutation Testing

    s3s-project/s3s

    Run or triage the mutation sweep in this repository. An agent skill from s3s-project/s3s.

    311 GitHub stars~917 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Pull Request

What does Pull Request do?

Prepare a change for this repository as a pull request. An agent skill from s3s-project/s3s. Pull Request is an agent skill from s3s-project/s3s. Prepare a change for this repository as a pull request.

When should I use Pull Request?

Pull Request fits situations like: A branch is ready to publish; writing the commit series; the pull request description; A queued pull request needs follow-up.

How do I install Pull Request in Claude Code?

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

How do I install Pull Request in Codex?

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

Can I use Pull Request 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 s3s-project/s3s --skill pull-request -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pull-request, .gemini/skills/pull-request, .github/skills/pull-request and .opencode/skills/pull-request in your project.

What does Pull Request need to run?

Going by SKILL.md and its folder, Pull Request needs the command-line tools its instructions call (just and cargo). Our summary lists: Python 3.

Does Pull Request access the network?

SKILL.md names 2 domains. As links in the text: conventionalcommits.org and github.com. This is read from the text; nothing was executed.

Is Pull Request 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 Pull Request use?

Pull Request is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pull Request use?

About 2k tokens (SKILL.md is roughly 7.8k 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 Pull Request?

Skills that share tags, products or a category with Pull Request: SeekDB Code Review (oceanbase/seekdb, 3.1k stars), Commit Scope (Devolutions/IronRDP, 3.2k stars), PR Cycle (jaemk/cached, 2.1k stars) and PR Review (jaemk/self_update, 961 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pull Request?

s3s-project (a GitHub organization) maintains it in s3s-project/s3s, which has 311 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.

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