Skip to main content
plugin official · GitHub

eyeball — GitHub Copilot plugin: what it does, how to install

Eyeball analyzes PDFs, web pages, and Word files via Copilot CLI. It exports a docx report to your Desktop with inline source screenshots highlighting every cited claim in yellow.

Install into GitHub Copilot · Command from the source All methods and platforms ↓
copilot plugin install eyeball@awesome-copilot
Open on GitHub

What eyeball does

Language models can fabricate plausible quotations during contract analysis. Eyeball prevents blind trust by attaching visual proof to every factual claim. When you submit a document, the plugin analyzes its contents, locates the cited statements in the rendered file, and captures screenshot snippets with highlighted yellow text.

Under the hood, Python pairs with pymupdf for PDF rendering, playwright for online pages, and python-docx for report generation. Search relies on exact string matching. If a source file has non-standard ligatures or unusual character encodings, string matching might fail to catch the quote. For excerpts spanning multiple pages, Eyeball automatically stitches images together.

Parsing .docx documents requires Microsoft Word or LibreOffice on your system. Without one of these suites installed, Eyeball only handles web URLs and PDF files.

What it helps with

  • verify contract clauses against visual page captures
  • generate documented reviews of terms-of-service pages
  • catch fabricated clauses in legal document reviews
  • compile PDF summaries with yellow-highlighted source evidence

Example prompts for the agent

  • use eyeball on ~/Desktop/vendor-agreement.docx -- analyze the indemnification and liability provisions
  • run eyeball on https://example.com/terms-of-service -- identify developer-friendly aspects
  • use eyeball to analyze this NDA for non-compete provisions

How to install eyeball

Command from the source

copilot plugin install eyeball@awesome-copilot

Step by step, with commands for each platform: Claude Code plugins: marketplaces, installing, and building your own

Questions about eyeball

How do I install eyeball in GitHub Copilot?

Run copilot plugin install eyeball@awesome-copilot in your Copilot CLI session. Next, install dependencies with pip install pymupdf pillow python-docx playwright and fetch the browser using python -m playwright install chromium.

What does the eyeball plugin do?

It inspects documents and outputs a Word file on your Desktop containing analytical findings interleaved with screenshots of the source text. Every cited phrase is highlighted in yellow within the captured image.

Do I need Microsoft Word to run eyeball?

Microsoft Word is only necessary if you inspect .docx files, and LibreOffice works as an alternative. If your workflow involves only PDF files or web URLs, neither office suite is required.

Source text

eyeball · MIT
A tool to help verify AI statements, without (or at least with fewer) context switching pains.

When AI analyzes a document and tells you "Section 10 requires mutual indemnification," how do you know Section 10 actually says that? Eyeball lets you see for yourself.

This is a Copilot CLI plugin that generates document analyses as Word files with inline screenshots of relevant portions from the source material. Every factual claim in the analysis includes a highlighted excerpt from the original document, so you can verify each assertion without switching between files or hunting for the right page.

## What it does

You give Copilot a document (Word file, PDF, or web URL) and ask it to analyze something specific. Eyeball reads the source, writes the analysis, and for each claim, captures a screenshot of the relevant section from the original document with the cited text highlighted in yellow. The output is a Word document on your Desktop with analysis text and source screenshots interleaved.

If the analysis says "Section 9.3 allows termination for cause with a 30-day cure period," the screenshot below it shows Section 9.3 from the actual document with that language highlighted. If the screenshot shows something different, the analysis is wrong and you can see it immediately.

## Installation

### Prerequisites

- [Copilot CLI](https://docs.github.com/copilot/concepts/agents/about-copilot-cli) installed and authenticated
- Python 3.8 or later
- One of the following for Word document support (PDFs and web URLs work without these):
  - Microsoft Word (macOS or Windows)
  - LibreOffice (any platform)

### Install the plugin

Install via the Copilot CLI plugin system. In a Copilot CLI conversation:

```
install the eyeball plugin from github/awesome-copilot
```

### Install dependencies

After installing the plugin, install the Python dependencies:

```bash
pip install pymupdf pillow python-docx playwright
python -m playwright install chromium
```

On Windows, also install pywin32 for Word automation:
```bash
pip install pywin32
```

### Verify setup

```bash
python3 skills/eyeball/tools/eyeball.py setup-check
```

This shows which source types are supported on your machine.

## How to use it

In a Copilot CLI conversation, tell it to use eyeball and what you want analyzed:

```
use eyeball on ~/Desktop/vendor-agreement.docx -- analyze the indemnification
and liability provisions and flag anything unusual
```

```
run eyeball on https://example.com/terms-of-service -- identify the
developer-friendly aspects of these terms
```

```
use eyeball to analyze this NDA for non-compete provisions
```

Eyeball activates, reads the source document, writes the analysis with exact section references, and generates a Word document on your Desktop with source screenshots inline.

## What it supports

| Source type | Requirements |
|---|---|
| PDF files | Python + PyMuPDF (included in setup) |
| Web pages | Python + Playwright + Chromium (included in setup) |
| Word documents (.docx) | Microsoft Word (macOS/Windows) or LibreOffice (any platform). On Windows, pywin32 is also required (included in setup). |

## How it works

1. Eyeball reads the full text of the source document
2. It writes analysis with exact section numbers, page references, and verbatim quotes
3. For each claim, it searches the rendered source for the cited text
4. It captures a screenshot of the surrounding region with the cited text highlighted in yellow
5. It assembles a Word document with analysis paragraphs and screenshots interleaved
6. The output lands on your Desktop

The screenshots are dynamically sized: if a section of analysis references text that spans a large region, the screenshot expands to cover it. If the referenced text appears on multiple pages, the screenshots are stitched together.

## Why screenshots instead of quoted text?

In hallucination-sensitive contexts, sometimes we need to see receipts.

Quoted text is easy to fabricate. A model can generate a plausible-sounding quote that doesn't actually appear in the source, and without checking, you'd never know. Screenshots from the rendered source are harder to fake; they show the actual formatting, layout, and surrounding context of the original document. You can see at a glance whether the highlighted text matches the claim, and the surrounding text provides context that a cherry-picked quote might omit.

## Limitations

- Word document conversion requires Microsoft Word or LibreOffice. Without one of these, you can still use Eyeball with PDFs and web URLs.
- Text search is string-matching. If the source document uses unusual encoding, ligatures, or non-standard characters, some searches may not match. The skill instructions tell the AI to use verbatim phrases from the extracted text, which handles most cases.
- Web page rendering depends on Playwright and may not perfectly capture all dynamic content (e.g., content loaded by JavaScript after page load, content behind login walls).
- Screenshot quality depends on the source formatting. Dense multi-column layouts or very small text may produce less readable screenshots. Increase the DPI setting if needed.

## License

MIT

© Awesome Copilot Community · MIT · github/awesome-copilot

Similar plugins

Everything for Office documents →

From the same set732

The whole set →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor