Schema Gen

Data & APIs

Generate Schema.org JSON-LD structured data markup for Person, Organization, Product, FAQ, HowTo, Article, LocalBusiness, Event, WebSite, BreadcrumbList, VideoObject, and SoftwareApplication.

Install

openclaw skills install schema-gen

schema-gen

Generate valid Schema.org JSON-LD structured data markup for any schema type.

Supported Schema Types

TypeKey FieldsGoogle Rich Result
Personname, jobTitle, url, image, sameAs, worksForYes
Organizationname, url, logo, description, sameAs, foundingDateYes
Productname, description, image, price, availability, brandYes
Articleheadline, author, datePublished, image, publisherYes
FAQquestions (question + answer pairs)Yes
HowToname, steps (name + text), totalTimeYes
LocalBusinessname, address, telephone, openingHours, geoYes
Eventname, startDate, location, description, offersYes
WebSitename, url, potentialAction (SearchAction)Yes (Sitelinks)
BreadcrumbListitems (name + url position pairs)Yes
VideoObjectname, description, thumbnailUrl, uploadDate, durationYes
SoftwareApplicationname, operatingSystem, applicationCategory, offersYes

How to Generate

When asked to generate schema markup:

  1. Identify which schema type is needed based on the user's request
  2. Ask for the required fields (or extract from context)
  3. Generate valid JSON-LD with:
    • @context: always https://schema.org
    • @type: the schema type name
    • All provided fields properly formatted
  4. Output in a code block with json syntax highlighting
  5. Wrap in <script type="application/ld+json"> tags for HTML insertion

Output Format

Always output like this:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "John Doe",
  "jobTitle": "Software Engineer",
  "url": "https://johndoe.com",
  "sameAs": [
    "https://linkedin.com/in/johndoe",
    "https://twitter.com/johndoe"
  ]
}
</script>

Important Notes

  • Always include @context: "https://schema.org"
  • Remove empty/null fields from output
  • For FAQ schema: each question needs both @type: "Question" and an acceptedAnswer with @type: "Answer"
  • For HowTo: each step needs @type: "HowToStep"
  • For BreadcrumbList: each item needs @type: "ListItem" with position (number)
  • Validate at: https://search.google.com/test/rich-results
  • For addresses: use @type: "PostalAddress" with streetAddress, addressLocality, addressRegion, postalCode, addressCountry
  • For geo: use @type: "GeoCoordinates" with latitude, longitude