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

The 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 script, which automates the deployment of Markdown-based skill files to Claude's discovery directory. This guide explains how to use the 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 at lines 13-20. Override this path using the --target flag to support non-standard Claude configurations or shared installations.

./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, this flag restricts the copy operation to the matching category folder:

./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.

./install.sh --dry-run

This outputs a complete list of 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:

./install.sh --list

This produces output such as:

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 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 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:

$ ./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:

$ ./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:

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

Summary

  • The 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. 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 files at lines 105-108, Claude automatically discovers the new capabilities on its next session initialization. The claude-skills.json manifest in the repository root coordinates this discovery process without requiring manual configuration.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →