The full-merge commit removed 17's code/ and desktop/ folders along with the old
template-fill generator, leaving 17 structurally inconsistent with 16 (and the repo's
documented dual-platform convention). Restore them for the MERGED skill:
- code/CLAUDE.md — Claude Code directive pointing to the root two-mode pipeline
(no script duplication; root scripts/ stays the single source of truth).
- desktop/SKILL.md + skill.yaml — Claude Desktop directive for the two-mode skill.
- desktop/tools/{firecrawl,perplexity}.md — restored verbatim from git (still used by
Mode 1 crawl / Mode 2 research).
The old generator's logic stays retired; only the dual-platform folder structure and
relevant tool docs return. 17 now matches 16's layout.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
53 lines
2.4 KiB
Markdown
53 lines
2.4 KiB
Markdown
# 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.
|