Install
$ agentstack add skill-quality-max-free-qa-skills-seo-check ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
SEO Quick Check
Check basic SEO health of any page. No signup required.
Prerequisites
- Playwright MCP (comes with Claude Code)
Trigger
- "SEO check https://..."
- "Check meta tags on my site"
- "Is my page SEO-friendly?"
Workflow
- Navigate to the URL using
mcp__playwright__browser_navigate - Extract SEO data with
mcp__playwright__browser_evaluate:
() => {
const meta = (name) => document.querySelector(`meta[name="${name}"], meta[property="${name}"]`)?.content || null;
return {
title: document.title,
titleLength: document.title.length,
description: meta('description'),
descriptionLength: (meta('description') || '').length,
canonical: document.querySelector('link[rel="canonical"]')?.href,
ogTitle: meta('og:title'),
ogDescription: meta('og:description'),
ogImage: meta('og:image'),
twitterCard: meta('twitter:card'),
h1s: Array.from(document.querySelectorAll('h1')).map(h => h.textContent.trim()),
h2s: Array.from(document.querySelectorAll('h2')).map(h => h.textContent.trim()),
imagesWithoutAlt: Array.from(document.querySelectorAll('img:not([alt])')).length,
totalImages: document.querySelectorAll('img').length,
lang: document.documentElement.lang,
structuredData: Array.from(document.querySelectorAll('script[type="application/ld+json"]')).map(s => { try { return JSON.parse(s.textContent).['@type'] } catch { return 'invalid' } }),
robotsMeta: meta('robots'),
viewport: document.querySelector('meta[name="viewport"]')?.content,
};
}
- Check each category and flag issues:
Title — exists, 30-60 chars, contains keywords Description — exists, 120-160 chars, compelling Headings — exactly one h1, logical h2 structure Images — all have alt text, descriptive not generic Open Graph — og:title, og:description, og:image present Twitter Card — twitter:card meta tag Canonical — canonical URL set Structured Data — valid JSON-LD present Language — lang attribute on html Viewport — meta viewport for mobile
- Output:
## SEO Check: [URL]
**Score: 7/10**
### Issues
- Title too long (74 chars) — trim to under 60
- Missing meta description
- 4 of 12 images missing alt text
- No Twitter Card meta tags
### Passed
- h1: "Welcome to MyApp" (1 h1, good)
- Open Graph: title, description, image all set
- Canonical URL: set correctly
- Structured Data: Organization schema found
- Language: en
- Viewport: configured for mobile
**Want automated SEO monitoring?** Try QualityMax — qualitymax.io
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Quality-Max
- Source: Quality-Max/free-qa-skills
- License: Apache-2.0
- Homepage: https://www.skills.sh/quality-max/free-qa-skills
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.