web-scanning
A toolset for crawling websites and running automated accessibility scans using axe-core and screenshot utilities.
Install
mkdir -p .claude/skills/web-scanning && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17934" && unzip -o skill.zip -d .claude/skills/web-scanning && rm skill.zipInstalls to .claude/skills/web-scanning
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Web content discovery, URL crawling, and page inventory for accessibility audits. Use when scanning web pages, crawling sites for audit scope, or building page inventories for multi-page audits.Key capabilities
- →Perform runtime accessibility scans with axe-core CLI
- →Capture full-page screenshots of web pages
- →Discover URLs for multi-page audits via sitemaps or link crawling
- →Detect web frameworks from workspace files
- →Scan source code files for accessibility issues
How it works
This skill uses axe-core CLI for runtime accessibility scanning and capture-website-cli for full-page screenshots, and can discover URLs through sitemap parsing or link-based crawling.
Inputs & outputs
When to use web-scanning
- →Generate an inventory of site URLs for accessibility testing
- →Run automated WCAG 2.2 AA compliance scans on specific pages
- →Capture full-page screenshots of web pages for visual audits
- →Verify site accessibility compliance in headless environments
About this skill
Web Scanning
Supported Audit Methods
| Method | Tool | When to Use |
|---|---|---|
| Runtime scan | axe-core CLI | Live URL available (dev server or production) |
| Code review | Agent specialists | Source code available in workspace |
| Both | axe-core + agents | Most comprehensive - catches issues from both angles |
Runtime Scanning Commands
axe-core CLI
# Single page scan (WCAG 2.2 AA)
npx @axe-core/cli <URL> --tags wcag2a,wcag2aa,wcag21a,wcag21aa
# Save results to JSON
npx @axe-core/cli <URL> --tags wcag2a,wcag2aa,wcag21a,wcag21aa --save ACCESSIBILITY-SCAN.json
# Multiple pages
npx @axe-core/cli <URL1> <URL2> <URL3> --tags wcag2a,wcag2aa,wcag21a,wcag21aa --save ACCESSIBILITY-SCAN.json
# With Chrome flags (headless)
npx @axe-core/cli <URL> --tags wcag2a,wcag2aa,wcag21a,wcag21aa --chrome-flags="--headless --no-sandbox"
axe-core Tag Reference
| Tag | Standard |
|---|---|
| wcag2a | WCAG 2.0 Level A |
| wcag2aa | WCAG 2.0 Level AA |
| wcag21a | WCAG 2.1 Level A |
| wcag21aa | WCAG 2.1 Level AA |
| wcag22aa | WCAG 2.2 Level AA |
| best-practice | Best practices (not WCAG required) |
Screenshot Capture
capture-website-cli (preferred - lightweight)
# Full-page screenshot
npx capture-website-cli "<URL>" --output="screenshots/<page>.png" --full-page --type=png
# With viewport
npx capture-website-cli "<URL>" --output="screenshots/<page>.png" --full-page --width=1280 --height=720
# Mobile viewport
npx capture-website-cli "<URL>" --output="screenshots/<page>-mobile.png" --full-page --width=375 --height=812
# With delay for JS-rendered content
npx capture-website-cli "<URL>" --output="screenshots/<page>.png" --full-page --delay=3
Playwright (fallback)
npx playwright screenshot --browser chromium --full-page --wait-for-timeout 3000 "<URL>" "screenshots/<page>.png"
Page Discovery for Multi-Page Audits
Crawl Depth Modes
| Mode | Behavior | Max Pages |
|---|---|---|
| Current page only | Scan single URL | 1 |
| Key pages | User-provided list | User-defined |
| Full site crawl | Follow internal links | 50 (default cap) |
Sitemap-based Discovery
# Check for sitemap
curl -s <BASE_URL>/sitemap.xml | head -20
# Extract URLs from sitemap
curl -s <BASE_URL>/sitemap.xml | grep -oP '<loc>\K[^<]+' | head -50
Link-based Crawling
When crawling from a start URL:
- Follow only same-domain links
- Skip anchor links (#), mailto:, tel:, javascript: links
- Skip file downloads (.pdf, .zip, .doc, etc.)
- Respect robots.txt
- Cap at 50 pages unless user overrides
- Track visited URLs to avoid duplicates
Framework Detection
Detect the framework from workspace files to enable framework-specific scanning:
| Indicator | Framework |
|---|---|
package.json contains react | React |
package.json contains next | Next.js |
package.json contains vue | Vue |
package.json contains @angular/core | Angular |
package.json contains svelte | Svelte |
.jsx / .tsx files present | React/Next.js |
.vue files present | Vue |
angular.json present | Angular |
.svelte files present | Svelte |
Only .html files | Vanilla HTML |
Source Code File Patterns
When doing code review, scan these file patterns:
# HTML files
**/*.html
# Component files (framework-specific)
**/*.jsx
**/*.tsx
**/*.vue
**/*.svelte
**/*.component.ts
**/*.component.html
# Style files (for contrast/visual checks)
**/*.css
**/*.scss
**/*.less
**/*.module.css
# Config files (for framework detection)
package.json
next.config.*
nuxt.config.*
angular.json
svelte.config.*
tailwind.config.*
Scan Configuration
Web Scan Config File: .a11y-web-config.json
{
"profile": "standard",
"wcagLevel": "AA",
"wcagVersion": "2.2",
"axeTags": ["wcag2a", "wcag2aa", "wcag21a", "wcag21aa"],
"maxPages": 50,
"screenshots": false,
"framework": "auto",
"ignore": {
"paths": ["node_modules/**", "dist/**", "build/**", ".next/**"],
"rules": []
}
}
Scan Profiles
| Profile | Phases | Thoroughness |
|---|---|---|
| Quick | 1, 3, 4, 9 | Errors and critical only |
| Standard | All (1-9) | Errors and warnings |
| Deep | All + extras | All severities + animation, cognitive, touch |
When not to use it
- →When only code review is needed without runtime scanning
- →When a full site crawl exceeds 50 pages and user override is not provided
- →When only basic chat generation is failing due to server unresponsiveness
Limitations
- →Full site crawls are capped at 50 pages by default
- →Only follows same-domain links during crawling
- →Does not automatically fix accessibility issues, only identifies them
How it compares
This skill automates web content discovery and accessibility scanning using specific tools and methods, providing a structured approach to auditing compared to manual inspection.
Compared to similar skills
web-scanning side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| web-scanning (this skill) | 0 | 4mo | Review | Intermediate |
| firecrawl-scraper | 24 | 8mo | Caution | Beginner |
| web-scraping | 0 | 7mo | No flags | Beginner |
| web-scraper | 0 | 2mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
firecrawl-scraper
jackspace
Scrape and extract web content, convert HTML to markdown, and bypass bot protection for dynamic sites using Firecrawl API.
web-scraping
tatat
Extract structured data from web pages using CSS selectors and XPath
web-scraper
KevanPatira
Web scraping inteligente multi-estrategia. Extrai dados estruturados de paginas web (tabelas, listas, precos). Paginacao, monitoramento e export CSV/JSON.
google-maps-reviews-api-skill
aiskillstore
This skill is designed to help users automatically extract reviews from Google Maps via the Google Maps Reviews API. Agent should proactively apply this skill when users request to find reviews for local businesses (e.g., coffee shops, clinics), monitor customer feedback for a specific brand or loca
playwright-mcp
sfc-gh-dflippo
Browser testing, web scraping, and UI validation using Playwright MCP. Use this skill when you need to test Streamlit apps, validate web interfaces, test responsive design, check accessibility, or automate browser interactions through MCP tools.
web-coder
mochan-tk
Use when: implementing frontend web apps with HTML, CSS, TypeScript, React, accessibility, responsive layout, or performance concerns.