SEO Audit with Search Console
nowork-studio/notfair-plugin
Runs a full SEO audit that combines Google Search Console, URL Inspection, PageSpeed Insights and a technical crawl, then ranks quick wins and a 30-day plan.
When the user wants to implement, audit, or validate structured data (schema markup) on their website.
$ npx skills add alirezarezvani/claude-skills --skill schema-markup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install alirezarezvani/claude-skills schema-markup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/marketing-skill/skills/schema-markup .claude/skills/schema-markup && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "schema-markup" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/schema-markup into .claude/skills/schema-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "schema-markup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/schema-markupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add alirezarezvani/claude-skills --skill schema-markup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install alirezarezvani/claude-skills schema-markup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/marketing-skill/skills/schema-markup .agents/skills/schema-markup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "schema-markup" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/schema-markup into .agents/skills/schema-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "schema-markup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alirezarezvani/claude-skills --skill schema-markup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install alirezarezvani/claude-skills schema-markup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/marketing-skill/skills/schema-markup .cursor/skills/schema-markup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "schema-markup" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/schema-markup into .cursor/skills/schema-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "schema-markup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/alirezarezvani/claude-skills.git --path marketing-skill/skills/schema-markup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add alirezarezvani/claude-skills --skill schema-markup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install alirezarezvani/claude-skills schema-markup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/marketing-skill/skills/schema-markup .gemini/skills/schema-markup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "schema-markup" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/schema-markup into .gemini/skills/schema-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "schema-markup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install alirezarezvani/claude-skills schema-markupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add alirezarezvani/claude-skills --skill schema-markup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/marketing-skill/skills/schema-markup .github/skills/schema-markup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "schema-markup" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/schema-markup into .github/skills/schema-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "schema-markup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alirezarezvani/claude-skills --skill schema-markup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install alirezarezvani/claude-skills schema-markup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/marketing-skill/skills/schema-markup .opencode/skills/schema-markup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "schema-markup" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/schema-markup into .opencode/skills/schema-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "schema-markup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
schema-markupWhen the user wants to implement, audit, or validate structured data (schema markup) on their website.
Schema Markup is an agent skill from alirezarezvani/claude-skills. When the user wants to implement, audit, or validate structured data (schema markup) on their website. Use when the user mentions 'structured data,' 'schema.org,' 'JSON-LD,' 'rich results,' 'rich snippets,' 'schema markup,' 'FAQ schema,' 'Product schema,' 'HowTo schema,' or 'structured data errors in Search Console.' Also use when someone asks why their content isn't showing rich results or wants to improve AI search visibility. NOT for general SEO audits (use seo-audit) or technical SEO crawl issues (use…
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/implementation-patterns.md`, `references/schema-types-guide.md` and `scripts/schema_validator.py`).
It sits in Marketing & SEO, covering Schema markup. It works with Google Search Console. The repository describes itself as: 380 Claude Code skills & agent skills & plugins (30+ Agents, 70+ custom commands, 380+ skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8… The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 19392f7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
schema.orgsearch.google.comvalidator.schema.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Schema Markup loads about 2.9k tokens when it runs, and up to ~8k if it reads all its reference files. Until then it costs about 136 tokens; SKILL.md has 1,413 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from alirezarezvani/claude-skills at commit 19392f7, republished under its MIT licence (© alirezarezvani). 1,413 words, ~2,898 tokens.
.claude/skills/schema-markup/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.You are an expert in structured data and schema.org markup. Your goal is to help implement, audit, and validate JSON-LD schema that earns rich results in Google, improves click-through rates, and makes content legible to AI search systems.
Check for context first:
If .claude/product-marketing-context.md exists, read it before asking questions. Use that context and only ask for what's missing.
Gather this context:
<head> tags, or do they need a plugin/GTM?When they have a site and want to know what schema exists and what's broken.
scripts/schema_validator.py on the page HTML (or paste URL for manual check)references/schema-types-guide.md for required fieldsWhen they need to add structured data to pages — from scratch or to a new page type.
references/implementation-patterns.md<script> in <head>, CMS plugin, GTM injection)When schema exists but rich results aren't showing or GSC reports errors.
Pick the right schema for the page — stacking compatible types is fine, but don't add schema that doesn't match the page content.
| Page Type | Primary Schema | Supporting Schema |
|---|---|---|
| Homepage | Organization | WebSite (with SearchAction) |
| Blog post / article | Article | BreadcrumbList, Person (author) |
| How-to guide | HowTo | Article, BreadcrumbList |
| FAQ page | FAQPage | — |
| Product page | Product | Offer, AggregateRating, BreadcrumbList |
| Local business | LocalBusiness | OpeningHoursSpecification, GeoCoordinates |
| Video page | VideoObject | Article (if video is embedded in article) |
| Category / hub page | CollectionPage | BreadcrumbList |
| Event | Event | Organization, Place |
Stacking rules:
BreadcrumbList to any non-homepage if breadcrumbs exist on the pageArticle + BreadcrumbList + Person is a common triple for blog contentProduct to a page that doesn't sell a product — Google will penalize misuseUse JSON-LD. Full stop. Google recommends it, it's the easiest to maintain, and it doesn't require touching your HTML markup. Microdata and RDFa are legacy.
<head>
<!-- All other meta tags -->
<script type="application/ld+json">
{ ... your schema here ... }
</script>
</head>Multiple schema blocks per page are fine — use separate <script> tags or nest them in an array.
| Scope | What to Do | Example |
|---|---|---|
| Site-wide | Organization schema in site template header | Your company identity, logo, social profiles |
| Site-wide | WebSite schema with SearchAction on homepage | Sitelinks search box |
| Per-page | Content-specific schema | Article on blog posts, Product on product pages |
| Per-page | BreadcrumbList matching visible breadcrumbs | Every non-homepage |
CMS implementation shortcuts:
<head> code per-page or use the CMS to generate dynamic JSON-LDSee references/implementation-patterns.md for copy-paste JSON-LD for every schema type listed above.
These are the ones that actually matter — the errors that kill rich results eligibility:
| Mistake | Why It Breaks | Fix |
|---|---|---|
Missing @context | Schema won't parse | Always include "@context": "https://schema.org" |
| Missing required fields | Google won't show rich result | Check required vs recommended in references/schema-types-guide.md |
name field is empty or generic | Fails validation | Use real, specific values — not "" or "N/A" |
image URL is relative path | Invalid — must be absolute | Use https://example.com/image.jpg not /image.jpg |
| Markup doesn't match visible page content | Policy violation | Never add schema for content not on the page |
Nesting Product inside Article | Invalid type combination | Keep schema types flat or use proper nesting rules |
| Using deprecated properties | Ignored by validators | Cross-check against current schema.org — types evolve |
| Date in wrong format | Fails ISO 8601 check | Use "2024-01-15" or "2024-01-15T10:30:00Z" |
This is increasingly the reason to care about schema — not just Google rich results.
AI search systems (Google AI Overviews, Perplexity, ChatGPT Search, Bing Copilot) use structured data to understand content faster and more reliably. When your content has clean schema:
author and datePublished — helps AI systems assess freshness and authoritysameAs links — connects your entity across the web, boosting entity recognitionPractical actions for AI search visibility:
author with sameAs pointing to real author profiles (LinkedIn, Wikipedia, Google Scholar)Organization with sameAs linking your social profiles and Wikidata entrydatePublished and dateModified accurate — AI systems filter by freshnessAlways test before publishing. Use all three:
Google Rich Results Test — https://search.google.com/test/rich-results
Schema.org Validator — https://validator.schema.org
scripts/schema_validator.py — run locally on any HTML file
python3 scripts/schema_validator.py page.htmlGoogle Search Console (after deployment)
Surface these without being asked:
image field missing from Article schema → this is a required field for Article rich results. Google won't show the article card without it.dateModified older than datePublished → this is impossible and will fail validation. Flag and fix.@type on same entity → e.g., LocalBusiness and Organization both defined separately for the same company. Should be combined or one should extend the other.offers → a Product with no Offer (price, availability, currency) won't earn a product rich result. Flag the missing Offer block.| When you ask for... | You get... |
|---|---|
| Schema audit | Audit report: schemas found, required fields present/missing, errors, completeness score per page, priority fixes |
| Schema for a page type | Complete JSON-LD block(s), copy-paste ready, populated with placeholder values clearly marked |
| Fix my schema errors | Corrected JSON-LD with change log explaining each fix |
| AI search visibility review | Entity markup gap analysis + FAQPage + Organization sameAs recommendations |
| Implementation plan | Page-by-page schema implementation matrix with CMS-specific instructions |
All output follows the structured communication standard:
© alirezarezvani, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts, references) in marketing-skill/skills/schema-markup of alirezarezvani/claude-skills.
Open the folder on GitHubat commit 19392f7
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in alirezarezvani/claude-skills, which our catalogue first saw on October 7, 2026.
Schema Markup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Schema Markup this skillalirezarezvani/claude-skills | 28k | 1 repos | ~2.9k | Automated safety check: Pass | MIT | |
| SEO Audit with Search Consolenowork-studio/notfair-plugin | 3.9k | 1 repos | ~15k | Automated safety check: Warn | MIT | |
| SEO Setupalisamadiii/Portfolio | 180 | — | ~1.7k | Automated safety check: Pass | None | |
| SEO Auditfreekmurze/dotfiles | 1k | 33 repos | ~2.2k | Automated safety check: Pass | None | |
| Google Search SEO Guidelittleben/awesomeAgentskills | 188 | 2 repos | ~4.2k | Automated safety check: Pass | MIT | |
| Global SEO Growthminhnv0807/ai-business-skills | 608 | — | ~5k | Automated safety check: Pass | MIT |
nowork-studio/notfair-plugin
Runs a full SEO audit that combines Google Search Console, URL Inspection, PageSpeed Insights and a technical crawl, then ranks quick wins and a 30-day plan.
alisamadiii/Portfolio
Full SEO/metadata setup and audit for client websites (Astro, Next.js, any static site).
freekmurze/dotfiles
When the user wants to audit, review, or diagnose SEO issues on their site.
littleben/awesomeAgentskills
Answers Google Search optimization questions from reference files covering crawling, indexing, structured data, Search Console and site visibility, drawn from Google's documentation.
minhnv0807/ai-business-skills
Covers six SEO layers for a website: crawl and index audit, local SEO, search-intent content, AI search visibility, schema markup and backlink or directory distribution.
manojbajaj95/claude-gtm-plugin
SEO, AEO (Answer Engine Optimization), and GEO strategy for search engines and AI visibility.
alirezarezvani/claude-skills
Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.
alirezarezvani/claude-skills
OKR cascade toolkit for product leaders: generates aligned company-to-team OKRs from five strategy types and scores how well they line up.
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store.
alirezarezvani/claude-skills
Design AWS architectures for startups using serverless patterns and IaC templates.
alirezarezvani/claude-skills
Calculates attribution, funnel and ROI figures for marketing campaigns with three Python scripts that need only the standard library.
alirezarezvani/claude-skills
Reverse-engineers a frontend, backend or fullstack codebase into a product requirements document with per-page docs, an enum dictionary and an API inventory.
Works with
Categories
When the user wants to implement, audit, or validate structured data (schema markup) on their website. Schema Markup is an agent skill from alirezarezvani/claude-skills. When the user wants to implement, audit, or validate structured data (schema markup) on their website.
Schema Markup fits situations like: wants to implement; validate structured data (schema markup) on their website; the user mentions structured data; structured data errors in Search Console. Also use when someone asks why their content isnt showing rich results.
Run `npx skills add alirezarezvani/claude-skills --skill schema-markup -a claude-code`. Or copy the skill folder (marketing-skill/skills/schema-markup in alirezarezvani/claude-skills) into .claude/skills/schema-markup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add alirezarezvani/claude-skills --skill schema-markup -a codex`. Or copy the skill folder (marketing-skill/skills/schema-markup in alirezarezvani/claude-skills) into .agents/skills/schema-markup in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alirezarezvani/claude-skills --skill schema-markup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/schema-markup, .gemini/skills/schema-markup, .github/skills/schema-markup and .opencode/skills/schema-markup in your project.
Going by SKILL.md and its folder, Schema Markup needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md names 3 domains. In commands or code: schema.org, search.google.com and validator.schema.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Schema Markup is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Schema Markup: SEO Audit with Search Console (nowork-studio/notfair-plugin, 3.9k stars), SEO Setup (alisamadiii/Portfolio, 180 stars), SEO Audit (freekmurze/dotfiles, 1k stars) and Google Search SEO Guide (littleben/awesomeAgentskills, 188 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
alirezarezvani (a GitHub user) maintains it in alirezarezvani/claude-skills, which has 27,788 GitHub stars. The repository holds 342 skills in this directory. The repository was last updated on August 30, 2026.
Source: alirezarezvani/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.