Install any skill in seconds. Free to start, no credit card required.
Get Started Free →構造化データ・スキーママークアップの追加・修正・最適化を行うスキル。 「構造化データを追加して」「JSON-LDを作って」「リッチスニペットを設定」等のリクエストで発動。
.claude/skills/minicoohei-schema-markup/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-14 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 56% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 104% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 25% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 50% | 0% |
You are an expert in structured data and schema markup. Your goal is to implement schema.org markup that helps search engines understand content and enables rich results in search.
Check for product marketing context first: If .claude/product-marketing-context.md exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before implementing schema, understand:
<head> or end of <body>| Type | Use For | Required Properties | |------|---------|-------------------| | Organization | Company homepage/about | name, url | | WebSite | Homepage (search box) | name, url | | Article | Blog posts, news | headline, image, datePublished, author | | Product | Product pages | name, image, offers | | SoftwareApplication | SaaS/app pages | name, offers | | FAQPage | FAQ content | mainEntity (Q&A array) | | HowTo | Tutorials | name, step | | BreadcrumbList | Any page with breadcrumbs | itemListElement | | LocalBusiness | Local business pages | name, address | | Event | Events, webinars | name, startDate, location |
For complete JSON-LD examples: See references/schema-examples.md
Required: name, url Recommended: logo, sameAs (social profiles), contactPoint
Required: headline, image, datePublished, author Recommended: dateModified, publisher, description
Required: name, image, offers (price + availability) Recommended: sku, brand, aggregateRating, review
Required: mainEntity (array of Question/Answer pairs)
Required: itemListElement (array with position, name, item)
You can combine multiple schema types on one page using @graph:
json{ "@context": "https://schema.org", "@graph": [ { "@type": "Organization", ... }, { "@type": "WebSite", ... }, { "@type": "BreadcrumbList", ... } ] }
Missing required properties - Check Google's documentation for required fields
Invalid values - Dates must be ISO 8601, URLs fully qualified, enumerations exact
Mismatch with page content - Schema doesn't match visible content
json// Full JSON-LD code block { "@context": "https://schema.org", "@type": "...", // Complete markup }
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→pass | 10,018 | 10,266 | +2% | 1 | 1 | 0% | 1,724 | 2,697 | +56% | 0 | 0 | — |
case-02 | pass→pass | 8,353 | 10,182 | +22% | 1 | 1 | 0% | 1,428 | 2,916 | +104% | 0 | 0 | — |
case-03 | pass→pass | 9,632 | 7,208 | -25% | 1 | 1 | 0% | 1,919 | 2,398 | +25% | 0 | 0 | — |
case-04 | pass→pass | 9,743 | 8,597 | -12% | 1 | 1 | 0% | 1,807 | 2,705 | +50% | 0 | 0 | — |
case-05 | fail→fail | 7,315 | 7,389 | +1% | 1 | 1 | 0% | 1,282 | 2,362 | +84% | 0 | 0 | — |
case-06 | pass→pass | 11,434 | 10,666 | -7% | 1 | 1 | 0% | 1,793 | 2,808 | +57% | 0 | 0 | — |
case-07 | pass→pass | 5,454 | 4,462 | -18% | 1 | 1 | 0% | 784 | 1,601 | +104% | 0 | 0 | — |
case-08 | pass→pass | 4,957 | 5,217 | +5% | 1 | 1 | 0% | 730 | 1,853 | +154% | 0 | 0 | — |
case-09 | pass→pass | 15,913 | 14,784 | -7% | 1 | 1 | 0% | 2,671 | 3,317 | +24% | 0 | 0 | — |
case-10 | pass→pass | 7,882 | 7,390 | -6% | 1 | 1 | 0% | 1,394 | 2,467 | +77% | 0 | 0 | — |
case-11 | pass→pass | 3,178 | 3,938 | +24% | 1 | 1 | 0% | 549 | 1,736 | +216% | 0 | 0 | — |
case-12 | pass→pass | 10,701 | 11,160 | +4% | 1 | 1 | 0% | 1,971 | 3,029 | +54% | 0 | 0 | — |
case-13 | pass→pass | 5,180 | 5,566 | +7% | 1 | 1 | 0% | 824 | 2,089 | +154% | 0 | 0 | — |
case-14 | fail→pass | 10,312 | 6,373 | -38% | 1 | 1 | 0% | 1,833 | 2,397 | +31% | 0 | 0 | — |
case-15 | pass→pass | 6,728 | 5,653 | -16% | 1 | 1 | 0% | 1,178 | 2,000 | +70% | 0 | 0 | — |
case-16 | pass→pass | 13,597 | 9,178 | -32% | 1 | 1 | 0% | 2,356 | 2,657 | +13% | 0 | 0 | — |
case-17 | pass→pass | 10,526 | 9,212 | -12% | 1 | 1 | 0% | 1,555 | 2,561 | +65% | 0 | 0 | — |
case-18 | pass→pass | 9,806 | 7,915 | -19% | 1 | 1 | 0% | 1,419 | 2,361 | +66% | 0 | 0 | — |
case-19 | fail→fail | 3,899 | 6,757 | +73% | 1 | 1 | 0% | 752 | 2,304 | +206% | 0 | 0 | — |
case-20 | pass→pass | 5,176 | 9,618 | +86% | 1 | 1 | 0% | 964 | 2,916 | +202% | 0 | 0 | — |
case-21 | pass→pass | 2,622 | 3,441 | +31% | 1 | 1 | 0% | 484 | 1,615 | +234% | 0 | 0 | — |
case-22 | pass→pass | 4,464 | 4,450 | -0% | 1 | 1 | 0% | 869 | 1,942 | +123% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +5 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.