# How to Install zhaoxuya520/reverse-skill: Complete Setup Guide for Linux, macOS, and Windows

> Install zhaoxuya520/reverse-skill easily. This guide provides Linux, macOS, and Windows setup instructions. Clone the repo and run the refresh script for automatic tool installation and indexing.

- Repository: [ZhaoXu/reverse-skill](https://github.com/zhaoxuya520/reverse-skill)
- Tags: getting-started
- Published: 2026-08-04

---

Clone the repository and run the platform-specific refresh script to automatically detect, install, and index all required reverse-engineering tools.

The **reverse-skill** repository is a modular skill router that directs AI agents and security analysts to the appropriate reverse-engineering, penetration testing, or CTF workflow. Installing **zhaoxuya520/reverse-skill** requires only cloning the repository and executing a bootstrap script that handles dependency detection and installation across Linux, macOS, or Windows.

## Installation Overview

The repository follows a three-layer architecture:

1. **Routing Layer** — Global rules in [`RULES.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/RULES.md), fast primary ladder in [`skills/MASTER-ROUTING.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/MASTER-ROUTING.md), and full task matrix in [`skills/routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/routing.md)
2. **Ops Layer** — Case workspace contracts and role-based permissions under `skills/ops/`
3. **Capability Layer** — Bootstrap scripts that install and verify external tools, generating [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md)

Post-installation, the router queries [`tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/tool-index.md) to determine which skills can execute based on available tools.

## Step 1: Clone the Repository

```bash
git clone https://github.com/zhaoxuya520/reverse-skill.git
cd reverse-skill

```

This creates the local copy needed for all subsequent setup operations.

## Step 2: Refresh the Tool Index

Run the platform-appropriate refresh script to detect existing tools and populate the local index:

| Platform | Command |
|----------|---------|
| **Linux / macOS** | `bash skills/scripts/refresh-tool-index.sh` |
| **Windows** | `powershell -File skills/scripts/refresh-tool-index.ps1` |
| **Kali Linux** | `bash kali/scripts/refresh-tool-index.sh` |

These scripts write to `skills/tool-index.{md,json}`, which the router uses for runtime capability checks.

## Step 3: Install Platform Prerequisites

### Linux (Debian/Ubuntu) Baseline Setup

Install core dependencies via `apt` as documented in [`docs/platforms/linux.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/platforms/linux.md):

```bash
sudo apt update
sudo apt install -y \
  git curl wget ca-certificates unzip tar jq \
  python3 python3-venv python3-pip pipx \
  openjdk-17-jdk nodejs npm \
  graphviz plantuml nmap sqlmap ffuf hashcat binwalk
python3 -m pipx ensurepath

```

### Install Missing Tools Manually (Linux Example: jadx)

For tools not in package managers, download GitHub releases directly:

```bash
mkdir -p ~/tools/jadx
curl -L https://github.com/skylot/jadx/releases/latest/download/jadx-1.5.5.zip -o /tmp/jadx.zip
unzip -q /tmp/jadx.zip -d ~/tools/jadx
export PATH="$HOME/tools/jadx/bin:$PATH"
jadx --version

```

### macOS Baseline Setup (Homebrew)

```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

brew install \
  git curl wget jq unzip gnu-tar \
  python node openjdk \
  jadx apktool android-platform-tools \
  radare2 graphviz plantuml \
  nmap sqlmap ffuf hashcat binwalk

python3 -m pip install --user pipx
python3 -m pipx ensurepath

```

### Install Frida via pipx (macOS)

```bash
pipx install frida-tools
frida --version
frida-ps --version

```

## Step 4: Bootstrap Core Capabilities

Run [`skills/scripts/bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/bootstrap-reverse.sh) to register specific reverse-engineering capabilities with the router:

```bash

# Core Android reverse-engineering tools

bash skills/scripts/bootstrap-reverse.sh jadx apktool frida

# JavaScript hooking and analysis frameworks

bash skills/scripts/bootstrap-reverse.sh jshookmcp anything-analyzer

# IDA Pro registration (only if locally installed)

bash skills/scripts/bootstrap-reverse.sh idapro --start-services

```

The bootstrap script updates internal capability registries so [`skills/MASTER-ROUTING.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/MASTER-ROUTING.md) can route tasks appropriately.

## Step 5: Verify the Installation

Validate that all expected tools are present and the index is current:

```bash
java -version
python3 --version
node -v
npm -v
npx -v
jadx --version || true
apktool --version || true
adb version || true
frida --version || true
r2 -v || true
ghidraRun 2>/dev/null || true
bash skills/scripts/refresh-tool-index.sh

```

Running [`refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/refresh-tool-index.sh) finalizes the environment by updating [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md) with the actual state of installed binaries.

## Key Files in the Installation Flow

Understanding these files helps troubleshoot setup issues:

- **[`README.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/README.md)** — High-level quick-start and usage matrix
- **[`RULES.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/RULES.md)** — Global routing rules that gate task execution
- **[`skills/MASTER-ROUTING.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/MASTER-ROUTING.md)** — Primary fast-track routing ladder
- **[`skills/routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/routing.md)** — Complete task-to-skill mapping
- **[`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md)** — Auto-generated local tool availability index
- **[`skills/scripts/bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/bootstrap-reverse.sh)** — Cross-platform capability bootstrap
- **[`skills/scripts/refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/refresh-tool-index.sh)** — Tool detection and indexing script
- **[`docs/platforms/linux.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/platforms/linux.md)** and **[`docs/platforms/macos.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/platforms/macos.md)** — Platform-specific setup details

## Summary

- **Clone** `zhaoxuya520/reverse-skill` from GitHub to obtain the router and skill definitions
- **Run** [`refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/refresh-tool-index.sh) (or `.ps1` on Windows) to detect existing tools and build the local index
- **Install** platform prerequisites via `apt`, Homebrew, or manual GitHub release downloads
- **Execute** [`bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/bootstrap-reverse.sh) with desired capability names to register tools with the router
- **Verify** with the validation checklist and re-run the refresh script to finalize [`tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/tool-index.md)

Once complete, AI agents and analysts can invoke any skill in the repository, with the router automatically selecting viable workflows based on the populated tool index.

## Frequently Asked Questions

### Does reverse-skill require root or administrator privileges?

No for basic operation, though some tool installations need elevated permissions. The `apt` commands and Homebrew installation require `sudo` or administrator access, but running the router itself works with standard user permissions. The [`refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/refresh-tool-index.sh) script detects tools in common user directories like `~/tools/` without requiring root.

### Can I install reverse-skill on Windows without WSL?

Yes. Use the PowerShell refresh script: `powershell -File skills/scripts/refresh-tool-index.ps1`. However, many reverse-engineering tools in the ecosystem are Linux-native, so WSL2 or a virtual machine provides better compatibility for the full capability set.

### What happens if a required tool is missing when running a skill?

The routing layer checks [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md) before dispatching. If a tool is unavailable, the router falls back to alternative skills or returns a clear dependency error. Run `bootstrap-reverse.sh <tool-name>` to install missing capabilities without reinstalling the entire environment.

### How do I update the tool index after installing new software?

Re-run the platform refresh script: `bash skills/scripts/refresh-tool-index.sh`. This rescans `PATH` and known tool directories, then regenerates `skills/tool-index.{md,json}`. The router immediately uses the updated index for subsequent routing decisions.