
Image
This one handles the heavy lifting of getting image content into a format Claude can work with. It base64-encodes images and passes them to a vision LLM for text extraction, covering the usual suspects like PNG, JPG, WebP, and a few others. The skill itself doesn't do the OCR, it just preps the image and lets the IngestAgent handle the actual vision processing. You'd use this when you need to pull text out of screenshots, diagrams, or photos as part of a larger workflow. It's straightforward plumbing that saves you from writing the same image encoding logic every time you want to extract text from visual content.
- GitHub stars
- 452
- last updated
- Jun 11, 2026
Install
$ npx -y skills add axoviq-ai/synthadoc --skill image --agent claude-codeInstalls into .claude/skills of the current project.
Files
Image Skill
Base64-encodes the image and passes it to a vision-capable LLM that extracts
all text and key information. Returns the LLM's response as result.text.
Setup
No pip dependency — the skill uses only the Python standard library plus a
LLM provider you supply at construction time. The provider can be any object
that implements the complete() interface (see below).
Standalone usage
import asyncio
from synthadoc.skills.image.scripts.main import ImageSkill
# ImageSkill REQUIRES a vision-capable provider — calling extract() without
# one raises ValueError immediately.
skill = ImageSkill(provider=my_provider)
async def main():
result = await skill.extract("/path/to/screenshot.png")
print(result.text) # extracted text from the image
print(result.metadata) # {"tokens_input": N, "tokens_output": N}
asyncio.run(main())
Provider interface — any object with this async method:
Sponsors
Details
- Repository
- github.com/axoviq-ai/synthadoc
- Category
- AI & Agent Building
- License
- AGPL-3.0
- First seen
- Jun 11, 2026