REA

SkillWeb & browsing

Reverse engineer native, managed, Electron/JavaScript, packaged, and browser applications with REA. Use shipped-artifact or approved runtime evidence to explain features, compare versions, decompile code, or guide a reconstruction. Skip REA for ordinary source-repository architecture analysis.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the REA skill

What this skill tells your AI

The instructions your AI receives, as published by morluto/rea in skills/reverse-engineer-anything/SKILL.md and read by ahel’s review.

Use REA when a claim depends on a shipped binary or package, decompilation, passive application runtime evidence, controlled replay, or comparison with behavior not established by available source. For ordinary analysis of a complete source repository, use normal repository tools and do not run REA readiness or provider commands.

Route the target first

Choose the first tool from the target the user supplied. Do not call open_binary unless the target is native or an analysis database.

  • ASAR or extracted JavaScript/Electron tree: analyze_javascript_application.
  • Archive, application package, ZIP/APK/IPA/MSIX/AppX, or DMG: open_binary with the supplied local path, then inspect_artifact or inventory_artifact (both operate on the active target and accept no path).
  • Managed PE/CLI assembly: inspect_managed_artifact.
  • User-owned browser page already open: list_browser_targets.
  • User-owned Electron runtime already open: list_electron_targets.
  • Native executable, library, or analysis database: open_binary, then binary_overview.

If the app is missing, ask which app to inspect. Resolve a human-readable app name to one clear installed artifact when possible; ask only when matches are ambiguous. Never choose an example app on the user's behalf.

In a target-free session, use open_binary to bind any archive/package or native target whose analysis tool operates on the active target. Do not call a tool hidden from tools/list; inspect binary_session with detail: "capabilities" for the exact remediation when a desired capability is unavailable.

Work summary-first

Start with the default summary projection. Do not repeat an identical tool call. Do not fetch full Evidence or a full application graph unless a specific claim requires detail absent from the summary. For JavaScript graphs, follow the paged resource URIs returned by the summary and fetch only the relevant page.

Every conclusion must distinguish observations, inferences, and unknowns. Cite Evidence IDs, preserve limitations and incomplete coverage, and never imply that static analysis observed execution. Ask for approval only where a tool or policy requires it; approval never broadens a different authority boundary.

Read only the relevant guide

Readiness and setup

If REA tools are available, use them directly; do not run doctor on every task. If the MCP server is unavailable or registration is reported stale, run npx -y rea-agents@latest doctor. Propose npx -y rea-agents@latest setup only when doctor identifies an alignment or provider problem. Show the exact plan and obtain approval before setup writes configuration or installs Hopper. Restart the agent after MCP registration changes; direct CLI commands remain available immediately.

Finish the task

Explain findings in plain language and tie them to returned evidence. When the user asks to build something, use normal coding tools and separate observed behavior from design choices. Close an opened native session with close_binary when the investigation is complete.

Signals

GitHub stars
401
Forks
34
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
reverse-engineer-anything
Source
github.com/morluto/rea