mcpField
U
unblind

unblind

github.com/santazukiAgent workflows2494 installsUpdated 21w ago
Repository

About unblind

unblind is a Claude skill that routes image analysis through a vision API and returns text. It supports description, OCR, UI review, chart data, object detection, and image comparison, while requiring use of its bundled script.

Key features

  1. 01Route images to a vision API
  2. 02Describe images and extract text
  3. 03Review UI layouts and UX
  4. 04Analyze charts and detect objects
  5. 05Compare images

Use cases

  1. 01Extract text from an image
  2. 02Review a screen layout
  3. 03Describe an image or compare images

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/santazuki/unblind --skill unblind

After installing, type/unblindin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

.gitignore
LICENSE
README.md
TEST.md
install.sh
.github/workflows/
publish.yml
ci.yml
display/
2026-05-30-provider-v3-protocol-driven-design.md
provider-optimization.md
docs/test-results/
gpt-rebuttal-report.md
step1-logger-errorHandler.md
step15-validation-tests.md
step11-health-config.md
step10-cache.md
step14-phase0-silent.md
step13-openai-provider.md
step12-cache-granularity.md
step16-ci-circuitbreaker-fix.md
step17-phase3-chain-registry.md
step18-phase5-test.md
step3-credentialManager.md
step19-gemini-provider.md
step2-config.md
step6-provider-mimo.md
step4-retry.md
step7-orchestrator.md
step5-imageProcessor.md
step9-regression.md
step8-cli.md
resources/
troubleshooting.md

Details

From the project README

Unblind

Route images to vision API. Never pretend to see. Never Read/Edit settings.json.

Iron Rules

  1. Phase 0 mandatory every invocation
  2. NEVER Read/Edit ~/.claude/settings.json
  3. Config via CLI (--config, --set-model) or node -e, never via tools
  4. Never preamble. Never hallucinate. Always invoke bundled script.
  5. Tool reads API key from env automatically

Quick Start

User sends image → Unblind routes to Mimo/OpenAI → returns text. OCR → extracts all text. ui-review → critiques layout/UX. describe → detailed description.

Phase 0: Self-Healing

0.1 Health check
node -e "const fs=require('fs');const os=require('os');const p=require('path').join(os.homedir(),'.claude','settings.json');const s=JSON.parse(fs.readFileSync(p,'utf8'));const issues=[];if(!s.env?.MIMO_API_KEY) issues.push('KEY_MISSING');if(!s.env?.MIMO_VISION_MODEL||s.env.MIMO_VISION_MODEL==='mimo-v2.5-pro') issues.push('MODEL_MISSING');const a=s.permissions?.allow||[];if(!a.some(x=>x.includes('unblind'))) issues.push('PERM_MISSING');if(issues.length) console.log(issues.join(' '));" 2>/dev/null
  • Empty → healthy, skip to Phase 1
  • KEY_MISSING → 0.3 | MODEL_MISSING → 0.5 | PERM_MISSING → 0.4
0.2 Version check
cd ~/.claude/skills/unblind && git fetch 2>/dev/null && behind=$(git rev-list HEAD..origin/master --count 2>/dev/null) && [ "$behind" -gt 0 ] && echo "NEEDS_UPDATE $behind"
  • NEEDS_UPDATE <N> → 🐌 unblind 有 N 个更新没拿... git pull 一下嘛~(不阻塞)
0.3-0.9 Repair → Phase 1

See resources/phase0-details.md. All healthy → Phase 1.

Phase 1-4: Analyze

  1. Detect image path from [Image: source: <path>]. Must be absolute, supported ext, no shell metacharacters.
  2. Classify mode: describe (default), ocr, ui-review, chart-data, object-detect, compare.
  3. Execute: node ~/.claude/skills/unblind/scripts/unblind.mjs '<path>' <mode> — no preamble.
  4. Report: print stdout. API key error → back to 0.3.

Resources

  • resources/phase0-details.md — 完整 Phase 0 流程、CLI 参考、边缘场景
  • resources/troubleshooting.md — 修复命令、常见错误、Node.js 配置
  • resources/best_practices.md — 模型选择、token 优化、调试
  • README.md — 安装指南、安全验证

Comments

Markdown supported