seo-check
Skill1 starsChanged 5 months agoMITView on GitHub
Audit SEO, Open Graph, responsive design. Checks meta tags, OG image, robots.txt, sitemap, structured data, and mobile rendering.
5 other projects use a version of this.
Adopted by
Most recently taken up by
- Quality-Max/free-qa-skillstheir own version, first seen Oct 25, 2026
- getvibekits/vibe-coding-rulestheir own version, first seen Oct 25, 2026
- Nirusan/claude-configtheir own version, first seen Oct 13, 2026
- theYahia/yandex-webmaster-mcptheir own version, first seen Jun 23, 2026
- rainday/smart-blog-skillstheir own version, first seen May 15, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- rainday/smart-blog-skills★ 35same name
- Quality-Max/free-qa-skills★ 13same name
- Nirusan/claude-config★ 7same name
- theYahia/yandex-webmaster-mcp★ 4same name
- getvibekits/vibe-coding-rules★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository3 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- session-copySkill
- session-lookupSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 6 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
Search for index.html — common locations: ./index.html, public/index.html, frontend/index.html, src/index.html
- Very specific: line 26
Read the HTML <head> from the source index.html and check:
- Very specific: line 40
Check these <meta property="og:..."> tags in index.html:
- Very specific: line 55
If og:image references an image file:
- Distinctive: line 57
Read the image to check dimensions (should be 1200×630) and inspect visually
- Distinctive: line 58
Check file size < 300KB
- Very specific: line 71
Check for <script type="application/ld+json"> in index.html:
- Distinctive: line 79
Look for these files in the static/public assets directory:
- Distinctive: line 91
No authenticated/private pages included?
- Very specific: line 95
Use o-browser (BrowserClient) to take screenshots of the production URL at multiple viewports:
- Distinctive: line 115
Mobile: no horizontal overflow, text readable, touch targets ≥ 44px, navigation usable
- Distinctive: line 158
Ask the user which issues to fix
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SEO & Responsive Audit
Audit a web project's SEO metadata and responsive rendering from source code. Fix issues found.
Input
- Work from the current project directory (cwd)
- An optional URL argument for the responsive check (screenshots). If not provided, infer the production URL from CLAUDE.md, config files, or env vars.
Step 0: Locate Files
Find the HTML entry point and static assets:
- Search for
index.html— common locations:./index.html,public/index.html,frontend/index.html,src/index.html - Find the static/public assets directory (where
robots.txt,sitemap.xml, OG images live):public/,frontend/public/,static/ - Identify the production domain from CLAUDE.md, package.json homepage, env files, or nginx config
1. Meta Tags Audit
Read the HTML <head> from the source index.html and check:
| Check | Optimal |
<title> | 50–60 characters, includes brand + value prop |
<meta name="description"> | 120–160 characters, actionable |
<link rel="canonical"> | Present, absolute URL |
<html lang="..."> | Present |
<meta name="viewport"> | Present |
Report: present/missing/too short/too long for each.
2. Open Graph Audit
Check these <meta property="og:..."> tags in index.html:
| Tag | Required |
og:title | Yes — 50–60 chars |
og:description | Yes — under 200 chars |
og:image | Yes — URL to image |
og:image:width | Yes — 1200 |
og:image:height | Yes — 630 |
og:url | Yes — canonical URL |
og:type | Yes — website or article |
og:site_name | Recommended |
OG Image Validation
If og:image references an image file:
- Find the local file in the public/static assets directory
- Read the image to check dimensions (should be 1200×630) and inspect visually
- Check file size < 300KB
- Visual check: has a clear headline? Has a CTA or brand? Not just a generic illustration?
3. Twitter Card Audit
Check in index.html:
twitter:card— should besummary_large_imagetwitter:title— presenttwitter:description— presenttwitter:image— present
4. Structured Data (JSON-LD)
Check for <script type="application/ld+json"> in index.html:
- Present? Parse and validate JSON
- Has
@type—SoftwareApplication,WebSite,Organization, etc. - Has
name,url,description - Schema matches the actual product/site
5. Crawler Files
Look for these files in the static/public assets directory:
robots.txt
- Exists?
- Has
Sitemap:directive? - Blocks auth/api/admin routes?
- Allows public pages?
sitemap.xml
- Exists?
- Valid XML?
- Lists all public pages?
- No authenticated/private pages included?
6. Responsive Design Check
Use o-browser (BrowserClient) to take screenshots of the production URL at multiple viewports:
from o_browser import BrowserClient
viewports = [
("mobile", 375, 812), # iPhone 13
("tablet", 768, 1024), # iPad
("desktop", 1440, 900), # Standard desktop
]
async with BrowserClient(headless=True) as browser:
for name, w, h in viewports:
await browser.page.set_viewport_size({"width": w, "height": h})
await browser.goto(url)
await browser.page.wait_for_load_state("networkidle")
await browser.screenshot(f"/tmp/responsive-{name}.png")Then read each screenshot and check:
- Mobile: no horizontal overflow, text readable, touch targets ≥ 44px, navigation usable
- Tablet: layout adapts, no wasted space, images scale
- Desktop: full layout, no broken sections
7. Output
Report Format
## SEO Audit: <project>
### Meta Tags
- ✅ title: "..." (XX chars)
- ❌ description: missing
- ...
### Open Graph
- ✅ og:title: "..."
- ⚠️ og:image: exists but no headline text
- ...
### Twitter Card
- ✅ All tags present
### Structured Data
- ✅ JSON-LD SoftwareApplication
### Crawler Files
- ✅ robots.txt
- ❌ sitemap.xml: missing
### Responsive
- ✅ Mobile: [screenshot]
- ⚠️ Tablet: horizontal overflow on hero section
- ✅ Desktop: OK
### Issues to Fix
1. [priority] description
2. ...After Reporting
- Ask the user which issues to fix
- Fix them directly in source code (edit HTML, generate images, create files)
- For OG image generation, use Python PIL to create/modify images with text overlay
- For responsive issues, edit CSS/components in the project
- Re-run affected checks after fixes
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

