rea
Skill2 starsChanged 2 months agoMITView on GitHub
Use when users ask to /rea; reverse engineer native binaries, Electron/JavaScript apps, Android packages, .NET assemblies, firmware, network captures, and crashes using the REA framework with verifiable evidence; understand how this feature works in the binary, show evidence, and reconstruct it; or analyze an Electron ASAR or JavaScript bundle. Do NOT use for review this git pull request diff for code quality; run playwright browser smoke tests on my web app.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- mahik504/orchestra-workflowtheir own version, first seen Nov 1, 2026
- juninmd/skillstheir own version, first seen Nov 1, 2026
- robinbril/claude-code-harnesstheir own version, first seen Nov 1, 2026
- anton-abyzov/vskilltheir own version, first seen Oct 13, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- anton-abyzov/vskill★ 47same name
- robinbril/claude-code-harness★ 3same name
- juninmd/skills★ 2same name
- mahik504/orchestra-workflow★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- skills/improve/agents/claude.mdCLAUDE.md
- skills/use-chatgpt/agents/claude.mdCLAUDE.md
- debug-issueSkill
- explore-codebaseSkill
- refactor-safelySkill
- review-changesSkill
- building-gtd-domain-packsSkill
- get-things-doneSkill
- gtd-capability-routerSkill
- gtd-deliberationSkill
- improveSkill
- use-chatgptSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 3 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 24
Before invoking tools, identify the target type and follow its dedicated pathway:
- Distinctive: line 67
Never speculate or hallucinate functionality.
- Very specific: line 69
Start broad with overview tools (binary_overview, inspect_artifact, search_procedures).
- Very specific: line 71
If a deep disassembler (Hopper / Ghidra / IDA) is not installed on the system, do not crash or stall.
- Very specific: line 73
When executing CLI commands or scripts, always use the global rea binary or bunx rea-agents.
- Distinctive: line 79
When asked to "reconstruct" or "build a version of" a feature found in a target app:
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
REA: Reverse Engineer Anything
Reverse engineer compiled native binaries, Electron/JavaScript applications, Android packages, .NET assemblies, firmware, network captures, and crashes with verifiable evidence ledgers.
1. Quick Start by Target Type
Before invoking tools, identify the target type and follow its dedicated pathway:
A. Electron & JavaScript Applications (ASAR / .js bundles)
- Engine Required: None (pure AST & static analysis).
- MCP Tool:
analyze_javascript_applicationwith{ "target": "/path/to/app.asar" }. - Deep Tracing:
trace_application_featureortrace_javascript_semantics. - CLI Fallback:
rea analyze-javascript-application /path/to/app.asar --json
B. Native Binaries (Mach-O, ELF, Windows PE)
- Session Binding: Active target requires binding first.
- MCP Sequence:
open_binarywith{ "binary_path": "/path/to/executable" }.binary_overvieworsearch_procedures/search_stringsto locate candidate seeds.analyze_functionwith{ "procedure_name": "targetSymbol" }or{ "address": "0x1000..." }.xrefsto inspect inbound call sites and reference flows.
- CLI Fallback:
rea open-binary /path/to/executable rea function /path/to/executable --target "targetSymbol" --json
C. Android APKs
- Engine Required: JADX / Java runtime.
- MCP Sequence:
inspect_android_packagewith{ "apk_path": "/path/to/app.apk" }.search_android_classes→inspect_android_class→inspect_android_method.
- CLI Fallback:
rea inspect-android-package /path/to/app.apk --json
D. Web Network & API Captures
- Formats:
.hararchives, mitmproxy flows. - MCP Tool:
inspect_web_network_capturewith{ "capture_path": "/path/to/traffic.har" }.
2. Invariants & Rules
- Evidence-First Invariant:
- Never speculate or hallucinate functionality. Every claim must cite concrete REA Evidence (artifact SHA-256 digest, virtual address offset, or demangled symbol).
- Summary-First Pattern:
- Start broad with overview tools (
binary_overview,inspect_artifact,search_procedures). Never dump unconstrained raw byte ranges or hundreds of disassembly lines into context.
- Start broad with overview tools (
- Graceful Engine Fallback:
- If a deep disassembler (Hopper / Ghidra / IDA) is not installed on the system, do not crash or stall. Fall back to static offline layout tools (
inspect_binary_layout,inspect_macho,inspect_plist) or JavaScript AST tools.
- If a deep disassembler (Hopper / Ghidra / IDA) is not installed on the system, do not crash or stall. Fall back to static offline layout tools (
- Bun-Native Execution:
- When executing CLI commands or scripts, always use the global
reabinary orbunx rea-agents. Never invoke npm or Yarn.
- When executing CLI commands or scripts, always use the global
3. Evidence Ledger & Feature Reconstruction
When asked to "reconstruct" or "build a version of" a feature found in a target app:
- Extract Core Logic:
- Locate the decompiled pseudocode or JS AST representation.
- Translate to Clean-Room Code:
- Convert compiler artifacts, mangled registers, and unrolled loops into clean, modern TypeScript or Rust.
- Attach Attribution & Evidence Ledger:
- Include a top-of-file header linking the implementation back to verified binary evidence:
/** * Feature Reconstruction: [Feature Name] * Reverse-Engineered from: [Target Binary / App Name] * Evidence Digest: sha256:1a82f... * Binary Location: 0x100004f20 (Method: SecurityManager.verifyToken) */ - Document Unknowns:
- Explicitly list external API dependencies or opaque cryptographic secrets that require runtime environment keys.
4. Reference Documentation & Examples
references/target-routing.md— Complete tool mapping for all 138 REA capabilities.references/cli-recipes.md— Shell recipes for CLI reverse engineering.references/evidence-contract.md— The JSON Evidence schema and reconstruction rules.references/host-notes.md— Multi-host compatibility instructions.examples/electron-feature-reconstruction.md— Walkthrough of ASAR deconstruction and clean-room implementation.examples/native-binary-evidence.md— Native Mach-O function tracing and evidence ledgers.
5. Integration with GTD Execution Briefs
REA outputs translate cleanly into GTD Execution Briefs:
- Facts (
knowledge.facts): Validated binary architecture, entrypoint addresses, observed system calls, and cryptographic digests. - Unknowns (
knowledge.unknowns): Server-side APIs, encrypted payload formats, or runtime keys not present in the static artifact. - Deliverables (
deliverables): Clean-room reconstructions, TypeScript/Rust replacements, and de-obfuscated algorithm implementations. - Verification Evidence (
verification.evidence): Disassembly address citations, AST node traces, and Level A deterministic test suites certifying reconstruction accuracy.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

