# Reverse-Skill Architecture Explained: 7 Key Components of the Modular Security Framework

> Explore the 7 key components of the reverse-skill architecture, a modular security framework. Understand its routing, execution, and output layers, plus bootstrap and evolution mechanisms.

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

---

**The reverse-skill architecture consists of three orchestrated layers—Routing, Execution, and Output—supported by a self-installing bootstrap system and automatic evolution mechanism.**

The reverse-skill repository implements a modular, self-evolving workflow engine designed for security-related reverse-engineering and penetration-testing tasks. Understanding the reverse-skill architecture is essential for security analysts who need to extend the framework or debug complex tool chains. This article breaks down the seven core components as documented in [`docs/ARCHITECTURE.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/ARCHITECTURE.md).

## Routing Layer: SKILL.md and routing.md

The **Routing Layer** serves as the central nervous system of the reverse-skill architecture. Two files control all dispatch decisions:

- **[`SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/SKILL.md)** – The master entry point that declares all top-level skills available to the engine.
- **[`routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/routing.md)** – A keyword-to-sub-skill matrix that determines which module handles a given request.

When a user submits a security or reverse-engineering request, the engine first scans for trigger keywords. If a match exists in the routing matrix, execution proceeds; otherwise, the system suggests adding a new skill to the framework. This design is documented in [`ARCHITECTURE.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/ARCHITECTURE.md) lines 7–14.

## Execution Layer: Five Module Categories

The **Execution Layer** contains specialized sub-skills organized into five functional categories. According to the "Skills 模块关系图" section (lines 38–90), these include:

**Reverse-Engineering Modules**
- `apk-reverse` – Android package analysis
- `ida-reverse` – IDA Pro integration workflows
- `radare2` – Open-source binary analysis
- `binary-diff` – Comparative binary analysis
- `patch-diff-exploit` – Patch-based exploit development

**Exploitation Modules**
- `pwn-chain` – Return-oriented programming chains
- `firmware-pentest` – Embedded device testing
- `edr-bypass-re` – Endpoint detection response evasion

**Penetration-Test Modules**
- `pentest-tools` – General offensive security utilities
- `src-hunter` – Source code discovery and analysis

**Web/Browser Modules**
- `js-reverse` – JavaScript deobfuscation and analysis
- `browser-automation` – Scripted browser interaction

Each sub-skill runs its own workflow and reports completion status to the central journal, as noted in lines 20–31.

## Tool Discovery and Bootstrap System

Before any sub-skill executes, the framework verifies dependencies through **[`tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/tool-index.md)**. Missing tools trigger the **bootstrap-reverse** script system:

| Platform | Script | Path |
|----------|--------|------|
| Windows | `bootstrap-reverse.ps1` | `skills/scripts/bootstrap-reverse.ps1` |
| Kali Linux | [`bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/bootstrap-reverse.sh) | [`kali/scripts/bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/scripts/bootstrap-reverse.sh) |

The bootstrap process reads [`bootstrap-manifest.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/bootstrap-manifest.json) and selects an installation method from five supported types: `github-release-zip`, `pip-package`, `npm-global`, `winget-package`, or `local-http-mcp`. After installation, binaries are added to `PATH` and `tool-index` is refreshed. This flow is detailed in the "Bootstrap 自举流程" section (lines 107–127).

## Output Layer: Reporting and Visualization

The **Output Layer** transforms execution results into actionable intelligence through three components:

- **`docs-generator`** – Creates structured HTML reports from task metadata
- **`diagram-generator`** – Produces visual workflow charts
- **`field-journal`** – Persistent log storage that feeds the evolution engine

This layer executes after every completed task, as described in lines 32–40.

## Automatic Evolution Mechanism

The reverse-skill architecture implements **self-improvement through feedback loops**. Every completed task writes a concise entry to `field-journal/`, which triggers cascading updates to:

1. [`_index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/_index.md) – Internal skill index
2. [`routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/routing.md) – Routing matrix refinements
3. [`tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/tool-index.md) – Tool status refresh

This "自动进化机制" (lines 152–164) ensures the framework continuously learns from operational experience without manual intervention.

## Bootstrap Commands and API Usage

The following commands demonstrate practical interaction with the reverse-skill architecture—each invoking specific components documented in the source:

```powershell

# Bootstrap missing tools on Windows

.\skills\scripts\bootstrap-reverse.ps1 -Force

```

```bash

# Bootstrap missing tools on Kali Linux

bash kali/scripts/bootstrap-reverse.sh

```

```powershell

# Dispatch a specific sub-skill via the routing layer

.\skills\scripts\master-route.ps1 -Hint "apk-reverse"

```

```bash

# Generate final report through the output layer

python docs/generator.py --output report.html

```

The `master-route.ps1` and [`master-route.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/master-route.sh) scripts implement the core routing logic, reading [`SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/SKILL.md) and [`routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/routing.md) to dispatch workflows.

## Core Files Reference

| File | Purpose | Location |
|------|---------|----------|
| [`SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/SKILL.md) | Master skill declaration | [`skills/SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/SKILL.md) |
| [`routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/routing.md) | Keyword-to-skill routing matrix | [`skills/routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/routing.md) |
| `bootstrap-reverse.ps1` / `.sh` | Cross-platform dependency installation | `skills/scripts/`, `kali/scripts/` |
| [`tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/tool-index.md) | Runtime-generated tool availability status | (generated) |
| [`ARCHITECTURE.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/ARCHITECTURE.md) | Complete architectural documentation | [`docs/ARCHITECTURE.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/docs/ARCHITECTURE.md) |
| `field-journal/` | Persistent task logs and evolution data | `field-journal/` |

## Summary

- **Three-layer design**: Routing (dispatch), Execution (specialized modules), and Output (reporting)
- **Self-installing bootstrap**: Automatically provisions tools on Windows or Kali Linux via manifest-driven scripts
- **Keyword-driven routing**: [`SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/SKILL.md) and [`routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/routing.md) determine which sub-skill handles each request
- **Five module categories**: Reverse-engineering, exploitation, pen-testing, web/browser, and infrastructure
- **Automatic evolution**: `field-journal` entries continuously refine the routing matrix and tool index
- **Cross-platform support**: PowerShell and Bash implementations maintain parity across operating systems

## Frequently Asked Questions

### What is the entry point for adding a new skill to reverse-skill?

New skills require two modifications: add a declaration to [`SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/SKILL.md) for top-level visibility, then register keyword mappings in [`routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/routing.md) so the engine can dispatch requests appropriately. The routing scripts `master-route.ps1` and [`master-route.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/master-route.sh) read both files at runtime.

### How does reverse-skill handle missing dependencies?

The framework checks [`tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/tool-index.md) before executing any sub-skill. Missing tools trigger `bootstrap-reverse.ps1` or [`bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/bootstrap-reverse.sh), which consult [`bootstrap-manifest.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/bootstrap-manifest.json) to determine installation method and source. Successful installations update `PATH` and refresh the tool index automatically.

### Can reverse-skill run on platforms other than Windows and Kali Linux?

The bootstrap system explicitly supports Windows (via PowerShell and `winget`) and Kali Linux (via Bash and standard package managers). Other distributions may work if they provide compatible package management, but the architecture documentation in [`ARCHITECTURE.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/ARCHITECTURE.md) only guarantees functionality for these two platforms.

### What drives the automatic evolution of the framework?

Every task completion writes to `field-journal/`, which triggers updates to three index files: [`_index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/_index.md) for skill organization, [`routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/routing.md) for routing efficiency, and [`tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/tool-index.md) for accuracy. This feedback loop is implemented without requiring explicit user commands, as detailed in lines 152–164 of [`ARCHITECTURE.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/ARCHITECTURE.md).