# CLAUDE.md — seo-schema-generator (Claude Code) ## Canonical entry point This skill was upgraded to a **two-mode source-to-schema pipeline** (it absorbed and retired the old template-fill generator). The authoritative directive and run instructions live in the skill root: - **`../SKILL.md`** — the two modes, the claims-register pivot, stage gates, how to run. - **`../scripts/extract_site_claims.py`** — Mode 1: existing site → claims register. - **`../scripts/build_schema_drafts.py`** — claims register → JSON-LD drafts + dataset CSV. - **`../scripts/type_templates.json`** — draft templates (edit JSON to add a type). - **`../references/`** — `site-extraction-methodology.md` (Mode 1), `source-to-schema-methodology.md` (Mode 2), `source-authority-hierarchy.md`, `entity-and-type-map.md`. - **`../templates/`** — `claims-register.csv`, `source-register.csv`, `review-guide.md`. ```bash # Try the bundled sample first (Mode 2) python ../scripts/make_sample.py python ../scripts/build_schema_drafts.py ../fixtures/sample_claims.csv --out drafts_out # Mode 1 — existing site → claims register (URLs, or local .html / a directory offline) python ../scripts/extract_site_claims.py https://example.com/ --out site_claims python ../scripts/build_schema_drafts.py site_claims/claims_register.csv --out drafts_out # Hand off to the QA gate (must reach zero P0) python ../../16-seo-schema-validator/scripts/validate_schema.py \ drafts_out/schema_drafts_dataset.csv --out qa_out ``` Core rule: **only CONFIRMED, non-conflicting claims become schema.** Unfilled template slots are pruned — never emitted as `{{…}}` or `TODO`. **Generate (17) → Validate (16).** ## Retired The previous template-fill tool (`schema_generator.py` + per-type JSON templates) is superseded by the claims-register engine above and has been removed. Use `build_schema_drafts.py` for all generation. ## Notion output (OurDigital SEO Audit Log) When generation is part of an OurDigital/D.intelligence engagement, log a summary to the SEO Audit Log database. Per the user-level Notion rule, push **page content** with the `notion-writer` skill; use Notion MCP only for **properties**. | Field | Value | |-------|-------| | Database ID | `2c8581e5-8a1e-8035-880b-e38cefc2f3ef` | | Category | `Schema/Structured Data` | | Audit ID | `SCHEMA-YYYYMMDD-NNN` | Report content in Korean; keep technical terms (Schema, JSON-LD, claims register) and URLs/code unchanged.