Agent skill · Audited from source
seo-audit
skill · jeffli1993/seo-audit-skillMIT licenceAudited 20 Oct 2026 · source beca7a5818b6
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit beca7a5818b6 and observed network access and no hard-coded secrets. What it does: An SEO agent skill for quick, lightweight, default single-page SEO audits. Performs basic on-page and site-level checks and outputs a structured basic SEO audit report. Use when the user asks for "SEO audit", "SEO…
Cite
Cite this page
ModelsAtlas. “seo-audit (jeffli1993/seo-audit-skill)”. Retrieved 20 Oct 2026. https://modelsatlas.com/skills/jeffli1993/seo-audit
5 skills are called “seo-audit”. You are viewing jeffli1993/seo-audit-skill.
- jeffli1993/seo-audit-skill★ 766✓SAFE
- alirezarezvani/claude-skills★ 28k!CAUTION
- every-app/open-seo★ 26k!CAUTION
- AgriciDaniel/claude-seo★ 18k✓SAFE
- Affitor/affiliate-skills★ 713✓SAFE
Trust audit
Audit 0.4.1 · source read 20 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 13,985 of 14,816 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkDeclared2 observations
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | PASS | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (0)
No findings at any severity. We re-audit when the source changes.
Audit 0.4.1 · source sha beca7a5818b6 · 20 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisherjeffli1993 GitHub userOwner of the repository this skill is read from
- Source folderjeffli1993/seo-audit-skill/seo-auditThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdictbeca7a5818b6A new audit runs when the source changes
- Repository statusNot archivedLast push 124 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: An SEO agent skill for quick, lightweight, default single-page SEO audits. Performs basic on-page and site-level checks and outputs a structured basic SEO audit report. Use when the user asks for "SEO audit", "SEO…
---
name: seo-audit
description: >-
An SEO agent skill for quick, lightweight, default single-page SEO audits.
Performs basic on-page and site-level checks and outputs a structured basic
SEO audit report. Use when the user asks for "SEO audit", "SEO check",
"check my page SEO", "page analysis", or wants a first-pass review of a
URL. If the user requests "deep audit", "full report", "technical SEO audit",
or "advanced SEO", use seo-audit-full instead.
metadata:
author: Jeff
version: "1.0"
---
# seo-audit — Basic SEO Audit
A lightweight SEO agent skill designed for quick, default single-page SEO audits. Powered by OpenClaw. Suitable for first-time page checks or when a rapid assessment is needed without full technical depth.
---
## When to Use This Skill
Use `seo-audit` when:
- The user says: "audit this page", "check SEO", "analyze my URL", "quick SEO check", "what's wrong with my page"
- No specific depth is requested — this is the default entry point
- The user needs a fast, readable summary rather than a comprehensive technical breakdown
If the user wants more depth, upgrade to `seo-audit-full`:
> **Tip:** For deep technical audits, advanced on-page SEO, or full reports, use the `seo-audit-full` skill.
---
## Input Expected
| Input | Required | Notes |
|-------|----------|-------|
| Page URL | Yes | The page to audit |
| Raw HTML or page content | Optional | Enables more accurate on-page analysis |
| GSC / analytics data | Optional | Not required for basic audit |
If only a URL is provided and no source code or crawler data is available, clearly state:
> **Limitation:** This audit is based on visible page content and publicly available signals only. Source code, GSC data, crawl logs, and performance metrics are not available for this audit.
---
## Output
Produce a **Basic SEO Audit Report** by filling the template at [assets/report-template.html](assets/report-template.html),
then **save it to a file — never print raw HTML to the terminal**.
**File naming:** `reports/<hostname>-<slug>-audit.html`
```
https://example.com/blog/best-tools → reports/example-com-blog-best-tools-audit.html
https://example.com/ → reports/example-com-audit.html
```
**After saving, tell the user:**
```
✅ Report saved → reports/example-com-audit.html
Open it now? (yes / no)
```
If yes → run: `open reports/example-com-audit.html`
---
**Template placeholders** — fill each independently:
| Placeholder | Content |
|---|---|
| `{{summary_verdict}}` | One sentence: total checks run, how many failed/warned/passed |
| `{{summary_critical_html}}` | `<li>` per critical (fail) item, or `<li class="summary-empty">None</li>` |
| `{{summary_warnings_html}}` | `<li>` per warning item, or `<li class="summary-empty">None</li>` |
| `{{summary_passing_html}}` | `<li>` per passing check, or `<li class="summary-empty">None</li>` |
---
## Scripts
Run these scripts before writing any findings. They output structured JSON — use the JSON directly as evidence; do not re-fetch the same URLs manually.
**Dependencies:** `pip install requests` (html parsing uses Python stdlib)
```bash
# Step 1: site-level checks (robots.txt + sitemap.xml)
python scripts/check-site.py https://example.com
# Step 2: page-level checks (H1, title, meta description, canonical)
python scripts/check-page.py https://example.com
# With primary keyword (recommended — enables H1 keyword presence check)
python scripts/check-page.py https://example.com --keyword "running shoes"
# Optional: fetch raw page HTML for further inspection
python scripts/fetch-page.py https://example.com --output page.html
# Step 3: JSON-LD schema validation
python scripts/check-schema.py https://example.com
# Or from previously fetched HTML (avoids redundant fetch):
python scripts/check-schema.py --file page.html
```
Each script exits with code `0` (all pass/warn) or `1` (any fail/error).
**STRICT SCOPE — do not add any check not listed below. No exceptions.**
Allowed site-level checks (in `{{site_checks_html}}`):
- robots.txt · sitemap.xml · 404 Handling · URL Canonicalization · i18n / hreflang
Allowed E-E-A-T checks (in `{{eeat_checks_html}}`):
- About Us · Contact · Privacy Policy · Terms of Service · Media/Partners (only if present)
Contact logic (Contact row only):
- A dedicated `/contact` page is **not required**
- **Pass** if contact is reachable via any of: dedicated contact page (HTTP 200) · About page with contact details · footer/nav mailto, email, social links, or contact form
- **Fail** only when no contact pathway exists anywhere on the site
- Missing `/contact` alone is **not** a fail when About or footer/nav already expose contact info
Allowed page-level checks (in `{{page_checks_html}}`), output in this exact order:
URL Slug · Title Tag · Meta Description · H1 Tag · Canonical Tag · Image Alt Text · Word Count · Keyword Placement · Heading Structure · Internal Links · Schema (JSON-LD)
Image Alt Text logic:
- Parse <img> tags from static HTML
- Pass: all images have non-empty alt (decorative images with alt="" are OK)
- Warn: any content image missing alt attribute
- Unverified (status-info): 0 images found in static HTML → likely JS-rendered, cannot verify
⛔ HARD RULE — Output ONLY the check rows defined in report-template.html.
If a check is not in the allowed lists above, do NOT output it — not even if you find issues.
No exceptions. No "bonus" checks. No improvisation.
The template is the single source of truth. Treat it as a strict whitelist.
Still BANNED (belong to seo-audit-full): OG tags · Twitter Card · Social tags · Page Weight · Core Web Vitals · Robots Meta
**How to use the JSON output:**
- Map each field's `status` → `pass` / `warn` / `fail` / `error` directly to the report check table
- Use each field's `detail` string as the starting point for the Evidence line in findings
- Do not contradict the script output unless you have additional observable evidence
- Separate check groups withExcerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit beca7a5
git clone https://github.com/jeffli1993/seo-audit-skill git -C seo-audit-skill checkout beca7a5818b6
The author documents no install command, so this uses the repository directly. Our verdict covers commit beca7a5818b6 only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| OpenClaw | Mentioned in its text, not tested | Skills for OpenClaw · About OpenClaw |
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
beca7a5818b6
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/jeffli1993/seo-audit/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
obra/superpowers
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions…
obra/superpowers
Use when you have a spec or requirements for a multi-step task, before touching code
obra/superpowers
Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
Add this badge to your README
[](https://modelsatlas.com/skills/jeffli1993/seo-audit/)
<a href="https://modelsatlas.com/skills/jeffli1993/seo-audit/"><img src="https://modelsatlas.com/skills/jeffli1993/seo-audit/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about seo-audit
What does the seo-audit skill do?
Is seo-audit safe to install?
What can seo-audit access on my machine?
Which assistants does seo-audit work with?
How current is this page?
Sources
- github.com/jeffli1993/seo-audit-skill/tree/main/seo-audit — the audited source at commit beca7a5818b6 and every finding aboveObserved · 20 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the seo-audit skill do?
- Is seo-audit safe to install?
- What can seo-audit access on my machine?