Guide · Agent skill
How to use the SEO Schema Markup Checker agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
seo-schema is an agent skill that teaches an AI agent to look at a web page's structured data, which is hidden code that tells search engines what the page is, such as a product, article or local business. It checks that code for missing fields, invalid or deprecated types and relative URLs, and can write JSON-LD snippets with clearly marked placeholders. This guide explains what the skill does, how to install it, how to ask for it in plain language and what to watch out for.
Quick start
- 1Download the ZIP. Download the seo-schema ZIP from the skill page on this directory.
- 2Unzip into a skills folder. Unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder for one project.
- 3Or upload it in the apps. In the Claude apps, open Settings, then Capabilities, then Skills, and upload the skill.
- 4Check the requirements. Make sure Claude Code or another agent has the claude-seo plugin installed and that Python is available.
- 5Ask for a check in plain language. Name the page URL and say you want its structured data checked or generated.
- 6Review the report. Read SCHEMA-REPORT.md and generated-schema.json, then replace every placeholder with truthful data.
- 7Validate before publishing. Confirm the fixed JSON-LD is in the page's initial HTML and that relative URLs are now absolute.
What the seo-schema skill makes the agent do
An agent skill is a folder of instructions that an AI agent loads when a task matches it. The seo-schema skill covers three jobs: detecting structured data on a supplied page or entity, validating it, and generating new Schema.org JSON-LD. It is meant to be used only when structured data or rich-result markup is requested.
During detection the agent extracts JSON-LD blocks from the page and flags any block without @context or @type, because Google cannot attach such a block to an entity. It also checks for Microdata and RDFa, and always recommends JSON-LD as the primary format, citing Google's stated preference.
- Validation checks required properties per schema type, missing @context, invalid @type, wrong data types, placeholder text, relative URLs, and invalid date formats.
- Deprecated types are flagged. Examples in the source include HowTo, whose rich results were removed in September 2023, and FAQPage, which Google retired as a rich result.
- Generation produces JSON-LD with placeholders such as [Company Name] for you to fill in, and only includes data it can present as truthful and verifiable.
- Review markup is checked: fake reviews and undisclosed incentivized reviews are rejected.
How do you install the seo-schema skill?
Download the ZIP file from the seo-schema page on this directory, then unzip it. Put the resulting seo-schema folder in one of two places: your personal skills folder at ~/.claude/skills/, or a project's .claude/skills/ folder if you want the skill only for that project.
If you use the Claude apps instead of a local setup, you can upload the skill under Settings, then Capabilities, then Skills.
The skill's SKILL.md file calls a script through ${CLAUDE_PLUGIN_ROOT}, so the skill expects the claude-seo plugin to be installed (see the requirements section below).
- Personal install: ~/.claude/skills/seo-schema/
- Project install: the .claude/skills/ folder inside your project
- Apps install: Settings, then Capabilities, then Skills, then upload
What do you need before the skill works?
The skill needs Claude Code or another agent with the claude-seo plugin installed, because the script path uses ${CLAUDE_PLUGIN_ROOT}. It also needs Python available to run the parse_html.py script, and network access so it can fetch the target URL.
The skill runs scripts and uses the network. Only point it at pages you own or are permitted to analyse, since it fetches the page from the internet.
- Claude Code or another agent with the claude-seo plugin installed
- Python available to run parse_html.py
- Network access to fetch the target URL
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run parse_html.py --url <url> --jsonHow do you trigger the skill with a natural request?
You do not need special syntax. Ask in plain language and name the page. The skill is user-invocable and takes a URL as its argument hint, so including the address helps. Make it clear that you want structured data checked or generated, because the skill is only meant to run when that is requested.
Good requests name the goal and the page type. For example, you might ask the agent to check the structured data on a product page, or to write Article JSON-LD for a blog post you are about to publish, and then fill in the placeholders yourself.
- Check the structured data on https://example.com/product-page and tell me what is broken.
- Generate LocalBusiness JSON-LD for my clinic with placeholders for the address and phone.
- Audit the Article markup on this post and list any relative URLs or invalid dates.
- Is the FAQPage markup on this page still useful for Google?
What does a report look like?
The skill's output is a SCHEMA-REPORT.md file with detection and validation results, and a generated-schema.json file with ready-to-use JSON-LD snippets. The report uses a table with Schema, Type, Status and Issues columns, marked with a check, warning or cross, followed by recommendations for missing opportunities, validation fixes and generated code.
When something goes wrong, the skill has set responses. An unreachable URL produces a connection error with the status code and advice to check the address and whether the page needs a login. A page with no markup gets a report saying no JSON-LD, Microdata or RDFa was found, along with suggested types. Invalid JSON-LD syntax is reported with specific errors and a corrected version.
What are the safety notes?
Fetched pages are treated as untrusted data. If a page contains text that addresses the agent, the skill reports it as a finding rather than obeying it. It will not run commands, install anything or change settings because fetched content asks it to.
Because the skill fetches pages from the internet and runs a Python script, read the SKILL.md file and the scripts before you rely on it in sensitive environments. The skill is MIT licensed, and the LICENSE.txt in the download points to the full terms in the repository.
- Analyse only pages you own or have permission to analyse.
- Treat fetched content as data, not instructions.
- Use the skill on your own machine where Python and network access are acceptable.
Tips for getting reliable results
Put JSON-LD in the initial server-rendered HTML for time-sensitive markup. Google supports JavaScript-generated structured data, but its guidance warns that dynamically generated Product markup can make Shopping crawls less frequent and less reliable for price and availability changes.
Always replace placeholders before publishing. The skill is designed to leave clearly marked fields for you to fill with truthful data, so check each one. Keep in mind that the skill's status list reflects the time it was written, so confirm current Google guidance for anything that affects a live site.
- Give the agent the full page URL, not just the domain.
- Ask for one page type at a time for cleaner output.
- Use the references folder's deprecated-types notes to check old markup before removing or replacing it.
- Remember that valid markup does not guarantee rich results, since Google decides what it displays.
What people use it for
- Auditing an e-commerce product page for missing Product and Offer fields before a launch.
- Adding LocalBusiness markup with placeholders for a clinic, shop or restaurant website.
- Checking blog posts for Article or BlogPosting markup with valid dates and absolute image URLs.
- Finding deprecated types such as HowTo or FAQPage on older pages and deciding what to replace or remove.
- Reviewing review markup to make sure any incentive is clearly disclosed on the page.
Frequently asked questions
How do I install the seo-schema skill?
Download the ZIP from the skill page, unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder, or upload it in the Claude apps under Settings, then Capabilities, then Skills.
What do I need to run seo-schema?
You need Claude Code or another agent with the claude-seo plugin installed, Python to run parse_html.py, and network access to fetch the page. The skill runs scripts and uses the network.
Is seo-schema free to use?
The skill is listed under the MIT licence, and the LICENSE.txt in the download points to the full terms in the repository. Check that file for the exact conditions.
Why does the skill say my FAQPage markup has no rich result benefit?
The skill's status list says Google retired FAQ rich results for all sites on May 7, 2026. It flags existing FAQPage markup at informational level rather than recommending removal, and suggests QAPage for genuine user Q&A pages.
What if the skill says the URL is unreachable?
The skill reports the connection error and its status code. Check that the address is correct and whether the page requires a login, since the skill fetches the page from the internet.
Will using seo-schema guarantee rich results or higher rankings?
No. The skill checks and writes markup, but Google decides what it displays, and the skill's status list may go out of date. Use it to find and fix errors, not as a promise of search results.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
seo-schema suits SEO specialists, site owners and developers who need to audit or add Schema.org JSON-LD to product, article or local business pages and are comfortable running a Python script. It is a poor fit for pages with no structured data needs, for anyone expecting guaranteed rankings or rich results, or for analysing sites you do not own or have permission to check.
Download the skill