> ## Documentation Index
> Fetch the complete documentation index at: https://docs.macroscope.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Triggers and skips

> When Check Run Agents run, which settings win, and why a check may be absent.

A Check Run Agent runs only if the event selects it and the applicable settings, filters, and limits allow it. Check the GitHub check details for skip and configuration messages.

## Events

| Event | Selection |
| - | - |
| PR opened, updated, or marked ready | Every check, if automatic runs are on. |
| `@macroscope-app` mention | Every check, or only the checks the comment names. See [Run a check manually](#run-a-check-manually). |
| GitHub check or suite rerun | The rerun check, or the checks in the suite. |
| Label added or removed | Checks whose filters use that label. A label in **Always Review PR Labels**, or a [detection mode label](/correctness#pr-labels), selects every check. |

## Run a check manually

Comment on the PR, mention `@macroscope-app`, and name the check by its title, for example `@macroscope-app run Security Review`. The title match ignores case. Macroscope replies "Review triggered", or, if no check has that name, lists the checks that do exist.

A manual run bypasses repository skip settings and run limits. The check's own `labels`, `authors`, `targets`, and file filters still apply, so a check they exclude does not appear.

<a id="settings-and-overrides" />

## Settings

In [repository settings](/settings#feature-switches), **Check Run Agents** is set to **Always run**, **Manual invocation only**, or **Never run**. Each person can override it for their own PRs in [personal settings](/settings#personal-settings): **Always on**, **Always off**, or **Repo default**. Nothing overrides **Never run**.

Three more [pull request settings](/settings#pull-request-settings) decide which PRs are eligible. **Review Draft PRs** controls drafts, and a person's **Review my draft PRs** overrides it for their own PRs. **Review Cross-Repo PRs** controls PRs from forks and other repositories, and **Skip Dependabot** controls Dependabot PRs. A blocked draft gets no check. A blocked cross-repo or Dependabot PR gets a skipped check.

## Order of checks

Macroscope checks these in order and stops at the first one that blocks:

1. **Selection:** did the event select this check?
2. **Check Run Agents setting:** personal setting first, then the repository setting.
3. **Definition:** is there a valid file in `.macroscope/check-run-agents/`?
4. **Applicability:** front matter `authors`, `labels`, and `targets`, or the repository's **Skip PRs by Author**, **Skip PRs by Labels**, and **Skip PRs by Target Branches** when an axis is not set.
5. **File scope:** `include`, `exclude`, and `.macroscope/ignore.md`.
6. **Limits:** workspace balance and monthly limit, then the workspace Check Run Agents per-PR limit, then `maxBudgetPerPR`, then `maxRuns`.
7. **Prerequisites:** `waitsFor` and `requires`.

While the agent runs, `maxBudgetPerRun` and the model's context window can still stop it.

## Overrides

| Trigger | Bypasses | Still applies |
| - | - | - |
| `@macroscope-app` mention | Personal **Always off**, repository **Manual invocation only**, draft settings, repository **Skip PRs by** rules, `maxRuns`, `maxBudgetPerPR`, and the workspace Check Run Agents per-PR limit. | **Never run**, **Review Cross-Repo PRs**, **Skip Dependabot**, front matter filters, file scope, prerequisites, balance, monthly limit, and the per-run budget. |
| GitHub rerun | `maxRuns`. Also requests a fresh full review. | Everything else. |
| **Always Review PR Labels** or detection mode label | Repository **Manual invocation only**, **Skip PRs by Labels**, and **Skip PRs by Target Branches**. | **Never run**, personal **Always off**, draft settings, **Skip PRs by Author**, front matter filters, limits, and prerequisites. |
| Personal **Always on** | Repository **Manual invocation only**. | **Never run**, draft eligibility, and every later step. |

Front matter `authors`, `labels`, and `targets` replace the matching repository **Skip PRs by** rule for that check. They still apply to manual runs.

## Diagnose the outcome

| Outcome | Check first | Billed? |
| - | - | - |
| No check created | The event selected another check, Check Run Agents is off for this PR, the draft was excluded, the definition is missing, or applicability or file filters excluded the PR. | No |
| Check created, then skipped | **Review Cross-Repo PRs** or **Skip Dependabot**, ignore rules, a run or spend limit, a missing or failed prerequisite, invalid configuration, or no new incremental changes. | No |
| Check started, then stopped | The per-run budget or context window ran out. | Completed work only |

For a check required by branch protection, [`requiredStatusCheck: true`](/check-run-agents/configuration#required-status-checks) reports a skip when filters exclude an already selected check. It cannot create a check for an event that never selected it, or when Check Run Agents is set to **Never run**.

## Definition source

Definitions and their imports come from the latest PR commit, except external fork PRs, which use the default branch. Other open PRs need to include an updated definition before it applies to them.

Use `.macroscope/check-run-agents/` for automatic Check Run Agents. Files under its `github-actions/` subdirectory run only through [GitHub Actions](/github-actions).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.