Integrations
SmartSpec is a CLI: anything a bash script can do, SmartSpec can do. These are the workflows we use internally.
Claude Code
SmartSpec installs an official audit-website skill
when you install the npm package. After that:
npm install -g smartspec
# Open Claude Code in any project
/audit-website https://example.com
Claude runs smartspec audit ... -f llm internally,
parses the findings, and proposes prioritized fixes. Works on locally-dev'd sites too.
Cursor, Windsurf, Zed
In AI-native editors, run from the terminal and paste the LLM-formatted file into chat:
smartspec audit https://my-site.dev -f llm -o /tmp/audit.txt
# then in Cursor:
# @file /tmp/audit.txt
# > Fix the critical findings in this audit The AI already has the structured context + task instructions → fewer round-trips, more relevant fixes.
jq recipes
A handful of jq extractions useful in bash scripts.
Just the score:
smartspec audit $URL -f json -q | jq '.score' Critical findings only:
smartspec audit $URL -f json -q | jq '.findings[] | select(.severity == "critical")' Count findings per category:
smartspec audit $URL -f json -q | jq '[.findings[] | .category] | group_by(.) | map({cat: .[0], count: length})' Fail CI if there are any critical findings:
smartspec audit $URL -f json -q | jq -e '[.findings[] | select(.severity == "critical")] | length == 0' Cron / scheduled monitoring
Weekly automated audit saved to S3 + Slack alert if score drops.
# /etc/cron.weekly/seo-audit
#!/usr/bin/env bash
set -e
DATE=$(date +%Y-%m-%d)
URL="https://my-site.com"
smartspec audit $URL -f html -o /tmp/audit-$DATE.html
smartspec audit $URL -f json -o /tmp/audit-$DATE.json
aws s3 cp /tmp/audit-$DATE.html s3://my-audits/
SCORE=$(jq '.score' /tmp/audit-$DATE.json)
PREV=$(jq '.score' /tmp/audit-previous.json 2>/dev/null || echo "$SCORE")
if [ "$SCORE" -lt "$PREV" ]; then
curl -X POST $SLACK_WEBHOOK -d "{
\"text\": \"SEO score dropped: $PREV → $SCORE on $URL\"
}"
fi
mv /tmp/audit-$DATE.json /tmp/audit-previous.json