Schema Markup Generator
Generates structured data markup (Schema.org JSON-LD) to enable rich results in search engines including FAQ snippets, How-To cards, Product listings, Review... Skill: Schema Markup Generator Owner: aaron-he-zhu Summary: Generates structured data markup (Schema.org JSON-LD) to enable rich results in search engines including FAQ snippets, How-To cards, Product listings, Review... Tags: latest:2.0.0 Version history: v2.0.0 | 2026-02-14T04:17:28.548Z | auto **Version 2.0.0 – Major update: Adds triggers/metadata, clarifies usage, and links to SEO skills library** - Added trigger
Rank
62
Safety
84
Downloads
1.0k
Updated
Apr 15, 2026
Version
2.0.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 4/15/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Apr 15, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Apr 15, 2026
- Adoption signal
- 1K downloadsadoption · observed Apr 15, 2026
- Latest release
- 2.0.0release · observed Feb 14, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install kn73qjxwmbna25qq8q051epqt980sys5:schema-markup-generator- Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-schema-markup-generator/snapshot"
Documentation
CLAWHUB
105,051 characters of source documentation, loaded on request.
Extracted files
4 files captured from the source.
SKILL.md
---
name: schema-markup-generator
description: 'Use when the user asks to "add schema markup", "generate structured data", "JSON-LD", "rich snippets", "FAQ schema", "add FAQ rich results", "I want star ratings in Google", "product markup", or "recipe schema". Generates structured data markup (Schema.org JSON-LD) to enable rich results in search engines including FAQ snippets, How-To cards, Product listings, Reviews, and more. For meta tag optimization, see meta-tags-optimizer. For broader technical SEO, see technical-seo-checker.'
license: Apache-2.0
metadata:
author: aaron-he-zhu
version: "2.0.0"
geo-relevance: "medium"
tags:
- seo
- schema markup
- structured data
- json-ld
- rich results
- rich snippets
- faq schema
- how-to schema
- product schema
triggers:
- "add schema markup"
- "generate structured data"
- "JSON-LD"
- "rich snippets"
- "FAQ schema"
- "schema.org"
- "structured data markup"
- "add FAQ rich results"
- "I want star ratings in Google"
- "product markup"
- "recipe schema"
---
# Schema Markup Generator
> **[SEO & GEO Skills Library](https://skills.sh/aaron-he-zhu/seo-geo-claude-skills)** · 20 skills for SEO + GEO · Install all: `npx skills add aaron-he-zhu/seo-geo-claude-skills`
<details>
<summary>Browse all 20 skills</summary>
**Research** · [keyword-research](../../research/keyword-research/) · [competitor-analysis](../../research/competitor-analysis/) · [serp-analysis](../../research/serp-analysis/) · [content-gap-analysis](../../research/content-gap-analysis/)
**Build** · [seo-content-writer](../seo-content-writer/) · [geo-content-optimizer](../geo-content-optimizer/) · [meta-tags-optimizer](../meta-tags-optimizer/) · **schema-markup-generator**
**Optimize** · [on-page-seo-auditor](../../optimize/on-page-seo-auditor/) · [technical-seo-checker](../../optimize/technical-seo-checker/) · [internal-linking-optimizer](../../optimize/internal-linking-optimizer/) · [content-refresher](../../optimize/content-refresher/)
**Monitor** · [rank-tracker](../../monitor/rank-tracker/) · [backlink-analyzer](../../monitor/backlink-analyzer/) · [performance-reporter](../../monitor/performance-reporter/) · [alert-manager](../../monitor/alert-manager/)
**Cross-cutting** · [content-quality-auditor](../../cross-cutting/content-quality-auditor/) · [domain-authority-auditor](../../cross-cutting/domain-authority-auditor/) · [entity-optimizer](../../cross-cutting/entity-optimizer/) · [memory-management](../../cross-cutting/memory-management/)
</details>
This skill creates Schema.org structured data markup in JSON-LD format to help search engines understand your content and enable rich results in SERPs.
## When to Use This Skill
- Adding FAQ schema for expanded SERP presence
- Creating How-To schema for step-by-step content
- Adding Product schema for e-commerce pages
- Implementing Article schema for blog posts
- Adding Local Business schema for locat_meta.json
{
"ownerId": "kn73qjxwmbna25qq8q051epqt980sys5",
"slug": "schema-markup-generator",
"version": "2.0.0",
"publishedAt": 1771042648548
}references/schema-templates.md
# Schema.org JSON-LD Templates
Complete, copy-ready structured data templates for all major schema types. Customize the bracketed values to match your content.
## FAQPage Schema
For pages with frequently asked questions. Minimum 2 Q&A pairs required.
```json
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "[Question text - exactly as shown on page]",
"acceptedAnswer": {
"@type": "Answer",
"text": "[Complete answer text - must match visible content]"
}
},
{
"@type": "Question",
"name": "[Question 2]",
"acceptedAnswer": {
"@type": "Answer",
"text": "[Answer 2]"
}
},
{
"@type": "Question",
"name": "[Question 3]",
"acceptedAnswer": {
"@type": "Answer",
"text": "[Answer 3]"
}
}
]
}
```
**Requirements**: Questions must be complete questions, answers must be comprehensive, content must match visible page content.
---
## HowTo Schema
For step-by-step instructional content.
```json
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "[How-to title - what will users learn]",
"description": "[Brief description of what this tutorial teaches]",
"image": {
"@type": "ImageObject",
"url": "[Main image URL]",
"height": "[height in pixels]",
"width": "[width in pixels]"
},
"totalTime": "PT[X]H[Y]M",
"estimatedCost": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": "[estimated cost or 0]"
},
"supply": [
{
"@type": "HowToSupply",
"name": "[Supply item 1]"
},
{
"@type": "HowToSupply",
"name": "[Supply item 2]"
}
],
"tool": [
{
"@type": "HowToTool",
"name": "[Tool 1]"
},
{
"@type": "HowToTool",
"name": "[Tool 2]"
}
],
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "[Step 1 title]",
"text": "[Step 1 detailed instructions]",
"url": "[Page URL]#step1",
"image": "[Step 1 image URL - optional]"
},
{
"@type": "HowToStep",
"position": 2,
"name": "[Step 2 title]",
"text": "[Step 2 detailed instructions]",
"url": "[Page URL]#step2",
"image": "[Step 2 image URL - optional]"
},
{
"@type": "HowToStep",
"position": 3,
"name": "[Step 3 title]",
"text": "[Step 3 detailed instructions]",
"url": "[Page URL]#step3",
"image": "[Step 3 image URL - optional]"
}
]
}
```
**Time format**: PT[X]H[Y]M where X = hours, Y = minutes. Example: PT1H30M = 1 hour 30 minutes.
---
## Article / BlogPosting / NewsArticle Schema
For blog posts, articles, and news content.
```json
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "[Article title - max 110 characters for best display]",
"description": "[Article summary or excerpt]",
"image": [
"[Featured image URreferences/validation-guide.md
# Schema Markup Validation Guide
Complete reference for validating, testing, and troubleshooting structured data.
## Validation Tools
### Google Rich Results Test
- **URL**: https://search.google.com/test/rich-results
- **Purpose**: Check if your schema is eligible for Google rich results
- **Tests**: Live URL or code snippet
- **Output**: Errors, warnings, eligible rich result types
### Schema.org Validator
- **URL**: https://validator.schema.org/
- **Purpose**: Validate against official Schema.org specification
- **Tests**: URL, code snippet, or microdata
- **Output**: Technical validation errors
### Google Search Console
- **Location**: Search Console → Enhancements section
- **Purpose**: Monitor rich results performance and errors at scale
- **Reports**: Rich results status, coverage, issues over time
---
## Common JSON-LD Syntax Errors
### Trailing Commas
**Error**: Invalid JSON syntax
```json
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Title", ← Trailing comma here
}
```
**Fix**: Remove the comma after the last property
```json
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Title"
}
```
### Missing Required Quotes
**Error**: Property names must be quoted
```json
{
@context: "https://schema.org"
}
```
**Fix**: Quote all property names
```json
{
"@context": "https://schema.org"
}
```
### Incorrect Date Format
**Error**: Invalid date format
```json
{
"datePublished": "01/15/2024"
}
```
**Fix**: Use ISO 8601 format
```json
{
"datePublished": "2024-01-15T08:00:00+00:00"
}
```
### Relative URLs Instead of Absolute
**Error**: Relative URLs are not allowed
```json
{
"image": "/images/photo.jpg"
}
```
**Fix**: Use absolute URLs
```json
{
"image": "https://example.com/images/photo.jpg"
}
```
### Incorrect Array Syntax
**Error**: Multiple values not in array
```json
{
"image": "url1.jpg", "url2.jpg"
}
```
**Fix**: Use array brackets for multiple values
```json
{
"image": ["url1.jpg", "url2.jpg"]
}
```
---
## Required vs Recommended Properties
### FAQPage Schema
| Property | Status | Notes |
|----------|--------|-------|
| @type | Required | Must be "FAQPage" |
| mainEntity | Required | Array of Question objects |
| Question.name | Required | The question text |
| Answer.text | Required | The answer text |
**Minimum**: 2 Q&A pairs
### HowTo Schema
| Property | Status | Notes |
|----------|--------|-------|
| @type | Required | Must be "HowTo" |
| name | Required | Title of the how-to |
| step | Required | Array of HowToStep objects |
| step.text | Required | Step instructions |
| image | Recommended | Improves visibility |
| totalTime | Recommended | Shows duration in results |
| supply | Recommended | Lists materials needed |
| tool | Recommended | Lists tools needed |
**Minimum**: 2 steps with text
### Article Schema
| Property | Status | Notes |
|----------|--------|-------|
| @type | Required | Article/BlogPosting/NewsArticle |
| headline | Ractivepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/aaron-he-zhu/schema-markup-generator",
"sourceUrl": "https://clawhub.ai/aaron-he-zhu/schema-markup-generator",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T00:45:39.800Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-schema-markup-generator/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-schema-markup-generator/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-04-15T00:45:39.800Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1K downloads",
"href": "https://clawhub.ai/aaron-he-zhu/schema-markup-generator",
"sourceUrl": "https://clawhub.ai/aaron-he-zhu/schema-markup-generator",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T00:45:39.800Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "2.0.0",
"href": "https://clawhub.ai/aaron-he-zhu/schema-markup-generator",
"sourceUrl": "https://clawhub.ai/aaron-he-zhu/schema-markup-generator",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-02-14T04:17:28.548Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-schema-markup-generator/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-schema-markup-generator/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 2.0.0",
"description": "**Version 2.0.0 – Major update: Adds triggers/metadata, clarifies usage, and links to SEO skills library** - Added triggers and tags in metadata to detect common SEO/schema requests. - Expanded description to clarify when to use and related skills for meta tags and technical SEO. - Introduced author attribution, license, and explicit version metadata. - Linked to the full SEO & GEO Skills Library and provided usage context within a broader skill set. - No changes to operational workflow or markup examples.",
"href": "https://clawhub.ai/aaron-he-zhu/schema-markup-generator",
"sourceUrl": "https://clawhub.ai/aaron-he-zhu/schema-markup-generator",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-02-14T04:17:28.548Z",
"isPublic": true
}
]
}Record generated Oct 9, 2026.
