create-pr

A command that pushes the current feature branch and opens a pull request into the main branch. A pull request is a proposal to merge reviewed code changes into a shared branch.

In plain words
What is it for?
Use it to run the required checks, push a non-main branch, and create a pull request with a generated title and description.
Why use it?
It turns branch commits and related issue references into a structured review request while checking that tests and builds pass first.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/dsswift/ion/create-pr
Clone the repo
git clone --depth 1 https://github.com/dsswift/ion
Per session 25 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,529 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00025 $0.02529
Opus 5 $0.00013 $0.01264
Sonnet 5 $0.00005 $0.00506
Haiku 4.5 $0.00003 $0.00253

Measured 2d ago against content hash 6b4746817c20, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

create-pr scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.ion/commands/create-pr.md · 235 lines

How it starts

The opening of the file, as written. The whole thing — 235 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are running the /create-pr command. Your job is to push the current feature branch and open a pull request into main with a well-structured description. The PR title and body are derived from the branch's commits and the issues they reference.

Hard rules.

  • Never run on main. Abort if the current branch is main.
  • Only run git push as part of this command. No other git push outside this flow.
  • Never merge to main. The PR is opened — the user merges.
  • Do not create a PR with failing CI. If CI is already known to be failing, stop and report. Run the Linux parity gate (Step 3) before pushing so a Linux-only failure is caught locally — not after burning paid Actions minutes on a red PR.
  • Zero tolerance for identifiable failures — pre-existing included. Every test failure, lint error, or build break that the parity gate (or any other check run during this command) surfaces MUST be fixed before the PR is opened. "Pre-existing on main", "not caused by this branch", and "unrelated to these changes" are forbidden dispositions — if the failure is visible before the PR exists, it blocks the PR. The full CI suite (quality.yml: engine race + integration, desktop typecheck + tests, relay, iOS, lints) must be expected green, and any locally reproducible failure in that set is in scope to fix now, regardless of age or origin.

Step 1: Validate the branch

Run:

git branch --show-current

If the result is main, stop:

You're on main. Switch to a feature branch before creating a PR.


Step 2: Check for uncommitted work

Run:

git status --porcelain

If there are uncommitted changes, stop:

There are uncommitted changes on this branch. Commit them before opening a PR.


Step 3: Linux parity gate (catch Linux-only CI failures before pushing)

CI runs engine-test (go test -race ./...) and desktop-test (npm test) on ubuntu-latest. Local development is on macOS, so OS-sensitive failures — path semantics, file-watcher timing, locale, goroutine starvation under the Linux race detector, eager require('electron') under npm ci --ignore-scripts — pass locally and only fail in CI. This step runs the same commands CI runs, in Linux containers, so those failures surface here instead of on the PR.

Read the full file on GitHub · 235 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 235 lines · 25 tokens per session scan A 6b4746817c20

Subscribe to this mod's changes

create-pr is a command published in the GitHub repository dsswift/ion (4 stars, last pushed 2d ago), licensed MIT. It adds 25 tokens to every session and 2,529 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.