# How to Install Only Specific Categories of Claude-Red Skills

> Learn to install specific Claude-Red skill categories with the install.sh flag or Git sparse-checkout. Download only the categories you need for SnailSploit Claude-Red.

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

---

**Yes, you can install specific categories using the `./install.sh --category <name>` flag or Git's sparse-checkout feature to download only the `Skills/<category>` directories you need.**

Claude-Red organizes its offensive security expertise into discrete categories under the `Skills/` directory, allowing operators to deploy only relevant capabilities. Rather than cloning the entire repository, you can selectively install specific skill categories to minimize storage and reduce Claude's context window overhead. Both the interactive installer and native Git workflows support this surgical deployment approach.


## Understanding Claude-Red's Skill Architecture

The repository structures offensive capabilities as **category folders** beneath the `Skills/` directory at the repository root. Each folder—such as `web`, `wireless`, or `cloud`—contains one or more [`SKILL.md`](https://github.com/SnailSploit/Claude-Red/blob/main/SKILL.md) files that Claude consumes as contextual knowledge bases. This hierarchy enables granular control over what capabilities reside in your Claude environment. The [`claude-skills.json`](https://github.com/SnailSploit/Claude-Red/blob/main/claude-skills.json) manifest file provides a programmatic index of all available categories for tooling integration.


## Method 1: Selective Installation Using install.sh

The bundled [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh) script provides native support for category-specific installation. According to the SnailSploit/Claude-Red source code, lines 31-78 handle the `--category` flag logic: the script enumerates available directories via `Skills/*/` validation, then copies only the requested category to your target path.

### Installing a Single Category

Use the `--target` flag to specify your Claude skills directory and `--category` to identify the specific skill set:

```bash
./install.sh --target ~/.claude/skills --category web

```

This command copies only `Skills/web/` and its contained [`SKILL.md`](https://github.com/SnailSploit/Claude-Red/blob/main/SKILL.md) files to `~/.claude/skills/claude-red/`, ignoring all other offensive categories.

### Listing Available Categories

Before installation, enumerate valid category names to prevent typos:

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

```

The script scans the `Skills/` directory and prints each available category folder name that can be passed to the `--category` argument.

### Dry-Run Mode

Preview filesystem changes without writing data using the `--dry-run` flag:

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

```

This executes the validation logic and reports which files would be copied to the target directory, allowing you to verify paths before modification.


## Method 2: Git Sparse-Checkout for CI/CD Pipelines

For automated deployments or when avoiding the installer script entirely, Git's sparse-checkout feature clones the repository without downloading every skill file. This method is ideal for CI pipelines where you want only specific offensive capabilities available.

Initialize a sparse clone and select multiple categories:

```bash
git clone --filter=blob:none --sparse https://github.com/SnailSploit/Claude-Red.git
cd Claude-Red
git sparse-checkout set Skills/web Skills/wireless

```

After checkout, manually copy the selected folders to your Claude skills path:

```bash
cp -r Skills/* ~/.claude/skills/claude-red/

```

This approach downloads only the metadata for the specified `Skills/<category>` paths, significantly reducing bandwidth and storage requirements compared to a full clone.


## Summary

- **Category-based structure**: All capabilities reside in `Skills/<category>/` directories containing consumable [`SKILL.md`](https://github.com/SnailSploit/Claude-Red/blob/main/SKILL.md) files.
- **Installer script**: Use `./install.sh --category <name>` to copy a specific folder; validation occurs in the script's argument parsing block (lines 31-78).
- **Discovery tools**: Run `./install.sh --list` to see valid categories or reference [`claude-skills.json`](https://github.com/SnailSploit/Claude-Red/blob/main/claude-skills.json) for programmatic access.
- **Safe testing**: The `--dry-run` flag allows validation of copy operations before filesystem modification.
- **Git alternative**: Sparse-checkout enables selective downloads for automation scenarios, bypassing the need for the full repository history.


## Frequently Asked Questions

### Can I install multiple categories at once using install.sh?

The [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh) script processes a single `--category` argument per invocation. To install multiple categories, run the script repeatedly with different category names, or use the Git sparse-checkout method to select multiple `Skills/<category>` paths simultaneously before copying them to your target directory.

### Where does install.sh validate category names against available options?

According to the Claude-Red source code in [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh) (lines 31-78), the script validates the requested category by checking it against the directory listing of `Skills/*/`. If the specified category does not match an existing folder name, the script exits with an error before performing any copy operations.

### Can I preview what will be installed before copying files?

Yes. Pass the `--dry-run` flag to the installer: `./install.sh --category <name> --dry-run`. This executes the category validation logic and reports the specific source and destination paths that would be affected, without creating or modifying any files in your Claude skills directory.

### Does Claude-Red support installing individual skills rather than full categories?

No. The current architecture organizes capabilities at the category level, where each folder (e.g., `web`, `cloud`) may contain multiple related [`SKILL.md`](https://github.com/SnailSploit/Claude-Red/blob/main/SKILL.md) files. The installer and sparse-checkout workflows operate on these category directories as atomic units; you cannot selectively install individual skill files within a category using the provided tooling.