# Where to Find the List of Supported Tools and Their Paths in reverse-skill

> Find supported tools and their paths in reverse-skill. Access the human-readable markdown or machine-readable JSON file for a comprehensive list. Learn more now.

- Repository: [ZhaoXu/reverse-skill](https://github.com/zhaoxuya520/reverse-skill)
- Tags: api-reference
- Published: 2026-08-25

---

**The list of supported tools and their paths in reverse-skill is maintained in [`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), both generated by cross-platform refresh scripts located in `skills/scripts/`.**

The `reverse-skill` repository manages external binary dependencies through a dynamic indexing system rather than hard-coded paths. This article explains exactly where to find the list of supported tools and their paths in reverse-skill, how the index files are structured, and how to regenerate them for your specific environment.

## Understanding the Tool Index Structure

### Human-Readable Documentation ([`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md))

Located at [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md), this Markdown file presents the list of supported tools and their paths in reverse-skill as a formatted table. Each entry includes the tool name, detected version, absolute filesystem path, and availability status. Because paths vary across workstations, this file is **git-ignored** and must be generated locally.

### Machine-Readable Catalogue ([`skills/tool-index.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.json))

The JSON counterpart at [`skills/tool-index.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.json) provides the same list of supported tools and their paths in reverse-skill in a structured format. Routing and bootstrap scripts consume this file to resolve tool locations at runtime without parsing Markdown tables.

### Template Reference (`skills/tool-index.md.template`)

The repository ships with `skills/tool-index.md.template`, which defines the layout schema and reminds users to run the refresh scripts. This template serves as the blueprint for generating the actual index files on each machine.

## Generating the Tool Index

Since tool paths are machine-specific, reverse-skill provides platform-specific scripts to discover and catalog installed binaries.

### Linux and macOS Generation

Run the Bash script to create the list of supported tools and their paths in reverse-skill:

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

```

This script searches common locations and the system `PATH` for binaries like `r2`, `ida`, `ghidra`, `frida`, and `bloodhound`. It verifies each binary's version using `--version` or equivalent flags, resolves absolute locations, and populates both [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md) and [`skills/tool-index.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.json).

### Windows Generation

On Windows, use the PowerShell script:

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

```

This performs the same discovery and validation logic as the Bash version, ensuring the list of supported tools and their paths in reverse-skill reflects your actual Windows installation.

## How Skills Reference Tool Paths

Individual skills avoid hard-coding executable paths by referencing [`../tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/../tool-index.md) or [`../tool-index.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/../tool-index.json) relative to their location. This design guarantees that skills work on any machine as long as the refresh script has been executed to create the list of supported tools and their paths in reverse-skill for that specific host.

## Querying the Tool Index

After generation, you can search the index for specific tools.

To find a tool in the Markdown file:

```bash
bash skills/scripts/refresh-tool-index.sh
grep "frida" skills/tool-index.md

```

To query the JSON file on Windows:

```powershell
powershell -File skills/scripts/refresh-tool-index.ps1
(Get-Content skills/tool-index.json -Raw) | ConvertFrom-Json | Where-Object { $_.tool -eq "ghidra" }

```

## Summary

- The list of supported tools and their paths in reverse-skill resides in [`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).
- Both files are generated by [`skills/scripts/refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/refresh-tool-index.sh) (Linux/macOS) or `skills/scripts/refresh-tool-index.ps1` (Windows).
- Files are git-ignored because they contain absolute paths unique to each workstation.
- Skills reference these index files using relative paths ([`../tool-index.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/../tool-index.json)) to avoid hard-coding executables.
- The template file `skills/tool-index.md.template` defines the format for the generated Markdown.

## Frequently Asked Questions

### Where are the tool index files located in reverse-skill?

The primary files are located in the `skills/` directory: [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md) for human reading and [`skills/tool-index.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.json) for script consumption. Both are generated locally and excluded from version control via `.gitignore`.

### How do I generate the list of supported tools on a new machine?

Run the appropriate refresh script for your platform. On Linux or macOS, execute `bash skills/scripts/refresh-tool-index.sh`. On Windows, run `powershell -NoProfile -ExecutionPolicy Bypass -File skills/scripts/refresh-tool-index.ps1`. These scripts discover installed binaries and create the index files.

### Why are the tool index files git-ignored?

The files are git-ignored because they store absolute filesystem paths (like `/usr/local/bin/r2` or Windows-specific installation directories) that differ between machines. Shipping generated paths would break the repository on other systems.

### How do skills locate external tools without hard-coded paths?

Skills reference [`../tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/../tool-index.md) or [`../tool-index.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/../tool-index.json) relative to the skill's directory. This indirection allows the same skill code to work across different environments as long as the local index files have been generated with the correct paths for that machine.