# How to Deploy reverse-skill to Production: Complete 9-Step Deployment Guide

> Deploy reverse-skill to production with this 9-step guide. Learn to refresh the index, run bootstrap scripts, and initialize workspaces for auditable security workflows.

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

---

**Deploy reverse-skill to production by selecting your platform, refreshing the tool index, running the appropriate bootstrap script, and initializing isolated case workspaces—enabling deterministic, auditable security workflows.**

reverse-skill is a modular **skill router** that coordinates reverse-engineering, pentesting, CTF, and security-analysis workflows. Whether you're deploying on Windows, Linux, macOS, or Kali Linux, this guide covers the complete production deployment process based on the actual architecture and source code in the `zhaoxuya520/reverse-skill` repository.

## Understanding the Deployment Architecture

The system implements a three-phase deployment model defined in [`ARCHITECTURE.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/ARCHITECTURE.md). Each phase maps directly to executable scripts and configuration files.

### Phase 1: Platform Selection and Rule Loading

The router first determines which rule set applies. According to [`ARCHITECTURE.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/ARCHITECTURE.md) lines 70-90, this selection drives your entire toolchain:

| Platform | Rule File | Script Engine | Package Manager |
|----------|-----------|---------------|-----------------|
| Windows | [`RULES.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/RULES.md) | PowerShell | winget, GitHub ZIP |
| Kali Linux | [`kali/RULES-kali.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/RULES-kali.md) | Bash | apt, pip, npm |

### Phase 2: Bootstrap Self-Installation

When tools are missing, the bootstrap system executes platform-specific installation. As implemented in [`ARCHITECTURE.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/ARCHITECTURE.md) lines 107-123:

- **Windows**: `skills/scripts/bootstrap-reverse.ps1` reads [`bootstrap-manifest.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/bootstrap-manifest.json)
- **Kali**: [`kali/scripts/bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/scripts/bootstrap-reverse.sh) performs the same function

The bootstrap supports five install types: GitHub release ZIP, pip package, npm global, winget, or local HTTP MCP. Successful installation automatically updates [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md).

### Phase 3: Skill Execution and Reporting

After toolchain verification, the router:

1. Reads [`skills/SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/SKILL.md) → [`skills/routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/routing.md) to locate the concrete sub-skill
2. Executes workflows like `apk-reverse`, `pwn-chain`, or `CTF-Sandbox-Orchestrator`
3. Invokes the built-in `docs-generator` to produce reports and update the `field-journal`

This behavior chain is documented in [`ARCHITECTURE.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/ARCHITECTURE.md) lines 27-34 and lines 52-62 of [`README.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/README.md).

## Step-by-Step Production Deployment

### Step 1: Clone the Repository

Start with a secure, read-only clone:

```bash
git clone https://github.com/zhaoxuya520/reverse-skill.git
cd reverse-skill

```

### Step 2: Choose Your Deployment Platform

Select the appropriate environment based on your operational requirements:

- **Windows**: Full PowerShell support with winget integration
- **Linux/macOS**: Bash-based deployment
- **Kali Linux**: Pre-configured with security tools via [`kali/RULES-kali.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/RULES-kali.md)

### Step 3: Refresh the Tool Index

Populate the tool inventory so the router knows what's available:

**Windows:**

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

```

**Linux/macOS/Kali:**

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

# or for Kali specifically:

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

```

These scripts auto-generate [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md).

### Step 4: Verify Required Tools (Optional)

Inspect the generated index:

```bash
cat skills/tool-index.md

```

### Step 5: Run Bootstrap for Missing Tools

If the index reports gaps, execute the platform-specific bootstrap:

**Windows:**

```powershell
powershell -File skills/scripts/bootstrap-reverse.ps1

```

**Kali:**

```bash
bash kali/scripts/bootstrap-reverse.sh

```

The bootstrap reads [`bootstrap-manifest.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/bootstrap-manifest.json) and selects the appropriate install method automatically.

### Step 6: Initialize a Case Workspace

Create an isolated `work/` directory with scope and timeline contracts:

**Windows:**

```powershell
powershell -File skills/scripts/case-init.ps1

```

**Linux/macOS:**

```bash
bash skills/scripts/case-init.sh

```

This enforces the ops contracts defined in [`skills/ops/README.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/ops/README.md).

### Step 7: Route Tasks to Sub-Skills

Use the primary entry point for automatic routing:

```bash

# Auto-routed via skills/SKILL.md

cat skills/SKILL.md

```

Or manually invoke a specific sub-skill:

```bash
cd skills/apk-reverse && ./run.sh

```

The routing decision references [`skills/MASTER-ROUTING.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/MASTER-ROUTING.md) for fast-track paths and the full matrix in [`skills/routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/routing.md).

### Step 8: Generate Reports Automatically

The `docs-generator` runs automatically via the router:

```bash
python -m docs_generator

```

This produces the final report and updates the `field-journal`.

### Step 9: Commit Knowledge Base Updates (Optional)

Preserve case experience for system evolution:

```bash
git add work/<case>/field-journal
git commit -m "Add experience for <task>"
git push

```

## Key Configuration Files Reference

| File | Purpose | Location |
|------|---------|----------|
| [`RULES.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/RULES.md) / [`kali/RULES-kali.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/RULES-kali.md) | Platform-specific execution rules | Repository root / `kali/` |
| [`bootstrap-manifest.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/bootstrap-manifest.json) | Installation source definitions | Repository root |
| [`skills/SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/SKILL.md) | Master workflow entry point | `skills/` |
| [`skills/routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/routing.md) | Complete task-to-skill mapping matrix | `skills/` |
| [`skills/MASTER-ROUTING.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/MASTER-ROUTING.md) | Fast-track routing ladder | `skills/` |
| [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md) | Auto-generated tool inventory | `skills/` |
| `skills/ops/` | Scope, timeline, and evidence contracts | `skills/ops/` |

## Platform-Specific Considerations

### Windows Production Deployment

The PowerShell bootstrap in `skills/scripts/bootstrap-reverse.ps1` integrates with winget for native Windows packages. For corporate environments with restricted execution policies, you may need:

```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

```

### Kali Linux Deployment

Kali uses a specialized rule set and pre-installed security tools. The [`kali/scripts/bootstrap-reverse.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/scripts/bootstrap-reverse.sh) script prioritizes `apt` packages before falling back to pip/npm installs.

### Containerized Deployment

For isolated production environments, wrap the bootstrap in a container with persistent volume mounts for:

- `work/<case>/` — Case artifacts and evidence
- [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md) — Tool state
- `field-journal` — Accumulated knowledge

## Summary

Deploying reverse-skill to production follows a deterministic, auditable process:

- **Select platform rules** — [`RULES.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/RULES.md) or [`kali/RULES-kali.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/kali/RULES-kali.md) gate execution
- **Refresh tool index** — Run `refresh-tool-index.ps1` or `.sh` to detect available tools
- **Bootstrap missing dependencies** — Execute `bootstrap-reverse.ps1` or `.sh` which reads [`bootstrap-manifest.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/bootstrap-manifest.json)
- **Initialize isolated workspaces** — Use `case-init.ps1` or `.sh` for scope enforcement
- **Route automatically** — The master [`SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/SKILL.md) dispatches to sub-skills via [`routing.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/routing.md)
- **Generate reproducible outputs** — `docs-generator` creates reports and updates `field-journal`

This architecture scales from single analyst workstations to hardened production environments without manual intervention.

## Frequently Asked Questions

### What is reverse-skill and when should I deploy it to production?

reverse-skill is a modular skill router for reverse-engineering, pentesting, CTF, and security-analysis workflows. Deploy it to production when you need deterministic, repeatable security operations with automatic tool management and auditable evidence chains. The system enforces scope contracts and maintains operational knowledge through the `field-journal` mechanism.

### How does the bootstrap script know which tools to install?

The bootstrap scripts read [`bootstrap-manifest.json`](https://github.com/zhaoxuya520/reverse-skill/blob/main/bootstrap-manifest.json) to determine the correct install type for each missing tool. According to [`ARCHITECTURE.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/ARCHITECTURE.md) lines 107-123, supported methods include GitHub release ZIP, pip packages, npm global installs, winget, and local HTTP MCP endpoints. The bootstrap updates [`tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/tool-index.md) after successful installation.

### Can I deploy reverse-skill without running the bootstrap?

Yes, if your environment already contains all required tools. Skip bootstrap by ensuring [`skills/tool-index.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/tool-index.md) shows all tools as available after running `refresh-tool-index.ps1` or `.sh`. The router verifies tool presence before executing any sub-skill workflow, so manual pre-installation is fully supported.

### What happens to case data after I complete a security task?

The `case-init` scripts create isolated `work/<case>/` directories with embedded ops contracts. Upon completion, `docs-generator` produces a final report and appends experience to `field-journal`. You can optionally commit this journal to grow the system's knowledge base for future similar tasks, as documented in [`skills/ops/README.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/ops/README.md).