GitHub logo

Agents that work where your code review happens

Install the GitHub App and agents react to pull requests, pushes, and issues, answer @ellipsis mentions in any thread, and work with a token scoped to the repositories and permissions you named. Nothing in the sandbox can exceed what you granted.

Install on GitHub
Documentation
01

Repository events start the work

An agent declares one event surface and the filters that scope it: a pull request opened against your default branch that touches migrations, a push to a release branch, an issue with a given label. Work starts the moment the event fires, while the context is fresh.

agents/migration-reviewer.yamlone surface per agent
trigger:  type: react  pull_request:    on: [opened, pushed]    repositories: [splitshift-api]    base: [default]    paths:      - "migrations/**"

One react surface per agent, scoped by filters

02

Every event GitHub emits that matters

Pull requests, pushes, and issues, each with its own action list. The pushed action covers the open and every later commit, so a reviewer agent stays current on a long-running branch without firing twice on the same commit.

What can start an agent
pull_request
opened · pushed · merged · closed · review_submitted · commented
pushed covers the open and every later commit
push
no actions
fires on the push itself; filter by branch or paths
issue
opened · closed · commented
filter by label or author

The whole GitHub trigger vocabulary

03

A token per session, scoped in YAML

No agent runs on a developer's credentials. Each sandbox gets its own installation token that lives an hour and dies at teardown, narrowed to the repositories and permission scopes the config names. GitHub mints it with that scope, so the limit holds even against a prompt injection.

agents/migration-reviewer.yamlenforced at the token mint
permissions:  github:    repositories: [splitshift-api]    permissions:      contents: read      pull_requests: write
GitHub mints the token with this scope, so nothing in the sandbox can exceed it

Narrowed in the config, enforced by GitHub

04

Ask for a change where the review is happening

Mention @ellipsis in a comment, a review, or on a specific line and an agent picks the thread up as its prompt. Replies continue the same conversation with no repeat mention, so a review comment becomes a fix without anyone leaving the pull request.

@ellipsissplitshift-api #482
Issue and PR comments
Ask for a change in the thread and the agent picks it up
Pull request reviews
A review body mentioning @ellipsis starts a session
Review comments on a line
The agent gets the file and line as context
No trigger needed: mentions work on every agent you allow them on

Mentions on comments, reviews, and single lines

Everything the GitHub App gives you

One install covers config sync, every trigger, the per-session credential, and everything an agent posts back.

One app install

Install the GitHub App on an account or organization and pick the repositories. Agents only ever see the repositories you granted.

Configs sync from the default branch

Agent YAML lives in your repository. The version on your default branch is the live agent, so deploying is merging.

Pull request events

React to opened, pushed, merged, closed, review_submitted, and commented, filtered by base branch, labels, changed paths, or author.

Push events

React to a push on its own, scoped by branch pattern or the changed files in the pushed range.

Issue events

React to opened, closed, and commented, filtered by label or the account that acted.

Mentions in any thread

@ellipsis in an issue comment, a review body, or a review comment on a line starts or continues a conversation there.

A token per session

Each sandbox gets its own installation token, minted when the sandbox starts. It lives an hour and dies with the sandbox. No developer's personal credential is involved.

Narrowed in YAML

read_only, or an explicit map of GitHub permission scopes, plus a list of repositories. It can only reduce what the installation granted.

Enforced by GitHub

The token is minted with the reduced scope, so nothing in the sandbox, including a prompt injection, can exceed it.

git and gh, already authenticated

The agent works the way your engineers do: real git, the gh CLI, and a set of GitHub tools resolved against what you granted.

Pull requests and comments

Agents open pull requests, edit descriptions, and comment through the installation, always as the Ellipsis bot.

Commit-anchored review

With code review enabled, Ellipsis posts one comment-only review per push, anchored to the commit it reviewed. It never approves or pushes commits.

Frequently asked questions

Install the Ellipsis GitHub App from app.ellipsis.dev/install. GitHub asks which account or organization to install on and which repositories to grant, either all of them or a selected list. If you are not an organization admin the same flow files a request for your admin to approve. That is the whole setup.

Three surfaces. pull_request reacts to opened, pushed, merged, closed, review_submitted, and commented. push reacts to the push itself. issue reacts to opened, closed, and commented. An agent declares exactly one surface, and each carries its own filters: repositories, base and head branch, draft state, labels, and changed-path globs.

Exactly what the config grants. By default the session token carries the installation's permissions on the installation's repositories. The permissions.github block narrows it: read_only for read access to contents, issues, metadata, and pull requests, or an explicit map like {contents: read, pull_requests: write}, plus a repositories list. GitHub mints the token with that reduced scope, so the restriction is enforced by GitHub rather than by Ellipsis.

Never. Every sandbox gets its own installation token, minted from your GitHub App installation when the sandbox starts, with a one-hour lifetime, revoked at teardown. That is what git, gh, and the agent's GitHub tools authenticate with.

Mention @ellipsis in an issue comment, in a pull request review body, or in a review comment on a specific line, and a session starts with that thread as its context. A review comment on a line hands the agent the file and line too. Replies continue the same durable conversation, and an agent with a mention trigger can replace the built-in responder with your own prompt, repositories, and budget.

No. Code review posts comment-only reviews: it never approves, never requests changes, and never pushes commits to your branch. Agents can open pull requests and comment, always as the Ellipsis bot, and branch protection applies to the agent exactly as it does to a developer.

Works with the tools you already use