Three tools that give coding agents better input

October 2026 Luis Vera

A lot of the bad output I get from coding agents traces back to bad input. The model writes against an API that changed last year, or it can’t read the PDF I pointed it at, or it builds a page it never opens. My bookmark list of agent tools is long, but three of them go straight at those problems.

Context7: docs from this year

Models learn a library at training time, and then the library keeps moving. Context7, from Upstash, fetches current, version-specific documentation and code examples and puts them in the agent’s context when it needs them. It runs as an MCP server, or as a CLI (ctx7) plus a skill that tells the agent when to call it. You can add “use context7” to a prompt, or install the skill and let the agent decide.

It pays off most with frameworks that move fast. Astro, Next.js, Tailwind v4, and Supabase have all changed enough lately that an agent’s memory of them can hurt more than help. A free API key gets you higher rate limits.

MarkItDown: everything becomes Markdown

MarkItDown is a Python tool from Microsoft that converts PDF, Word, PowerPoint, Excel, HTML, CSV, JSON, EPUB, ZIP archives, and a few other formats into Markdown.

pip install 'markitdown[pdf,docx,pptx]'
markitdown contract.pdf -o contract.md

Markdown keeps headings, lists, and tables, which is most of the structure a model needs, and it costs far fewer tokens than raw HTML or XML. There’s an OCR plugin that uses a vision model for images embedded in documents.

The README has one warning worth repeating. MarkItDown reads files and URLs with the permissions of whatever process runs it, so don’t feed it untrusted input on a machine that holds anything you care about.

For scans and complicated layouts, a service built for document OCR, like Datalab, is the better fit. For ordinary office files, MarkItDown does the job in one command.

agent-browser: let it look

An agent that writes a web page and never opens it is guessing. agent-browser, from Vercel Labs, is a browser automation CLI built for agents. The good idea is the snapshot. Instead of handing the model a wall of HTML, it returns the accessibility tree with short references, and the agent acts on those.

agent-browser open example.com
agent-browser snapshot          # accessibility tree with refs like @e2
agent-browser click @e2
agent-browser screenshot page.png

Refs are shorter than CSS selectors and they track what’s on screen, so the agent spends fewer tokens and misclicks less. There’s also screenshot --if-changed, which skips images that didn’t change. That matters more than it sounds once an agent is checking its own work in a loop.

What they have in common

None of these make the model smarter. They make what it reads more accurate, and I’ve found that gets you further. If I could only install one, it would be the browser. A screenshot of the broken layout settles more arguments with an agent than any amount of explaining.

Share: