revops
Design and optimize systems connecting marketing, sales, and customer success into a unified revenue engine.
docling
Convert documents (PPTX, PDF, DOCX, XLSX, images) to Markdown/JSON/HTML using IBM Docling. This skill should be used when user asks to convert, parse, or extract content from documents. Triggers on "convert pptx", "parse pdf", "extract from document", "конвертуй презентацію", "витягни з pdf".
Full skill instructions
Convert any document format to structured Markdown, JSON, or HTML using IBM Docling with AI-powered layout analysis.
Batch convert directory to Markdown:
uv run python .claude/skills/docling/scripts/convert_docs.py \
--input /path/to/documents \
--output /path/to/output \
--format md
Single file via CLI:
uv run docling document.pptx --to md --output ./output
The main script scripts/convert_docs.py handles:
Example - Convert presentation course:
uv run python .claude/skills/docling/scripts/convert_docs.py \
--input .artifacts/presentations \
--output docs/course \
--format md \
--prefix "lesson"
| Format | Extension | Notes |
|---|---|---|
| PowerPoint | .pptx | Slides extracted with structure |
.pdf | Layout analysis, OCR support | |
| Word | .docx | Full formatting preserved |
| Excel | .xlsx | Tables converted |
| HTML | .html | Structure preserved |
| Images | .png, .jpg, .tiff | OCR extraction |
| Audio | .wav, .mp3 | ASR transcription |
| Markdown | .md | Pass-through with parsing |
| CSV | .csv | Table structure |
| Format | Flag | Use Case |
|---|---|---|
| Markdown | --to md | Documentation, RAG |
| JSON | --to json | Structured data, API |
| HTML | --to html | Web publishing |
| Text | --to text | Plain text extraction |
| DocTags | --to doctags | Docling internal format |
# Single file
uv run docling document.pdf --to md
# Multiple files
uv run docling file1.pdf file2.docx --to md
# Directory
uv run docling ./documents/ --to md --output ./output/
# URL
uv run docling https://example.com/doc.pdf --to md
# Enable OCR (default: auto)
uv run docling scanned.pdf --ocr --ocr-engine tesseract
# Force OCR on all content
uv run docling document.pdf --force-ocr
# Specify language
uv run docling document.pdf --ocr-lang ukr,eng
OCR Engines: auto, easyocr, tesseract, tesserocr, rapidocr, ocrmac (macOS)
# Accurate mode (slower, better quality)
uv run docling document.pdf --table-mode accurate
# Fast mode
uv run docling document.pdf --table-mode fast
# Disable tables
uv run docling document.pdf --no-tables
# Embed images as base64
uv run docling document.pdf --image-export-mode embedded
# Save images as separate files
uv run docling document.pdf --image-export-mode referenced
# Placeholder only (no images)
uv run docling document.pdf --image-export-mode placeholder
# Enable code block detection
uv run docling document.pdf --enrich-code
# Enable formula recognition
uv run docling document.pdf --enrich-formula
# Enable picture classification
uv run docling document.pdf --enrich-picture-classification
# Enable picture description (VLM)
uv run docling document.pdf --enrich-picture-description
# Use VLM for complex documents
uv run docling document.pdf --pipeline vlm --vlm-model granite_docling
# Available models: granite_docling, smoldocling, got_ocr_2, granite_vision
# Transcribe audio
uv run docling audio.mp3 --pipeline asr --asr-model whisper_small
# Models: whisper_tiny, whisper_small, whisper_medium, whisper_large, whisper_turbo
# Multi-threading
uv run docling document.pdf --num-threads 8
# GPU acceleration
uv run docling document.pdf --device cuda # or mps for Apple Silicon
# Timeout per document
uv run docling document.pdf --document-timeout 300
from docling.document_converter import DocumentConverter
converter = DocumentConverter()
result = converter.convert("document.pptx")
# Export to Markdown
markdown = result.document.export_to_markdown()
# Export to JSON
json_data = result.document.export_to_dict()
# Save directly
result.document.save_as_markdown("output.md")
from pathlib import Path
from docling.document_converter import DocumentConverter
converter = DocumentConverter()
sources = list(Path("./documents").glob("*.pdf"))
for result in converter.convert_all(sources):
if result.status.name == "SUCCESS":
output = Path("./output") / f"{result.input.file.stem}.md"
result.document.save_as_markdown(output)
from docling.document_converter import DocumentConverter, FormatOption
from docling.datamodel.base_models import InputFormat
from docling.datamodel.pipeline_options import PdfPipelineOptions
pdf_options = PdfPipelineOptions(
do_ocr=True,
do_table_structure=True,
table_structure_options={"mode": "accurate"},
)
converter = DocumentConverter(
format_options={
InputFormat.PDF: FormatOption(pipeline_options=pdf_options)
}
)
from docling.document_converter import DocumentConverter
from docling.chunking import HybridChunker
converter = DocumentConverter()
result = converter.convert("document.pdf")
chunker = HybridChunker()
chunks = list(chunker.chunk(result.document))
for chunk in chunks:
print(f"Chunk: {chunk.text[:100]}...")
| Problem | Solution |
|---|---|
| No text extracted | Enable OCR: --ocr or --force-ocr |
| Tables not formatted | Use --table-mode accurate |
| Slow processing | Use --table-mode fast, reduce --num-threads |
| Memory errors | Reduce --page-batch-size, process files individually |
uv run docling document.pdf -v # info logging
uv run docling document.pdf -vv # debug logging
uv run docling document.pdf --debug-visualize-layout # see layout detection
convert_docs.py - Batch conversion with clean filenames and index generationDesign and optimize systems connecting marketing, sales, and customer success into a unified revenue engine.
Strategic planning and optimization for email capture offers and gated content.
Directory submissions: the foundation layer of distribution that passes backlinks and discovery surface area into your marketing pages.
Sequence and choreograph multi-step animations with precise timing control and nested timelines.
Structured framework for planning product launches, feature announcements, and go-to-market strategies.
Upload files to Google Drive with automatic MIME type detection and metadata.
Automates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.
firecrawl lead gen
firecrawl lead research
firecrawl demo walkthrough
Team leadership persona with standup coordination, meeting prep, task delegation, and team communication.
Identify large Google Drive files consuming storage quota.
Revolutionize Video Creation with AI-Generated Avatars and Voices
Social media on autopilot
Design custom logos instantly with AI.
Text-heavy marketing and design images
Boost Your SEO with Content and SEO Silos
Revolutionize Your Marketing with AI-Powered MarketingBlocks!
10X faster & free AI content creation for 100+ use cases
Tribescaler | Make Your Tweets Go Viral