Image Read Cache — AI skill for Claude Code
Agent Skill that caches LLM image descriptions as XMP metadata inside image files, reducing token usage by ~92% on repeated reads.
How to install Image Read Cache
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open ParthJadhav/image-read-cache and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Image Read Cache does
Agent Skill that caches LLM image descriptions as XMP metadata inside image files, reducing token usage by ~92% on repeated reads. Works with 30+ compatible agents.
Alternatives in AI
- Surface — Show ranked attack surface for a target from its recon manifest + hunt memory 3.8k ★
- TokenTracker — Local-first AI token usage & cost tracker for 31 coding tools incl 1.4k ★
- Slotstream — Run a 105 GB AI model on a Mac that can't hold it 396 ★
README
image-read-cache
An [Agent Skill](https://agentskills.io) that caches LLM image descriptions as XMP metadata inside image files, reducing token usage by ~92% on repeated reads.
Installation
npx skills add ParthJadhav/image-read-cache
Works with [30+ compatible agents](https://agentskills.io) including Claude Code, Cursor, OpenCode, Gemini CLI, Goose, Roo Code, GitHub Copilot, and more.
The Problem
Every time an AI agent reads an image, it sends the full base64-encoded image to the LLM. In a multi-turn conversation where the same image is referenced repeatedly, this compounds fast:
- A single image costs 1,000-6,000+ tokens per read
- Over 20 turns referencing the same image, that's 20,000-120,000 tokens wasted on identical content
The Solution
`image-read-cache` intercepts image reads and stores the LLM's description directly inside the image file as XMP metadata. On subsequent reads, the cached text description is returned instead of the full image.
Agent reads image.png
-> Check XMP metadata for cached description
-> If found: return text (~200 tokens) instead of image (~4,000 tokens)
-> If not found: read image normally, cache the result in metadata
The cache is embedded in the image file itself -- no external database, no sidecar files (for JPEG/PNG/WebP), and it follows the image wherever it goes.
For GIF and BMP, the cache is stored in an adjacent `.ai-cache` sidecar because those formats do not support the same embedded XMP flow used for JPEG/PNG/WebP.
How It Works
image-read-cache/
SKILL.md # Agent instructions (AgentSkills.io format)
scripts/
cache_common.py # Shared hashing/XMP/atomic-write helpers
check_cache.py # Read cached description from XMP metadata
write_cache.py # Write description into image XMP metadata
Cache Flow
- Before reading an image, the agent runs
check_cache.py - If
CACHED:-- use the text descrip
Related Skills
Cleanup Cache
Clean system caches (npm, Homebrew, Yarn, browsers, Python/ML) to free disk space
Smart Context Delegation
Cut coding-agent token usage by ~90%: a PreToolUse hook blocks large file reads; bulk-read/code-write delegate
Synthelion
Synthelion compresses prompts before they reach any AI model — cutting token usage by up to 70%, reducing API
Deai Image
Detect and remove AI fingerprints from AI-generated images. Strip metadata, add film grain, recompress, and by
Humanize Image
Detect and remove AI fingerprints from AI-generated images. Strip metadata, add film grain, recompress, and by
LLM Vis
Interactive visualizer of what happens inside a Claude-style LLM for every token: growing attention matrix, KV
Related Agents
Session Pattern Analyzer
Analyzes Claude Code session JSONL files to extract execution patterns: plan-ratio, delegation, parallel usage
AI Recon
Delegates to this agent when the user wants to map the AI attack surface of an authorized web application befo
Docs Link Checker
Validates both external and internal links in documentation files to ensure they are not broken. Maintains a c