Files
our-claude-skills/custom-skills/14-seo-schema-generator/desktop/SKILL.md
Andrew Yim f0a1453918 feat(skills): Add mandatory Notion output requirement to all audit skills
All SEO (10-18) and GTM (20-21) skills now require saving reports to:
- Database: OurDigital SEO Audit Log (2c8581e5-8a1e-8035-880b-e38cefc2f3ef)
- Format: Korean content with English technical terms
- Audit ID: [TYPE]-YYYYMMDD-NNN

Updated files:
- 9 SEO skills (code/CLAUDE.md + desktop/SKILL.md)
- 2 GTM skills (code/CLAUDE.md + desktop/SKILL.md)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 02:16:26 +09:00

3.2 KiB

name: seo-schema-generator version: 1.0.0 description: Schema markup generator for JSON-LD structured data. Triggers: generate schema, create JSON-LD, add structured data, schema markup. allowed-tools: mcp__firecrawl__, mcp__perplexity__

SEO Schema Generator

Purpose

Generate JSON-LD structured data markup for various content types using templates.

Core Capabilities

  1. Organization - Company/brand information
  2. LocalBusiness - Physical location businesses
  3. Article - Blog posts and news articles
  4. Product - E-commerce products
  5. FAQPage - FAQ sections
  6. BreadcrumbList - Navigation breadcrumbs
  7. WebSite - Site-level with search action

Workflow

  1. Identify content type
  2. Gather required information
  3. Generate JSON-LD from template
  4. Validate output
  5. Provide implementation instructions

Schema Templates

Organization

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "[Company Name]",
  "url": "[Website URL]",
  "logo": "[Logo URL]",
  "sameAs": [
    "[Social Media URLs]"
  ]
}

LocalBusiness

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "[Business Name]",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "[Street]",
    "addressLocality": "[City]",
    "addressRegion": "[State]",
    "postalCode": "[ZIP]",
    "addressCountry": "[Country]"
  },
  "telephone": "[Phone]",
  "openingHours": ["Mo-Fr 09:00-17:00"]
}

Article

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "[Title]",
  "author": {
    "@type": "Person",
    "name": "[Author Name]"
  },
  "datePublished": "[YYYY-MM-DD]",
  "dateModified": "[YYYY-MM-DD]",
  "image": "[Image URL]",
  "publisher": {
    "@type": "Organization",
    "name": "[Publisher]",
    "logo": "[Logo URL]"
  }
}

FAQPage

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

Product

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "[Product Name]",
  "image": "[Image URL]",
  "description": "[Description]",
  "offers": {
    "@type": "Offer",
    "price": "[Price]",
    "priceCurrency": "[Currency]",
    "availability": "https://schema.org/InStock"
  }
}

Implementation

Place generated JSON-LD in <head> section:

<head>
  <script type="application/ld+json">
  [Generated Schema Here]
  </script>
</head>

Validation

After generating:

  1. Use schema validator skill (13) to verify
  2. Test with Google Rich Results Test
  3. Monitor in Search Console

Limitations

  • Templates cover common types only
  • Complex nested schemas may need manual adjustment
  • Some Rich Results require additional properties

Notion Output (Required)

All audit reports MUST be saved to OurDigital SEO Audit Log:

  • Database ID: 2c8581e5-8a1e-8035-880b-e38cefc2f3ef
  • Properties: Issue (title), Site (url), Category, Priority, Found Date, Audit ID
  • Language: Korean with English technical terms
  • Audit ID Format: [TYPE]-YYYYMMDD-NNN