# How to Refresh the Tool Index After Installing New Tools in Reverse-Skill

> Install new tools in reverse-skill? Refresh the tool index by running the platform-specific script in skills/scripts/ or kali/scripts/ to make utilities discoverable by agents.

- Repository: [ZhaoXu/reverse-skill](https://github.com/zhaoxuya520/reverse-skill)
- Tags: how-to-guide
- Published: 2026-09-02

---

**Run the platform-specific refresh script located in `skills/scripts/` (or `kali/scripts/` for Kali Linux) from the repository root to rebuild the tool index and make newly installed utilities discoverable by agents.**

The `zhaoxuya520/reverse-skill` repository maintains a centralized **tool index** that agents rely on to locate available utilities. When you add or update tools, you must regenerate this index so the routing logic recognizes the new filesystem paths. The project provides dedicated scripts for Windows, Linux, macOS, and Kali Linux that automate this synchronization.

## Why You Need to Refresh the Tool Index

The reverse-skill framework generates a static catalog of tools and their paths. Without refreshing this index after installation, automated agents cannot discover or execute newly added utilities even if the binaries exist on disk. The refresh scripts scan the `tools` directories and rewrite the index file to reflect the current state of your environment.

## Platform-Specific Refresh Commands

### Windows (PowerShell)

On Windows systems, use the PowerShell implementation to bypass execution policies and regenerate the index:

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

```

### Linux and macOS (Bash)

For standard Linux and macOS environments, execute the Bourne Again Shell script:

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

```

### Kali Linux

Kali Linux deployments include a dedicated wrapper script that invokes the same indexing logic:

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

```

## Step-by-Step Refresh Process

Follow these steps to ensure the index updates correctly:

1. **Open a terminal** appropriate for your platform (PowerShell on Windows, Bash on Linux/macOS/Kali).
2. **Navigate to the repository root** (the directory containing the `skills` folder).
3. **Execute the refresh command** for your operating system from the section above.
4. **Verify the output**—the script prints a confirmation such as `Ok 'refresh-tool-index parses'` when it completes successfully.

After execution, the script updates `skills/tool-index.md.template` to reflect the current toolset, and agents can immediately route to the new utilities.

## Technical Implementation Details

According to the `zhaoxuya520/reverse-skill` source code, the refresh scripts perform the following operations:

- **Parse directory structures** within the `tools` paths to discover new executables and scripts.
- **Rewrite the index template** (`skills/tool-index.md.template`) with updated tool paths and metadata.
- **Handle cross-platform path differences** through separate `.ps1` and `.sh` implementations that share identical indexing logic.

The PowerShell implementation resides in [`skills/scripts/refresh-tool-index.ps1`](skills/scripts/refresh-tool-index.ps1), while the Bash implementation lives in [[`skills/scripts/refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/refresh-tool-index.sh)](skills/scripts/refresh-tool-index.sh). Kali-specific deployments use [[`kali/scripts/refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/scripts/refresh-tool-index.sh)](kali/scripts/refresh-tool-index.sh).

## Summary

- **Refresh after every installation** to keep the agent routing table synchronized with your filesystem.
- **Use platform-specific scripts**: PowerShell for Windows, Bash for Linux/macOS/Kali.
- **Run from the repository root** to ensure correct path resolution for `skills/scripts/refresh-tool-index.ps1` or the equivalent Bash scripts.
- The scripts regenerate `skills/tool-index.md.template` by scanning tool directories and rewriting the canonical catalog.

## Frequently Asked Questions

### Where are the refresh scripts located in the repository?

The main scripts reside in `skills/scripts/`—specifically `refresh-tool-index.ps1` for Windows and [`refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/refresh-tool-index.sh) for Unix-like systems. Kali Linux users should use the wrapper located at [`kali/scripts/refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/scripts/refresh-tool-index.sh).

### Do I need to refresh the tool index after every tool installation?

Yes. The framework relies on the pre-built index stored in `skills/tool-index.md.template` for agent routing. Until you run the refresh script, newly installed tools remain invisible to the automation logic regardless of their presence on disk.

### Can I run the refresh script from any directory?

No. You must execute the script from the repository root (the directory containing the `skills` folder). Running it from other locations causes path resolution failures when the script attempts to locate the `tools` directories and write to `skills/tool-index.md.template`.

### What file does the refresh script actually update?

The script regenerates `skills/tool-index.md.template`, which serves as the master template for the tool catalog. This file contains the canonical list of available tools and their filesystem paths used by the agent routing system.