schema-markup
Skill5 starsChanged 48 days agoApache-2.0View on GitHub
Audit the structured data a page actually declares, decide which entities belong on it, and draft validated JSON-LD from verified facts only, separating Schema.org validity from Google rich-result eligibility. Use when the user asks about schema markup, structured data, JSON-LD, or whether a page is eligible for rich results.
We split this skill into the rules it gives an agent
31 rules. 0 are common, 19 are distinctive, and 12 are very specific to this project.
0
Common
Most of the 54 edited versions we read keep these.
19
Distinctive
This author's own choices. Worth a look.
12
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Keep the evidence source separate from the rule classification.
- Distinctive: line 23
Semrush-supported guidance: Treat schema as machine-readable context and possible rich-result eligibility, not a direct ranking factor.
- Distinctive: line 24
Semrush-supported guidance: Treat AI-visibility impact as uncertain.
- Distinctive: line 26
Current platform requirement: Never invent ratings, review counts, prices, availability, dates, authors, addresses, logos, or other entity …
- Distinctive: line 27
Workflow safety rule: Never edit or deploy production code unless the user separately authorizes implementation.
- Distinctive: line 39
If the page type or factual entity data is unclear, audit first.
- Distinctive: line 43
Follow discovery → schema → execution.
- Very specific: line 47
Call projects to discover list_projects.
- Very specific: line 48
Call get_report_schema for list_projects, then execute_report to find an existing project for the domain.
- Very specific: line 49
Call site_audit to confirm the reports currently exposed.
- Very specific: line 51
Use meta_issues to discover the issue catalog and its IDs and descriptions.
- Very specific: line 63
Treat issue_details rows as occurrence evidence.
- Distinctive: line 68
Configurable default: Use the strongest available evidence in this order and label it.
- Very specific: line 93
Use on the canonical homepage or organization-defining page.
- Very specific: line 99
Use for visible editorial content.
- Very specific: line 105
Use for a specific purchasable product.
- Very specific: line 117
Use when a video is a primary, watchable part of the page.
- Very specific: line 123
Use for a physical business location.
- Distinctive: line 133
Do not prioritize FAQPage or HowTo generation in v1.
- Distinctive: line 137
Industry workflow heuristic: Use this sequence to keep detection, type selection, implementation review, drafting, and validation separate.
- Distinctive: line 147
Keep page evidence separate from Semrush crawl evidence.
- Distinctive: line 155
Use the supported v1 guidance above before generating one of those types.
- Distinctive: line 175
Current platform recommendation: Prefer JSON-LD for new code when the site's setup allows it.
- Very specific: line 178
Use one coherent @graph when multiple entities need explicit relationships.
- Very specific: line 179
Use stable absolute @id values, usually canonical URL fragments such as #organization or #article.
- Distinctive: line 181
If required facts are missing, return a missing-information list instead of deployment-ready code.
- Distinctive: line 182
If a template is still useful, mark every placeholder clearly and label the block non-deployable.
- Distinctive: line 191
Run Google's Rich Results Test for Google-supported features.
- Distinctive: line 194
Do not treat a Schema.org-valid result as proof of Google rich-result eligibility.
- Distinctive: line 209
Corrected JSON-LD: only when sufficient verified facts exist.
- Distinctive: line 213
Keep these evidence classes visibly separate:
“Common” is measured: kept by at least 6 in 10 of the 54 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
Schema markup
Audit what a page actually declares, decide which entities belong there, and produce validated JSON-LD only from verified facts. Never promise rankings, rich results, CTR gains, or AI citations.
Rule provenance
Interpret material rules using these labels:
- Semrush-supported guidance: Methodology stated in a cited Semrush article. Preserve its scenario and caveats.
- Current platform requirement: A current Google Search Central or Schema.org requirement. This overrides stale editorial examples.
- Industry implementation heuristic: A defensible implementation practice, not a search-engine requirement or guaranteed outcome.
- Configurable default: A workflow or output choice that can change with the user's system and needs.
Keep the evidence source separate from the rule classification. Semrush MCP data, rendered-page evidence, validator output, user-provided facts, and model judgment must remain distinguishable in every result.
Non-negotiable guardrails
- Semrush-supported guidance: Treat schema as machine-readable context and possible rich-result eligibility, not a direct ranking factor. State that valid markup does not guarantee a rich result.
- Semrush-supported guidance: Treat AI-visibility impact as uncertain. Do not claim that schema directly improves visibility in ChatGPT, Claude, Gemini, or other AI systems.
- Current platform requirement: Require markup to match visible page content and current facts. Use current Google Search Central requirements and Schema.org vocabulary when an editorial example is stale.
- Current platform requirement: Never invent ratings, review counts, prices, availability, dates, authors, addresses, logos, or other entity facts.
- Workflow safety rule: Never edit or deploy production code unless the user separately authorizes implementation.
Before you start
Collect these inputs once:
- Target: exact URL, supplied markup, or domain with an existing Semrush project.
- Mode: audit, recommend, draft, validate, or monitor.
- Page purpose: homepage, article, product, review, video, local business, or another clearly identified type.
- Evidence access: rendered browser, raw HTML, Google validation output, Semrush MCP, Site Audit export, or user-provided facts.
- Implementation context: CMS or framework only when the user wants placement guidance.
If the page type or factual entity data is unclear, audit first. Do not generate deployment-ready code from guesses.
Use the official Semrush MCP
Follow discovery → schema → execution. Do not substitute product-UI names for public MCP report identifiers.
Project-backed Site Audit flow
- Call
projectsto discoverlist_projects. - Call
get_report_schemaforlist_projects, thenexecute_reportto find an existing project for the domain. - Call
site_auditto confirm the reports currently exposed. - Get the current
snapshotsschema, pass the project identifier using its required parameter (currentlyid, notproject_id), then select the latest completed audit and record its date. - Use
meta_issuesto discover the issue catalog and its IDs and descriptions. Treat this as issue-definition metadata, not evidence that any listed issue occurred in the selected snapshot. - Select only issues whose returned descriptions concern markup or structured data.
- Get the current
issue_detailsschema, then use its required project, snapshot, and issue parameters with a small result limit to retrieve affected URLs. Do not send an optionalsortvalue unless the discovered schema and execution both accept it; if execution rejects the optional sort, omit it rather than changing the evidence request. - For one exact crawled URL, use
page_listto obtain candidate page IDs. Normalize the requested and returned URLs, select the exact match, and do not assume the first result is exact because the report can return prefix or approximate matches. Then usepage_infofor page-level evidence.
The verified public MCP does not expose a report named markup or the product UI's Markup thematic report. Never promise that report, a markup score, or hardcoded issue IDs.
MCP constraints
- Projects access is read-only. Do not promise project creation, setting changes, or a fresh crawl.
- Report calls consume API units. Request only the fields and rows needed, then expand if necessary.
- Label findings with the Site Audit snapshot date and crawl coverage.
- Treat
issue_detailsrows as occurrence evidence. An empty result means no matching rows were returned for that project, snapshot, and issue request; it does not prove that the rendered page is valid or free of all schema problems. - A missing project, campaign, snapshot, issue type, field, subscription, or API-unit balance is an access limitation, not proof that the site has no schema problems.
Evidence ladder
Configurable default: Use the strongest available evidence in this order and label it. Change the order when the user supplies more authoritative first-party or platform evidence.
- Existing Semrush project and completed Site Audit snapshot.
- User-supplied Site Audit or structured-data export.
- Browser-rendered DOM inspection.
- Google Rich Results Test or supplied validator output.
- Raw HTML inspection.
- User-supplied schema code and verified page facts.
Raw HTML can miss JSON-LD injected after page load. Do not report “no schema found” from a static fetch alone when JavaScript injection is possible.
Supported v1 schema types
Configurable product scope: The types below define the first release; they are not a claim that other Schema.org types are unimportant.
Recheck current Google Search Central documentation before generating code because eligibility and property requirements change.
Shared selection rules
- Semrush-supported guidance: Describe the primary visible entity, not the keyword the page targets, and prefer the most specific valid type that accurately fits the entity.
- Current platform requirement: Include properties only when their values are visible or user-confirmed. Do not add ratings, offers, authors, addresses, or media solely to satisfy a validator.
- Industry implementation heuristic: Reuse stable
@idvalues to connect the same entities consistently across the site.
Organization
Use on the canonical homepage or organization-defining page. Verify name, canonical url, crawlable logo, stable @id, and genuine sameAs profiles. Keep the identity consistent with publisher, seller, or provider references. Do not promise a Knowledge Panel.
Source: Organization Schema
Article and BlogPosting
Use for visible editorial content. Verify headline, canonical URL or @id, representative image, truthful datePublished and dateModified, identified author, and a publisher linked to the site's Organization entity. Do not change dates merely to appear fresh or invent author credentials.
Source: Schema Markup
Product and merchant listing
Use for a specific purchasable product. Verify name, image, description, product identifiers, and visible offers data such as price, currency, availability, URL, and seller. Add ratings or reviews only when genuine reviews are visible. Distinguish product-snippet eligibility from merchant-listing requirements using current Google documentation.
Sources: Schema Markup and Rich Snippets
Review and AggregateRating
Use only when the review or aggregate rating is visible and the reviewed item is unambiguous. Verify itemReviewed, author, review body when represented, rating value and scale, truthful rating or review counts, and visible dates. Check current Google policies for supported item types and self-serving review restrictions.
Source: Review Schema
VideoObject
Use when a video is a primary, watchable part of the page. Verify name, description, crawlable thumbnailUrl, truthful uploadDate, contentUrl or embedUrl, and duration when known. Add clip or live-stream properties only when supported by the page and video.
Source: Video Schema
LocalBusiness
Use for a physical business location. Prefer the most specific accurate subtype. Verify name, canonical URL, address, public telephone, opening hours, coordinates when known, relevant imagery, and one stable @id per distinct location. Do not merge locations with different addresses, hours, or phone numbers.
The reviewed English inventory has no dedicated current LocalBusiness article. Confirm this module against the canonical Semrush schema guide and current Google documentation before publication.
Source: Schema Markup
Other detected types
Audit other types at a generic level: syntax, vocabulary, visible-content parity, identity, and duplication. Before generating code, review the current Schema.org definition and the corresponding Google feature documentation when one exists.
Do not prioritize FAQPage or HowTo generation in v1. Their Google search-feature treatment has changed, and the reviewed English Semrush inventory does not provide a strong current foundation for making them flagship modules.
Workflow
Industry workflow heuristic: Use this sequence to keep detection, type selection, implementation review, drafting, and validation separate. Adapt it when the selected mode requires only part of the workflow.
1. Inventory existing markup
- Inspect rendered
script[type="application/ld+json"]blocks. - Inspect Microdata and RDFa when present.
- Parse JSON-LD objects, arrays, and
@graphnodes; report parse failures without silently repairing the evidence. - Record each entity's
@type,@id, key properties, source URL, and extraction method. - Identify duplicate IDs, conflicting properties, disconnected entities, and stale values.
Keep page evidence separate from Semrush crawl evidence. A Site Audit issue can identify affected URLs, but it does not replace inspecting the final rendered markup.
2. Determine schema fit
- Identify the page's primary entity and user-facing purpose.
- Select only schema types that describe visible content.
- Distinguish Schema.org validity from eligibility for a Google search feature.
- Explain why each proposed type applies or does not apply.
- Use the supported v1 guidance above before generating one of those types.
Diagnose other detected types when possible, but review current Google and Schema.org documentation before generating type-specific code outside the supported set.
3. Audit implementation quality
Check:
- JSON syntax and valid Schema.org terms.
- Current required and recommended properties for the relevant Google feature.
- Agreement with visible names, prices, currencies, availability, ratings, review counts, dates, authors, logos, addresses, and media.
- Canonical URLs, absolute asset URLs, and stable
@idvalues. - Correct entity nesting and relationships.
- Duplicate, contradictory, misleading, hidden, or stale properties.
- Whether the markup is crawlable and present in the rendered DOM.
Industry implementation heuristic: Prioritize issues by technical validity, policy risk, page importance, and likely search-presentation impact. Do not invent universal scoring bands.
4. Draft or correct JSON-LD
- Current platform recommendation: Prefer JSON-LD for new code when the site's setup allows it. Google also supports valid Microdata and RDFa.
- Generate only from visible or user-confirmed facts.
- Preserve valid identifiers when correcting existing markup.
- Use one coherent
@graphwhen multiple entities need explicit relationships. - Use stable absolute
@idvalues, usually canonical URL fragments such as#organizationor#article. - Include only relevant properties. More markup is not automatically better.
- If required facts are missing, return a missing-information list instead of deployment-ready code.
- If a template is still useful, mark every placeholder clearly and label the block non-deployable.
5. Validate
Industry workflow heuristic: Validate in this order:
- Parse the JSON-LD.
- Confirm all terms against Schema.org.
- Compare every factual property with visible page content.
- Run Google's Rich Results Test for Google-supported features.
- Reinspect the rendered page after implementation.
Do not treat a Schema.org-valid result as proof of Google rich-result eligibility. Do not treat validator warnings as errors without checking their meaning.
6. Hand off
Provide placement guidance appropriate to the user's CMS or framework, but do not deploy. Name the validation step and retest action when the user is coordinating implementation.
Output contract
Configurable default: Return only the sections the selected mode needs:
- Executive verdict: pass, needs work, or insufficient evidence.
- Evidence used: Semrush snapshot, rendered page, raw HTML, validator, supplied code, and user facts.
- Markup inventory: entity, type, key properties, extraction method, and source URL.
- Issue table: priority, issue, affected property or URL, evidence, consequence, and fix.
- Recommended schema map: page type → schema type → rationale.
- Corrected JSON-LD: only when sufficient verified facts exist.
- Validation checklist: syntax, vocabulary, content parity, Google eligibility, and rendered confirmation.
- Implementation notes: placement, unresolved limitations, and retest action.
Keep these evidence classes visibly separate:
- Semrush MCP: project and Site Audit snapshot data.
- Page evidence: rendered or raw page content.
- Validator evidence: Google or Schema.org validation output.
- User-provided facts: business or entity information supplied directly.
- Model judgment: type selection, prioritization, and recommended relationships.
Sources
Semrush methodology:
Technical sources of truth:
Other versions55 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 55
- TheCraigHewitt/seomachine★ 7.5ksame name
- LeoYeAI/openclaw-marketing-skills★ 1ksame name
- OpenClaudia/openclaudia-skills★ 724same name
- mysticaltech/marketingskills★ 352same name
- boraoztunc/skills★ 337same name
- textura-agency/next16-claude-starter★ 141same name
- b1rdmania/ghostclaw★ 91same name
- akii-technologies-ltd/akii-seo-ai-search-optimizer★ 78same name
- robertbstillwell/marketing-skills★ 26same name
- ukunal91app/Marketing-Skills-by-Corey-Haines★ 26same name
45 more not listed
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.
Used alongsideProjects with it also use product-marketing-context, revops and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
xfstudioSkillproduct-marketing-context
When the user wants to create or update their product marketing context document. Also use when the user mentions 'product context,' 'marketing context,' 'set up context,' 'positioning,' or wants to avoid repeating foundational information across marketing tasks. Creates `.claude/product-marketing-context.md` that other marketing skills reference.
Also in 18 projects that use this
ukunal91appSkillrevops
When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes. Also use when the user mentions 'RevOps,' 'revenue operations,' 'lead scoring,' 'lead routing,' 'MQL,' 'SQL,' 'pipeline stages,' 'deal desk,' 'CRM automation,' 'marketing-to-sales handoff,' 'data hygiene,' 'leads aren't getting to sales,' 'pipeline management,' 'lead qualification,' or 'when should marketing hand off to sales.' Use this for anything involving the systems and processes that connect marketing to revenue. For cold outreach emails, see cold-email. For email drip campaigns, see email-sequence. For pricing decisions, see pricing-strategy.
Also in 14 projects that use this
VercelSkillsite-architecture
Use when planning or restructuring what pages a site has and how they connect: hierarchy, navigation, URL patterns, breadcrumbs, and internal linking. Not for XML sitemaps, which are in seo-audit.
Also in 16 projects that use this
ukunal91appSkillchurn-prevention
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers or wants to build systems to prevent it. For post-cancel win-back email sequences, see email-sequence. For in-app upgrade paywalls, see paywall-upgrade-cro.
Also in 14 projects that use this
buildingwithaiSkillsales-enablement
Master world-class sales enablement from foundations to execution. Build comprehensive enablement programs, develop effective training and coaching systems, implement data-driven content strategies, leverage AI and modern technology stacks, establish cross-functional collaboration, measure ROI with precision, and drive revenue growth. Covers sales methodologies (MEDDIC, SPICED, BANT), maturity models (Forrester, Gartner), enablement frameworks, change management, remote enablement, market segment strategies (SMB, Mid-Market, Enterprise), and team building. Based on 2024-2025 industry research from Gartner, Forrester, Product Marketing Alliance, Sales Enablement Collective, and leading practitioners.
Also in 14 projects that use this
ai-vitaSkillaso-audit
When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions 'ASO audit,' 'app store optimization,' 'optimize my app listing,' 'improve app visibility,' 'app store ranking,' 'audit my listing,' 'why aren't people downloading my app,' 'improve my app conversion,' 'keyword optimization for app,' or 'compare my app to competitors.' Use when the user shares an App Store or Google Play URL and wants to improve it.
Also in 4 projects that use this
- +3 more from ukunal91app
In this repository8 other files it gives its agents.
- ai-brand-visibilitySkill
- backlink-auditSkill
- competitor-gapSkill
- content-briefSkill
- internal-link-auditSkill
- keyword-researchSkill
- serp-analysisSkill
- technical-seo-auditSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

