Add eyeball plugin: document analysis with inline source screenshots 🤖🤖🤖 (#1294)

* Add eyeball plugin: document analysis with inline source screenshots

Eyeball generates Word documents where every factual claim includes a
highlighted screenshot from the source material. Supports PDFs, Word
docs, and web URLs. Designed for verifying AI-generated document
analysis against the original source.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address review feedback: soft imports, Windows Word support, doc fixes

- Make PyMuPDF/Pillow/python-docx imports soft so setup-check runs
  without dependencies installed
- Add _check_core_deps() guard at CLI command entry points
- Add Windows Word detection in setup-check
- Remove references to setup.sh (not included in plugin)
- Fix usage docstring to show inline JSON instead of filename
- Use consistent <path-to>/eyeball.py paths in SKILL.md

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update eyeball plugin with bug fixes and Windows support

- Fix resource leaks (pdf_doc closed in finally blocks)
- Fix Windows Word COM automation (DispatchEx, proper cleanup)
- Fix converter order (Word before LibreOffice on Windows)
- Add source file existence checks with clear errors
- Fix Playwright cache detection for all platforms
- Fix setup.sh error handling (pipefail)
- Fix AppleScript path injection
- Fix highlight padding scaling with DPI
- Add pywin32 as Windows dependency
- Update README with Windows setup instructions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address Copilot code review feedback

- Fix browser leak in render_url_to_pdf (try/finally around Playwright)
- Remove setup.sh references from SKILL.md (not bundled in plugin)
- Use consistent <path-to>/eyeball.py paths in SKILL.md
- Update plugin README install instructions for awesome-copilot
- Add Windows pywin32 install step to SKILL.md

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: update _img_to_bytes docstring to reflect BytesIO return type

Agent-Logs-Url: https://github.com/github/awesome-copilot/sessions/048d704a-d78a-4a46-80d9-a155ff1e0d85

Co-authored-by: dvelton <48307985+dvelton@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
This commit is contained in:
Dan Velton
2026-04-30 16:41:12 -07:00
committed by GitHub
parent 15d91bf066
commit e4550293a9
7 changed files with 1140 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
{
"name": "eyeball",
"description": "Document analysis with inline source screenshots. When you ask Copilot to analyze a document, Eyeball generates a Word doc where every factual claim includes a highlighted screenshot from the source material so you can verify it with your own eyes.",
"version": "1.0.0",
"author": {
"name": "Awesome Copilot Community"
},
"repository": "https://github.com/github/awesome-copilot",
"license": "MIT",
"keywords": [
"document-analysis",
"citation-verification",
"screenshot",
"contracts",
"legal",
"trust",
"visual-verification"
],
"skills": [
"./skills/eyeball/"
]
}