visa-doc-translate
affaan-m/ECC · Agent Skill
Translates visa application document images to English, creating a bilingual PDF with original and translation. Used for visa application documents.
Jump to install ↓Overview
| Publisher | |
|---|---|
| Repository | affaan-m/ECC ↗ |
| Skill folder | visa-doc-translate |
| Stars | 257,550 |
| Forks | 38,524 |
| Bundled files | 2 |
| License | MIT |
| Last updated | September 12, 2026 |
| Links | Skill source ↗ · Repository ↗ |
Mozgi check
What we found in the skill files. Details come with a subscription.
Installation
A skill is a folder with a SKILL.md file. Pick your agent and run the commands in a terminal (macOS, Linux or Git Bash on Windows) from your project root.
Copy the prompt into Claude, Codex or another assistant: it will review the skill and install it for you.
Install the “visa-doc-translate” skill from mozgi.io (https://mozgi.io/skills/visa-doc-translate/) for me. 1. Download the archive: https://mozgi.io/skills/visa-doc-translate/download If it fails, take the skill folder from the source: https://github.com/affaan-m/ECC/tree/main/skills/visa-doc-translate 2. Read SKILL.md and the other files. Check the skill is safe: no hidden commands, no sending data elsewhere, no scripts doing something other than described. If anything looks suspicious, stop and tell me. 3. Put the “visa-doc-translate” folder into your agent's skills folder: .claude/skills/ for Claude Code, .agents/skills/ for Codex, .cursor/skills/ for Cursor, .gemini/skills/ for Gemini CLI. Inside the project if we are in one, otherwise in the home folder (~/.claude/skills/ etc.). 4. Make sure <skills folder>/visa-doc-translate/SKILL.md exists. 5. Briefly tell me what this skill does and offer to try it on my task. If you cannot do a step yourself, tell me what to click or type.
git clone --depth 1 --branch main https://github.com/affaan-m/ECC.git /tmp/ECC mkdir -p .claude/skills cp -r /tmp/ECC/skills/visa-doc-translate .claude/skills/visa-doc-translate
Restart Claude Code — the skill appears in the list; call it manually with /visa-doc-translate. For all projects use ~/.claude/skills.
git clone --depth 1 --branch main https://github.com/affaan-m/ECC.git /tmp/ECC mkdir -p .agents/skills cp -r /tmp/ECC/skills/visa-doc-translate .agents/skills/visa-doc-translate
Codex looks for skills in .agents/skills from the current folder up to the repo root; call one with /skills or $visa-doc-translate. For all projects use ~/.agents/skills.
git clone --depth 1 --branch main https://github.com/affaan-m/ECC.git /tmp/ECC mkdir -p .cursor/skills cp -r /tmp/ECC/skills/visa-doc-translate .cursor/skills/visa-doc-translate
Cursor picks the skill up on start; call it with “/” in Agent chat. Cursor also reads .claude/skills and .agents/skills. For all projects use ~/.cursor/skills.
git clone --depth 1 --branch main https://github.com/affaan-m/ECC.git /tmp/ECC mkdir -p .gemini/skills cp -r /tmp/ECC/skills/visa-doc-translate .gemini/skills/visa-doc-translate
Gemini CLI offers to activate the skill when a task matches — you approve it. For all projects use ~/.gemini/skills.
Read SKILL.md and any companion files before deciding whether to install. Click a file to preview it.
SKILL.md contents
Original author text · read-onlyYou are helping translate visa application documents for visa applications.
Instructions
When the user provides an image file path, AUTOMATICALLY execute the following steps WITHOUT asking for confirmation:
1. Image Conversion: If the file is HEIC, convert it to PNG using sips -s format png <input> --out <output>
2. Image Rotation:
- Check EXIF orientation data
- Automatically rotate the image based on EXIF data
- If EXIF orientation is 6, rotate 90 degrees counterclockwise
- Apply additional rotation as needed (test 180 degrees if document appears upside down)
3. OCR Text Extraction:
- Try multiple OCR methods automatically:
- macOS Vision framework (preferred for macOS)
- EasyOCR (cross-platform, no tesseract required)
- Tesseract OCR (if available)
- Extract all text information from the document
- Identify document type (deposit certificate, employment certificate, retirement certificate, etc.)
4. Translation:
- Translate all text content to English professionally
- Maintain the original document structure and format
- Use professional terminology appropriate for visa applications
- Keep proper names in original language with English in parentheses
- For Chinese names, use pinyin format (e.g., WU Zhengye)
- Preserve all numbers, dates, and amounts accurately
5. PDF Generation:
- Create a Python script using PIL and reportlab libraries
- Page 1: Display the rotated original image, centered and scaled to fit A4 page
- Page 2: Display the English translation with proper formatting:
- Title centered and bold
- Content left-aligned with appropriate spacing
- Professional layout suitable for official documents
- Add a note at the bottom: "This is a certified English translation of the original document"
- Execute the script to generate the PDF
6. Output: Create a PDF file named <original_filename>_Translated.pdf in the same directory
Supported Documents
- Bank deposit certificates (存款证明)
- Income certificates (收入证明)
- Employment certificates (在职证明)
- Retirement certificates (退休证明)
- Property certificates (房产证明)
- Business licenses (营业执照)
- ID cards and passports
- Other official documents
Technical Implementation
OCR Methods (tried in order)
1. macOS Vision Framework (macOS only):
```python
import Vision
from Foundation import NSURL
```
2. EasyOCR (cross-platform):
```bash
pip install easyocr
```
3. Tesseract OCR (if available):
```bash
brew install tesseract tesseract-lang
pip install pytesseract
```
Required Python Libraries
pip install pillow reportlab
For macOS Vision framework:
pip install pyobjc-framework-Vision pyobjc-framework-Quartz
Important Guidelines
- DO NOT ask for user confirmation at each step
- Automatically determine the best rotation angle
- Try multiple OCR methods if one fails
- Ensure all numbers, dates, and amounts are accurately translated
- Use clean, professional formatting
- Complete the entire process and report the final PDF location
Example Usage
/visa-doc-translate RetirementCertificate.PNG
/visa-doc-translate BankStatement.HEIC
/visa-doc-translate EmploymentLetter.jpg
Output Example
The skill will:
1. Extract text using available OCR method
2. Translate to professional English
3. Generate <filename>_Translated.pdf with:
- Page 1: Original document image
- Page 2: Professional English translation
Perfect for visa applications to Australia, USA, Canada, UK, and other countries requiring translated documents.
Frequently asked questions
What does the visa-doc-translate skill do?
Translates visa application document images to English, creating a bilingual PDF with original and translation. Used for visa application documents.
How do I install visa-doc-translate?
Open the “Installation” block on this page and pick your agent — Claude Code, Codex, Cursor or Gemini CLI — for ready-made commands that copy the skill folder to the right place. Or copy the prompt from the “Via assistant” tab and let the assistant review and install the skill.
Which AI models work with visa-doc-translate?
Skills are plain Markdown instructions (the Agent Skills format), so visa-doc-translate works with any agent that reads SKILL.md: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and more. The model loads the instructions only when a task matches the skill's description.
Is visa-doc-translate free?
The skill is published openly by affaan-m under the MIT license. The skill itself costs nothing — you only pay your AI provider for the tokens you use.
Is it safe to install skills?
A skill is a set of instructions your agent will follow, so read SKILL.md and its companion files before installing. Scripts in the skill folder only run if your agent runs them — keep an eye on what it does and do not grant unnecessary permissions.
How is a skill different from an MCP server or a plugin?
An MCP server or plugin gives the model new tools — code that runs and returns a result. A skill gives it knowledge and process: how to approach a task, which steps to follow and what good output looks like. It needs no server or API key.