EGEOagents schema-generator

Generate JSON-LD schema markup for pages and content types with an implementation checklist. Use when users ask for schema, structured data, rich snippets, or markup.

install
source · Clone the upstream repo
git clone https://github.com/mverab/eGEOagents
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/mverab/eGEOagents "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/schema-generator" ~/.claude/skills/mverab-egeoagents-schema-generator && rm -rf "$T"
manifest: .claude/skills/schema-generator/SKILL.md
source content

Schema Generator Skill

When generating schema markup:

Schema Type Selection

Content TypePrimary SchemaAdditional Types
SaaS ProductSoftwareApplicationOffer, AggregateRating
Physical ProductProductOffer, Brand, Review
ServiceServiceProvider, AreaServed
ArticleArticleAuthor, Organization
How-ToHowToStep, Tool
FAQFAQPageQuestion, Answer
About PageOrganizationContactPoint, Address
Person/TeamPersonOrganization
EventEventLocation, Offer
CourseCourseOrganization

Output Format

┌─────────────────────────────────────────────────────────────┐
│  🏗️ SCHEMA MARKUP GENERATED                                 │
├─────────────────────────────────────────────────────────────┤
│  Type: [Schema Type]                                        │
│  Validation: ✓ Valid JSON-LD                                │
└─────────────────────────────────────────────────────────────┘

## JSON-LD (copy to <head>)

```html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Product Name",
  "description": "GEO-optimized description",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web",
  "offers": {
    "@type": "Offer",
    "price": "99",
    "priceCurrency": "USD"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "[FILL: rating]",
    "reviewCount": "[FILL: review count]"
  }
}
</script>

Implementation Checklist

  • Add JSON-LD to page
    <head>
    section
  • Fill in
    [FILL: ...]
    placeholders with real data
  • Test with Google Rich Results Test
  • Verify in Google Search Console

## Common Templates

### SaaS/Software
```json
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "",
  "description": "",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web",
  "offers": {
    "@type": "Offer",
    "price": "",
    "priceCurrency": "USD",
    "priceValidUntil": ""
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "",
    "reviewCount": ""
  },
  "author": {
    "@type": "Organization",
    "name": ""
  }
}

B2B Service

{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "",
  "description": "",
  "serviceType": "",
  "provider": {
    "@type": "Organization",
    "name": "",
    "url": ""
  },
  "areaServed": {
    "@type": "Country",
    "name": ""
  },
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Services",
    "itemListElement": []
  }
}

FAQ Page

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Question text?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Answer text."
      }
    }
  ]
}

Rules

  • Always output valid JSON-LD
  • Mark fields needing human input as
    [FILL: description]
  • Include implementation instructions
  • Suggest additional schema types when relevant