Use this skill when the user asks to "audit a site", "analyze a website", "review a site", "site health check", or wants a comprehensive analysis including technology stack, issues, and recommendations. Orchestrates a full crawl, enrichment capture, observation analysis, and findings report.
Install
npx skillscat add crawlio-app/crawlio-plugin/audit-site Install via the SkillsCat registry.
This skill performs comprehensive website audits by crawling sites, capturing technical enrichment data, analyzing observations, and generating findings reports. It identifies technology stacks, detects issues, and provides recommendations. Use it when analyzing website health, understanding technical implementation, or conducting thorough site reviews beyond simple downloads.
audit-site
Perform a comprehensive site audit: crawl, capture enrichment, analyze observations, and produce a findings report.
When to Use
Use this skill when the user wants a thorough analysis of a website — not just downloading it, but understanding its technology stack, identifying issues, and producing actionable findings.
Full Audit Workflow
Phase 1: Configure for the Target
First, understand the site and configure appropriately:
update_settings({
settings: {
maxConcurrent: 4,
crawlDelay: 0.5,
stripTrackingParams: true
},
policy: {
scopeMode: "sameDomain",
maxDepth: 5,
respectRobotsTxt: true,
includeSupportingFiles: true,
downloadCrossDomainAssets: true,
autoUpgradeHTTP: true
}
})Adjust based on site size:
- Small site (<100 pages):
maxDepth: 10,maxConcurrent: 8 - Medium site (100-1000):
maxDepth: 5,maxConcurrent: 4 - Large site (1000+):
maxDepth: 3,maxPagesPerCrawl: 500
Phase 2: Crawl
start_crawl({ url: "https://example.com" })Monitor until complete:
get_crawl_status()
// Repeat with `since` parameter for efficient pollingPhase 3: Capture Enrichment (if crawlio-agent available)
If the Chrome extension is running, enrichment data (framework detection, network requests, console logs) is captured automatically during the crawl and appended to the observation log.
Phase 4: Analyze Observations
Query the observation timeline for patterns:
// Get all observations for the target
get_observations({ host: "example.com", limit: 200 })
// Check framework detection
get_observations({ host: "example.com", source: "extension", limit: 50 })
// Review crawl results
get_observations({ op: "crawl_done" })
// Check for errors
get_errors()
get_failed_urls()Phase 5: Create Findings
For each issue or insight identified, create a finding with evidence:
create_finding({
title: "...",
url: "https://example.com",
evidence: ["obs_xxx", "obs_yyy"],
synthesis: "..."
})Phase 6: Generate Report
Compile findings into a structured report:
get_findings({ host: "example.com" })Present as a summary with:
- Technology Stack: Framework, rendering mode, CDN
- Issues Found: Grouped by category (security, performance, SEO, errors)
- Site Structure: Tree overview, orphaned pages, broken links
- Recommendations: Prioritized action items
Audit Checklist
Use this checklist to ensure thorough coverage:
Technology
- Framework detected (React, Vue, Next.js, etc.)
- Rendering mode identified (SSR, SSG, CSR, ISR)
- CDN/hosting identified
- Third-party services cataloged
Performance
- Page count and crawl duration noted
- Large files identified (images, videos, scripts)
- External resource dependencies mapped
Security
- HTTPS enforcement checked
- Mixed content identified
- Security headers reviewed (if captured in network data)
Content
- Failed URLs reviewed and categorized
- Redirect chains identified
- Missing resources noted
Structure
- Site tree reviewed for organization
- Depth distribution analyzed
- Cross-domain assets cataloged
Example Report Structure
# Site Audit: example.com
## Summary
- **Pages crawled**: 142
- **Failed**: 4 (3 auth-required API routes, 1 timeout)
- **Framework**: Next.js (App Router, ISR)
- **Total size**: 23.4 MB
## Findings (5)
### Security
1. **Mixed content on 3 pages** — HTTP images loaded on HTTPS pages
Evidence: obs_a3f7b2c1, obs_b4e8c3d2
### Performance
2. **Unoptimized images** — 8 images over 500KB without modern formats
Evidence: obs_c5f9d4e3
### SEO
3. **Missing meta descriptions** — 12 pages have no meta description
4. **Duplicate titles** — 3 pairs of pages share identical titles
### Errors
5. **Console errors on product pages** — TypeError in cart widget
Evidence: obs_d6g0e5f4
## Recommendations
1. Convert images to WebP/AVIF format
2. Fix mixed content by updating CDN URLs to HTTPS
3. Add unique meta descriptions to all pages
4. Fix TypeError in cart widget JavaScriptTips
- Save the project after crawling so you can revisit:
save_project({ name: "example.com audit" }) - For recurring audits, load the project and recrawl to compare:
load_project({ id: "..." }) - Use
export_site({ format: "folder" })to archive the downloaded content - Combine with crawlio-agent browser interaction tools for authenticated areas