agentleFS
imMamdouhaboammarimMamdouhaboammar/get-things-done/skills/rea/SKILL.md

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

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
  1. Distinctive:

    Before invoking tools, identify the target type and follow its dedicated pathway:

    line 24
  2. Distinctive:

    Never speculate or hallucinate functionality.

    line 67
  3. Very specific:

    Start broad with overview tools (binary_overview, inspect_artifact, search_procedures).

    line 69
  4. Very specific:

    If a deep disassembler (Hopper / Ghidra / IDA) is not installed on the system, do not crash or stall.

    line 71
  5. Very specific:

    When executing CLI commands or scripts, always use the global rea binary or bunx rea-agents.

    line 73
  6. Distinctive:

    When asked to "reconstruct" or "build a version of" a feature found in a target app:

    line 79

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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_application with { "target": "/path/to/app.asar" }.
  • Deep Tracing: trace_application_feature or trace_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:
    1. open_binary with { "binary_path": "/path/to/executable" }.
    2. binary_overview or search_procedures / search_strings to locate candidate seeds.
    3. analyze_function with { "procedure_name": "targetSymbol" } or { "address": "0x1000..." }.
    4. xrefs to 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:
    1. inspect_android_package with { "apk_path": "/path/to/app.apk" }.
    2. 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: .har archives, mitmproxy flows.
  • MCP Tool: inspect_web_network_capture with { "capture_path": "/path/to/traffic.har" }.

2. Invariants & Rules

  1. 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).
  2. 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.
  3. 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.
  4. Bun-Native Execution:
    • When executing CLI commands or scripts, always use the global rea binary or bunx rea-agents. Never invoke npm or Yarn.

3. Evidence Ledger & Feature Reconstruction

When asked to "reconstruct" or "build a version of" a feature found in a target app:

  1. Extract Core Logic:
    • Locate the decompiled pseudocode or JS AST representation.
  2. Translate to Clean-Room Code:
    • Convert compiler artifacts, mangled registers, and unrolled loops into clean, modern TypeScript or Rust.
  3. 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)
     */
  4. 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.