# How to Use Sparse-Checkout to Install Claude-Red Categories: A Step-by-Step Guide

> Master sparse-checkout to install Claude-Red categories. Clone only necessary skills with git clone --filter=blob:none --sparse and git sparse-checkout set Skills/<category> for efficient local repositories.

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

---

**Use `git clone --filter=blob:none --sparse` followed by `git sparse-checkout set Skills/<category>` to download only the Claude-Red skill categories you need, saving bandwidth and storage while maintaining a focused local repository.**

Claude-Red organizes offensive-security expertise into modular **SKILL.md** files grouped by functional categories within the `Skills/` directory. When you only need specific capabilities—such as web exploitation or active directory attacks—downloading all 78 skills across 23 categories wastes bandwidth and local storage. Git's **sparse-checkout** feature, combined with partial clone filters, allows you to clone the repository structure without downloading every file, then selectively check out only the directories you intend to use.

## Understanding the Claude-Red Repository Structure

The repository follows a strict modular design that makes sparse-checkout possible. Each category lives in its own top-level folder under `Skills/`, containing one or more [`SKILL.md`](https://github.com/SnailSploit/Claude-Red/blob/main/SKILL.md) files that Claude consumes as system prompts. According to the source analysis, the repository contains approximately **78 skills across 23 distinct categories**, including `web`, `wireless`, `active-directory`, and others.

This organization means you can isolate exactly the attack vectors relevant to your current engagement without bloating your local filesystem with irrelevant techniques.

## Sparse-Checkout Installation Steps

### Step 1: Clone Without Downloading File Contents

Begin by cloning the repository with the `--filter=blob:none` flag, which tells Git to omit file contents during the initial clone, and `--sparse` to enable sparse-checkout mode immediately.

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

```

This creates a local repository containing only the commit history and tree structure. The `.git/info/sparse-checkout` file is initialized but empty, meaning no working directory files are checked out yet.

### Step 2: Select Specific Categories

Use the `git sparse-checkout set` command to specify which category directories you want. This triggers Git to fetch only the [`SKILL.md`](https://github.com/SnailSploit/Claude-Red/blob/main/SKILL.md) files within those paths.

```bash

# Checkout only web exploitation and active directory skills

git sparse-checkout set Skills/web Skills/active-directory

```

As documented in the [`README.md`](https://github.com/SnailSploit/Claude-Red/blob/main/README.md) (lines 44-46), this command modifies the `.git/info/sparse-checkout` file and checks out only the specified paths, leaving the rest of the repository content unpopulated on disk.

### Step 3: Add or Remove Categories Later

You can modify your selection without re-cloning. Use `add` to include new categories or `remove` to exclude them.

```bash

# Add wireless exploitation skills to existing checkout

git sparse-checkout add Skills/wireless

# Remove a category you no longer need

git sparse-checkout remove Skills/web

```

Changes take effect immediately, fetching or removing files from your working directory while preserving the repository structure.

## Automated Installation with install.sh

For an interactive setup experience, Claude-Red provides an [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh) script in the repository root that wraps the sparse-checkout workflow. The script handles target directory selection and category prompting.

```bash

# Interactive mode - prompts for directory and categories

./install.sh

# Non-interactive mode - specify target and category directly

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

```

The installer automates the `git sparse-checkout` commands and ensures proper directory permissions for Claude to access the skill files.

## Loading Skills into Claude

Once you've checked out your desired categories, load the skills into Claude by piping the [`SKILL.md`](https://github.com/SnailSploit/Claude-Red/blob/main/SKILL.md) files into the CLI. Claude consumes these files as system context for domain-specific offensive security tasks.

```bash

# Load a specific skill

cat Skills/web/offensive-sqli/SKILL.md | claude --system-file -

# Load all skills from a category

cat Skills/active-directory/**/SKILL.md | claude --system-file -

```

For programmatic consumption, the repository includes [`convert_skills.py`](https://github.com/SnailSploit/Claude-Red/blob/main/convert_skills.py), which transforms [`SKILL.md`](https://github.com/SnailSploit/Claude-Red/blob/main/SKILL.md) files into JSON format suitable for automated Claude Skills system integration.

## Summary

- **Sparse-checkout** prevents downloading unnecessary categories, saving bandwidth when the repository contains 78+ skills across 23 categories.
- Use **`--filter=blob:none`** during clone to skip downloading file contents initially, then selectively populate categories with `git sparse-checkout set`.
- Categories align with directory names under `Skills/`, such as `Skills/web` or `Skills/active-directory`.
- The [`install.sh`](https://github.com/SnailSploit/Claude-Red/blob/main/install.sh) script provides an interactive alternative to manual Git commands.
- Individual [`SKILL.md`](https://github.com/SnailSploit/Claude-Red/blob/main/SKILL.md) files can be piped directly into the Claude CLI using standard Unix redirection.

## Frequently Asked Questions

### What Git version is required for sparse-checkout?

You need **Git 2.25 or newer** for basic sparse-checkout functionality, and **Git 2.27 or newer** to use the `--filter=blob:none` partial clone option. Earlier versions lack support for cone-mode parsing and blob filtering that make this workflow efficient.

### Can I install multiple categories at once?

Yes. Pass multiple paths to the `set` or `add` subcommands separated by spaces: `git sparse-checkout set Skills/web Skills/wireless Skills/cloud`. This fetches all specified directories in a single operation.

### How do I view available categories before checking them out?

Since the initial clone downloads the repository tree but not file contents, you can list available directories using `ls` or `tree` on the `Skills/` folder, or browse the [Skills directory](https://github.com/SnailSploit/Claude-Red/tree/main/Skills) on GitHub to see the 23 available categories before deciding which to check out.

### What's the difference between `--filter=blob:none` and `--sparse`?

**`--filter=blob:none`** tells Git to perform a partial clone, downloading only commit metadata and tree objects while omitting file contents (blobs). **`--sparse`** enables sparse-checkout mode, which controls which paths appear in your working directory. Together, they create a minimal local footprint while allowing selective fetching of specific files when needed.