Commands
Comment @superdiffs followed by a verb, on the pull request or in any review thread. There are 9 of them and none of them can be triggered by code.
Summary
| Command | Does |
|---|---|
@superdiffs review | Review the commits pushed since the last review. |
@superdiffs full-review | Re-review the whole pull request from scratch. |
@superdiffs summary | Regenerate the summary and walkthrough without re-running the finder. |
@superdiffs resolve | Resolve every open SuperDiffs thread on this pull request. |
@superdiffs pause | Stop reviewing this pull request until it is resumed. |
@superdiffs resume | Resume automatic reviews on this pull request. |
@superdiffs ignore | Skip this pull request entirely. |
@superdiffs config | Post the effective configuration, with the source of each value. |
@superdiffs help | Post the command list in the pull request. |
Every command
@superdiffs review
Incremental by default: only the range between the previously reviewed head and the current head is analysed, and findings you already resolved are not raised again. Use this after pushing a fix when automatic review is paused or the repository has `review.auto: false`.
@superdiffs full-review
Discards incremental state and reviews the complete diff against the merge base, at the profile’s full effort. Previously resolved threads stay resolved — a full review re-analyses, it does not re-litigate what you closed. This is the escape hatch when you suspect something was missed.
@superdiffs summary
Rewrites the summary comment in place from the current diff. Cheap: no find passes, no verification. Useful after a rebase that changed the shape of the change but not its substance.
@superdiffs resolve
Marks all of our threads resolved and records them as user-resolved, which means fingerprint matching will not raise them again on a later push — including after a force-push, because the resolution is keyed to the content of the code, not to a line number.
@superdiffs pause
Automatic review stops for this pull request only. Explicit commands still work while paused, so `@superdiffs review` remains available. Reviews also auto-pause after several pushes with no reply, on the theory that a reviewer nobody is reading should stop talking.
@superdiffs resume
Clears both a manual pause and an automatic one. The next push is reviewed incrementally from the last reviewed head, so nothing pushed while paused is skipped.
@superdiffs ignore
The one command that belongs in the pull-request description rather than a comment: put it there when you open a pull request you never want reviewed. No summary, no findings, no check run.
This is the only command accepted in a pull-request description. Every other command must be a comment.
@superdiffs config
Renders the resolved configuration for this repository — profile, threshold, limits, path filters, enabled tools — after org, repository, and directory layers have been merged, along with the configuration hash recorded on every review. The fastest way to answer "why did it not comment on this file".
@superdiffs help
The same list as this page, posted where you are already working.
Who may run a command
A command is honoured only when the person who wrote the comment has one of these repository permissions, checked against GitHub at the moment the command is used:
adminmaintainwrite
Anything else — triage, read, no access, an unrecognised permission string, or one of our own comments — is refused. The check defaults to deny, so a new GitHub role we have never heard of gets no privileges by accident.
Where a command is honoured
| Surface | Honoured |
|---|---|
| Issue comment on the pull request | Yes — any command |
| Reply in a review thread | Yes — any command |
| Review body (approve / request changes) | Yes — any command |
| Pull-request description | Only `@superdiffs ignore` |
| Pull-request title | No |
| Commit message | No |
| Diff content or source code | No |
| Inside a fenced code block or a quoted (`>`) line | No |
Commands inside a fenced code block or a quoted (>) line are ignored too — that is how people paste our own help output, or quote someone else’s comment while replying to it.
Someone asked:
> @superdiffs full-review <- quoted: ignored
```
@superdiffs pause <- fenced: ignored
```
@superdiffs review <- runs, if you have write accessAnswering in a thread
You do not need a command to ask a question. Reply in any review thread we opened — “why is this a problem when the caller already checks for null?” — and the answer comes back in that thread, with the surrounding code in context. If your reply convinces us, the finding is recorded as resolved and will not be raised again on a later push.
For the settings behind these commands, see configuration.