How to Set Up the Tool Index on Windows, Linux, and macOS in reverse-skill

Run the platform-specific refresh script to generate skills/tool-index.md, a machine-local catalog that records which reverse-engineering utilities are installed.

The zhaoxuya520/reverse-skill repository ships without a tool index, requiring you to initialize it immediately after cloning. This generated file acts as a routing layer that detects existing installations of IDA Pro, Ghidra, Burp Suite, and other utilities without requiring re-installation.

What Is the Tool Index?

The tool index (skills/tool-index.md) is a Markdown catalogue populated by platform-specific scripts located in skills/scripts/. It stores boolean availability flags (✓ for installed, ✗ for missing) that the routing logic uses to determine which capabilities are available on your machine. The repository provides a template at skills/tool-index.md.template that the refresh scripts copy and populate during first-run setup.

Prerequisites

Before generating the index, ensure you have:

  • Windows: PowerShell 5.1 or later (no administrative elevation required)
  • Linux/macOS: Bash 4.0+ with standard POSIX utilities
  • Kali Linux: Bash environment (uses a specialized script path)

Navigate to the repository root in your terminal:

cd /path/to/reverse-skill

Platform-Specific Setup Instructions

Windows (PowerShell)

On Windows, the refresh script scans C:\Program Files, C:\Program Files (x86), and other common locations for tool executables.

Execute the PowerShell script from the repository root:

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

For execution policy bypass in restricted environments, use:

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

Linux and macOS (Bash)

The generic Unix script checks /usr/local/bin, /opt, and Homebrew prefixes on macOS.

Run the Bash implementation:

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

Pipe the output to less for paginated review:

bash skills/scripts/refresh-tool-index.sh | less

Kali Linux (Specialized Script)

Kali distributions include a dedicated script that accounts for penetration-testing tool paths and Kali-specific package locations.

Execute the Kali-specific variant:

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

What the Scripts Detect

Each refresh script performs discovery by scanning known installation directories and registry locations (Windows) or binary paths (Unix) for:

  • IDA Pro and IDA Free
  • Ghidra (including versioned directories)
  • Burp Suite Community and Professional editions
  • JEB Decompiler
  • Binary Ninja
  • GDB, LLDB, and Radare2

The scripts populate skills/tool-index.md with a status table where each tool receives a (detected) or (not found) marker.

Verifying Your Configuration

After execution, confirm the index was generated correctly by inspecting the status markers:

cat skills/tool-index.md | grep -E '✓|✗'

You should see output similar to:


- Tool: Ghidra                     ✓
- Tool: IDA Pro                    ✗
- Tool: Burp Suite                 ✓

If the file is missing, the scripts automatically create it from skills/tool-index.md.template before populating entries.

Maintaining the Index

Whenever you manually install a new reverse-engineering utility, re-run the same refresh command for your platform to update skills/tool-index.md. The scripts are idempotent—running them multiple times overwrites the previous index with current system state, ensuring the routing logic always reflects your actual installed toolset.

Summary

Frequently Asked Questions

Why doesn't the repository include tool-index.md by default?

The file is machine-specific by design. Because installation paths differ between systems (e.g., C:\Program Files\IDA Pro vs /opt/idapro), maintaining a universal index is impossible. The skills/tool-index.md.template provides the structure, while the refresh scripts populate it with your local paths according to the source code in zhaoxuya520/reverse-skill.

Can I run the refresh script without installing new tools?

Yes. The scripts are read-only discovery tools that scan for existing installations. They do not download, install, or modify any software—they only update the Markdown catalog at skills/tool-index.md with detection results.

What if a tool is installed but marked with ✗?

Verify the tool is in your system PATH or installed in a standard location listed in the script source. For custom installation paths, you may need to manually edit skills/tool-index.md after generation, or re-install the tool to a directory the script scans, such as /usr/local/bin on Linux/macOS or C:\Program Files on Windows.

How often should I refresh the tool index?

Refresh immediately after cloning the repository, then again whenever you install, uninstall, or upgrade reverse-engineering utilities. The routing logic references this file to determine capability availability, so stale data may cause task routing to fail for newly installed tools.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →