# Agent-Specific Installation for Caveman: Targeted Setup Guide for AI Agents

> Install Caveman for specific AI agents like Claude Code or Gemini CLI. Use the --only flag or agent native commands for targeted setup on JuliusBrussee/caveman.

- Repository: [Julius Brussee/caveman](https://github.com/JuliusBrussee/caveman)
- Tags: getting-started
- Published: 2026-07-07

---

**You can install the Caveman skill for a specific AI agent using the `--only <id>` flag with the installer script, or target individual agents like Claude Code, Gemini CLI, Opencode, and Cursor using their native CLI commands.**

The **Caveman** skill compresses AI agent output by removing filler words while preserving technical accuracy. According to the JuliusBrussee/caveman source code, the installation is handled by a single Node.js script ([`bin/install.js`](https://github.com/JuliusBrussee/caveman/blob/main/bin/install.js)) that detects installed agents and executes the appropriate native commands for each platform. You can deploy globally across all detected agents or isolate the installation to a single agent using specific flags.

## Global Installation vs. Agent-Specific Installation

The installer supports two installation modes. **Global installation** detects every supported agent on your `PATH` and configures Caveman for all of them simultaneously. **Agent-specific installation** targets only one agent using the `--only` flag, which is useful when you want to test the skill on a single platform or when working with agents that require different configuration approaches.

The core logic resides in [`bin/install.js`](https://github.com/JuliusBrussee/caveman/blob/main/bin/install.js), which references a `PROVIDERS` matrix mapping agent IDs to their specific CLI installation commands.

## Installing for All Agents (One-Liner)

To install Caveman globally across every supported agent on your system, run the appropriate one-liner for your shell.

**macOS, Linux, or WSL:**

```bash
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash

```

**Windows PowerShell 5.1+:**

```powershell
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex

```

This script completes three stages: it **detects** which agents are installed (Claude Code, Gemini CLI, Opencode, OpenClaw, etc.), **runs** each agent's native install command, and **wires** up hook files and the `.caveman-active` flag file that stores your selected compression level. The process typically completes in approximately 30 seconds and is idempotent—safe to run multiple times.

## Targeting a Specific Agent

When you only want Caveman active for one agent, use the `--only <id>` flag to bypass global detection. The installer supports the following agent IDs and commands as defined in the `PROVIDERS` matrix in [`bin/install.js`](https://github.com/JuliusBrussee/caveman/blob/main/bin/install.js):

| Agent | ID | Native Install Command |
|-------|-----|------------------------|
| Claude Code | `claude` | `claude plugin marketplace add JuliusBrussee/caveman && claude plugin install caveman@caveman` |
| Gemini CLI | `gemini` | `gemini extensions install https://github.com/JuliusBrussee/caveman` |
| Opencode | `opencode` | `npx -y github:JuliusBrussee/caveman -- --only opencode` |
| OpenClaw | `openclaw` | `npx -y github:JuliusBrussee/caveman -- --only openclaw` |
| Cursor | `cursor` | `npx skills add JuliusBrussee/caveman -a cursor` |

To install only for Claude Code via the shell script:

```bash
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash -s -- --only claude

```

To install only for Cursor using the local Node installer:

```bash
node bin/install.js --only cursor

```

Note that Cursor and similar editors do not support automatic activation hooks, requiring manual `/caveman` commands each session unless you deploy the always-on rule files described below.

## Always-On Rule Files for Agents Without Hooks

Some agents—including Cursor, Windsurf, Cline, and Copilot—lack a hook system for automatic activation. For these platforms, Caveman writes a static rule file ([`caveman-activate.md`](https://github.com/JuliusBrussee/caveman/blob/main/caveman-activate.md)) to the agent's configuration directory, making the skill active by default without requiring manual commands.

To manually place the rule file for Cursor:

```bash
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/src/rules/caveman-activate.md \
  > .cursor/rules/caveman.mdc

```

To generate rule files for multiple agents simultaneously, use the `--with-init` flag:

```bash
node bin/install.js --with-init --only cursor --only windsurf

```

This writes the contents of [`src/rules/caveman-activate.md`](https://github.com/JuliusBrussee/caveman/blob/main/src/rules/caveman-activate.md) to each specified agent's rules directory, ensuring Caveman activates automatically when the agent loads the project.

## Verifying Your Installation

After running the installer, confirm the skill is properly configured using the following methods.

**List detected agents:**

```bash
node bin/install.js --list

```

This outputs a table with checkmarks (`✓`) indicating which agents have Caveman installed.

**Check the activation flag (Claude Code only):**

```bash
cat "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/.caveman-active"

```

Expected output: `full` (or the compression level you selected during install).

**Test the skill:** Open your targeted agent and issue the `/caveman` command or ask it to "talk like caveman." The response should be terse, omitting articles and filler words while retaining technical precision.

## Uninstalling Caveman from Specific Agents

To remove Caveman entirely, including hooks and plugin registrations, run the uninstall command:

```bash
npx -y github:JuliusBrussee/caveman -- --uninstall

```

This command removes hook entries from Claude Code's [`settings.json`](https://github.com/JuliusBrussee/caveman/blob/main/settings.json), deletes generated hook scripts (`caveman-*.js`, `caveman-statusline.*`), uninstalls per-agent plugins, removes the Opencode plugin directory, strips the OpenClaw workspace block, and deletes the `.caveman-active` flag file.

Static rule files created with `--with-init` are **not** removed automatically. You must manually delete these files from your agent's rules directory if you wish to completely remove the skill.

## Summary

- **Global install** uses the one-liner shell script to configure all detected agents simultaneously.
- **Agent-specific install** uses `--only <id>` with valid IDs: `claude`, `gemini`, `opencode`, `openclaw`, `cursor`, etc.
- **Hook-based agents** (Claude Code, Gemini CLI) receive automatic activation via the `.caveman-active` flag and native plugin hooks.
- **Rule-based agents** (Cursor, Windsurf) require [`caveman-activate.md`](https://github.com/JuliusBrussee/caveman/blob/main/caveman-activate.md) files deployed via `--with-init` for automatic activation.
- **Core files:** [`bin/install.js`](https://github.com/JuliusBrussee/caveman/blob/main/bin/install.js) contains the installer logic, [`src/rules/caveman-activate.md`](https://github.com/JuliusBrussee/caveman/blob/main/src/rules/caveman-activate.md) provides the always-on rules, and [`INSTALL.md`](https://github.com/JuliusBrussee/caveman/blob/main/INSTALL.md) documents the full provider matrix.

## Frequently Asked Questions

### How do I install Caveman only for Claude Code without affecting other agents?

Use the `--only claude` flag with the installation script. Run: `curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash -s -- --only claude`. This executes only the `claude plugin marketplace add` and `claude plugin install` commands, skipping detection for Gemini, Opencode, or other agents.

### Why does Cursor require different installation steps than Claude Code?

Cursor does not expose a hook system for automatic skill activation, according to the `PROVIDERS` matrix in [`bin/install.js`](https://github.com/JuliusBrussee/caveman/blob/main/bin/install.js). While Claude Code supports hooks and a `.caveman-active` flag file, Cursor requires either the `npx skills add` command for manual `/caveman` activation, or a static rule file ([`caveman-activate.md`](https://github.com/JuliusBrussee/caveman/blob/main/caveman-activate.md)) placed in the `.cursor/rules/` directory for always-on behavior.

### Where does the installer store the configuration for active agents?

For Claude Code, the installer writes a `.caveman-active` flag file to `$CLAUDE_CONFIG_DIR` (or `$HOME/.claude` if the variable is unset), containing the compression level (e.g., `full`). For agents without hook support, the installer writes [`caveman-activate.md`](https://github.com/JuliusBrussee/caveman/blob/main/caveman-activate.md) to agent-specific rules directories within the project folder, such as `.cursor/rules/caveman.mdc`.

### Can I safely run the installer multiple times for different agents?

Yes. The installer is idempotent and safe to re-run. Each execution with `--only <id>` adds Caveman only to the specified agent without removing existing installations from other agents. To remove Caveman from a specific agent, you must use the `--uninstall` flag, which cleans up hooks, plugins, and flag files across all configured agents.