paddleocr
Reads text from scanned pages, photos and PDFs and returns it as structured Markdown or JSON, so you can pull tables, formulas and headers out of a document without retyping them. Covers many languages and works as input for AI tools.
Adds commands that run optical flow motion analysis on videos to decode hidden messages hidden in random-dot ghost font footage. Aimed at users who want to extract text from such videos with Claude Code.
Claude Code
> /plugin marketplace add haroontrailblazer/ghost-font-decoder> /plugin install ghost-font-decoder@ghost-font-tools
GitHub Copilot
$ copilot plugin marketplace add haroontrailblazer/ghost-font-decoder$ copilot plugin install ghost-font-decoder@ghost-font-tools


https://playground.likec4.dev/share/uPAKaklH79/
Decode text hidden inside random-dot “ghost font” videos with Codex, Claude Code, Claude.ai, or plain Python.
No more ghosting. The message is the motion—and this decoder reads it.
Ghost-font videos conceal text inside a moving random-dot field. Pause the video and every frame appears to be uniform noise. The letters emerge only when their dots move differently from the background, so image-only readers miss the message entirely.
Ghost Font Decoder analyzes that motion with dense optical flow, reconstructs the hidden glyphs, and gives the agent both a clean reveal and a heatmap it can verify.
| Paused frame — looks like noise | Recovered motion mask |
|---|---|
ghost-decode skill across Codex, Claude Code, and Claude.ai.Install the plugin, then pass it a video:
/plugin marketplace add haroontrailblazer/ghost-font-decoder
/plugin install ghost-font-decoder@ghost-font-tools
/ghost-decode path/to/ghost-video.mp4
You can also ask naturally:
What does
ghost-video.mp4say?
Add this repository as a plugin source, install Ghost Font Decoder, start a new task, and ask:
Use
$ghost-decodeto tell me whatghost-video.mp4says.
Codex runs the bundled decoder, inspects the generated mask, displays the result in the task, and reports the recovered text.
Build the uploadable skill package:
python claude-ai-skill/build-zip.py
Upload ghost-decode.zip under Settings → Capabilities → Skills, attach a
video, and ask what it says. See the
Claude.ai installation guide for the complete
setup.
pip install -r requirements.txt
python decode.py examples/ghost-message.mp4
The included example decodes to:
Text in the video: HELLO HUMAN
No plugin installation is required. You can also paste
prompts/decode-in-chat.md into a supported chat,
attach the video, and run the same optical-flow workflow.
The screenshots below document the same hidden message—I LOVE YOU—being recovered in Claude Code, Claude.ai, and Codex. They show the agent invocation, the reported text, and the generated visual evidence.
Claude Code ran the decoder across 185 frame pairs, compensated for drift, and identified the full three-line message.
The uploaded ghost-decode skill accepted the video and returned the hidden
message directly in the conversation.
Claude.ai returned both outputs used to verify the answer: the cleaned reveal and the raw motion heatmap.
Opening the generated reveal makes the hidden I LOVE YOU message directly visible.
Codex invoked the installed skill, reported the decoded text, rendered the reveal, and linked both generated outputs.
The screenshots are execution evidence, not mockups. The decoded masks are generated from motion in the supplied video.
Video
↓
Dense optical flow between consecutive frames
↓
Median background-motion subtraction
↓
Counter-motion scoring and drift registration
↓
Temporal score accumulation
↓
Thresholding and mask cleanup
↓
Revealed image + heatmap + optional OCR
Under the hood, the decoder:
Each run writes:
| File | Purpose |
|---|---|
revealed.png | Clean binary mask for direct visual inspection and OCR |
revealed_heatmap.png | Raw opposition score for faint or partially recovered glyphs |
Useful command-line options:
python decode.py VIDEO \
-o OUT_DIR \
--method farneback \
--stride 2 \
--max-frames 200 \
--no-ocr
This repository ships native skill packaging for each supported agent:
| Surface | Integration |
|---|---|
| Claude Code | .claude-plugin/plugin.json, marketplace metadata, and claude-skills/ghost-decode/SKILL.md |
| Claude.ai | Uploadable skill built from claude-ai-skill/ghost-decode/SKILL.md |
| Codex | .codex-plugin/plugin.json, codex-skills/ghost-decode/SKILL.md, and agents/openai.yaml |
| Any supported chat | Portable workflow in prompts/decode-in-chat.md |
| Standalone | decode.py and requirements.txt |
pytesseract for optional OCRInstall Python dependencies:
pip install -r requirements.txt
On Windows, Tesseract can be installed with:
winget install UB-Mannheim.TesseractOCR
The reveal and heatmap are still generated when Tesseract is not installed.
ghost-font-decoder/
├── decode.py # Optical-flow decoder
├── examples/ # Reproducible sample video and outputs
├── claude-skills/ # Claude Code skill
├── claude-ai-skill/ # Claude.ai uploadable skill source
├── codex-skills/ # Codex skill and UI metadata
├── commands/ # Claude Code slash command
├── prompts/ # Portable in-chat workflow
└── docs/ # Project page and proof assets
Ghost fonts are often presented as text that AI cannot read. The harder truth is simply that the information is encoded in motion, not in any single frame. Dense optical flow is designed to measure exactly that signal.
This project packages a proven computer-vision technique as an agent skill, so the same assistant that receives the video can run the analysis, inspect the evidence, and answer with the recovered message.
Released under the MIT License.
Built by Haroon K M (@haroontrailblazer).
Reads text from scanned pages, photos and PDFs and returns it as structured Markdown or JSON, so you can pull tables, formulas and headers out of a document without retyping them. Covers many languages and works as input for AI tools.
Gives your AI assistant a memory that persists across sessions, so it remembers your preferences and earlier work in this repository instead of starting fresh. Search, forget, pause and resume memories with simple commands.
Gives AI agents a library of ready-made skills for scientific work such as metabolic flux analysis, protein experiment design, time series modeling, and analytical method validation, so research tasks need less hand-built code. It works with any agent that supports the open Agent Skills standard.
Gives Claude Code skills, agents, and commands for PostHog analytics, session replay, feature flags, error tracking, and LLM observability. Includes MCP server setup and project access checks.
Adds commands that run optical flow motion analysis on videos to decode hidden messages hidden in random-dot ghost font footage. Aimed at users who want to extract text from such videos with Claude Code. Install it with the command on its page. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it