Utility Scripts Provided with Claude-Red: Installation, Manifest Generation, and Legacy Conversion

Claude-Red provides three self-contained utility scripts—install.sh, tools/build_manifest.py, and convert_skills.py—that automate skill deployment, generate machine-readable JSON manifests, and convert legacy Markdown formats to the current Claude-compatible standard.

The SnailSploit/Claude-Red repository includes a dedicated toolchain to streamline the management of its extensive skill collection. These utility scripts provided with Claude-Red are written in Bash and Python 3, require no external credentials or network access, and enable offline installation, indexing, and format migration.

The Three Core Utility Scripts

Claude-Red ships with command-line utilities located in the repository root. Each tool serves a distinct purpose in the skill lifecycle:

  • install.sh – A Bash script that copies the Skills/ directory (or specific categories) into your local Claude skills folder, handling dry-run previews and rsync fallback.
  • tools/build_manifest.py – A Python 3 utility that walks the Skills/ tree, parses SKILL.md front-matter, and produces a compact JSON manifest.
  • convert_skills.py – A Python 3 converter that parses legacy Markdown skill files, extracts metadata, and writes reformatted SKILL.md files with proper YAML front-matter and optional ZIP packaging.

install.sh: Automated Skill Installation

Located at the repository root, install.sh handles discovery, filtering, and deployment of skill categories to your local environment.

Discovery and Target Handling

The script scans the Skills/ directory to identify sub-folders (categories) and counts SKILL.md files. By default, it targets ~/.claude/skills/claude-red, but accepts a custom destination via --target <path>. You can restrict the operation to a single category using --category <name>.

Safety Modes and Copy Methods

install.sh provides multiple safety and verbosity options:

  • --dry-run – Prints the files that would be copied without making changes.
  • --list – Shows available categories without installing anything.
  • Interactive prompts – Enabled by default for confirmation before copying.

For file operations, the script prefers rsync for progress output, falling back to cp -r if rsync is not installed.

tools/build_manifest.py: JSON Manifest Generation

The tools/build_manifest.py script creates a machine-readable index of the entire skill library by parsing metadata from each skill definition.

Tree Traversal and Front-Matter Parsing

The utility iterates over every category folder under Skills/, locates each SKILL.md file, and extracts the YAML front-matter fields such as name, description, and other metadata. This parsing builds a comprehensive view of the repository structure without executing any skill code.

Manifest Structure and Output

The generated claude-skills.json file contains three primary sections:

  • Repository metadata – Top-level information about the Claude-Red collection.
  • Categories dictionary – A mapping of category names to lists of skill names.
  • Flat skill entries – An array of objects detailing the file path, description, and metadata for each skill.

This JSON file enables downstream tooling to programmatically discover and filter available skills.

convert_skills.py: Legacy Format Migration

For users migrating from earlier Claude-Red versions, convert_skills.py transforms outdated Markdown structures into the current SKILL.md specification.

Stateful Parsing and Normalization

The script recursively discovers legacy SKILL.md or skill.md files under a source directory and applies stateful parsing to recognize specific sections:

  • ## Metadata

  • ## Description

  • ## Trigger Phrases

  • ## Instructions for Claude

It extracts this content into a structured meta dictionary, derives URL-safe slugs from folder names for the name field, and assembles proper YAML front-matter blocks containing name, description, trigger_phrases, folder, and source keys.

ZIP Packaging for Claude Console

After writing the reformatted SKILL.md to a new skills-converted/ directory hierarchy, the script optionally bundles each skill folder into a .zip archive ready for direct upload to the Claude Console.

Practical Usage Examples

Run these commands from the repository root to utilize the utility scripts:


# Install all skills to the default Claude location (interactive)

./install.sh

# Install only the "web" category to a custom directory

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

# Preview what would be copied for the "wireless" category

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

# Generate the JSON manifest for downstream tooling

python3 tools/build_manifest.py

# Convert legacy skills and create ZIP archives for upload

python3 convert_skills.py

Summary

The utility scripts provided with Claude-Red form a complete deployment and migration toolchain:

  • install.sh deploys skills from the Skills/ directory to ~/.claude/skills/claude-red with support for category filtering, dry-run verification, and rsync efficiency.
  • tools/build_manifest.py generates claude-skills.json by parsing YAML front-matter across the entire skill tree, creating both categorical mappings and flat indexes.
  • convert_skills.py migrates legacy Markdown formats to modern SKILL.md files with standardized YAML headers and packages them into ZIP files for the Claude Console.

Each script operates without external services or secret credentials, making them safe for offline environments.

Frequently Asked Questions

Where are the Claude-Red utility scripts located in the repository?

install.sh and convert_skills.py reside in the repository root, while build_manifest.py is located under tools/build_manifest.py. All three are self-contained and executable from the command line.

Does install.sh support previewing changes before copying files?

Yes. Run ./install.sh --dry-run to see exactly which files would be copied to your target directory without making any changes. This works with or without the --category flag to filter specific skill sets.

What specific metadata does build_manifest.py extract from skill files?

The script parses the YAML front-matter of each SKILL.md file to extract the name, description, and additional metadata fields, then structures them into a JSON manifest containing both a hierarchical category view and a flat list of all skills.

How does convert_skills.py handle legacy skill names?

The converter normalizes skill names by deriving them from the source folder names, sanitizing them into URL-safe slugs. It then writes these normalized names into the YAML front-matter of the newly generated SKILL.md files within the skills-converted/ output directory.

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 →