Block AI slop at the pull request level. Sailop runs as a CI check, scans changed files for AI-generated visual patterns, annotates the PR with findings, and fails the build if the slop score exceeds your threshold.
Create .github/workflows/sailop.yml in your repository. This workflow runs on every pull request that touches frontend files.
name: Sailop Slop Check
on:
pull_request:
paths:
- 'src/**/*.tsx'
- 'src/**/*.jsx'
- 'src/**/*.css'
- 'src/**/*.html'
jobs:
sailop:
name: AI Slop Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Sailop
run: npx sailop install
- name: Run Sailop scan
run: sailop check src/ --threshold=40 --format=github
env:
SAILOP_CI: true
- name: Upload report
if: always()
uses: actions/upload-artifact@v4
with:
name: sailop-report
path: sailop-report.jsonsailop check is the CI-optimized version of sailop scan. It returns exit code 0 (pass) or 1 (fail) based on your threshold.
--threshold=NMaximum allowed slop score (0-100). The check fails if any scanned file exceeds this. Default: 50.--preset=strict|default|looseRule severity preset. "strict" enables all rules as errors; "loose" only flags the most egregious patterns.--format=github|json|textOutput format. "github" emits workflow commands that GitHub renders as PR annotations.--annotateAdd inline annotations to the PR diff. Each finding appears as a warning or error on the relevant line.--fail-on=high|medium|lowOnly fail the check if findings at this severity or above exist. Lets you allow minor patterns.--changed-onlyOnly scan files changed in the current PR, not the entire source tree. Faster and more focused.With --format=github --annotate, Sailop produces annotations that GitHub renders directly in the PR diff view. Reviewers see slop findings alongside the code, without leaving the PR.
src/app/page.tsx:12errorcolor/ai-gradient-bandBlue-to-indigo gradient detected (HSL 220-260 range). This pattern appears on 84% of AI-generated SaaS pages.
src/app/page.tsx:28warningeffect/backdrop-blur-navbackdrop-blur-sm on navigation bar. Present on 91% of AI-generated pages. Consider a solid background or a different blur technique.
src/components/features.tsx:5warninglayout/three-col-featuresThree-column feature grid with icon + heading + description. The most common AI layout pattern.
src/app/globals.css:3errortypography/default-fontInter as the sole font. AI default font detected. Pair with a serif or non-default display font.
For landing pages, pricing pages, and other marketing-critical routes, use a stricter configuration that sets a lower threshold and only tolerates low-severity findings.
- name: Run Sailop (strict)
run: |
sailop check src/ \
--threshold=25 \
--preset=strict \
--format=github \
--annotate \
--fail-on=highAt the end of the run, Sailop prints a summary table that appears in the GitHub Actions log.
Add the workflow file to your repo and every PR gets an automatic slop check.