Browserslist Validator
/install browserslist-validator
Browserslist Validator
Validate .browserslistrc files and browserslist entries in package.json for syntax errors, deprecated browsers, redundant queries, and best practices.
Commands
# Full validation (all rules)
python3 scripts/browserslist_validator.py validate .browserslistrc
# Validate browserslist in package.json
python3 scripts/browserslist_validator.py validate package.json
# Quick syntax-only check
python3 scripts/browserslist_validator.py check .browserslistrc
# Estimate coverage
python3 scripts/browserslist_validator.py coverage .browserslistrc
# Explain each query in human-readable form
python3 scripts/browserslist_validator.py explain .browserslistrc
# JSON output
python3 scripts/browserslist_validator.py validate .browserslistrc --format json
# One-line PASS/WARN/FAIL summary
python3 scripts/browserslist_validator.py validate .browserslistrc --format summary
# Strict mode (warnings become errors)
python3 scripts/browserslist_validator.py validate .browserslistrc --strict
# Target environment
python3 scripts/browserslist_validator.py validate .browserslistrc --env production
Rules (20)
| # | Category | Severity | Rule |
|---|---|---|---|
| S1 | Syntax | E | File not found or unreadable |
| S2 | Syntax | E | Empty config (no queries) |
| S3 | Syntax | E | Invalid query syntax / unknown browser name |
| S4 | Syntax | W | Duplicate queries |
| B1 | Browsers | W | Dead/deprecated browser (IE, Blackberry, etc.) |
| B2 | Browsers | W | Browser with \x3C0.01% global usage |
| B3 | Browsers | E | Browser version does not exist (e.g. Chrome 999) |
| B4 | Browsers | E | Unknown browser name |
| Q1 | Queries | W | Redundant query (covered by broader query) |
| Q2 | Queries | W | Conflicting queries (e.g. > 1% and \x3C 0.5%) |
| Q3 | Queries | E | not dead without any positive query |
| Q4 | Queries | W | Empty result after not negation |
| C1 | Coverage | W | Very low total coverage (\x3C80%) |
| C2 | Coverage | W | Very high coverage (>99.5%, may include dead browsers) |
| C3 | Coverage | I | No mobile browser coverage hint |
| C4 | Coverage | I | No country-specific override detected |
| P1 | Best Practices | W | IE queries present (recommend dropping IE) |
| P2 | Best Practices | W | Unreasonably old versions (last 20 versions) |
| P3 | Best Practices | W | all query used (too broad) |
| P4 | Best Practices | W | Version pinning instead of range (Chrome 90) |
Output Formats
- text (default): Human-readable with
[E]/[W]/[I]severity prefix - json: Machine-readable structured output
- summary: Single-line
PASS/WARN/FAIL
Exit Codes
0— No errors1— Errors found (or warnings in--strictmode)2— File not found or parse error
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install browserslist-validator - After installation, invoke the skill by name or use
/browserslist-validator - Provide required inputs per the skill's parameter spec and get structured output
What is Browserslist Validator?
Validate .browserslistrc files and browserslist config in package.json for syntax errors, deprecated browsers, redundant queries, and best practices. Use whe... It is an AI Agent Skill for Claude Code / OpenClaw, with 119 downloads so far.
How do I install Browserslist Validator?
Run "/install browserslist-validator" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Browserslist Validator free?
Yes, Browserslist Validator is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Browserslist Validator support?
Browserslist Validator is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Browserslist Validator?
It is built and maintained by charlie-morrison (@charlie-morrison); the current version is v1.0.0.