---
title: "Lean REA vs REA: Is a Skill File Better Than an MCP Server?"
url: "https://goremy.ai/blog/articles/lean-rea-vs-rea-mcp-reverse-engineering-skill"
author: Luis Chavez-Mattos
editor: Luis Chavez-Mattos
editor_title: Director, Product
published: "2026-10-27T03:00:10.567Z"
updated: "2026-10-28T16:04:43.686Z"
topic: Agent Harnesses and Skills
description: Lean REA is an 8KB skill file that replaces the 207-tool REA MCP server. Compare speed, cost, turns and context use using the Sonnet 5.5 benchmark figures.
---

# Lean REA vs REA: Is a Skill File Better Than an MCP Server?

> Lean REA is an 8KB skill file that replaces the 207-tool REA MCP server. Compare speed, cost, turns and context use using the Sonnet 5.5 benchmark figures.

Edited by Luis Chavez-Mattos, Director, Product · Published 2026-10-27 · Updated 2026-10-28

## Is Lean REA better than the original REA MCP server?

On the benchmark its creator ran with Sonnet 5.5, yes. Lean REA, an 8KB skill file, was 38% faster than REA, 35% cheaper, and used 56% fewer turns, with the same accuracy. It also barely touches the context window. With all of REA's tools loaded, one simple "okay" reply consumed about 400,000 tokens. With Lean REA, the same reply used about 34,000. These figures come from a single creator's benchmark, not an independent test.

## TL;DR

- REA ("reverse engineer anything") is an **MCP server with 207 tools**, and it passed 270,000 GitHub stars.
- Lean REA is a **single 8KB skill file** that tells the agent which existing command-line tool to run, so it adds no tool definitions.
- In a Sonnet 5.5 benchmark, Lean REA was **38% faster and 35% cheaper** than REA, with 56% fewer turns and the same accuracy.
- Context is the biggest gap: **about 400,000 tokens versus about 34,000** for one simple reply.
- The full Lean REA benchmark run on Sonnet cost **$2.17**, according to the creator.
- Lean REA works with cheaper models too, but the creator had not run the same benchmark on DeepSeek, so cost estimates there are projections.

## What is REA, and what does the MCP server actually do?

REA stands for reverse engineer anything. It is an MCP server that exposes 207 tools to a coding agent. Under the hood, most of those tools call utilities already on your machine. The examples named in the source:

| Target | Underlying tool |
|---|---|
| Electron apps | asar |
| Mac binaries | otool and nm |
| Go binaries | go version -m |
| Android apps | jadx |

So the MCP layer is largely a wrapper. The agent asks a tool to do something, the server shells out to a familiar program, and the result comes back. The cost of that design is that every tool definition has to sit in the model's context.

## How does Lean REA work?

Lean REA removes the wrapper layer. It is one 8KB skill file with three jobs:

1. It tells the agent which command is fastest for each kind of target.
2. It gives ready-to-paste commands.
3. It lists the small traps a model tends to miss.

The agent then runs the real tools in its normal shell. There are no tool definitions to load, which is why the context footprint stays small.

The skill also tells the agent to batch small checks into a single shell call. That is a big reason the turn count drops. In a demo of the setup, the agent checked the file type, extracted an app archive, searched the code with ripgrep (using the flag that includes hidden folders), found the native function and its controlling class, and traced IPC channels. It labeled each claim as seen, inferred, or unknown.

## How do Lean REA and REA compare on speed, cost and context?

These are the figures from the Sonnet 5.5 benchmark.

| Metric | REA (MCP, 207 tools) | Lean REA (skill file) |
|---|---|---|
| Speed | Baseline | 38% faster |
| Cost | Baseline | 35% cheaper |
| Turns | Baseline | 56% fewer |
| Accuracy | Same | Same |
| Context for one simple reply | About 400,000 tokens | About 34,000 tokens |
| Footprint | 207 tool definitions | 8KB file |

Accuracy held steady, so the savings did not come from the agent doing less work. They came from skipping tool-definition overhead and running fewer, larger shell calls.

## Why does context use matter so much for agents?

An agent resends its context on every turn. Tool definitions that load up front get carried through the whole session. Most tokens in a long run end up as cached reads, so a bloated starting context affects both cost and how much room is left for actual work.

This matters more with cheaper or smaller-context models. Spending hundreds of thousands of tokens on tool schemas before the model reads a single file is a poor trade. A [skill file](https://goremy.ai/blog/articles/what-is-an-ai-skill-file-skill-md-vs-mcp-servers-explained) avoids that by loading only a short set of instructions.

## Can Lean REA run on cheaper models?

The creator paired [Lean REA with DeepSeek V4.1 Flash](https://goremy.ai/blog/articles/deepseek-v4-1-flash-lean-rea-pandacode-setup) inside a desktop app called Panda Code. The reasons given: some Claude Code and Codex setups have started refusing REA-style prompts, and DeepSeek handled ordinary reverse-engineering requests without refusing.

Pricing quoted in the source (per million tokens):

| Model | Input | Output | Cached input |
|---|---|---|---|
| Sonnet 5.5 | $2 | $10 | $0.20 |
| Opus 5.5 | $4 | $20 | Not stated |
| DeepSeek V4.1 Flash (off peak) | $0.15 | $0.60 | $0.003 |

The source says peak-hour DeepSeek prices double. Off peak, that works out to roughly 13 times cheaper than Sonnet on input, almost 17 times on output, and about 67 times on cached input.

The creator estimated the $2.17 Sonnet benchmark would cost around 16 or 17 cents on DeepSeek using the conservative 13x ratio. That is an estimate. Different models use different token counts, and the benchmark was not rerun on DeepSeek.

The source also reports that DeepSeek V4.1 Flash scored 81.25% on a benchmark called Kingbench 3 with thinking at max, and that the score dropped by almost 30 points with thinking off.

## How do you set up Lean REA?

The steps described for the Panda Code route:

```bash
npm install -g @deepseek-ai/dsh
npx skills add <lean-rea package>
```

The source gives the skill install as an `npx skills add` command, but the exact package name was unclear in the transcript, so check the project's own page. Adding the `-g` flag installs it for every project. Then:

1. Add your DeepSeek API key in settings, or set it as an environment variable.
2. Pick DeepSeek V4.1 Flash as the model and set thinking effort to max.
3. Invoke the skill from the slash menu, or tell the agent to read the Lean REA file first.

Because the file is only 8KB, reading it manually costs almost nothing.

## What are the limits and tradeoffs?

- **Benchmark scope.** The numbers come from one creator's run on one model.
- **Model strength.** DeepSeek V4.1 Flash is not the strongest model. On the hardest tasks, Opus 5.5 still does better, and deep disassembly may need more turns or guidance.
- **Privacy.** Using DeepSeek means your code goes to DeepSeek's servers. Check whether that is acceptable for private or company work.
- **Peak pricing.** Large jobs are cheaper at off-peak hours.
- **Dependence on local tools.** A skill file only helps if the underlying utilities are installed on your machine.

## Frequently Asked Questions

### Is Lean REA a replacement for the REA MCP server?
For the tasks benchmarked, it did the same job with the same accuracy. It works by pointing the agent at the same kinds of command-line tools REA wraps, so it covers much of the same ground without the tool layer.

### How big is the context difference?
With all REA tools loaded, one simple reply used about 400,000 tokens. With Lean REA, it used about 34,000. The gap comes from REA's 207 tool definitions.

### Does Lean REA need a specific model?
No. The headline benchmark used Sonnet 5.5. The creator also demonstrated it with DeepSeek V4.1 Flash, though a full benchmark on that model had not been run.

### Why would an agent refuse REA-style prompts?
The source says Claude Code and Codex have started blocking some prompts that ask an agent to pull apart apps. The creator notes that much of this work is routine, such as debugging software you lack source for or checking a library version inside a binary you ship.
