Extract-HTML Skill
A robust skill for converting HTML documents into strictly valid JSON based on a user-provided JSON Schema.
Capabilities
- Schema Compliance: Guarantees output conforms to the provided JSON Schema (using Schematron-3B + validation loop).
- Deterministic Tables: Extracts HTML tables using
pandas.read_htmland injects them as context, preventing hallucination of data. - Media Text Extraction: Identifies images, filters by pixel size, and optionally uses a Vision API (OpenAI-compatible) to extract text/OCR.
- Self-Correction: Validates model output and retries with error feedback if schema validation fails.
Usage
Basic Conversion (Local Only)
./run.sh convert \
--html input.html \
--schema target.schema.json \
--out result.json
Advanced (With Vision & Remote Fetch)
./run.sh convert \
--html input.html \
--schema target.schema.json \
--out result.json \
--fetch-remote-media \
--vision-api-base "https://glhf.chat/api/openai/v1" \
--vision-api-key "sk-..." \
--vision-model "gpt-4o-mini"
Options
--max-attempts <int>: Number of self-correction retries.--extract-tables / --no-extract-tables: Toggle deterministic table extraction.--extract-media-text: Enable image processing.--min-image-px,--max-image-px: Filter images by size.--include-sections: detailed H1-H6 hierarchy in context.
Dependencies
- Ollama running
schematron-3b(or compatible model). - Python 3.11+
- See
pyproject.tomlfor python deps.