Change or evaluate Xberg OCR backends, preprocessing, caching, page acceptance, geometry, hOCR structure, table reconstruction, or cross-backend quality. Load for OCR behavior and A/B quality work, not ordinary PDF text extraction.
69
83%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
OCR flows through preprocessing, backend execution, structured conversion, page acceptance, and caching. Backend outputs are not interchangeable measurements.
OcrBackend. Tesseract is the default and is bound through the in-repo
crates/xberg-tesseract C FFI crate; there is no leptess dependency.OcrBackendType is Tesseract | PaddleOCR | Candle | Custom. Sceptre is selected by name through Custom, not a
dedicated enum variant.tokio::task::spawn_blocking, minimize runtime/FFI lock duration, and respect backend
resource limits.PageOrientationHandling before assuming a backend handles rotated input.types::formats::TesseractConfig and internal ocr::types::TesseractConfig have independent defaults. Change
both and keep their synchronization test passing.TESSERACT_RESULT_SCHEMA_VERSION and the ordered Tesseract variable set; it contains no build or code identity.TESSERACT_RESULT_SCHEMA_VERSION when unchanged image/config inputs can produce different output, or disable
the cache for an A/B or revert check.confidence_semantics() before interpreting confidence. Never threshold Uncalibrated output using a
Tesseract-derived scale.x_fsize; Sceptre/Paddle font size is a geometric detection-box proxy.
Do not compare or threshold them as the same quantity.hocr_font_info=1 is required for Tesseract typography; without it font sizes fall back to 12 pt. Sceptre/Paddle do
not provide hOCR style fractions.accept_or_reject_ocr_page can discard an entire page and its structured paragraphs. Compare accepted pages before
word counts. A missing dictionary-invalid ratio is unknown, not zero.benchmark-workflow skill.reconstruct_table_with_columns; detecting columns on raw words creates spurious columns for multi-word cells.rotation_degrees: 0.0; code
reasoning about /Rotate pages must carry page rotation explicitly.04336bd
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.