agentsclimarketplace

Seo rich results

Skill lionkiii/claude-seo-skills/skills/seo-rich-results

42 SEO commands for Claude Code — site audits, Ahrefs backlinks, GSC analytics, SERP research, content briefs, technical SEO, schema validation, and more

Install
npx -y skills add lionkiii/claude-seo-skills --skill seo-rich-results

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 20 stars20 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Per-type rich result eligibility checker. Given a URL or page type, determine WHICH Google rich results the page is eligible for, validate existing JSON-LD against Google's required/recommended properties per type, and produce a gap report. Use when user says "rich results", "rich snippets", "eligible rich results", "structured data types", or "schema eligibility".

SKILL.md

8.5 KB, ~2.0k tokens by cl100k_base, as published. Nobody here has run it

Rich Result Eligibility Checker

<!-- Updated: 2026-06-10 -->

Deeper than the generic schema skill: this skill answers "which rich results CAN this page earn, and what exactly is missing?" — per-type, against Google's own required/recommended property lists. For markup generation, use /seo-schema.

Inputs

  • URL (preferred) — the page to check, or
  • Page type — an archetype ("blog post", "product page", "event page") when no live URL exists yet, or
  • Local HTML file — read with Read tool instead of WebFetch

Optional: existing JSON-LD pasted by the user for offline validation.

Execution

  1. Fetch the page. WebFetch the URL (or Read the local file). If WebFetch is blocked, fall back to curl -sL <url>.
  2. Detect existing structured data. Extract every <script type="application/ld+json"> block; also note Microdata (itemscope/itemprop) and RDFa (typeof/property). JSON-LD is Google's stated preference.
  3. Classify the page archetype from content signals (title, H1, byline, price, dates, ingredients, salary, address, thread replies).
  4. Check eligibility with the decision table below — map archetype → active rich result types. Reject any type on the deprecation list.
  5. Diff required properties. For each eligible type, compare existing markup against the required and recommended property lists below.
  6. Output the gap report (format under Output), with a Rich Results Test link for live verification.

Eligibility Decision Table

Page archetypeEligible rich result typesSource of truth
Blog post / news / sports articleArticle (Article, NewsArticle, BlogPosting) + BreadcrumbListstructured-data/article
Product page (ecommerce)Product snippet, Merchant listing, Review snippet, BreadcrumbListstructured-data/product-snippet
Event / concert / webinar pageEventstructured-data/event
Recipe pageRecipe (+ ItemList for carousels, HowToStep for instructions)structured-data/recipe
Job listingJobPostingstructured-data/job-posting
Business location pageLocalBusinessstructured-data/local-business
Author / user / company profileProfilePagestructured-data/profile-page
Forum thread / UGC discussionDiscussionForumPosting (or SocialMediaPosting) + Commentstructured-data/discussion-forum
Q&A page (one question, many answers)QAPage (use instead of DiscussionForumPosting)structured-data/discussion-forum
Page with reviews of OTHER thingsReview snippet / AggregateRatingstructured-data/review-snippet
Video pageVideoObjectstructured-data/video
Any page with hierarchyBreadcrumbListstructured-data/breadcrumb
Homepage / brand pageOrganization (knowledge panel, not a rich result card)structured-data/organization

Hard Rules — Deprecated & Restricted Types

Never report these as eligible (consistent with /seo-schema):

  • HowTo — rich results removed September 2023 (HowToStep nested inside Recipe recipeInstructions is still fine).
  • FAQPage — restricted August 2023: ONLY government and healthcare authority sites remain eligible. Everyone else: not eligible.
  • SpecialAnnouncement — deprecated July 31, 2025.
  • CourseInfo, EstimatedSalary, LearningVideo — retired June 2025.
  • ClaimReview — retired from rich results June 2025.
  • VehicleListing — retired from rich results June 2025.
  • Practice Problem — retired from rich results late 2025.
  • Dataset — retired from rich results late 2025.

Also flag self-serving abuse: aggregateRating/review on LocalBusiness or Organization markup about yourself is not eligible for review snippets — those properties are only for sites that capture reviews about other entities.

Required vs Recommended Properties (Google-documented)

Article (Article / NewsArticle / BlogPosting)

  • Required: none. Google documents only recommended properties.
  • Recommended: author (+ author.name, author.url), headline, image (multiple ratios 16x9/4x3/1x1, ≥50K pixels), datePublished, dateModified (ISO 8601 with timezone).

Product (product snippet)

  • Required: name, AND at least one of review | aggregateRating | offers.
  • Recommended: the other two of review/aggregateRating/offers; within Offer: price (or priceSpecification.price), priceCurrency, availability; positiveNotes/negativeNotes for editorial pros/cons.
  • Note: offers without review/aggregateRating triggers a Rich Results Test warning. Per Google's Dec 2025 JS guidance, ship Product/Offer JSON-LD in server-rendered HTML, not JS-injected.

Event

  • Required: name (event title, not venue), startDate (ISO 8601 date+time), location (Place with location.address).
  • Recommended: endDate, description, image, eventStatus, location.name, offers (+ offers.price, offers.priceCurrency, offers.availability, offers.url, offers.validFrom), organizer, performer, previousStartDate (only with EventRescheduled).

Recipe

  • Required: name, image.
  • Recommended: recipeIngredient, recipeInstructions (prefer HowToStep), prepTime + cookTime (always paired) or totalTime, recipeYield (required if nutrition.calories present), nutrition.calories, author, datePublished, description, keywords, recipeCategory, recipeCuisine, aggregateRating, video.

JobPosting

  • Required: title (job title, not posting title), description (full HTML), datePosted, hiringOrganization, jobLocation (must include addressCountry).
  • Recommended: baseSalary (employer-provided only), employmentType, validThrough (required if posting expires), identifier, directApply; for 100% remote jobs jobLocationType: TELECOMMUTE is required, plus applicantLocationRequirements if location-restricted.

LocalBusiness

  • Required: name, address (PostalAddress).
  • Recommended: url, telephone, geo (latitude/longitude, ≥5 decimal places), openingHoursSpecification (opens/closes/dayOfWeek), priceRange (<100 chars), menu + servesCuisine (food businesses), department. (review/aggregateRating only for third-party review sites.)

ProfilePage

  • Required: mainEntity (Person or Organization) with name.
  • Recommended: dateCreated, dateModified, alternateName (handle), description, identifier, image, sameAs, interactionStatistic, agentInteractionStatistic.

DiscussionForumPosting

  • Required: author (+ author.name), datePublished, AND one of text | image | video (content not required when representing a post on another page via external url).
  • Recommended: headline, url, author.url, interactionStatistic, sharedContent, nested comment (each Comment requires author + datePublished).

Output

## Rich Result Eligibility Report — <URL>

Detected page archetype: <archetype>
Existing structured data: <types found, format>

### Eligibility
| Rich result type | Eligible? | Markup present? | Verdict |
|---|---|---|---|
| Product snippet | Yes | Partial | Fix gaps |
| FAQ | No (restricted to gov/health, Aug 2023) | Yes | REMOVE |

### Gap Table (per eligible type)
| Property | Status | Required? | Fix |
|---|---|---|---|
| offers.priceCurrency | MISSING | Recommended | Add ISO 4217 code |

### Next Steps
1. <highest-impact fixes, required props first>
2. Validate live: https://search.google.com/test/rich-results
   (syntax-only check: https://validator.schema.org/)
3. For generating the missing JSON-LD, use /seo-schema

Always include the Rich Results Test link. Remind the user that valid markup makes a page eligible — Google does not guarantee a rich result will show.

Cross-references

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.