Agent skill

Open PR

by ArcadeAI in ArcadeAI/arcade-mcp

Prepare arcade-mcp changes for review by verifying intended behavior, filling the repository PR template, and creating or updating the PR.

MITAuto-check passedAgent Workflows

Install Open PR

skills CLI
$ npx skills add ArcadeAI/arcade-mcp --skill open-pr -a claude-code

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

GitHub CLI
$ gh skill install ArcadeAI/arcade-mcp open-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/ArcadeAI/arcade-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/open-pr .claude/skills/open-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
open-pr
GitHub stars
1k
Token cost
~2.9k tokens
SKILL.md length
1,669 words
Files
2
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Prepare arcade-mcp changes for review by verifying intended behavior, filling the repository PR template, and creating or updating the PR.

  • Works in 5 steps: Establish the actual state → Establish confidence in the behavior → Write the description → …
  • Get this reviewed
  • SKILL.md covers 1. Establish the actual state, 2. Establish confidence in the…, 3. Write the description and 4. Publish or update the Draft, plus 2 more sections
  • Calls make, uv and git; needs ARCADE_WORKER_SECRET

What it does

Open PR is an agent skill from ArcadeAI/arcade-mcp. Prepare arcade-mcp changes for review by verifying intended behavior, filling the repository PR template, and creating or updating the PR. Use for "open a PR", "get this reviewed", or "make this PR ready". Resume existing work. PR preparation is separate from releasing; use a code-review skill for review-only requests.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `evals/cases.json`).

It sits in Agent Workflows, covering MCP servers and Pull requests. It works with Model Context Protocol, Python and GitHub. The repository describes itself as: MCP Server Framework and Tool Development library for building custom capabilities into agents. The licence is MIT.

When your agent uses it

  • Get this reviewed
  • Make this PR ready

Example prompts

  • “open a PR”
  • “get this reviewed”
  • “make this PR ready”
  • “/open-pr”

Requirements

  • Python 3
  • A credential in ARCADE_WORKER_SECRET

Workflow steps

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

  1. Establish the actual state
  2. Establish confidence in the behavior
  3. Write the description
  4. Publish or update the Draft
  5. Ready means vetted

What it can do on your machine

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

    • make
    • uv
    • git

    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

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ARCADE_WORKER_SECRET

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

Context cost

Open PR loads about 2.9k tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 1,669 words of instructions outside code blocks.

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

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 ArcadeAI/arcade-mcp at commit 1375e73, republished under its MIT licence (© ArcadeAI). 1,669 words, ~2,914 tokens.

Download SKILL.mdSave it as .claude/skills/open-pr/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
open-pr
description
Prepare arcade-mcp changes for review by verifying intended behavior, filling the repository PR template, and creating or updating the PR. Use for "open a PR", "get this reviewed", or "make this PR ready". Resume existing work. PR preparation is separate from releasing; use a code-review skill for review-only requests.

Open a PR

Deliver a focused PR with an accurate description and evidence supporting its intended behavior. The author owns the job, behavior, approach decisions, and outcome, and stays responsible for AI-assisted work; line-by-line recall is not a prerequisite.

Follow CLAUDE.md and .github/PULL_REQUEST_TEMPLATE.md. Link issues and design discussions rather than reconstructing them in the PR.

Use the GitHub and issue-tracker tools the user chose. Discover available operations before assuming a CLI, connector, or credentials exist. Keep local git operations local. If a needed remote operation is unavailable, finish local preparation and report the exact missing capability; do not silently switch tools or claim the operation succeeded.

1. Establish the actual state

  • Read CLAUDE.md and the PR template. Inspect the working tree, staged changes, branch, upstream, remotes, and any existing PR. Confirm the destination repository and base; use the existing PR's base or main unless the task specifies otherwise. Fetch the base before assessing the diff.
  • Review both the committed diff against the merge base and pending changes. Identify the intended scope, related issue, and consequential choices. Preserve unrelated work; stage explicit files or hunks. Do not reset, squash, rebase, or force-push someone else's work to tidy the PR.
  • Apply PR scope discipline. Resolve an actual scope problem rather than expanding the description to explain unrelated work.
  • Reuse a matching open PR. A closed or merged PR is not an update target. If the branch is detached or is the base branch, create a task branch. Resolve ambiguity that could send work to the wrong repository, base, or PR before publishing.
  • Find the tracking issue (GitHub issue or Linear) in task context, branch, commits, or existing PR and verify it describes this work. If none exists, file one first (or stop and ask your human to if you cannot). Do not borrow an unrelated or closed issue.

A request to open a PR authorizes routine commits, pushing the task branch, and creating a Draft. A request to get work reviewed also authorizes marking it ready once vetted; preserve an existing Ready state. Honor text-only requests. Merging, reviewer assignment, and releasing require the corresponding user request; do not expand "open a PR" into those actions.

2. Establish confidence in the behavior

Use the issue and linked discussion as the expected behavior. The implementation and tests are evidence to examine, not the source of truth for what should happen. If those sources conflict, identify the concrete decision needed rather than silently rewriting the contract to fit the code.

Load only the relevant entry points:

  • Behavior: the issue, CLAUDE.md's architecture notes for the touched area, and docs the change affects. Note whether the change touches the MCP side (MCPServer, transports), the Arcade Worker side (libs/arcade-serve/), or both through the shared ToolCatalog / create_arcade_mcp().
  • Checks: make check (pre-commit + mypy per lib) and make test, or targeted uv run pytest libs/tests/<area>/... while iterating; CI runs .github/workflows/main.yml on Python 3.10–3.14 across Linux, macOS, and Windows. Changes to arcade-core or arcade-tdk need checks for the libs that depend on them. Always use uv run, never bare python or pip.
  • Versioning: bump the touched library's version in its pyproject.toml once per branch (check git diff main first), and raise the dependency floor in dependent libs for breaking cross-library changes. release-on-version-change.yml publishes on version changes, so a bump is a release decision; call it out.

Choose verification proportional to the change:

  • Exercise the affected workflow for real. For server or tool changes, run a server from examples/mcp_servers/ with arcade mcp stdio or arcade mcp http (or MCP Inspector) and drive the changed path; for worker changes, call the /worker/* endpoints with ARCADE_WORKER_SECRET set; for CLI changes, run the command. Check the normal path and plausible boundary, failure, or regression paths. Anything reachable from the stdio transport must leave stdout/stderr clean. Documentation changes need rendering/link checks, not unrelated suites.
  • Inspect whether tests would catch the claimed failure or a wrong implementation. For a bug fix, demonstrate the regression fails before and passes after when feasible. Watch for weakened assertions, excessive mocks, or tests that repeat the implementation. Every behavioral change needs a test in libs/tests/; do not invent additional tests for trivial, reversible changes.
  • Run required checks and affected suites. Confirm the intended tests actually ran: zero collected tests, a deselecting -k, or skipped tests (evals tests skip without anthropic/openai installed) prove nothing. Record revision, command, observed result, and limits in working notes; put only the useful summary in the PR. Reuse applicable evidence; rerun checks affected by edits, including formatter changes before committing.
  • Review the final diff for unintended changes, unsafe boundaries, and reuse of established patterns. For substantive changes, use a code-review skill or a fresh reviewer context with the intended behaviors, relevant constraints, and raw diff. Do not feed it an assurance that the change is correct. Reuse an applicable independent review already completed; add another only for an unresolved risk.
  • Verify findings against code or a reproduction before fixing them. Reject false positives with evidence. If a finding changes scope or the intended behavior, surface that decision instead of quietly expanding the task.

Do the checks available to you. Ask the engineer only for missing access, a behavior decision, or experience/judgment you cannot supply. Reuse their earlier vetting when it still covers the outcome; do not add a ritual sign-off question. Never claim the engineer personally used or approved something because an agent did it. Surface material gaps with what remains to be checked and why.

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

3. Write the description

Use the actual template:

  • Issue link: the first line of the body, the bare verified issue reference right after the keyword, without brackets or placeholder text: Closes #123 for a GitHub issue or Closes ABC-123 for Linear. Use Closes when merging this PR completes the issue, and Part of when it is only one piece of it.
  • What/why: the problem and observable before/after, understandable without opening the issue. For changes with no user-facing effect, describe the effect on contributors or maintainers.
  • Codebase changes: the approach, non-obvious consequential decisions, which protocol side is affected, and any version bumps.
  • Proof: concise actual verification results, following the template's instructions. Fill the verification table with how each promised behavior was proven (real, mocked, unit, or judged), and the Before/After table with output excerpts for user-visible changes; drop a table that does not apply. Prefer "tools/call on the expired token returned TOOL_RUNTIME_RETRY" to "Tested thoroughly."
  • Additional notes: material risks (especially the sensitive paths the template lists), verification gaps, or a specific decision needing attention. Omit when empty.

Three to five sentences per section is a ceiling, not a quota. One sentence may be enough. Use bullets if clearer; keep detail required to assess a consequential risk. Remove template instructions, empty optional sections, file inventories, coding diaries, and unsupported adjectives. Preserve automation-managed blocks and relevant collaborator edits when updating an existing body.

Write the title in Conventional Commits format, type(scope): summary, where type is feat, fix, or chore and scope is the lib or area (fix(arcade-mcp-server):, feat(arcade-cli):, chore(ci):). Keep issue IDs out of the title; they go on the Closes / Part of line. Check that the description explains why it matters, what changes, the important choice, and the evidence, without making the reader reconstruct these from the diff. Update it to match the final implementation after revisions.

4. Publish or update the Draft

  • Check the final staged diff and commit only the intended changes. Push the task branch without rewriting published history. If uncommitted changes were excluded, say so in the handoff.
  • Create with explicit base, head, and Draft state, or update the existing PR without silently changing its review state. Re-read the body before editing to preserve intervening changes. Pass the body as a structured argument or file to preserve Markdown and avoid shell interpolation. Recheck for an existing PR before retrying an uncertain creation result.
  • Read back the title, description, Draft state, base, and head. Confirm the issue shows the linked PR; an issue reference in prose alone does not prove the link.
  • A Draft may be opened before CI finishes. Inspect checks and review findings for the current head. Pending, skipped, and failed are distinct outcomes; a missing check is not a pass. Use bounded waits, report unfinished checks, and avoid polling indefinitely. Do not bypass gates or treat a green run as merge authorization.

5. Ready means vetted

Before a requested promotion to Ready:

  • The engineer has vetted the outcome and has no undisclosed blocker to shipping. Relevant workflow evidence is available; human-only experience or judgment has been supplied where needed.
  • CI on the current PR head is green (including GitHub's merge commit when that is what CI tests), and verification and independent review still cover the changed behavior.
  • Review summaries, inline threads, and PR comments are read in full. Findings are addressed or explicitly discussed; unresolved blockers prevent promotion. Do not resolve disagreements just to clear a count. A review of an older revision needs an assessment of the intervening diff, not automatic credit or an automatic rerun.
  • The description reflects the final scope, evidence, and remaining limitations.

If these are not met, continue preparation or leave the PR Draft with the specific gap. If an existing Ready PR gains a material blocker, flag it rather than silently treating it as ready.

If a check or review starts only after Ready, do not wait for it on a Draft. Once the pre-Ready conditions are met, perform the authorized promotion, then inspect those results. Pending review or required approval still blocks merging; report it explicitly. Never report code as released because a PR was opened, approved, or merged; a release happens only when release-on-version-change.yml publishes it.

End with the PR link, a short account of the change and validation, and any remaining blocker or decision. Do not paste the full description into the handoff.

Maintaining this skill

When changing this workflow, replay the offline scenarios in evals/cases.json in fresh contexts, withholding expectations from the executing agent. Grade its actions and evidence claims; formatting checks alone cannot validate readiness decisions.

© ArcadeAI, 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 1 other file in .claude/skills/open-pr of ArcadeAI/arcade-mcp.

  • SKILL.md
  • evals/cases.json

Open the folder on GitHubat commit 1375e73

Compare with similar skills

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

Open PR compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Open PR this skillArcadeAI/arcade-mcp1k—~2.9kAutomated safety check: PassMIT
GitHub MCPvibeeval/vibecosystem531—~2.3kAutomated safety check: NotesMIT
Fix IssuePrefectHQ/fastmcp28k—~842Automated safety check: PassApache-2.0
Project Pull Requestswimmwatch/cloakbrowser-mcp161—~1kAutomated safety check: PassMIT
GitHub Commentingjuspay/neurolink143—~698Automated safety check: PassMIT
MCP Registryvibeeval/vibecosystem531—~1.3kAutomated safety check: NotesMIT

Similar skills

  • GitHub MCP

    vibeeval/vibecosystem

    GitHub MCP Server ile GitHub API erisimi. An agent skill from vibeeval/vibecosystem.

    531 GitHub stars~2.3k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check: notes
  • Fix Issue

    PrefectHQ/fastmcp

    Carry a selected FastMCP bug from reproduction through a scoped fix, compatibility review, validation, and a monitored pull request.

    28k GitHub stars~842 tokensUpdated today
    DevelopmentAuto-check passed
  • Project Pull Request

    swimmwatch/cloakbrowser-mcp

    Create, update, prepare, or review a cloakbrowser-mcp GitHub Pull Request only when the user explicitly requests PR work.

    161 GitHub stars~1k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • GitHub Commenting

    juspay/neurolink

    How to post clean, rich, deduplicated GitHub PR review comments — suggestion blocks, multi-line anchors, markers, formatting rules.

    143 GitHub stars~698 tokensUpdated today
    DevelopmentAuto-check passed
  • MCP Registry

    vibeeval/vibecosystem

    MCP server registry, auto-discovery, configuration, custom server development guide

    531 GitHub stars~1.3k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check: notes
  • Code Review

    oaslananka/kicad-mcp-pro

    A skill your agent uses for GitHub Copilot pull request and code reviews in oaslananka/kicad-mcp-pro.

    119 GitHub stars~3.9k tokensUpdated today
    DevelopmentAuto-check passed

More from ArcadeAI/arcade-mcp

  • Build Error Adapter

    ArcadeAI/arcade-mcp

    Build new Arcade error adapters from scratch using public Arcade TDK patterns.

    1k GitHub stars~2k tokensUpdated today
    Auto-check passed

Questions about Open PR

What does Open PR do?

Prepare arcade-mcp changes for review by verifying intended behavior, filling the repository PR template, and creating or updating the PR. Open PR is an agent skill from ArcadeAI/arcade-mcp. Prepare arcade-mcp changes for review by verifying intended behavior, filling the repository PR template, and creating or updating the PR.

When should I use Open PR?

Open PR fits situations like: get this reviewed; make this PR ready.

How do I install Open PR in Claude Code?

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

How do I install Open PR in Codex?

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

Can I use Open 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 ArcadeAI/arcade-mcp --skill open-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/open-pr, .gemini/skills/open-pr, .github/skills/open-pr and .opencode/skills/open-pr in your project.

What does Open PR need to run?

Going by SKILL.md and its folder, Open PR needs the command-line tools its instructions call (make, uv and git) and credentials named ARCADE_WORKER_SECRET. Our summary lists: Python 3; A credential in ARCADE_WORKER_SECRET.

Does Open PR access the network?

SKILL.md names 1 domain. As links in the text: conventionalcommits.org. This is read from the text; nothing was executed.

Is Open 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 Open PR use?

Open PR 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 PR use?

About 2.9k tokens (SKILL.md is roughly 12k 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 Open PR?

Skills that share tags, products or a category with Open PR: GitHub MCP (vibeeval/vibecosystem, 531 stars), Fix Issue (PrefectHQ/fastmcp, 28k stars), Project Pull Request (swimmwatch/cloakbrowser-mcp, 161 stars) and GitHub Commenting (juspay/neurolink, 143 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Open PR?

ArcadeAI (a GitHub organization) maintains it in ArcadeAI/arcade-mcp, which has 1,046 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 6, 2026.

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