# How to Use the install.sh Script to Manage Claude-Red: Complete Installation Guide

> Master Claude-Red installation with install.sh. Deploy offensive skills easily, filter by category, preview changes, and customize target directories for efficient management. Get the complete guide now.

- Repository: [SnailSploit | Kai Aizen/Claude-Red](https://github.com/SnailSploit/Claude-Red)
- Tags: how-to-guide
- Published: 2026-09-14

---

**The [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh) script is a self-contained Bash installer that deploys Claude-Red's offensive-security skill set to `~/.claude/skills/claude-red` with support for category filtering, dry-run previews, and custom target directories.**

The Claude-Red repository provides a specialized skill collection for offensive security operations within Claude's ecosystem. Managing these capabilities requires the [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh) script, which automates the deployment of Markdown-based skill files to Claude's discovery directory. This guide explains how to use the [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh) script to manage Claude-Red installations effectively, covering both interactive and automated deployment scenarios.

## Command-Line Options for install.sh

The script accepts several flags that control installation behavior without requiring manual file manipulation. These options enable precise control over which skills get installed and where they reside.

### Specifying a Custom Target Directory (--target)

By default, the script installs skills to `~/.claude/skills/claude-red` as defined in [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh) at lines 13-20. Override this path using the `--target` flag to support non-standard Claude configurations or shared installations.

```bash
./install.sh --target /opt/claude/skills

```

When no target is provided interactively, the script prompts for confirmation of the default path before proceeding.

### Filtering by Category (--category)

Instead of installing the full skill collection, deploy only specific offensive security domains. The `--category` flag filters the source to a single subdirectory under `Skills/`, such as `web`, `wireless`, or `privesc`.

According to the implementation at lines 70-80 in [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh), this flag restricts the copy operation to the matching category folder:

```bash
./install.sh --category web

```

### Previewing Changes (--dry-run)

Validate your installation parameters before modifying the filesystem. The `--dry-run` flag prints all files that would be copied without executing the actual transfer, as implemented at lines 89-92.

```bash
./install.sh --dry-run

```

This outputs a complete list of [`SKILL.md`](https://github.com/SnailSploit/Claude-Red/blob/main/SKILL.md) files that would be deployed, allowing you to verify category selections and target paths before committing changes.

### Listing Available Categories (--list)

Discover the repository's organizational structure before installation. The `--list` flag enumerates all subdirectories within `Skills/` and counts the individual skill files contained in each, utilizing the logic at lines 31-39:

```bash
./install.sh --list

```

This produces output such as:

```text
Available categories:
  wireless               20 skill(s)
  privesc                2 skill(s)
  post-exploitation      3 skill(s)

```

## Installation Workflow and Source Code Implementation

Understanding the script's internal mechanics ensures reliable deployment across different environments. The [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh) script in the SnailSploit/Claude-Red repository performs several distinct operations to ensure atomic, safe skill installation.

### Source Path Resolution

At lines 17-19, the script derives the source directory dynamically using `SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"`, ensuring the `Skills/` folder is located relative to the script's execution path regardless of where you invoke the installer from.

### Atomic Copy Operations

The script prioritizes data integrity during transfers. At lines 97-102, it checks for `rsync` availability and uses it for efficient, atomic copying with progress reporting; if `rsync` is unavailable, it falls back to `cp -r` for maximum compatibility.

### Post-Installation Validation

After copying, the script validates success by counting installed [`SKILL.md`](https://github.com/SnailSploit/Claude-Red/blob/main/SKILL.md) files (lines 105-108). It then reports the total number of skills deployed and confirms that Claude will auto-discover them on the next session start.

## Practical Usage Examples

**Basic interactive installation** accepting defaults:

```bash
$ ./install.sh
Install target [/home/youruser/.claude/skills/claude-red]: 
Source:  /path/to/Claude-Red/Skills
Target:  /home/youruser/.claude/skills/claude-red

Installed 124 skill(s) to /home/youruser/.claude/skills/claude-red
Claude should now auto-discover them on next session start.

```

**Category-specific installation** for wireless security tools only:

```bash
$ ./install.sh --category wireless
Source:  /path/to/Claude-Red/Skills/wireless
Target:  /home/youruser/.claude/skills/claude-red/wireless

```

**Fully automated CI/CD deployment** combining multiple flags:

```bash
$ ./install.sh --target /tmp/claude --category web --dry-run
[dry-run] Would copy:
  /tmp/claude/web/SKILL.md
  ...

```

## Summary

- The [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh) script defaults to installing all Claude-Red skills to `~/.claude/skills/claude-red` but supports arbitrary paths via `--target`.
- **Category filtering** via `--category` enables partial installations of specific offensive security domains like `web` or `privesc`.
- The `--dry-run` flag previews filesystem changes without altering the target directory, essential for validation pipelines.
- **Auto-discovery** occurs automatically when Claude restarts, requiring no manual registration beyond running the installer.
- The script uses `rsync` when available for robust transfers, falling back to standard `cp` operations only when necessary.

## Frequently Asked Questions

### What is the default installation path for Claude-Red skills?

By default, the script installs to `~/.claude/skills/claude-red` as defined in the target resolution logic at lines 13-20 of [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh). You can override this by passing the `--target` flag followed by your preferred directory path.

### Can I install multiple categories simultaneously?

The current implementation at lines 70-80 accepts only a single `--category` argument per invocation. To install multiple categories, run the script separately for each category, or omit the flag entirely to install the complete skill set from the `Skills/` directory.

### Does the install.sh script require root privileges?

No, the script does not require elevated privileges unless your target directory is owned by root or another user. Standard installations to `~/.claude/skills/` within your home directory run with standard user permissions.

### How does Claude recognize the installed skills?

After the script completes the copy operation and counts the [`SKILL.md`](https://github.com/SnailSploit/Claude-Red/blob/main/SKILL.md) files at lines 105-108, Claude automatically discovers the new capabilities on its next session initialization. The [`claude-skills.json`](https://github.com/SnailSploit/Claude-Red/blob/main/claude-skills.json) manifest in the repository root coordinates this discovery process without requiring manual configuration.