Quick start

Scan your first SKILL.md in under 30 seconds. No signup, no credit card, runs in your browser. When the CLI ships, the same scanner runs locally on your machine.

Three ways to scan a skill

SkillOx runs the same 12 scanner rules whether you use it on the web, install the CLI (coming soon), or call the HTTP API.

Web · skillox.io
Paste a URL into the homepage scan box. Get a result page in 1–3 seconds. Share by link.
CLI (coming soon) · npm i -g skillox
Local-only scanning. No data leaves your machine. Use in CI/CD via `skillox policy check`.
HTTP API · api.skillox.io
Programmatic access. JSON in, JSON out. Same scanner as web and CLI.
IDE plugins (planned)
Inline scan-on-install in VS Code, Cursor, JetBrains. Not yet shipped.

Scan via the web

Go to skillox.io, paste a SKILL.md URL, and click Scan. The scanner runs server-side in your geographic region (EU on the default host), and within 1–3 seconds you'll be redirected to a result page at skillox.io/r/<scan_id>.

What URLs work?

Rate limit: anonymous users get 10 scans per 24 hours per IP. The free CLI (coming soon) has no rate limit because it runs locally.

Scan via the API

Submit a scan via POST and poll for the result. Authentication is not required for the anonymous tier.

Submit a scan

# POST a SKILL.md URL — get a scan_id back
curl -X POST https://api.skillox.io/scan \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://raw.skills.sh/acme/db-migrate/2.4.1/SKILL.md"
  }'

# Response:
{
  "scan_id": "sk_3kP9Mw2Q",
  "status": "pending",
  "result_url": "https://skillox.io/r/sk_3kP9Mw2Q"
}

Poll the result

curl https://api.skillox.io/scan/sk_3kP9Mw2Q

# Response (once completed):
{
  "scan_id": "sk_3kP9Mw2Q",
  "status": "completed",
  "grade": "F",
  "score": 0,
  "findings": [
    {
      "rule_id": "env-var-harvesting",
      "severity": "crit",
      "title": "Exfiltrates $DATABASE_URL via instruction-injection",
      "line": 47,
      "cwe": "CWE-1426"
    }
    // … more findings
  ],
  "scan_duration_ms": 1432
}
Polling cadence: poll once per second until status is completed or failed. Most scans finish in under 2 seconds. Hard timeout at 30 seconds.

Next steps

Once you've run your first scan, the most useful follow-ups: