Major refactoring of ourdigital-custom-skills with new numbering system: ## Structure Changes - Each skill now has code/ (Claude Code) and desktop/ (Claude Desktop) versions - New progressive numbering: 01-09 General, 10-19 SEO, 20-29 GTM, 30-39 OurDigital, 40-49 Jamie ## Skill Reorganization - 01-notion-organizer (from 02) - 10-18: SEO tools split into focused skills (technical, on-page, local, schema, vitals, gsc, gateway) - 20-21: GTM audit and manager - 30-32: OurDigital designer, research, presentation - 40-41: Jamie brand editor and audit ## New Files - .claude/commands/: Slash command definitions for all skills - CLAUDE.md: Updated with new skill structure documentation - REFACTORING_PLAN.md: Migration documentation - COMPATIBILITY_REPORT.md, SKILLS_COMPARISON.md: Analysis docs ## Removed - Old skill directories (02-05, 10-14, 20-21 old numbering) - Consolidated into new structure with _archive/ for reference 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
114 lines
2.3 KiB
Markdown
114 lines
2.3 KiB
Markdown
# CLAUDE.md
|
|
|
|
## Overview
|
|
|
|
Structured data validator: extract, parse, and validate JSON-LD, Microdata, and RDFa markup against schema.org vocabulary.
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
pip install -r scripts/requirements.txt
|
|
python scripts/schema_validator.py --url https://example.com
|
|
```
|
|
|
|
## Scripts
|
|
|
|
| Script | Purpose |
|
|
|--------|---------|
|
|
| `schema_validator.py` | Extract and validate structured data |
|
|
| `base_client.py` | Shared utilities |
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
# Validate page schema
|
|
python scripts/schema_validator.py --url https://example.com
|
|
|
|
# JSON output
|
|
python scripts/schema_validator.py --url https://example.com --json
|
|
|
|
# Validate local file
|
|
python scripts/schema_validator.py --file schema.json
|
|
|
|
# Check Rich Results eligibility
|
|
python scripts/schema_validator.py --url https://example.com --rich-results
|
|
```
|
|
|
|
## Supported Formats
|
|
|
|
| Format | Detection |
|
|
|--------|-----------|
|
|
| JSON-LD | `<script type="application/ld+json">` |
|
|
| Microdata | `itemscope`, `itemtype`, `itemprop` |
|
|
| RDFa | `vocab`, `typeof`, `property` |
|
|
|
|
## Validation Levels
|
|
|
|
### 1. Syntax Validation
|
|
- Valid JSON structure
|
|
- Proper nesting
|
|
- No syntax errors
|
|
|
|
### 2. Schema.org Vocabulary
|
|
- Valid @type values
|
|
- Known properties
|
|
- Correct property types
|
|
|
|
### 3. Google Rich Results
|
|
- Required properties present
|
|
- Recommended properties
|
|
- Feature-specific requirements
|
|
|
|
## Schema Types Validated
|
|
|
|
| Type | Required Properties | Rich Result |
|
|
|------|---------------------|-------------|
|
|
| Article | headline, author, datePublished | Yes |
|
|
| Product | name, offers | Yes |
|
|
| LocalBusiness | name, address | Yes |
|
|
| FAQPage | mainEntity | Yes |
|
|
| Organization | name, url | Yes |
|
|
| BreadcrumbList | itemListElement | Yes |
|
|
| WebSite | name, url | Sitelinks |
|
|
|
|
## Output
|
|
|
|
```json
|
|
{
|
|
"url": "https://example.com",
|
|
"schemas_found": 3,
|
|
"schemas": [
|
|
{
|
|
"@type": "Organization",
|
|
"valid": true,
|
|
"rich_results_eligible": true,
|
|
"issues": [],
|
|
"warnings": []
|
|
}
|
|
],
|
|
"summary": {
|
|
"valid": 3,
|
|
"invalid": 0,
|
|
"rich_results_eligible": 2
|
|
}
|
|
}
|
|
```
|
|
|
|
## Issue Severity
|
|
|
|
| Level | Description |
|
|
|-------|-------------|
|
|
| Error | Invalid schema, blocks rich results |
|
|
| Warning | Missing recommended property |
|
|
| Info | Optimization suggestion |
|
|
|
|
## Dependencies
|
|
|
|
```
|
|
extruct>=0.16.0
|
|
jsonschema>=4.21.0
|
|
rdflib>=7.0.0
|
|
lxml>=5.1.0
|
|
requests>=2.31.0
|
|
```
|