Files
our-claude-skills/custom-skills/17-seo-schema-generator/code/CLAUDE.md
Andrew Yim 7c5efea817 Restructure skill numbering: SEO 11-30, GTM 60-69, reserve 19-28 for future skills
Renumber 12 existing skills to new ranges:
- SEO: 11→13, 12→18, 13→16, 14→17, 15→14, 16→15, 17→29, 18→30, 19→12
- GTM: 20→60, 21→61, 22→62

Update cross-references in gateway architect/builder skills, GTM guardian
README, CLAUDE.md (skill tables + directory layout), and AGENTS.md
(domain routing ranges).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 02:37:39 +09:00

3.7 KiB

CLAUDE.md

Overview

Schema markup generator: create JSON-LD structured data from templates for various content types.

Quick Start

pip install -r scripts/requirements.txt

# Generate Organization schema
python scripts/schema_generator.py --type organization --url https://example.com

# Generate from template
python scripts/schema_generator.py --template templates/article.json --data article_data.json

Scripts

Script Purpose
schema_generator.py Generate schema markup
base_client.py Shared utilities

Supported Schema Types

Type Template Use Case
Organization organization.json Company/brand info
LocalBusiness local_business.json Physical locations
Article article.json Blog posts, news
Product product.json E-commerce items
FAQPage faq.json FAQ sections
BreadcrumbList breadcrumb.json Navigation path
WebSite website.json Site-level info

Usage Examples

Organization

python scripts/schema_generator.py --type organization \
  --name "Company Name" \
  --url "https://example.com" \
  --logo "https://example.com/logo.png"

LocalBusiness

python scripts/schema_generator.py --type localbusiness \
  --name "Restaurant Name" \
  --address "123 Main St, City, State 12345" \
  --phone "+1-555-123-4567" \
  --hours "Mo-Fr 09:00-17:00"

Article

python scripts/schema_generator.py --type article \
  --headline "Article Title" \
  --author "Author Name" \
  --published "2024-01-15" \
  --image "https://example.com/image.jpg"

FAQPage

python scripts/schema_generator.py --type faq \
  --questions questions.json

Output

Generated JSON-LD ready for insertion:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Company Name",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png"
}
</script>

Template Customization

Templates in templates/ can be modified. Required fields are marked:

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "{{REQUIRED}}",
  "author": {
    "@type": "Person",
    "name": "{{REQUIRED}}"
  },
  "datePublished": "{{REQUIRED}}",
  "image": "{{RECOMMENDED}}"
}

Validation

Generated schemas are validated before output:

  • Syntax correctness
  • Required properties present
  • Schema.org vocabulary compliance

Use skill 13 (schema-validator) for additional validation.

Dependencies

jsonschema>=4.21.0
requests>=2.31.0
python-dotenv>=1.0.0

Notion Output (Required)

IMPORTANT: All audit reports MUST be saved to the OurDigital SEO Audit Log database.

Database Configuration

Field Value
Database ID 2c8581e5-8a1e-8035-880b-e38cefc2f3ef
URL https://www.notion.so/dintelligence/2c8581e58a1e8035880be38cefc2f3ef

Required Properties

Property Type Description
Issue Title Report title (Korean + date)
Site URL Audited website URL
Category Select Technical SEO, On-page SEO, Performance, Schema/Structured Data, Sitemap, Robots.txt, Content, Local SEO
Priority Select Critical, High, Medium, Low
Found Date Date Audit date (YYYY-MM-DD)
Audit ID Rich Text Format: [TYPE]-YYYYMMDD-NNN

Language Guidelines

  • Report content in Korean (한국어)
  • Keep technical English terms as-is (e.g., SEO Audit, Core Web Vitals, Schema Markup)
  • URLs and code remain unchanged

Example MCP Call

mcp-cli call notion/API-post-page '{"parent": {"database_id": "2c8581e5-8a1e-8035-880b-e38cefc2f3ef"}, "properties": {...}}'