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

The list of supported tools and their paths in reverse-skill is maintained in skills/tool-index.md (human-readable) and 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)

Located at 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)

The JSON counterpart at 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 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 and skills/tool-index.json.

Windows Generation

On Windows, use the PowerShell script:

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 or ../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 skills/scripts/refresh-tool-index.sh
grep "frida" skills/tool-index.md

To query the JSON file on Windows:

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 (human-readable) and skills/tool-index.json (machine-readable).
  • Both files are generated by 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) 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 for human reading and 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 or ../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.

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 →