# How to Install reverse-skill Locally: A Step-by-Step Setup Guide

> Install reverse-skill locally with this step-by-step guide. Clone the repo, run the refresh-tool-index script, and auto-bootstrap dependencies for a smooth setup.

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

---

**Clone the repository and run the platform-specific `refresh-tool-index` script to detect installed tools and auto-bootstrap missing dependencies.**

The **reverse-skill** repository is a modular skill router that orchestrates reverse-engineering, pentesting, and CTF workflows. This guide covers how to install reverse-skill locally on Windows, Linux, macOS, and Kali Linux according to the official source code in `zhaoxuya520/reverse-skill`.

## Prerequisites

Before installing reverse-skill locally, ensure you have:

- **Git** installed to clone the repository
- **PowerShell** (Windows) or **Bash** (Linux/macOS) for execution
- **Administrator/root privileges** may be required for installing external tools

The skill router auto-detects and can bootstrap additional dependencies like Java, Python, Node.js, IDA, Ghidra, Frida, and more.

## Step 1: Clone the Repository

Start by cloning the official repository to your local machine:

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

```

This creates the full directory structure including `skills/`, `kali/`, `docs/`, and `field-journal/` directories as defined in the project architecture.

## Step 2: Refresh the Tool Index

The **tool index** is the core discovery mechanism. Run the appropriate script for your operating system to scan for installed utilities and generate [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md):

### Windows (PowerShell)

```powershell
powershell -File skills/scripts/refresh-tool-index.ps1

```

### Linux or macOS (Bash)

```bash
bash skills/scripts/refresh-tool-index.sh

```

### Kali Linux (Recommended Script)

```bash
bash kali/scripts/refresh-tool-index.sh

```

These scripts are located at:
- `skills/scripts/refresh-tool-index.ps1` — Windows scanner
- [`skills/scripts/refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/refresh-tool-index.sh) — Linux/macOS scanner
- [`kali/scripts/refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/scripts/refresh-tool-index.sh) — Kali-optimized scanner

The `refresh-tool-index` scripts may automatically invoke **bootstrap-reverse** helpers to download missing tools from GitHub releases, `pipx`, `npm`, `winget`, or package managers.

## Step 3: Verify Tool Detection

After generating the tool index, confirm essential runtimes are available:

```bash
java -version
python3 --version
node -v
npm -v
npx -v
jadx --version || true
apktool --version || true
frida --version || true
r2 -v || true
ghidraRun 2>/dev/null || true

```

Re-run the refresh script to update detection after installing any new tools:

```bash
bash skills/scripts/refresh-tool-index.sh

```

## Step 4: Bootstrap Missing External Tools (Optional)

If any tools report "not found," use the platform-specific bootstrap scripts or manual installation:

### Bootstrap Specific Capabilities (Kali Example)

```bash
bash kali/scripts/bootstrap-reverse.sh jadx apktool frida

```

### Manual Installation References

| Tool | Installation Source |
|------|---------------------|
| **JADX** | GitHub release (extract to `~/tools/`) |
| **Frida** | `pipx install frida-tools` |
| **Radare2** | Build from source or package manager |

Refer to [`docs/platforms/linux.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/platforms/linux.md) for the complete Linux tool-installation matrix.

## Step 5: Start Using reverse-skill

With the tool index populated, invoke skills directly or through the master router:

### Windows — Master Routing

```powershell
powershell -File skills/scripts/master-route.ps1 -Hint "apk analysis"

```

### Linux — Bootstrap and Run

```bash

# Install dependencies for a specific workflow

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

# Execute a sub-skill directly

./skills/ida-reverse/scripts/start.ps1

```

The router checks [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md), bootstraps missing components, executes the selected workflow, and generates reports via `skills/docs-generator/`.

## Understanding the Architecture

The reverse-skill installation prepares three logical layers:

| Layer | Purpose | Key Files |
|-------|---------|-----------|
| **Routing** | Entry point and decision logic | [`skills/SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/SKILL.md), [`skills/routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/routing.md), [`skills/MASTER-ROUTING.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/MASTER-ROUTING.md) |
| **Bootstrap & Discovery** | Tool detection and auto-installation | `skills/scripts/refresh-tool-index.*`, `skills/scripts/bootstrap-reverse.*` |
| **Execution & Reporting** | Skill execution and documentation | `skills/docs-generator/`, `skills/diagram-generator/`, `field-journal/` |

## Summary

- **Clone** `zhaoxuya520/reverse-skill` from GitHub
- **Run** the platform-appropriate `refresh-tool-index` script (`.ps1` for Windows, `.sh` for Linux/macOS/Kali)
- **Verify** tool detection with standard `--version` commands
- **Bootstrap** missing tools manually or via [`bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/bootstrap-reverse.sh)
- **Execute** skills through `master-route.ps1` or direct sub-skill invocation

## Frequently Asked Questions

### Does reverse-skill work on macOS?

Yes. Use `bash skills/scripts/refresh-tool-index.sh` to detect tools on macOS. The Linux bootstrap scripts generally work on macOS with minor adjustments for package managers (Homebrew instead of `apt`).

### What if a tool fails to auto-install?

The `refresh-tool-index` scripts only scan and report; they do not force installations. Run `bash skills/scripts/bootstrap-reverse.sh <tool1> <tool2>` to explicitly install missing tools, or follow the manual installation matrix in [`docs/platforms/linux.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/platforms/linux.md).

### Where is the tool index stored?

The generated index is written to [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md) (human-readable) and [`skills/tool-index.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.json) (machine-readable). These files are consumed by [`SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/SKILL.md) and the routing system to determine available capabilities.

### Can I use reverse-skill without installing all tools?

Yes. The modular design lets you install reverse-skill locally and operate with only the tools needed for your specific workflow. The routing layer will skip or flag unavailable capabilities rather than fail.