Agent skill

Open Pull Request

by Gremlinq in Gremlinq/ExRam.Gremlinq

A skill your agent uses when opening a pull request for the current branch, or when an existing pull request needs a better description - including when the check-description CI check has failed.

MITAuto-check passedDevelopment

Install Open Pull Request

skills CLI
$ npx skills add Gremlinq/ExRam.Gremlinq --skill open-pull-request -a claude-code

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

GitHub CLI
$ gh skill install Gremlinq/ExRam.Gremlinq open-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/Gremlinq/ExRam.Gremlinq.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/open-pull-request .claude/skills/open-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
open-pull-request
GitHub stars
187
Token cost
~1.5k tokens
SKILL.md length
849 words
Files
4 (incl. scripts, references)
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when opening a pull request for the current branch, or when an existing pull request needs a better description - including when the check-description CI check has failed.

  • Works in 6 steps: Run scripts/prerequisites.sh. It… → Pick the mode from what the script… → Write the description according to the… → …
  • Opening a pull request for the current branch
  • SKILL.md covers Why this exists, Usage, Workflow and The three modes, plus 2 more sections
  • Runs Shell scripts from its folder; calls git and gh

What it does

Open Pull Request is an agent skill from Gremlinq/ExRam.Gremlinq. Use this skill when opening a pull request for the current branch, or when an existing pull request needs a better description - including when the check-description CI check has failed. Writes the description that later becomes this change's release note. Invokes when asked to "open a pull request", "create a PR", "fix the PR description" or similar. Does NOT bump versions, create tags or push tags.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/description-style.md`, `scripts/check-description.sh` and `scripts/prerequisites.sh`).

It sits in Development, covering Pull requests and Changelog and release notes. It works with Azure Cosmos DB and .NET. The repository describes itself as: A .NET object-graph-mapper for Apache TinkerPop™ Gremlin enabled databases. The licence is MIT.

When your agent uses it

  • Opening a pull request for the current branch
  • An existing pull request needs a better description - including when the check-description CI check has failed

Example prompts

  • “s release note. Invokes when asked to”
  • “create a PR”
  • “fix the PR description”
  • “/open-pull-request”

Requirements

  • A Bash shell

Workflow steps

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

  1. Run scripts/prerequisites.sh. It verifies the tooling, resolves the base branch and
  2. Pick the mode from what the script reported and from what you already know
  3. Write the description according to the style guide.
  4. Self-check it: run scripts/check-description.sh . It applies the same
  5. Push the branch, if prerequisites.sh reported pushed=false
  6. Create or update the pull request. Always pass the body through a file

What it can do on your machine

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

    Ships 2 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • gh

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

  • Network

    No URLs in SKILL.md. Its commands use git and gh, 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

Open Pull Request loads about 1.5k tokens when it runs, and up to ~2.8k if it reads all its reference files. Until then it costs about 106 tokens; SKILL.md has 849 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~106
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.8k

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); the scripts in this folder are not scanned.

SKILL.md

The full file from Gremlinq/ExRam.Gremlinq at commit bb8c6fe, republished under its MIT licence (© Gremlinq). 849 words, ~1,512 tokens.

Download SKILL.mdSave it as .claude/skills/open-pull-request/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
open-pull-request
description
Use this skill when opening a pull request for the current branch, or when an existing pull request needs a better description - including when the `check-description` CI check has failed. Writes the description that later becomes this change's release note. Invokes when asked to "open a pull request", "create a PR", "fix the PR description" or similar. Does NOT bump versions, create tags or push tags.

Open Pull Request

Opens a pull request for the current branch with a description good enough to become a release note, or repairs the description of an existing one.

Why this exists

The release notes for this repository are assembled from pull request bodies. In ExRam.Gremlinq the GitHub release body is additionally copied verbatim into the blog on docs.gremlinq.net. A pull request description is therefore not review scaffolding that can be skipped -- it is the only draft of the published changelog entry that will ever be written, whether or not this particular repository also publishes it further.

Where a check-description status check is configured (.github/workflows/checkPullRequestDescription.yml in ExRam.Gremlinq), it enforces a floor on this. Clearing that floor is the minimum bar, not the goal -- and a repository without the check is not license to skip the description.

Usage

open a pull request

Workflow

  1. Run scripts/prerequisites.sh. It verifies the tooling, resolves the base branch and reports whether a pull request for the current branch already exists.

  2. Pick the mode from what the script reported and from what you already know:

    • An open pull request already exists -> mode C.
    • You made the changes on this branch in this session -> mode A.
    • Otherwise -> mode B.
  3. Write the description according to the style guide.

  4. Self-check it: run scripts/check-description.sh <file>. It applies the same normalisation and the same threshold as the CI check, so passing here means passing there. It does not know about the exemptions the CI applies on top -- the skip-changelog label and bot authors -- so a failure here is not necessarily a failure there.

  5. Push the branch, if prerequisites.sh reported pushed=false:

    git push -u <remote> HEAD

    Always with -u. It sets the upstream to <remote>/<branch>, which also repairs the tracking a branch gets when it was created from the base branch -- see the note under Key requirements.

  6. Create or update the pull request. Always pass the body through a file (--body-file), never inline via --body.

The three modes

Mode A -- you did the work

This is the good case and the reason this skill exists: the intent is still in context, so nothing has to be reconstructed.

Write the description from what you know -- the motivation, the design decisions, the alternatives you rejected and why, the public API impact. Use the diff only to check that you have not forgotten a part of the change, never as the source of the narrative.

Mode B -- the branch is cold

You are looking at someone else's work, or your own from another session.

git log --no-merges --format='%h %s%n%b' <base>..HEAD
git diff <base>...HEAD --stat

Then actually read the diff of the files that carry the change. Commit subjects tell you what was touched; only the code tells you what it is for.

Two rules for this mode:

  • Never describe the shape of the diff. "Reduces the file by 98 lines while adding 139" is not information about the change. If that is all you can say, you have not understood it yet.
  • Do not guess. If the intent is not recoverable from the code -- why an approach was chosen, whether a behaviour change is deliberate -- ask the user rather than inventing a plausible rationale. A confidently wrong changelog entry is worse than a question.
Show full SKILL.md (288 more words)Show less
Mode C -- an existing pull request needs a better description

This is the path out of a failed check-description run. Nothing has to be closed and reopened.

gh pr view --json number,title,body,labels
gh pr edit <number> --body-file <file>

Editing the body raises the edited event, which re-runs the check on its own.

If the change genuinely does not belong in the release notes -- a CI tweak, a dependency bump, a refactoring with no user visible effect -- the honest fix is the label rather than padded prose:

gh pr edit <number> --add-label skip-changelog

Key requirements

  • The repository and the git remote pointing at it are resolved dynamically by scripts/prerequisites.sh (via gh repo view and by matching a github.com remote); do not hardcode either. This skill is shared with other repositories in the same family (e.g. Gremlinq.Extensions, via a symlink into .claude/skills) and must not assume it is running in ExRam.Gremlinq specifically.

  • The base branch is the current release branch (14.x at the time of writing), resolved by scripts/prerequisites.sh. Do not assume main.

  • Write the body to a file and pass --body-file. Inline --body mangles multi-line markdown and leaves the text at the mercy of shell quoting.

  • Branch off the base with --no-track:

    git checkout -b <name> --no-track <remote>/<base>

    Without it, branch.autoSetupMerge (which defaults to true) makes the new branch track the base branch rather than itself -- branch.<name>.merge ends up as refs/heads/<base>. Nothing complains, but git pull then merges the base branch into the feature branch, and once the merged branch is deleted upstream the local one looks as though it had turned into the base branch. git push -u repairs it after the fact; --no-track stops it happening.

  • This skill does not bump versions, create tags or push tags. That is prepare-release.

References

  • Description Style - structure, what makes a good entry, worked examples from this repository

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

Files

SKILL.md and 3 other files (scripts, references) in .agents/skills/open-pull-request of Gremlinq/ExRam.Gremlinq.

  • SKILL.md
  • references/description-style.md
  • scripts/check-description.sh
  • scripts/prerequisites.sh

Open the folder on GitHubat commit bb8c6fe

Compare with similar skills

Open 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.

Open Pull Request compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Open Pull Request this skillGremlinq/ExRam.Gremlinq187—~1.5kAutomated safety check: PassMIT
Maintain DisCatSharpAiko-IT-Systems/DisCatSharp140—~1.2kAutomated safety check: PassMIT
StarRocks Release NotesStarRocks/starrocks12k—~1.9kAutomated safety check: NotesApache-2.0
Git Workflow and Versioningaddyosmani/agent-skills103k2 repos~3.5kAutomated safety check: NotesMIT
Changesetbiomejs/biome26k—~839Automated safety check: PassApache-2.0
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT

Similar skills

  • Maintain DisCatSharp

    Aiko-IT-Systems/DisCatSharp

    Guides changes to the DisCatSharp C# Discord library: tracing a payload field through parsing, serialization and caches, then validating across target frameworks.

    140 GitHub stars~1.2k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • StarRocks Release Notes

    StarRocks/starrocks

    Drafts English release notes for a StarRocks patch release from the PRs merged into its release branch, then opens a documentation PR and hands translation to /translate.

    12k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • 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.

    103k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • Changeset

    biomejs/biome

    Official

    A skill your agent uses when a Biome change may affect users and you must decide whether it needs a changeset, choose the release level, or create and edit .changeset/.md release-note text.

    26k GitHub stars~839 tokensUpdated today
    DevelopmentAuto-check passed
  • 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 yesterday
    DevelopmentAuto-check passed
  • Opens the pybind11 release-preparation pull request: picking the release base, bumping the version in common.h and integrating the changelog, following docs/release.rst.

    18k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed

More from Gremlinq/ExRam.Gremlinq

  • Prepare Release

    Gremlinq/ExRam.Gremlinq

    A skill your agent uses when preparing a new release. An agent skill from Gremlinq/ExRam.Gremlinq.

    187 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Write Release Announcements

    Gremlinq/ExRam.Gremlinq

    A skill your agent uses to write the release notes and the announcement texts for an upcoming release, from the pull requests merged since the previous tag.

    187 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Open Pull Request

What does Open Pull Request do?

A skill your agent uses when opening a pull request for the current branch, or when an existing pull request needs a better description - including when the check-description CI check has failed. Gremlinq. Use this skill when opening a pull request for the current branch, or when an existing pull request needs a better description - including when the check-description CI check has failed.

When should I use Open Pull Request?

Open Pull Request fits situations like: opening a pull request for the current branch; an existing pull request needs a better description - including when the check-description CI check has failed.

How do I install Open Pull Request in Claude Code?

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

How do I install Open Pull Request in Codex?

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

Can I use Open 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 Gremlinq/ExRam.Gremlinq --skill open-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/open-pull-request, .gemini/skills/open-pull-request, .github/skills/open-pull-request and .opencode/skills/open-pull-request in your project.

What does Open Pull Request need to run?

Going by SKILL.md and its folder, Open Pull Request needs a shell for the scripts in its folder and the command-line tools its instructions call (git and gh). Our summary lists: A Bash shell.

Does Open Pull Request access the network?

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

Is Open 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Open Pull Request use?

Open Pull Request is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Open Pull Request use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.2k tokens, read only when the agent opens those files.

What are the alternatives to Open Pull Request?

Skills that share tags, products or a category with Open Pull Request: Maintain DisCatSharp (Aiko-IT-Systems/DisCatSharp, 140 stars), StarRocks Release Notes (StarRocks/starrocks, 12k stars), Git Workflow and Versioning (addyosmani/agent-skills, 103k stars) and Changeset (biomejs/biome, 26k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Open Pull Request?

Gremlinq (a GitHub organization) maintains it in Gremlinq/ExRam.Gremlinq, which has 187 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 7, 2026.

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