Skip to content
Back to skills

Dark Mode Testing

ASecurity

Toggle between light and dark mode in Cursor's browser, screenshot both states, and flag missing token mappings or contrast issues.

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 10, 2026
testingjavascriptgojavatesting

Works with

  • cursor
  • cli

Security analysis

A100/100

Scanned September 10, 2026

npx -y skills add 0xAidan/polymarket-bot-test --skill dark-mode-testing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dark Mode Testing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dark Mode Testing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/0xaidan-dark-mode-testing/badge)](https://www.skillsdirectory.com/skills/0xaidan-dark-mode-testing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dark-mode-testing
description: Toggle between light and dark mode in Cursor's browser, screenshot both states, and flag missing token mappings or contrast issues.
user-invocable: true
---

# Dark Mode Testing

Verify that dark mode works correctly by toggling themes and comparing.

## Workflow

### 1. Open the App

Navigate to the target page using `browser_navigate`.

### 2. Screenshot Light Mode

Take a screenshot of the page in its default (light) state using `browser_take_screenshot`.

### 3. Toggle Dark Mode

Toggle dark mode using one of these methods (try in order):

1. **Class toggle**: Execute JS to add `dark` class to `<html>`:
   ```javascript
   document.documentElement.classList.toggle('dark')
   ```
2. **Attribute toggle**: Set `data-theme="dark"`:
   ```javascript
   document.documentElement.setAttribute('data-theme', 'dark')
   ```
3. **Media query**: Use browser to emulate `prefers-color-scheme: dark`
4. **UI toggle**: Find the theme toggle button in `browser_snapshot` and click it

### 4. Screenshot Dark Mode

Take another screenshot after toggling.

### 5. Inspect for Issues

Check the `browser_snapshot` aria tree and screenshots for:

- **White flashes**: Elements with hardcoded `bg-white` instead of `bg-white dark:bg-slate-900`
- **Invisible text**: Text color that matches the dark background (e.g. black text on dark bg)
- **Missing borders**: Borders using light-only colors that disappear on dark backgrounds
- **Contrast violations**: Text that's too low-contrast against the dark background (need 4.5:1)
- **Hardcoded colors**: Any `#ffffff`, `#000000`, `white`, `black` in inline styles
- **Images**: Logos or icons that don't have dark mode variants
- **Shadows**: Box shadows that are invisible on dark backgrounds
- **Form inputs**: Input fields that keep white backgrounds in dark mode

### 6. Report

```
Dark Mode Test:
  Light mode: OK
  Dark mode issues found:
    - Header logo: white logo invisible on dark bg (needs dark variant)
    - Card borders: border-gray-200 invisible on dark bg → add dark:border-gray-700
    - Footer text: hardcoded #333 → use text-gray-900 dark:text-gray-100
```

Fix each issue and re-test.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…