web-validation
Validates web applications with automated error detection, screenshot capture, and mobile testing for enhanced debugging and performance.
Install this skill
Security score
The web-validation skill was audited on May 12, 2026 and we found 51 security issues across 2 threat categories. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 115 | ```bash |
Template literal with variable interpolation in command context
| 156 | ```bash |
Template literal with variable interpolation in command context
| 292 | console.error(`Failed to load: ${r.name}`); |
Template literal with variable interpolation in command context
| 316 | ```bash |
Template literal with variable interpolation in command context
| 339 | ```bash |
Template literal with variable interpolation in command context
| 460 | ```bash |
Template literal with variable interpolation in command context
| 465 | ```bash |
Template literal with variable interpolation in command context
| 470 | ```bash |
Template literal with variable interpolation in command context
| 475 | ```bash |
Template literal with variable interpolation in command context
| 480 | ```bash |
Template literal with variable interpolation in command context
| 573 | ```bash |
Template literal with variable interpolation in command context
| 645 | ``` |
Template literal with variable interpolation in command context
| 651 | ``` |
Python subprocess execution
| 557 | subprocess.Popen(['python', 'lib/dashboard.py', '--no-browser', '--port', '5000']) |
Python subprocess execution
| 561 | result = subprocess.run( |
External URL reference
| 50 | login_url="http://localhost:3000/auth/signin", |
External URL reference
| 61 | result = validator.validate_url('http://localhost:3000/dashboard') |
External URL reference
| 78 | ("http://localhost:3000/", "Home"), |
External URL reference
| 79 | ("http://localhost:3000/auth/signin", "Sign In"), |
External URL reference
| 82 | ("http://localhost:3000/dashboard", "Dashboard"), |
External URL reference
| 83 | ("http://localhost:3000/settings", "Settings"), |
External URL reference
| 106 | result = validator.validate_url('http://localhost:3000') |
External URL reference
| 116 | python ${CLAUDE_PLUGIN_ROOT}/lib/web_page_validator.py http://localhost:3000 --viewport all --screenshot |
External URL reference
| 148 | result = validator.validate_url('http://localhost:3000') |
External URL reference
| 151 | results = validator.validate_all_viewports('http://localhost:3000') |
External URL reference
| 158 | python ${CLAUDE_PLUGIN_ROOT}/lib/web_page_validator.py http://localhost:3000 --viewport mobile |
External URL reference
| 161 | python ${CLAUDE_PLUGIN_ROOT}/lib/web_page_validator.py http://localhost:3000 --viewport tablet |
External URL reference
| 164 | python ${CLAUDE_PLUGIN_ROOT}/lib/web_page_validator.py http://localhost:3000 --viewport all |
External URL reference
| 167 | python ${CLAUDE_PLUGIN_ROOT}/lib/web_page_validator.py http://localhost:3000 --viewport-width 414 --viewport-height 896 |
External URL reference
| 188 | result = validator.validate_url('http://localhost:3000') |
External URL reference
| 223 | result = validator.validate_url('http://127.0.0.1:5000') |
External URL reference
| 335 | wait_for_server('http://127.0.0.1:5000') |
External URL reference
| 340 | python ${CLAUDE_PLUGIN_ROOT}/lib/web_page_validator.py http://127.0.0.1:5000 --verbose |
External URL reference
| 414 | URL: http://127.0.0.1:5000 |
External URL reference
| 420 | Source: http://127.0.0.1:5000/:1827 |
External URL reference
| 461 | python ${CLAUDE_PLUGIN_ROOT}/lib/web_page_validator.py http://127.0.0.1:5000 |
External URL reference
| 466 | python ${CLAUDE_PLUGIN_ROOT}/lib/web_page_validator.py http://127.0.0.1:5000 --verbose |
External URL reference
| 471 | python ${CLAUDE_PLUGIN_ROOT}/lib/web_page_validator.py http://127.0.0.1:5000 --output report.txt |
External URL reference
| 476 | python ${CLAUDE_PLUGIN_ROOT}/lib/web_page_validator.py http://127.0.0.1:5000 --json > result.json |
External URL reference
| 481 | python ${CLAUDE_PLUGIN_ROOT}/lib/web_page_validator.py http://127.0.0.1:5000 --no-headless |
External URL reference
| 492 | result = validator.validate_url('http://127.0.0.1:5000', wait_for_load=3) |
External URL reference
| 513 | /validate:web http://127.0.0.1:5000 |
External URL reference
| 516 | /validate:web http://127.0.0.1:5000 --auto-fix |
External URL reference
| 519 | /validate:web http://127.0.0.1:5000 --report |
External URL reference
| 532 | - Download from: https://chromedriver.chromium.org/ |
External URL reference
| 562 | ['python', 'lib/web_page_validator.py', 'http://127.0.0.1:5000'], |
External URL reference
| 587 | python ${CLAUDE_PLUGIN_ROOT}/lib/web_page_validator.py http://127.0.0.1:5555 |
External URL reference
| 610 | result = validator.validate_url('http://127.0.0.1:5000') |
External URL reference
| 632 | - Download from: https://chromedriver.chromium.org/ |
External URL reference
| 640 | - Download from: https://www.google.com/chrome/ |
External URL reference
| 714 | script.src = 'https://cdnjs.cloudflare.com/ajax/libs/axe-core/4.7.2/axe.min.js'; |