RainSunMe

Cc Vision Hook — Development skill for Claude Code

Development community

Claude Code hook toolkit that gives vision-blind models a text description of pasted/tool-produced images.

How to install Cc Vision Hook

This entry records only its repository, not the path inside it, so there is no exact command to give. Open RainSunMe/cc-vision-hook and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Cc Vision Hook does

Claude Code hook toolkit that gives vision-blind models a text description of pasted/tool-produced images.

Alternatives in Development

  • Oob — Out-of-band orchestrator — confirm BLIND SSRF/XXE/SQLi/RCE/Log4Shell by correlating interactsh callbacks to th 4.5k ★
  • Media Downloader — 🎬 智能媒体下载器 - 根据用户描述自动搜索和下载图片、视频片段 Smart Media Downloader - Auto search and download images/videos based on des 366 ★
  • Chiasmus — Chiasmus is an MCP server that gives language models access to formal verification 208 ★

README

cc-vision-hook

**Give vision-blind Claude Code models eyes — without touching your prompt.**

`cvh` is a local-only Claude Code Hook toolkit. When you paste an image, or a tool (`Read` / `Bash` / MCP) produces a screenshot, `cvh` sends it to a vision model of your choice and injects the description back into Claude Code's context as `additionalContext` — so a model that would otherwise silently ignore the image can actually "see" it.

[![npm version](https://img.shields.io/npm/v/cc-vision-hook.svg?color=cb3837&logo=npm)](https://www.npmjs.com/package/cc-vision-hook) [![npm downloads](https://img.shields.io/npm/dm/cc-vision-hook.svg?color=blue)](https://www.npmjs.com/package/cc-vision-hook) [![GitHub stars](https://img.shields.io/github/stars/RainSunMe/cc-vision-hook?style=social)](https://github.com/RainSunMe/cc-vision-hook) [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](./LICENSE) [![Node >= 20](https://img.shields.io/badge/node-%3E%3D20-brightgreen.svg)](package.json)

[English](./README.md) · [简体中文](./README.zh-CN.md)


Why

Not every model behind Claude Code understands images. Depending on the backend, an unsupported image request fails in one of two very different ways:

Failure mode What happens Can cvh fix it?
Silently ignoring The API call succeeds (HTTP 200), but the model never actually looks at the image — it guesses, hallucinates, or just says "I can't see the image." ✅ Yes — this is exactly what cvh is built for
Protocol-level hard rejection The API call fails outright (e.g. 404 No endpoints found that support image input), and the entire turn fails, text included. ❌ No — see Scope & limitations

`cvh` targets the first case. It never touches the original image content block — it only **appends** a text description generated by a vision model you configure, via Claude Code's `additionalContext` hook output. That's