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
- The tool index (
skills/tool-index.md) is required forreverse-skillrouting but excluded from version control - Windows users run
skills/scripts/refresh-tool-index.ps1via PowerShell - Linux/macOS users run
skills/scripts/refresh-tool-index.shvia Bash - Kali Linux uses the specialized script at
kali/scripts/refresh-tool-index.sh - Re-execute your platform's script after installing new tools to keep the catalog synchronized
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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →