Open source · MIT · 12 vibecoder rules

The SEO scanner that speaks fluent AI-built site

Lovable, Bolt, v0, Replit, Cursor — smartspec recognizes their failure patterns and tells you exactly how to fix them.

LovableBoltv0ReplitCursor
Runs the local technical engine

or run it locally

via npm
npm i -g smartspec
via curl
curl -fsSL smartspec.dev/install | bash

or use the audit-website skill in Claude Code / Cursor

What's broken

Tuned for the way AI builders generate sites today

smartspec ships with 12+ rules covering the most common failure modes. When a tool is detectable, the fix message names it explicitly.

Lovable

  • page-noindex
    Preview default leaks to production
  • page-canonical-localhost
    Canonical points at preview URL

v0 by Vercel

  • page-title-default
    "v0 by Vercel" boilerplate title
  • page-empty-source-html
    JS-only shell, no SSR

Bolt

  • analytics-measurement-id-placeholder
    gtag with G-XXXXXXXXXX
  • schema-missing-organization
    No Organization JSON-LD

Generic AI scaffolds

  • mobile-viewport-missing
    No <meta viewport>
  • content-thin
    Inner pages near-empty
  • sitemap-phantom
    Placeholder URLs in sitemap
  • content-boilerplate-hero
    "Welcome to my website" H1

Agent integration

Use it from Claude Code or Cursor

Already coding with an AI agent? Install the audit-website skill once and ask your agent to audit any URL. It runs smartspec and walks you through fixes, naming the tool that built the site.

# Clone the repo
git clone https://github.com/smartwebanto/smartspec

# Copy the skill into Claude Code
cp -r smartspec/.claude/skills/audit-website ~/.claude/skills/

Audit my Lovable app at https://my-app.lovable.app

Output

For humans and machines

Available now
consolejson
Coming in v0.2
htmlmarkdowntextllmxml
smartspec audit https://example.com
smartspec audit https://example.com -f json | jq '.findings[] | select(.severity=="critical")'

Pipe to file, parse with jq, embed in CI. More formats (HTML report, LLM-optimized, XML) ship with v0.2.