What “Skipped” means
When a PR is skipped:- MergeWatch receives the webhook but does not run any agents against the diff.
- The PR appears in the dashboard Reviews table with a status of Skipped and a reason explaining why.
- Skipped reviews do not count toward billing. You are only billed for reviews that run agents against a diff.
Skipping is not the same as ignoring files. When individual files match
ignorePatterns but other files in the PR do not, the PR is still reviewed — the matching files are simply excluded from the diff sent to agents.Auto-skip rules
The following conditions cause MergeWatch to skip a pull request automatically:Bot comment loops are prevented at the webhook layer:
@mergewatch mentions from senders of type Bot are ignored outright. This is orthogonal to skip rules — it applies to comment-triggered reviews regardless of your config.Path-based exclusion
MergeWatch has two path-filtering mechanisms, and it’s important to understand they do different things:Built-in PR-level skip (not configurable)
If every changed file in a PR matches one of the built-in trivial patterns, the PR is skipped entirely with a reason like “Only docs changed” or “Only lock files + config changed”. This list is baked in — you can’t add to it or remove from it. Built-in patterns include: lock files (*.lock, package-lock.json, yarn.lock, pnpm-lock.yaml, Gemfile.lock, Pipfile.lock, poetry.lock, composer.lock, go.sum), docs (*.md, *.mdx, *.txt, *.rst, docs/**, CHANGELOG*, LICENSE*), build artifacts (*.min.js, *.min.css, *.map, dist/**, build/**, node_modules/**), and editor/CI config (.github/**, .vscode/**, tsconfig.json, renovate.json, .eslintrc*, .prettierrc*, etc.).
File-level diff exclusion (configurable)
excludePatterns (top-level) filters individual files out of the diff sent to agents. It does not cause PR-level skipping — the PR is still reviewed as long as at least one non-built-in-skipped file is present.
.mergewatch.yml
rules.ignorePatterns is deprecated. New configurations should use top-level excludePatterns only — entries under rules.ignorePatterns are folded into excludePatterns at parse time and a one-time deprecation warning is emitted.Force-include with includePatterns
Use includePatterns to opt PRs back into review when every changed file would otherwise be classified as built-in trivial. This operates at the PR-skip layer, not the diff-filter layer — it doesn’t change what gets sent to agents on a PR that’s already being reviewed.
Common uses: review docs changes inside a security-sensitive directory, force review of a top-level SECURITY.md, or treat a critical config path as non-trivial.
.mergewatch.yml
includePatterns is reviewed even though it would otherwise be PR-skipped as docs-only or config-only.
Auto-review off
Whenrules.autoReview: false is set, MergeWatch leaves no trace on the pull request. No 👀 reaction, no check run, no summary comment, no formal review, and no stored review record — the config is evaluated before any GitHub side effect, so a parked installation is genuinely silent rather than quietly noisy.
Mention-triggered reviews (@mergewatch review, @mergewatch summary) bypass the gate and post a normal review as usual.
Because nothing appears on the PR, the way to confirm auto-review is off is the absence of a check run — plus a
autoReview off — silently skipping <owner>/<repo>#<N> line in your logs. If you want a visible marker instead, leave autoReview on and use an ignored label (label-based skip), which skips visibly.Label-based skip
UseignoreLabels to skip PRs that carry specific GitHub labels:
.mergewatch.yml
ignoreLabels list, it is skipped. This is useful for bot-generated PRs (such as Dependabot or Renovate) that you label consistently.
Skip log
Every skipped PR is logged to DynamoDB with the following information:- Repository and PR number
- Skip reason (e.g., “All files matched ignorePatterns”, “Draft PR”, “Label: skip-review”)
- Timestamp
1
Open the Reviews table
Navigate to Dashboard > Reviews and filter by status Skipped.
2
View the skip reason
Click on any skipped review to open the detail drawer. The Reason field explains why the PR was skipped.
Disabling configurable auto-skip
If you want MergeWatch to review every PR regardless of draft status, labels, or file patterns, relax the configurable rules:.mergewatch.yml
Next steps
Review Behavior
Understand when reviews trigger, status values, and re-triggering.
Custom Instructions
Inject project-specific guidance into agent prompts.