# How to Install Agent Reach Agent Skill Files

> Learn how to install Agent Reach agent skill files easily using the built-in CLI command. Follow simple steps to set up your agent framework for Agent Reach.

- Repository: [Pnant/Agent-Reach](https://github.com/Panniantong/Agent-Reach)
- Tags: how-to-guide
- Published: 2026-06-25

---

**Agent Reach provides a built-in CLI command that detects your agent framework (OpenClaw, Claude Code, or generic .agents) and installs the appropriate [`SKILL.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL.md) bundle to `~/.agents/skills/agent-reach` (or equivalent) by running `agent-reach skill --install`.**

The **Panniantong/Agent-Reach** repository ships with a self-contained skill installation system. When you need to install Agent Reach agent skill files, the tool handles locale detection, package resource resolution, and framework-specific directory selection without requiring network access or API keys.

## Installing Skills via the CLI

The fastest way to deploy the skill bundle is through the command-line interface. The entry point `agent-reach skill --install` invokes the private `_install_skill()` helper defined in [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py).

### Basic Installation Command

Run the following from your terminal after installing the package:

```bash
agent-reach skill --install

```

Alternatively, if you are running from source without the entry point script:

```bash
python -m agent_reach.cli skill --install

```

### Full Installation with Diagnostics

If you prefer the automatic flow that runs diagnostics first, use the global install command. This executes health checks before calling the skill installer:

```bash
python -m agent_reach.cli install

```

## How the Skill Installer Works Under the Hood

The installation logic in [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py) follows a deterministic six-step process to locate, select, and copy the skill files.

### Step 1: Locale Detection for Skill Selection

The installer checks environment variables in this order: **`AGENT_REACH_LANG`**, **`LC_ALL`**, **`LC_MESSAGES`**, and **`LANG`**. If any value starts with "en" or "english", the installer selects [`SKILL_en.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL_en.md); otherwise it falls back to the default [`SKILL.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL.md).

### Step 2: Package Resource Resolution

To locate the source files, the code first attempts to use **`importlib.resources.files("agent_reach").joinpath("skill")`**. If this fails—common during editable installs—it resolves the path relative to the source tree as a fallback.

### Step 3: Target Directory Selection

The function scans for the first writable skill directory using this priority order:

1. **`$OPENCLAW_HOME/.openclaw/skills`** (only if the `OPENCLAW_HOME` environment variable is set)
2. **`~/.agents/skills`** (generic agents directory)
3. **`~/.openclaw/skills`** (OpenClaw)
4. **`~/.claude/skills`** (Claude Code)

If none of these directories exist, the installer creates **`~/.agents/skills/agent-reach`** as the fallback location.

### Step 4: Atomic Copy and Replacement

Before writing new files, the installer removes any existing installation at the target path. It unlinks symlinks if present and uses **`shutil.rmtree()`** to delete existing directories. It then copies the selected [`SKILL.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL.md) file and the entire **`references/`** directory to `agent-reach/` within the chosen skill folder.

### Step 5: Framework-Specific Feedback

Upon completion, the CLI prints a success message identifying the detected platform (Agent, OpenClaw, or Claude Code) and the absolute installation path. If the process fails, it emits a warning with diagnostic details.

## Verifying Your Installation

Confirm that the static markdown files are in place by listing the skill directory:

```bash
ls -R ~/.agents/skills/agent-reach

```

You should see the following structure:

```

~/.agents/skills/agent-reach/
├── SKILL.md
└── references/
    ├── search.md
    ├── social.md
    └── ... (other reference files)

```

The `references/` directory contains detailed documentation for each category (search, social, video, etc.) linked from the main [`SKILL.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL.md) file.

## Uninstalling Agent Skills

To remove the skill files from all detected agent directories, run:

```bash
agent-reach skill --uninstall

```

This command reverses the installation by removing the `agent-reach/` directory from each discovered skills folder.

## Summary

- **Run `agent-reach skill --install`** to deploy the static markdown skill bundle to your agent framework.
- The installer selects **[`SKILL_en.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL_en.md)** when English locale variables are detected; otherwise it defaults to **[`SKILL.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL.md)**.
- Target directories are checked in priority order: **`~/.agents/skills`**, **`~/.openclaw/skills`**, and **`~/.claude/skills`**, with **`OPENCLAW_HOME`** taking precedence if set.
- The process requires **no network access** or authentication; it copies files directly from `agent_reach/skill/` package resources.
- The implementation lives in **[`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py)** within the **`_install_skill()`** function, with test coverage in **[`tests/test_skill_command.py`](https://github.com/Panniantong/Agent-Reach/blob/main/tests/test_skill_command.py)**.

## Frequently Asked Questions

### Where does Agent Reach install the skill files by default?

By default, Agent Reach installs to **`~/.agents/skills/agent-reach/`**. If that directory does not exist, it checks for **`~/.openclaw/skills/`** or **`~/.claude/skills/`** in sequence. If the **`OPENCLAW_HOME`** environment variable is configured, that location is prepended to the search list and takes highest priority.

### Does installing the skill files require an internet connection or API keys?

No. According to the [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py) source code, the installation is entirely offline. The **`_install_skill()`** function copies static markdown files from the package resources to your local agent configuration directory without network access, external dependencies, or secrets.

### How does Agent Reach choose between SKILL.md and SKILL_en.md?

The installer checks the environment variables **`AGENT_REACH_LANG`**, **`LC_ALL`**, **`LC_MESSAGES`**, and **`LANG`** in that order. If any value starts with "en" or "english" (case-insensitive), it selects **[`SKILL_en.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL_en.md)**; otherwise it defaults to **[`SKILL.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL.md)**. This ensures English-speaking users receive optimized instructions when available.

### What happens if I already have skill files installed?

The installer performs an atomic replacement. Before copying new files, it removes any existing `agent-reach/` directory at the target location using **`shutil.rmtree()`**, and unlinks any symlinks if present. This guarantees a clean installation without conflicts between old and new skill definitions.