You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 26f4388
Browse filesBrowse the repository at this point in the historyBrowse files
Code review is being removed from the platform, so the CLI loses the
`review` command (start, get, list, init) and its hidden aliases, the review
types, the README usage lines, and the code review sections of the ellipsis
skill. The GitHub review analytics under `analytics` are about the
organization's own pull request activity and stay.
Claude-Session: https://claude.ai/code/session_016JiiZiz8r2z32pVp5at2qx
Co-authored-by: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: skills/ellipsis/SKILL.md
+9-159Lines changed: 9 additions & 159 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: ellipsis
3
-
description: What the Ellipsis platform is and how to drive it with the agent CLI. Use when the user mentions Ellipsis, wants to run or deploy coding agents in the cloud, govern agents with budgets and scoped permissions, automate work on GitHub, Slack, Linear, or Sentry events, get pull requests reviewed, hand a local task off to a background agent, or asks about the agent CLI.
3
+
description: What the Ellipsis platform is and how to drive it with the agent CLI. Use when the user mentions Ellipsis, wants to run or deploy coding agents in the cloud, govern agents with budgets and scoped permissions, automate work on GitHub, Slack, Linear, or Sentry events, hand a local task off to a background agent, or asks about the agent CLI.
4
4
---
5
5
6
6
# Ellipsis
@@ -12,8 +12,8 @@ recorded and searchable.
12
12
13
13
An event fires, an agent wakes in an isolated sandbox with your repositories
14
14
cloned, reads the code, does the work, and delivers a real artifact: a pull
15
-
request, an answer in the thread that asked, a review on the diff. Then the
16
-
sandbox is destroyed and the full session stays readable.
15
+
request, or an answer in the thread that asked. Then the sandbox is destroyed
16
+
and the full session stays readable.
17
17
18
18
## The problem it solves
19
19
@@ -45,14 +45,11 @@ the logs of a session they do not own.
45
45
Sentry alerts, or a schedule. Work starts when the event fires, not when
46
46
someone opens a laptop.
47
47
48
-
## The two products
48
+
## The product
49
49
50
-
-**Cloud Agents**: agents you define. Each is one YAML file in a repository, a
51
-
trigger plus a model plus a prompt. The version on the default branch is the
52
-
live agent.
53
-
-**Code Review**: Ellipsis reviews every pull request as commits land and posts
54
-
findings as inline comments. One organization-wide toggle turns it on, with no
55
-
YAML.
50
+
**Cloud Agents**: agents you define. Each is one YAML file in a repository, a
51
+
trigger plus a model plus a prompt. The version on the default branch is the
52
+
live agent.
56
53
57
54
Surfaces: the dashboard at app.ellipsis.dev, the REST API at
58
55
api.ellipsis.dev, and the `ellipsis` CLI. All three drive the same API.
@@ -67,8 +64,6 @@ fee. There are no seats.
67
64
issues, Linear issues, Sentry alerts, or Slack channel creation.
68
65
-**Questions in a thread**: mention `@ellipsis` on GitHub, Slack, or Linear.
69
66
The built-in responder needs no configuration and answers in the thread.
70
-
-**Catching bugs before merge**: turn code review on and every pull request is
71
-
reviewed, or commit a pipeline file to scope and customize it.
72
67
-**Delegation from scripts or CI**: `ellipsis session start` or
73
68
`POST /v1/sessions`. With `--watch` it streams into the log and exits nonzero
74
69
unless the turn completes, so it works as a gate.
@@ -240,131 +235,6 @@ session:
240
235
durable conversations: follow-ups keep the whole exchange and the working
241
236
tree, and a conversation costs near nothing between turns.
242
237
243
-
## Code review
244
-
245
-
Code review is one organization-wide setting, on the Settings tab of `/reviews`
246
-
in the dashboard, off by default. With it on and no YAML committed, the built-in
247
-
pipeline reviews every pull request in the organization.
248
-
249
-
How it behaves:
250
-
251
-
- **New commits only.** The first review of a pull request covers everything on
252
-
it; every later review covers only the commits since the last review that
253
-
posted, and never re-comments a line it already covered.
254
-
- **Only confirmed defects.** The reviewer files a finding only when it can
255
-
point at the wrong line and name the input or state that breaks it, so a
256
-
review is a short list of real problems rather than a page of "consider
257
-
whether". It reads the surrounding code, not the diff alone, because most real
258
-
findings depend on a caller or a guard the diff does not show.
259
-
- **Comment-only.** Ellipsis posts one pull request review as the Ellipsis bot,
260
-
anchored to the commit it reviewed. It never approves, requests changes,
261
-
pushes commits, or merges, so it cannot satisfy a required-review rule. A
262
-
review that finds nothing posts a one-line summary instead of invented
263
-
nitpicks.
264
-
- **Bots are reviewed too**, minus dependabot and renovate. A dependency bump is
265
-
exactly the change nobody reads closely.
266
-
- The built-in pipeline is two agents: a Haiku `pr-description` agent that keeps
267
-
the pull request description's summary current, and one Opus reviewer named
268
-
`bugs`. The stages are `pre_review`, `description`, `review`, deduplication,
269
-
`filter`, `post_review`; only `description` and `review` are populated by
270
-
default.
271
-
- Reviewers never post. Each writes findings to a file, and the platform posts.
272
-
A reviewer prompt is the reviewing brain only: Ellipsis supplies the commit
273
-
range, so never restate the scope and never tell a reviewer to post to GitHub.
274
-
275
-
### The pipeline file
276
-
277
-
One optional file customizes the review. **There is one filename,
278
-
`code_review.yaml`, and where you commit it decides what it governs:**
279
-
280
-
- At the root of a repository: governs that repository. `.ellipsis/code_review.yaml`
281
-
also works for its own repository, and the root path wins if both exist.
282
-
- At the root of the repository literally named `.ellipsis`: governs every
283
-
repository in the organization. That repository is never itself reviewed.
284
-
- Anywhere else: a configuration error, not a file that silently reviews
285
-
nothing.
286
-
287
-
First hit wins, and a repository's own file **replaces** the organization-wide
288
-
one rather than merging with it, so copy across whatever you meant to keep. That
289
-
also means an organization file's filters are not a ceiling: a repository the
290
-
organization file excluded can review itself by committing its own file.
291
-
292
-
The file is an overlay on the built-in pipeline, so it declares only what it
293
-
changes:
294
-
295
-
```yaml
296
-
# code_review.yaml at the root of the .ellipsis repository
297
-
ellipsis:
298
-
version: v1
299
-
kind: code_review
300
-
name: Backend review
301
-
302
-
pull_requests:
303
-
repositories: [api] # valid only in the .ellipsis repository's copy
304
-
base: [main, "release/*"]
305
-
draft: false
306
-
307
-
review:
308
-
- name: migration-safety
309
-
harness:
310
-
type: claude_code
311
-
instructions: |
312
-
Review database migrations for production safety. Check for
313
-
locking that blocks writes on large tables, missing backfills for
314
-
new non-null columns, and rollout ordering that breaks if the
315
-
migration and the code deploy out of order.
316
-
pull_requests:
317
-
paths: ["**/migrations/**"]
318
-
319
-
filter:
320
-
name: strict-gate
321
-
harness:
322
-
type: claude_code
323
-
instructions: |
324
-
Approve only findings a staff engineer would raise in review.
325
-
Reject style opinions and anything a linter catches.
326
-
327
-
budget:
328
-
run: 15.00
329
-
day: 100.00
330
-
```
331
-
332
-
Merge rules that catch people out:
333
-
334
-
- **`ellipsis.kind: code_review` marks the file**, and the path decides its
335
-
scope. A pipeline file is not an agent config and is not synced from `agents/`.
336
-
- **Declaring `pull_requests:` makes it authoritative.** A pull request the
337
-
governing file does not match gets no review at all, rather than falling back
338
-
to the built-in pipeline. It also narrows the audience to humans unless the
339
-
block writes `for` back out, because the block replaces the default wholesale.
340
-
- **Declaring a stage list replaces that stage wholesale.** There is no
341
-
"append to the built-in reviewers"knob. A file wanting a specialist beside a
342
-
general pass declares both reviewers itself.
343
-
- **Unset and empty differ where the built-in ships a stage.** No `review:` key
344
-
inherits the built-in reviewer. No `description:` key inherits the built-in
345
-
description agent, and `description: []` is the only way to stop it. For
346
-
`filter:`both unset and `[]` mean no gatekeeper, since nothing gates findings
347
-
unless you declare one.
348
-
- **`enabled: false` does not suppress review.** It marks the file inactive, so
349
-
Ellipsis reads it as no policy and continues to the organization file, then the
350
-
built-in pipeline. To stop reviews in one repository, commit a file whose
351
-
`pull_requests:` matches nothing, such as `for: {users: false, bots: false}`.
352
-
- `description`and `filter` are each exactly one agent, never a list with
353
-
entries. At most 8 reviewers, each with a unique name. Reviewers run in
354
-
parallel, and a reviewer whose own `pull_requests` filters exclude a pull
355
-
request costs nothing.
356
-
- `environment:`and `budget:` merge field by field.
357
-
- `budget.run`(default $10) caps one whole review across every stage, divided
358
-
among its agents. `budget.day` and `budget.week` are trailing caps checked
359
-
before a review starts, which is the guard against a push storm.
360
-
361
-
An optional `filter` gatekeeper judges every finding before it posts and rejects
362
-
claims that do not hold against the code, are handled elsewhere, are style
363
-
preferences, or are speculative. Rejected findings stay visible on the reviews
364
-
dashboard with the reason. It is off by default because one careful reviewer
365
-
leaves a second pass little to arbitrate, and that pass doubles every review's
366
-
cost and latency.
367
-
368
238
## The agent CLI
369
239
370
240
One open-source binary named `ellipsis` (`el` for short), a terminal client for the same API
@@ -418,22 +288,6 @@ Search covers transcripts, recaps, and pull request references, with embedding
418
288
similarity alongside full text, so one agent's investigation compounds into team
419
289
knowledge. Facets cover repository, author, agent, status, source, and date.
420
290
421
-
Review pull requests on demand, without waiting for a push:
422
-
423
-
```sh
424
-
ellipsis review 519 # review a pull request by number
0 commit comments