Auth
Everything goes through gh under the hood. Log in once with gh auth login and the agent inherits the same credentials — there is no GitHub-specific config in ~/.omp/.
pr:// and issue:// URLs
PRs, issues, and diffs are addressable as virtual markdown files. The agent doesn’t learn a new GitHub-shaped API; it reads URLs through the same read tool that opens local files. Reads are cached with soft- and hard-TTLs (github.cache.softTtlSec, github.cache.hardTtlSec) so re-reading the same item mid-session never hits the network twice.
| URL | What it returns |
|---|---|
issue://N | Single issue from the session’s default repo — title, author, labels, body, threaded comments. |
issue://owner/repo/N | Fully qualified single issue across repos. |
issue://N?comments=0 | Issue body without the discussion thread. |
pr://N | Single PR view; the page points at the matching diff URL. |
pr://N/diff | Changed-file listing for the PR, each row pointing to pr://N/diff/<i>. |
pr://N/diff/all | Full unified diff, hashline-anchorable so the agent can quote a hunk by anchor. |
pr://N/diff/3 | Single file’s diff (1-indexed). |
pr://, issue:// | Recent items in the default repo; supports ?state=open|closed|all (pr:// also accepts merged), ?author=, ?label=, ?limit=. |
# read a PR and walk its diff
read pr://1234
read pr://1234/diff
read pr://1234/diff/2
# list recent open bugs in the current repo
read issue://?state=open&label=bug&limit=20The github tool
One op-based dispatcher for everything beyond reads. Pick the operation via op; each op uses a subset of the parameters.
| op | What it does |
|---|---|
repo_view | Repository metadata. Optional repo and branch. |
pr_create | Open a PR. Either provide title (and optional body) or set fill: true to auto-fill from commits. Accepts base, head, draft, reviewer[], assignee[], label[]. |
pr_checkout | Check one or more PRs out into dedicated git worktrees. pr is a number, URL, branch, or an array of those. |
pr_push | Push a checked-out PR branch back to its source. Requires the branch to have been acquired via pr_checkout. |
search_issues | GitHub issue search syntax. Defaults repo to the current checkout. |
search_prs | GitHub PR search syntax. |
search_code | GitHub code search syntax. Date filters not supported. |
search_commits | Commit search across GitHub. dateField is ignored; always uses committer-date. |
search_repos | Repository search. Use query qualifiers like org: or language: instead of repo. |
run_watch | Watch an Actions run. Omit run to watch every run for the current HEAD commit. Fast-fails on the first detected job failure, returns tailed logs inline, and saves the full failed-job logs as a session artifact. |
Search ops accept since and until as either a relative duration (3d, 12h, 2w, 1mo) or an ISO date. With both set, the qualifier becomes a range.
Read a PR
The fastest path is the URL scheme — no checkout, no shell:
read pr://1234 # metadata + comments
read pr://1234/diff # file list
read pr://1234/diff/all # full unified diffIf you want to run the PR locally, use the worktree workflow on Subagents’ sister tool pr_checkout:
github op=pr_checkout pr=1234
# cd into the worktree, run tests, edit, then:
github op=pr_pushOpen a PR
github op=pr_create \
title="Fix login redirect after SSO" \
body="Resolves #1198. Adds a regression test." \
base=main \
reviewer=["octocat","myorg/team-auth"] \
label=["bug"]
# or autofill from the commit log
github op=pr_create fill=true draft=true
```\n