What Platforms Are Supported by reverse-skill Scripts and Tool Management?

TLDR: The reverse-skill framework supports macOS, generic Linux (Ubuntu/Debian), Kali Linux, and Windows through native bootstrap scripts that automate tool installation, runtime management, and MCP server registration across all four operating system families.

The reverse-skill repository by zhaoxuya520 is a cross-platform routing and bootstrap framework designed for security-oriented workflows. It provides a unified interface for installing reverse-engineering tools and managing dependencies, regardless of whether you are working on a MacBook, Ubuntu workstation, Kali Linux VM, or Windows host. Understanding which platforms are supported and how the tool management layer adapts to each environment is essential for deploying reverse-skill effectively.

Supported Platforms Breakdown

macOS

On macOS, reverse-skill uses skills/scripts/bootstrap-reverse.sh to detect the Darwin kernel via uname -s. The script leverages Homebrew for package management and pipx for Python-based tools. Users can optionally register MCP servers using the --mcp-host flag. Detailed setup instructions and tool matrices are documented in docs/platforms/macos.md.

Linux (Generic)

For generic Linux distributions, the same Bash bootstrap script detects the Linux kernel and assumes an APT-based system (Ubuntu/Debian family). The framework installs missing runtimes—Python 3, Node, and Java—via apt, and falls back to GitHub releases for tools not available in standard repositories. Platform-specific guidance lives in docs/platforms/linux.md.

Kali Linux

Kali Linux is treated as a specialized Linux variant. While it uses the same bootstrap-reverse.sh entry point, the script checks /etc/os-release for ID_LIKE=debian and the presence of "kali" in the ID string (function platform_doc() at lines 67-73). Kali profiles include extra offensive-security packages such as Metasploit and NetExec, documented in kali/README-kali.md.

Windows

Windows support is provided through skills/scripts/bootstrap-reverse.ps1, a PowerShell counterpart to the Bash script. It relies on Windows package managers like Chocolatey or winget and respects PowerShell execution policies. The PowerShell scripts mirror the same capability names and tool installation logic found in the Bash version, ensuring consistency across operating systems.

How Platform Detection Works

The Bash bootstrap script determines the host platform using a simple case statement that inspects the kernel name:

UNAME_S="$(uname -s 2>/dev/null || echo unknown)"
case "$UNAME_S" in
  Darwin) PLATFORM="macos" ;;
  Linux)  PLATFORM="linux" ;;
  *)      PLATFORM="unknown" ;;
esac

This logic appears at lines 34-39 in skills/scripts/bootstrap-reverse.sh. When the platform is Linux, the script further checks for Kali-specific markers to route users to the appropriate documentation and tool preset.

Cross-Platform Tool Management Workflow

Regardless of the underlying operating system, reverse-skill follows a consistent four-stage workflow to manage tools and runtimes:

  1. Detect platform — Choose the appropriate package manager (Homebrew for macOS, APT for Linux, Chocolatey/winget for Windows).
  2. Ensure runtimes — Verify or install Python 3, Node, and Java using helper functions ensure_python_runtime, ensure_node_runtime, and ensure_java_runtime (lines 63-90).
  3. Install capabilities — Download and configure individual tools (jadx, frida, radare2, etc.) via install_brew, install_brew_cask, or install_apt (lines 27-37).
  4. Refresh tool index — Run skills/scripts/refresh-tool-index.sh to discover installed binaries and register available MCP servers.

Practical Platform Examples

List Available Capabilities on Any Platform

macOS/Linux/Kali:

bash skills/scripts/bootstrap-reverse.sh --list

Windows:

powershell -NoProfile -ExecutionPolicy Bypass -File skills/scripts/bootstrap-reverse.ps1 -list

Install Common Tools on macOS

bash skills/scripts/bootstrap-reverse.sh \
  java node frida r2 \
  --mcp-host=none

Install Tools on Ubuntu Linux

bash skills/scripts/bootstrap-reverse.sh \
  java node frida r2 \
  --mcp-host=none

Install GitHub-Release Tools on Kali

bash skills/scripts/bootstrap-reverse.sh jadx \
  --mcp-host=none

Register an MCP Server

bash skills/scripts/bootstrap-reverse.sh jshookmcp \
  --mcp-host=claude

Refresh the Local Tool Index

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

Summary

  • reverse-skill officially supports macOS, Linux (Ubuntu/Debian), Kali Linux, and Windows.
  • Platform detection occurs in skills/scripts/bootstrap-reverse.sh using uname -s and /etc/os-release parsing.
  • macOS uses Homebrew; Linux uses APT with GitHub fallbacks; Windows uses PowerShell with Chocolatey/winget.
  • Runtime dependencies (Python 3, Node, Java) are automatically ensured via ensure_*_runtime helper functions.
  • The refresh-tool-index.sh script synchronizes the local environment with the framework's capability registry on all platforms.

Frequently Asked Questions

Which package managers does reverse-skill use on different platforms?

On macOS, the framework uses Homebrew and pipx for tool installation. On Linux (including Kali), it uses APT for distribution packages and falls back to GitHub releases for tools unavailable in the repository. On Windows, it relies on Chocolatey or winget through the PowerShell bootstrap script.

How does the bootstrap script distinguish between generic Linux and Kali Linux?

After detecting Linux via uname -s, the script inspects /etc/os-release for ID_LIKE=debian and checks if "kali" appears in the ID field. This logic is contained in the platform_doc() function (lines 67-73 of bootstrap-reverse.sh) and routes Kali users to kali/README-kali.md for specialized offensive-security tool configurations.

Can I use reverse-skill on Windows without disabling the execution policy entirely?

Yes. While the example command uses -ExecutionPolicy Bypass, you can also scope the policy to the process or sign the scripts for your environment. The PowerShell scripts in skills/scripts/bootstrap-reverse.ps1 are designed to work with standard Windows security settings as long as the execution policy permits script signing or remote signed execution.

What happens if a required runtime like Python or Java is missing?

The bootstrap script automatically invokes helper functions—ensure_python_runtime, ensure_node_runtime, and ensure_java_runtime—to install missing runtimes using the platform's native package manager (Homebrew on macOS, APT on Linux). On Windows, the PowerShell script performs equivalent checks using available Windows package managers.

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 →