On every pull request touching styles, audits changes for dark-mode safety: colors trapped inside theme-only blocks, tokens missing from one theme, contrast regressions, and components that set foreground color without a matching surface. Posts inline review threads for line-level issues and publishes a summary report on the pull request.
- Identifier
dark-mode-audit- Version
- 1.0.0
- Steps
- 4
- Triggers
- 1
- dark-mode
- design-system
- frontend
- css
- review
- automated
When it runs
pull_request.opened- Settle delay
- 15s after the event
Only when all hold
- pullRequest.isDraft not equals true
- actor.username not in dependabot, dependabot[bot], renovate, renovate[bot], github-actions, github-actions[bot]
- actor.username not contains [bot]
The pipeline
The graph below is the one the workflow opens with in the builder — same steps, same layout, drawn on the same canvas. The run playing through it is a simulation; the branches and conditions are real.
- 01PR Opened
triggerThe event that starts the run.
- 02Clone Repository
git.cloneShallow-clones the repository at the right ref.
- 03Audit Dark Mode Safety
agent.runOne agent works the task with its toolkit.
- 04Publish Dark Mode Report
report.publishPosts or updates a deduplicated report comment.
The agent
Dark Mode Auditor
- Base type
- Code Reviewer
- Temperature
- 0.2
- Max iterations
- 30
- Tools
- 5
Git provider · 2
get_pull_request_diffGet Pull Request Diff · readadd_pull_request_review_threadAdd PR Review Thread · write
Filesystem · 1
read_fileRead File · read
Code search · 1
code_searchCode Search · read
Status · 1
update_statusUpdate Status · write
Related playbooks
Design Token Drift
Finds hard-coded visual values in frontend PRs and maps each violation to the correct design token or primitive.
Accessibility Audit
Reviews UI PRs for accessibility defects, posts inline threads citing WCAG criteria, and submits a summary review.
API Contract Breaking-Change Detector
Detects breaking changes in published API contracts, names affected consumers, and labels the PR.