Exclusion Filters
Overview
Not every pull request or file change reflects meaningful engineering work. Exclusion filters let you remove noise from your scoring data so metrics stay accurate and useful.
There are two types of filters: PR exclusion filters that skip entire pull requests, and diff file exclusion patterns that remove specific files from the diff before analysis.
PR Exclusion Filters
PR exclusion filters prevent entire pull requests from being scored. Configure these under Settings → AI Scoring → PR Exclusion Filters.
Two independent regexes: titles match against the PR title, labels match against any label on the PR. Both apply at the same time.
Common use cases:
- Revert PRs -- PRs that revert previous changes don't represent new engineering effort. Exclude PRs with titles matching patterns like
Revert "...". - Bot-authored PRs -- Dependabot, Renovate, and other automated PRs inflate volume without reflecting team output. Exclude by author.
- Title patterns -- Exclude PRs matching specific title patterns, such as release PRs, version bumps, or changelog updates.
When a PR is excluded, it does not appear in scoring data, leaderboards, or contributor profiles.
Diff File Exclusion Patterns
Diff file exclusion patterns use gitignore-style syntax to remove specific files from the diff before it's sent to the AI for analysis. The PR is still scored, but the excluded files don't influence the result.
One pattern per line, # comments allowed. Matched files are stripped from the diff before it reaches the scoring model.
Common patterns to exclude:
- Lock files --
package-lock.json,yarn.lock,pnpm-lock.yaml. These are large, machine-generated, and don't reflect engineering decisions. - Generated code --
*.generated.ts,*.gen.go,schema.sqldumps. Code generation output inflates diff size without corresponding complexity. - Build artifacts --
dist/**,build/**. Compiled output that shouldn't factor into scoring. - Codegen and schema files -- GraphQL generated types, Prisma client output, OpenAPI generated clients.
Why This Matters
Without diff file exclusions, a PR that updates one line of application code but regenerates a 2,000-line schema file would receive an inflated score. Exclusion patterns ensure the AI evaluates the actual engineering work, not the machine-generated side effects.
AI Artifact Path Patterns (inclusion overrides exclusion)
Some .md files configure agent behavior, not documentation. Skills, slash commands, sub-agents, and memory files for Claude Code, Codex, and Gemini CLI are recognized automatically and counted as code -- they bypass the default .md exclusion entirely.
The defaults cover:
**/.agents/skills/**/SKILL.md-- openagentskills.iostandard (interoperable across Claude Code, Codex, and Gemini CLI)**/.claude/skills/**/SKILL.md-- Claude Code skills**/.claude/commands/*.md-- Claude Code slash commands**/.claude/agents/**/*.md-- Claude Code sub-agents**/.gemini/skills/**/SKILL.md-- Gemini CLI skills**/skills/*/SKILL.md-- alternate open-standard layout**/CLAUDE.md,**/AGENTS.md,**/GEMINI.md-- memory files (no frontmatter required)
If a file matches both an exclusion filter (e.g., a blanket *.md rule you've added) and an AI artifact pattern, the AI artifact rule wins. Inclusion overrides exclusion. This means you can keep a broad *.md exclusion for generic documentation while still getting full credit for skill PRs.
To extend the AI artifact list (e.g., a monorepo with per-app skill directories), add patterns in the AI & Skill Files (always counted) section on the AI Scoring Settings page. See AI Artifact Scoring for the full list of recognized patterns and how the score differs for these files.