Serp Markup Builder
Use when the user asks to "optimize meta tags", "write title tags / meta descriptions", "add Open Graph or Twitter cards", or "generate schema / JSON-LD" for...
Rank
62
Safety
84
Downloads
1.5k
Updated
Oct 10, 2026
Version
19.0.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/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 Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.5K downloadsadoption · observed Oct 10, 2026
- Latest release
- 19.0.0release · observed Jul 24, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17e1tg8pjra8dn1dvtq21sahx83hrxj:serp-markup-builder- Install using `clawhub skill install s17e1tg8pjra8dn1dvtq21sahx83hrxj:serp-markup-builder` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/aaron-he-zhu/serp-markup-builder before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-serp-markup-builder/snapshot"
Documentation
CLAWHUB
148,024 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: serp-markup-builder
slug: serp-markup-builder
displayName: "SERP Markup Builder · 标题优化"
summary: "标题优化/元描述/Schema标记/结构化数据"
description: 'Use when the user asks to "optimize meta tags", "write title tags / meta descriptions", "add Open Graph or Twitter cards", or "generate schema / JSON-LD" for FAQ, HowTo, Article, Product, or LocalBusiness rich-result candidates. Produces title/description options, an OG+Twitter block, and validated JSON-LD for the document head. Not for body copy — use content-writer; not for crawl/index technical issues — use technical-seo-checker. 标题优化/元描述/Schema标记/结构化数据'
version: "19.0.0"
license: Apache-2.0
compatibility: "Claude Code and compatible agent-skill hosts"
homepage: "https://github.com/aaron-he-zhu/aaron-marketing-skills"
when_to_use: "Use when building anything in the document head for a page — title tags, meta descriptions, Open Graph and Twitter Card tags, canonical/robots meta, and JSON-LD Schema.org structured data for rich-result and answer-engine eligibility."
argument-hint: "[meta|schema] <page URL or content>"
allowed-tools: WebFetch
metadata: {"author": "aaron-he-zhu", "version": "19.0.0", "discipline": "seo-geo", "phase": "implement", "geo-relevance": "high", "hermes": {"tags": ["marketing", "seo-geo", "implement"], "category": "seo-geo"}, "openclaw": {"emoji": "🔍", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}}
---
# SERP Markup Builder
Builds everything that lives in a page's `<head>` and shapes its search + answer-engine presence: title/meta/social tags (mode `meta`) and Schema.org JSON-LD (mode `schema`). Both modes operate on the same document head and write to `memory/content/`.
## Mode Selector
Pick the mode from the request; run both in sequence when the user wants the full SERP package.
| Mode | Trigger | Output | CORE-EEAT lens |
|------|---------|--------|----------------|
| `meta` | "optimize meta tags", "title tag", "meta description", "Open Graph", "Twitter card", "improve CTR" | 3 titles + 3 descriptions (within char limits), OG/Twitter/canonical/robots block, CTR analysis | C01 Intent Alignment, C02 Direct Answer |
| `schema` | "generate schema", "JSON-LD", "structured data", "FAQ/HowTo/Product/LocalBusiness markup", "rich snippet" | valid JSON-LD for the chosen type(s), placement + validation steps, rich-result eligibility read | O05 Schema Markup |
Default when unstated: infer from the noun in the request (title/description/OG → `meta`; JSON-LD/rich result → `schema`). If both are named, run `meta` then `schema`. This skill computes no framework score and runs no vetoes — only the `content-quality-auditor` gate does that.
**Scope guard** — this skill does NOT: write body copy or on-page content (→ [content-writer](../content-writer/SKILL.md)); diagnose crawl, index, canonicalization conflicts, or Core Web Vitals (→ [technical-seo-checker](../../tune/technical-seo-checker/SKILL.md)); or produce the publish-readiness verdict/score (→ [content-qu_meta.json
{
"ownerId": "kn73qjxwmbna25qq8q051epqt980sys5",
"slug": "serp-markup-builder",
"version": "19.0.0",
"publishedAt": 1784905794192
}references/ctr-and-social-reference.md
# CTR Optimization & Social Tags Reference ## Title Tag Formulas | Formula | Template | Best For | |---------|----------|---------| | How-To | How to [Result] ([Year]) | Guides | | Number List | [N] [Adj] [Topic] for [Audience] | Listicles | | Question | [Question]? Here's [Answer] | Definitions | | Comparison | [A] vs [B]: [Differentiator] | Comparisons | | Year-Based | Best [Topic] in [Year] ([Tested]) | Evergreen + fresh | | Benefit | [Benefit]: [How to Achieve] | High-CTR | | Parenthetical | [Topic] ([Modifier]) | Value signal | **Length**: 50-60 chars ideal desktop. Front-load keywords if >60. Avoid >65 (truncated everywhere). ## CTR Boosters | Factor | CTR Impact | |--------|-----------| | Brackets/parentheses in title | +38% | | Number in title | +20-30% | | Match search intent | +15-25% | | Rich results (FAQ, HowTo, stars) | +30% | | Current year | +10-15% | | Question format | +14% | ## Meta Description Frameworks **AIDA**: Attention (hook) > Interest (relevance) > Desire (benefit) > Action (CTA). Target 150-160 chars. **PAS**: Problem > Agitate > Solution + CTA. **Benefit-Proof-CTA**: Lead with outcome, back with evidence, close with action. ## Social Meta Tag Checklist ### Required OG Tags | Tag | Notes | |-----|-------| | og:title | Can differ from HTML title; optimize for sharing | | og:description | Social-optimized; can differ from meta description | | og:image | Absolute URL, ideal 1200x630px, min 200x200px | | og:url | Canonical URL | | og:type | "website" (homepage), "article" (posts) | ### Recommended Tags | Tag | Notes | |-----|-------| | og:site_name | Brand name | | og:locale | e.g., "en_US" | | twitter:card | "summary_large_image" for articles | | twitter:site | @yourbrand handle | ### Platform Image Sizes | Platform | Image Size | |----------|-----------| | Facebook | 1200x630px | | Twitter/X | 1200x600px | | LinkedIn | 1200x627px | | Pinterest | 1000x1500px (2:3) |
references/meta-instructions-detail.md
# Meta Tags Optimizer — Detailed Instructions Compact workflow, formula set, alignment checks, and example output for the Meta Tags Optimizer skill. ## Step 1: Gather Page Information ```markdown ### Page Analysis **Page URL**: [URL] **Page Type**: [blog/product/landing/service/homepage] **Primary Keyword**: [keyword] **Secondary Keywords**: [keywords] **Target Audience**: [audience] **Primary CTA**: [desired action] **Unique Value Prop**: [what makes this page special] ``` ## Step 2: Create Optimized Title Tag Requirements: - 50-60 characters when possible - Primary keyword near the front - Clear intent match - Brand only when it adds value Use one of these formulas: 1. `Keyword | Benefit | Brand` 2. `Number + Keyword + Promise` 3. `How to [Keyword]: [Benefit]` 4. `What is [Keyword]? [Hook]` 5. `[Keyword] in [Year]: [Update]` Deliver three options with length, power words, and keyword position. ## Step 3: Write Meta Description Requirements: - 150-160 characters when possible - Primary keyword used naturally - Specific benefit + CTA - Accurate preview of the page Preferred formula: `[What the page offers] + [Benefit] + [CTA]` Deliver three options with length, CTA, and emotional trigger. ## Step 4: Create Social and Supporting Tags Generate: - Open Graph (`og:type`, `og:url`, `og:title`, `og:description`, `og:image`) - Twitter Card tags - Canonical URL - Robots / viewport - Author and article tags where relevant > **Reference**: See [references/meta-tag-code-templates.md](meta-tag-code-templates.md) for HTML templates and the complete combined block. ## Step 5: CORE-EEAT Alignment Check | Check | Status | Notes | |-------|--------|-------| | **C01 Intent Alignment** | Pass/Warn/Fail | Does the title promise match the content? | | **C02 Direct Answer** | Pass/Warn/Fail | Does the description reflect the answer available near the top of the page? | If C01 fails, rewrite the title. If C02 fails, either restructure the content or rewrite the description. ## Step 6: CTR Optimization Tips ```markdown ## CTR Optimization Analysis ### CTR Boosting Elements | Element | Present | Expected Impact | |---------|---------|-----------------| | Numbers | Yes/No | +20-30% | | Current Year | Yes/No | +15-20% | | Power Words | Yes/No | +10-15% | | Question Format | Yes/No | +10-15% | | Brackets | Yes/No | +10% | ### A/B Test Suggestions - **Version A**: [current title + description] - **Version B**: [alternative] - **Hypothesis**: [why it may outperform] ``` ## Example **User**: "Create meta tags for a blog post about 'how to start a podcast in [current year]'" **Output**: ```markdown ## Meta Tags: How to Start a Podcast ([current year]) ### Title Tag <title>How to Start a Podcast in [current year]: Complete Beginner's Guide</title> ### Meta Description <meta name="description" content="Learn how to start a podcast in [current year] with our step-by-step guide. Covers equipment, hosting, recording, and launching your first episode."> `
references/meta-tag-code-templates.md
# Meta Tag Code Templates HTML code templates for Open Graph, Twitter cards, and complete meta tag blocks. --- ## Open Graph Tags ```html <meta property="og:type" content="[article/website/product]"> <meta property="og:url" content="[Full canonical URL]"> <meta property="og:title" content="[Title - up to 60 chars]"> <meta property="og:description" content="[Description - up to 200 chars]"> <meta property="og:image" content="[Image URL - 1200x630px]"> <meta property="og:site_name" content="[Website Name]"> <meta property="og:locale" content="en_US"> ``` **OG Type**: article (blog), website (homepage), product, video.other, profile **OG Image**: 1200x630px recommended, 600x315px minimum, JPG/PNG, text <20% of image --- ## Twitter Card Tags ```html <meta name="twitter:card" content="[summary_large_image/summary]"> <meta name="twitter:site" content="@[YourHandle]"> <meta name="twitter:title" content="[Title - 70 chars max]"> <meta name="twitter:description" content="[Description - 200 chars max]"> <meta name="twitter:image" content="[Image URL]"> <meta name="twitter:image:alt" content="[Image description]"> ``` **Card types**: summary (144x144 min), summary_large_image (300x157 min), player (640x360 min), app (800x418) --- ## Additional Meta Tags ```html <link rel="canonical" href="[Preferred URL]"> <meta name="robots" content="index, follow"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="author" content="[Author Name]"> <html lang="en"> ``` **Article-specific**: ```html <meta property="article:published_time" content="[ISO 8601 date]"> <meta property="article:modified_time" content="[ISO 8601 date]"> <meta property="article:author" content="[Author URL]"> <meta property="article:section" content="[Category]"> <meta property="article:tag" content="[Tag]"> ``` --- ## Complete Meta Tag Block ```html <!-- Primary --> <title>[Optimized Title]</title> <meta name="description" content="[Optimized Description]"> <link rel="canonical" href="[Canonical URL]"> <!-- Open Graph --> <meta property="og:type" content="[type]"> <meta property="og:url" content="[URL]"> <meta property="og:title" content="[OG Title]"> <meta property="og:description" content="[OG Description]"> <meta property="og:image" content="[Image URL]"> <meta property="og:site_name" content="[Site Name]"> <!-- Twitter --> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="[Twitter Title]"> <meta name="twitter:description" content="[Twitter Description]"> <meta name="twitter:image" content="[Image URL]"> <!-- Additional --> <meta name="robots" content="index, follow"> <meta name="author" content="[Author]"> ```
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!
activepieces
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.
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/skills/serp-markup-builder",
"sourceUrl": "https://clawhub.ai/aaron-he-zhu/skills/serp-markup-builder",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T11:24:55.126Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-serp-markup-builder/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-serp-markup-builder/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T11:24:55.126Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.5K downloads",
"href": "https://clawhub.ai/aaron-he-zhu/serp-markup-builder",
"sourceUrl": "https://clawhub.ai/aaron-he-zhu/serp-markup-builder",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T11:24:55.126Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "19.0.0",
"href": "https://clawhub.ai/aaron-he-zhu/serp-markup-builder",
"sourceUrl": "https://clawhub.ai/aaron-he-zhu/serp-markup-builder",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-07-24T15:09:54.192Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-serp-markup-builder/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-aaron-he-zhu-serp-markup-builder/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 19.0.0",
"description": "serp-markup-builder 19.0.0 - Major cleanup: removed 10 reference and documentation files for a leaner distribution. - Added distribution-manifest.json to clarify distribution package contents. - Updated SKILL.md: incremented version, removed references to deleted files, and streamlined documentation. - No functional changes to core skill behavior; focus is on documentation and packaging improvements.",
"href": "https://clawhub.ai/aaron-he-zhu/serp-markup-builder",
"sourceUrl": "https://clawhub.ai/aaron-he-zhu/serp-markup-builder",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-07-24T15:09:54.192Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
