# How to Set Up reverse-skill for Windows: A Complete PowerShell Guide

> Learn to set up reverse-skill on Windows using PowerShell. Clone the repo, refresh the index, initialize a case, and route tasks efficiently with this comprehensive guide.

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

---

**To set up reverse-skill on Windows, clone the repository, run `refresh-tool-index.ps1` to detect installed tools, initialize a case with `case-init.ps1`, and route tasks using `master-route.ps1` — all routing decisions read from the single source of truth in [`skills/config/routing.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/config/routing.json).**

reverse-skill is a platform-agnostic "skill router" that automates reverse-engineering and penetration-testing workflows by selecting the appropriate skill module for any given task. On Windows, the framework relies entirely on self-contained PowerShell scripts that dynamically resolve repository paths at runtime, making installation as simple as cloning the repo and executing the initialization sequence.

## Prerequisites

Before you set up reverse-skill for Windows, ensure you have:

- **PowerShell** (Windows PowerShell 5.1 or PowerShell 7+)
- **Git** to clone the repository
- **External tools** (optional but recommended): Java (for Jadx), Node.js (for Frida), Python, or radare2 — the framework will detect these automatically but cannot use them if absent

All scripts resolve repository locations at runtime using `$PSScriptRoot`, so you can clone the repository to any location on your Windows system without editing hard-coded paths.

## Step-by-Step Setup Guide

### 1. Clone the Repository

First, download the complete skill matrix, scripts, and documentation to your local machine.

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

```

### 2. Refresh the Tool Index

Run `skills/scripts/refresh-tool-index.ps1` to inspect your environment and build a capability table. This script detects which external binaries (Jadx, Frida, radare2, etc.) are installed and generates both [`tools/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/tools/tool-index.md) and [`tools/tool-index.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/tools/tool-index.json).

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

```

The output prints a table showing which tools are available, allowing the router to make informed decisions about which workflows are viable on your machine.

### 3. Initialize Your First Case

Before running any analysis, you must create a work directory using `skills/scripts/case-init.ps1`. This script creates `work/<case>/scope.md` and enforces the mandatory *auth* gate required before any action (ACT) is permitted.

```powershell
powershell -File skills/scripts/case-init.ps1 -Hint "Analyze suspicious Windows PE binary"

```

Replace the hint text with your specific target description. This step is mandatory — downstream scripts will not execute without an initialized case scope.

### 4. Run the Primary Router

Use `skills/scripts/master-route.ps1` to route your task to the appropriate skill module. The script parses your hint, matches keywords against [`skills/config/routing.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/config/routing.json), scores potential routes, and writes the selection to [`route-scope.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/route-scope.md).

```powershell
powershell -NoProfile -ExecutionPolicy Bypass `
    -File skills/scripts/master-route.ps1 `
    -Hint "Analyze suspicious Windows PE binary"

```

The router outputs:
- The **PRIMARY** skill path (e.g., `skills/ida-reverse`)
- Secondary candidates and confidence levels
- The location of the generated [`route-scope.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/route-scope.md) file

Open the generated route file to see your assigned workflow:

```powershell
notepad (Get-ChildItem -Path work -Recurse -Filter route-scope.md | Select-Object -First 1).FullName

```

## Understanding the Three-Layer Architecture

The Windows implementation consists of three distinct layers described in the source code:

### Routing Core Layer

Implemented in `skills/scripts/master-route.ps1`, this layer parses task hints using keyword matching against [`skills/config/routing.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/config/routing.json). It calculates route confidence scores and generates the [`route-scope.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/route-scope.md) metadata file that points to the selected skill module.

### Tool Discovery Layer

The `skills/scripts/refresh-tool-index.ps1` script handles environment detection. It scans your Windows PATH and common installation directories for reverse-engineering tools, then persists this inventory to JSON and Markdown indices. The router consults this index to avoid selecting skills that require missing dependencies.

### Case Initialization Layer

Found in `skills/scripts/case-init.ps1`, this layer creates isolated working directories under `work/<case>/` and enforces the authorization gate. It generates the [`scope.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/scope.md) file that records target descriptions and compliance status, ensuring every analysis session starts with proper documentation and permissions.

## Customizing Routes via routing.json

All routing decisions depend on [`skills/config/routing.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/config/routing.json), the single source of truth for keyword-to-skill mappings. To modify how tasks are routed, edit this JSON file rather than the PowerShell scripts themselves. The router reads this configuration at runtime, allowing you to add new skill modules or adjust keyword weights without changing code.

## Automating Tool Installation

If the tool index reports missing dependencies, invoke `skills/scripts/bootstrap-reverse.ps1` to install required tools automatically. This bootstrap script handles Windows-specific installation procedures for Java, Node.js, Python, and common reverse-engineering utilities, ensuring your environment matches the capabilities expected by the skill modules.

## Summary

- **Clone** the `zhaoxuya520/reverse-skill` repository to any location on your Windows system.
- **Execute** `skills/scripts/refresh-tool-index.ps1` to generate a capability inventory of installed tools.
- **Initialize** each analysis session using `skills/scripts/case-init.ps1` to create case directories and enforce auth gates.
- **Route** tasks using `skills/scripts/master-route.ps1`, which writes [`route-scope.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/route-scope.md) based on [`skills/config/routing.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/config/routing.json).
- **Customize** behavior by editing the JSON routing configuration rather than the PowerShell source.
- **Bootstrap** missing tools using `skills/scripts/bootstrap-reverse.ps1` when the tool index indicates gaps.

## Frequently Asked Questions

### Do I need Python or Node.js installed before running reverse-skill?

No, but you need them if you plan to use skill modules that depend on those runtimes. Run `refresh-tool-index.ps1` first to see which capabilities are missing. If a required tool is absent, execute `bootstrap-reverse.ps1` to install it automatically, or install it manually and re-run the tool discovery script.

### Where is the routing configuration stored?

All keyword-to-skill mappings live in [`skills/config/routing.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/config/routing.json). This file is the single source of truth for the routing algorithm in `master-route.ps1`. Changing a route never requires editing PowerShell code; simply modify the JSON configuration to add new keywords or reprioritize skill selection.

### Can I install missing tools automatically on Windows?

Yes. The `skills/scripts/bootstrap-reverse.ps1` script detects missing dependencies listed in the tool index and attempts to install them using Windows-appropriate methods. Run this script after `refresh-tool-index.ps1` if your environment lacks Java, Node.js, Python, or reverse-engineering binaries like radare2.

### How do I verify that reverse-skill detected my installed tools?

Check the generated [`tools/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/tools/tool-index.md) and [`tools/tool-index.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/tools/tool-index.json) files after running `refresh-tool-index.ps1`. These files contain a structured list of detected binaries with their paths and versions. The routing engine uses this data to filter out skills requiring unavailable tools before generating [`route-scope.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/route-scope.md).