
Format Specific Extraction
- 11 installs
- 8.9k repo stars
- Updated August 4, 2026
- kreuzberg-dev/kreuzberg
Helps with ai & agent building tasks.
About
format-specific-extraction is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- format-specific-extraction
- AI & Agent Building
- AI-coding skill
Format Specific Extraction by the numbers
- 11 all-time installs (skills.sh)
- Ranked #11,769 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/kreuzberg-dev/kreuzberg --skill format-specific-extractionAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 11 |
|---|---|
| repo stars | ★ 8.9k |
| Last updated | August 4, 2026 |
| Repository | kreuzberg-dev/kreuzberg ↗ |
What it does
Helps with ai & agent building tasks.
Files
Format-Specific Extraction Workflows
Office XML (DOCX/PPTX/ODT)
ZIP archive → Security validation → XML parsing → Text + tables + metadata1. ZipBombValidator::new(limits).validate(&mut archive)? 2. Extract XML files from archive (word/document.xml, ppt/slides/*.xml, content.xml) 3. Parse with quick-xml::Reader (streaming) + DepthValidator + StringGrowthValidator 4. Extract metadata via crate::extraction::office_metadata::extract_metadata() 5. See: extractors/docx.rs, extractors/pptx.rs, extractors/odt.rs
Bytes → pdf_oxide → Per-page text + OCR fallback → Tables → Metadata1. pdf_oxide::PdfDocument::from_bytes(content)? 2. Check if needs OCR: config.force_ocr || !has_searchable_text() 3. Extract text per page, tables if config.pages enabled 4. Feature-gated: #[cfg(feature = "pdf")] 5. See: extractors/pdf/mod.rs
Archives (ZIP/TAR/7z/GZIP)
Validate → Extract metadata → Extract plaintext files only1. ZipBombValidator BEFORE any extraction 2. Extract metadata (file list, sizes) 3. Extract text content from plaintext files 4. Use build_archive_result() helper 5. See: extractors/archive.rs, extraction/archive/*.rs
Structured Text (JSON/YAML/TOML/XML)
Detect format from MIME → Parse → Pretty-print → MetadataSingle StructuredExtractor handles multiple MIME types. Parse with format-specific library, pretty-print to text. See: extractors/structured.rs
Email (EML/MSG)
Parse headers → Extract body (text/html) → Process attachmentsSee: extraction/email.rs, extractors/email.rs
Common Helpers
| Helper | Location | Purpose |
|---|---|---|
office_metadata::extract_metadata() | extraction/office.rs | Office XML metadata |
cells_to_markdown() | extraction/mod.rs | Convert cell grid to GFM table |
build_archive_result() | extraction/archive/mod.rs | Standard archive result |
Adding a New Format
1. Add MIME type to EXT_TO_MIME in core/mime.rs 2. Create extractor implementing DocumentExtractor trait 3. Set supported_mime_types() and priority() (default: 50) 4. Register in extractors/mod.rs → register_default_extractors() 5. Feature-gate if optional: #[cfg(feature = "my-format")] 6. Apply security validators for user content 7. Add tests with fixture files