Format of Tool Paths in reverse-skill's Tool Index: Complete Specification

The tool-index in reverse-skill is a markdown table with five columns—Tool Name, Available, Path to Executable, Version Info, and Source/Notes—that stores the exact command-line paths to security tools like r2, ida, and frida, generated automatically by refresh scripts.

The zhaoxuya520/reverse-skill repository maintains a centralized tool-index to standardize how skill modules locate external security utilities across Windows, Linux, and macOS environments. Understanding the format of tool paths in reverse-skill's tool index ensures your automation scripts correctly resolve binaries like radare2, IDA Pro, and Frida regardless of host configuration.

Tool-Index Structure and Column Format

The tool-index follows a strict markdown table structure defined in skills/tool-index.md.template. Each row represents a single external utility with five specific fields that standardize path references.

The Five-Column Markdown Table

The layout uses these columns to capture executable metadata:

  • Tool Name: The canonical identifier for the utility (e.g., r2, ida, frida, gdb).
  • Available?: A boolean flag (yes/no) indicating whether the tool was detected on the current host.
  • Path to Executable: The exact command or filesystem path used to invoke the tool. This may be a simple command like r2.bat, an absolute path like /usr/local/bin/ida, or a Windows path like C:\Program Files\Frida\frida-run.exe.
  • Version Info: The detected version string (e.g., radare2 6.2.0, IDA Pro 9.0).
  • Source/Notes: The discovery method employed, such as FallbackPath, Registry, or which, plus any additional context.

How Tool Paths Are Discovered and Recorded

The tool-index is not maintained manually. Instead, the refresh-tool-index scripts populate the table by scanning the system and resolving executable locations using platform-specific strategies.

Discovery Scripts

Two scripts handle cross-platform detection and write to skills/tool-index.md:

Path Resolution Methods

The scripts employ multiple strategies to locate executables and determine which path format to record:

  • which: Standard Unix command resolution for binaries in $PATH.
  • FallbackPath: Default installation paths when standard resolution fails.
  • Registry: Windows registry lookups for commercial tools like IDA Pro.

Working with the Tool-Index Files

Understanding the relationship between the template and generated files ensures you can both consume and regenerate the index correctly.

Template vs. Generated Output

The repository stores skills/tool-index.md.template as the structural blueprint containing the column headers and empty skeleton. When you run the refresh scripts, they clone this structure into skills/tool-index.md, filling in the actual detected paths and versions for the current host.

Consuming the Tool-Index Programmatically

Refresh the index before consuming it to ensure paths are current for your environment:


# Regenerate the tool-index on Windows

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

# Parse the generated table to extract r2's path and execute

$toolIndex = Get-Content skills/tool-index.md | ConvertFrom-Markdown
$r2Path = ($toolIndex | Where-Object Name -eq 'r2').Path
& $r2Path -A main.bin

# Regenerate the index on Linux/macOS

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

# Extract gdb's executable path using awk

gdbPath=$(awk -F'|' '/\bgdb\b/ {print $3}' skills/tool-index.md | xargs)
"$gdbPath" --args ./binary

Summary

  • The tool-index uses a five-column markdown table format with Tool Name, Available, Path to Executable, Version Info, and Source/Notes columns.
  • Tool paths can be simple commands, relative paths, or absolute filesystem paths depending on the discovery method and operating system.
  • The refresh-tool-index.ps1 and refresh-tool-index.sh scripts in skills/scripts/ automatically generate the populated index.
  • The template file at skills/tool-index.md.template defines the structure, while skills/tool-index.md contains the runtime data specific to the host.
  • Discovery methods include which, FallbackPath, and Registry lookups to accommodate different installation conventions.

Frequently Asked Questions

What columns are in the reverse-skill tool-index?

The tool-index contains five columns: Tool Name, Available? (yes/no), Path to Executable, Version Info, and Source/Notes. This format is defined in skills/tool-index.md.template and populated by the refresh scripts into skills/tool-index.md.

How is the tool-index generated in reverse-skill?

The index is generated automatically by running either skills/scripts/refresh-tool-index.ps1 on Windows or skills/scripts/refresh-tool-index.sh on Unix systems. These scripts scan for known security tools, resolve their executable paths using methods like which or registry lookups, and write the formatted markdown table to skills/tool-index.md.

Where are the tool path discovery scripts located?

The discovery scripts reside in the skills/scripts/ directory. Specifically, refresh-tool-index.ps1 handles Windows environments using PowerShell and registry detection, while refresh-tool-index.sh handles Linux and macOS using standard Unix utilities.

Can tool paths be absolute or relative in the index?

Yes, the Path to Executable column accepts various formats. It may contain simple command names like r2.bat, absolute paths like /opt/ida/ida64, or Windows paths like C:\Program Files\Frida\frida-run.exe. The refresh scripts record whatever path format successfully invokes the tool on the host system.

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 →