← All skills
visa-doc-translate
80 / 100 · Low risk
Fine to try. Some of what it can do is expected: a coding skill usually runs build and test commands.
By affaan-m/ECC (GitHub) · coding · 300,508 stars · scanned at commit d2ef268
Translate visa document images (bank deposit, employment, income, and retirement certificates; HEIC, PNG, or JPG) into English via OCR and produce a bilingual PDF pairing the original image with a formatted certified-style translation. Use when a visa application needs a document translated to English, an official certificate OCR'd and translated, or a bilingual translation PDF for immigration paperwork.
Works with any agent that supports SKILL.md skills.
What this skill can do
Downloads and installs other software
The author does not mention this. It runs automatically when the plugin is installed.
Found in 12 places.
Show 9 more
- skills/visa-doc-translate/README.md, line 64
brew install tesseract tesseract-lang - skills/visa-doc-translate/README.md, line 65
pip install pytesseract - skills/visa-doc-translate/SKILL.md, line 71
pip install easyocr - skills/visa-doc-translate/SKILL.md, line 76
brew install tesseract tesseract-lang - skills/visa-doc-translate/SKILL.md, line 77
pip install pytesseract - skills/visa-doc-translate/SKILL.md, line 83
pip install pillow reportlab - skills/visa-doc-translate/SKILL.md, line 88
pip install pyobjc-framework-Vision pyobjc-framework-Quartz - scripts/lib/package-manager.js, line 29
execCmd: 'pnpm dlx', - .mcp.json, line 4
"command": "npx",
Runs commands on your computer
The author does not mention this. It runs automatically when the plugin is installed. Expected for a coding skill.
Found in 49 places.
Show 17 more
- skills/visa-doc-translate/SKILL.md, line 88
pip install pyobjc-framework-Vision pyobjc-framework-Quartz - skills/visa-doc-translate/SKILL.md, line 103
/visa-doc-translate RetirementCertificate.PNG - scripts/hooks/observe-runner.js, line 6
const { spawnSync } = require('child_process'); - scripts/hooks/observe-runner.js, line 63
const probe = spawnSync(candidate, ['-c', ':'], { - scripts/hooks/observe-runner.js, line 131
const result = spawnSync(shell, [toShellPath(observePath), phase], { - scripts/hooks/session-activity-tracker.js, line 13
const { spawnSync } = require('child_process'); - scripts/hooks/session-activity-tracker.js, line 346
const result = spawnSync('git', args, { - scripts/lib/llm-summary.js, line 15
const { spawnSync } = require('child_process'); - scripts/lib/llm-summary.js, line 180
const result = spawnSync('claude', ['--model', getLLMModel(), '-p'], { - scripts/lib/observer-sessions.js, line 5
const { spawnSync } = require('child_process'); - scripts/lib/observer-sessions.js, line 45
const result = spawnSync('git', args, { - scripts/lib/utils.js, line 10
const { execSync, spawnSync } = require('child_process'); - scripts/lib/utils.js, line 491
const result = spawnSync('where', [cmd], { stdio: 'pipe' }); - scripts/lib/utils.js, line 494
const result = spawnSync('which', [cmd], { stdio: 'pipe' }); - scripts/lib/utils.js, line 528
const result = execSync(cmd, { - .mcp.json, line 4
"command": "npx", - hooks/README.md, line 295
"command": "node -e \"let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{const i=JSON.parse(d);const p=i.tool_input?.file_path||'';if(/\\.py$
and 29 more places
Other copies in this repository
affaan-m/ECC has 2 more folders with a skill named visa-doc-translate. This page shows the lowest-scoring copy.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'visa-doc-translate' ] || [ -L ~/.agents/skills/'visa-doc-translate' ]; then echo 'A skill folder named visa-doc-translate already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/affaan-m/ECC' "$d" && git -C "$d" checkout --quiet 'd2ef2680594f9a17526a6e1a2e18b3d242c5d17b' -- 'skills/visa-doc-translate' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/visa-doc-translate' ~/.agents/skills/'visa-doc-translate' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'visa-doc-translate' ~/.claude/skills/'visa-doc-translate' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for affaan-m/ECC shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/affaan-m/ECC/)
Score history
| Date | Version | Score |
|---|
| 2026-11-08 | d2ef268 | 80 |
| 2026-11-06 | b38be6a | 80 |
Also found in
Identical copies of this skill exist at:
- affaan-m/everything-claude-code/skills/visa-doc-translate