# reverse-skill Command-Line Arguments: Complete PowerShell CLI Reference

> Master reverse-skill command-line arguments in PowerShell. Learn about required and optional parameters like -Skill, -CaseId, and path overrides for efficient CLI use.

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

---

**The `reverse-skill` tool accepts seven command-line arguments through its PowerShell router script `master-route.ps1`, including required parameters `-Skill` and `-CaseId` plus optional overrides for scope, timeline, and work-items paths.**

The `reverse-skill` CLI provides a structured interface for invoking security skills against specific cases. All routing logic is handled through a single entry point that maps your arguments to the appropriate skill module and case assets stored in the repository's `work/` and `skills/` directories.

## Core Required Arguments

These two parameters must be provided for every invocation:

**`-Skill`** — Specifies which skill module to activate. Valid values correspond to subdirectories under `skills/` that contain a [`SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/SKILL.md) file, such as `reverse-engineering`, `pentest`, or `wifi-wireless`.

**`-CaseId`** — Identifies the target case folder located at `work\<caseId>`. This folder must contain (or receive) the [`scope.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/scope.md), [`timeline.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/timeline.md), and work-items files that guide the skill execution.

```powershell

# Basic invocation with required arguments

.\master-route.ps1 -Skill reverse-engineering -CaseId 2023-CTF-01

```

## Optional Path Overrides

By default, `reverse-skill` reads case assets from predictable locations inside the case folder. These three arguments let you redirect to custom files:

**`-ScopePath`** — Full path to an alternative scope markdown file. Replaces the default `work\<caseId>\scope.md`.

**`-TimelinePath`** — Full path to a custom timeline markdown file. Replaces `work\<caseId>\timeline.md`.

**`-WorkItemsPath`** — Full path to a custom work-items list. Replaces the default work-items location.

```powershell

# Override all three asset paths with custom locations

.\master-route.ps1 -Skill pentest `
    -CaseId pentest-2024 `
    -ScopePath C:\cases\2024\custom-scope.md `
    -TimelinePath C:\cases\2024\events.md `
    -WorkItemsPath C:\cases\2024\tasks.md

```

## Diagnostic and Help Arguments

**`-Debug`** — Enables verbose logging throughout the routing pipeline. Use this when troubleshooting why a skill module fails to load or when verifying path resolution.

**`-Help`** or **`-?`** — Displays the built-in parameter reference without executing any routing logic.

```powershell

# Enable debug output for troubleshooting

.\master-route.ps1 -Skill wifi-wireless -CaseId test-01 -Debug

# Display help and exit

.\master-route.ps1 -Help

```

## Parameter Implementation in Source Code

The `reverse-skill` command-line arguments are declared in [`skills/scripts/master-route.ps1`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/master-route.ps1) using PowerShell's native `param()` block (lines 1–8). The script validates the `-Skill` argument against available skill modules defined in [[`skills/MASTER-ROUTING.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/MASTER-ROUTING.md)](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/MASTER-ROUTING.md), then loads case assets from either default paths or your overridden locations.

Parameter parsing follows standard PowerShell conventions, supporting both named and positional syntax where unambiguous.

## Complete Usage Examples

```powershell

# Standard reverse-engineering workflow

.\master-route.ps1 -Skill reverse-engineering -CaseId sample-01

# Pentest skill with custom scope and debug logging

.\master-route.ps1 -Skill pentest `
    -CaseId internal-audit-2024 `
    -ScopePath D:\scopes\restricted-scope.md `
    -Debug

# Quick reference

.\master-route.ps1 -?

```

## Summary

- **`reverse-skill` accepts seven CLI arguments** through `master-route.ps1`: `-Skill`, `-CaseId`, `-ScopePath`, `-TimelinePath`, `-WorkItemsPath`, `-Debug`, and `-Help`/`-?`.
- **`-Skill` and `-CaseId` are required** for all invocations; they drive the routing engine to select the correct module and case folder.
- **Three path overrides** let you substitute custom scope, timeline, and work-items files without restructuring your `work/` directory.
- **`-Debug` enables verbose logging** for troubleshooting; **`-Help` displays parameter documentation**.
- All parameters are defined in the PowerShell `param()` block at the top of `skills/scripts/master-route.ps1`.

## Frequently Asked Questions

### What skills can I use with the `-Skill` argument?

The `-Skill` argument accepts any skill name that has a corresponding [`SKILL.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/SKILL.md) file under the `skills/` directory. Known examples include `reverse-engineering`, `pentest`, and `wifi-wireless`. The routing engine validates your input against [[`skills/MASTER-ROUTING.md`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/MASTER-ROUTING.md)](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/MASTER-ROUTING.md) before execution.

### Can I run `reverse-skill` without a case folder?

No. The `-CaseId` parameter is mandatory because the routing engine expects a `work\<caseId>` directory structure. Even when using `-ScopePath` and related overrides to redirect asset locations, you must still provide a `-CaseId` that resolves to an existing case folder.

### Where are command-line arguments defined in the source code?

All `reverse-skill` CLI parameters are declared in the `param()` block at lines 1–8 of [`skills/scripts/master-route.ps1`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/master-route.ps1). This PowerShell-native declaration handles argument binding, validation, and help generation automatically.

### How do I troubleshoot routing failures?

Add the `-Debug` switch to any invocation to enable verbose logging. This outputs detailed information about skill resolution, path validation, and asset loading. Combine `-Debug` with explicit path overrides (`-ScopePath`, etc.) to verify that custom assets are being loaded correctly.