# Skill Installation Process for OpenClaw and Claude Code in Agent Reach

> Discover the skill installation process for OpenClaw and Claude Code in Agent Reach. Learn how Agent Reach automatically installs reusable skills to platform-specific directories simply and efficiently.

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

---

**Agent Reach installs its reusable skill by detecting your locale, selecting the appropriate markdown file, and copying it to platform-specific directories like `~/.openclaw/skills/agent-reach` or `~/.claude/skills/agent-reach` via the `_install_skill()` helper in [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py).**

The `Panniantong/Agent-Reach` repository provides a CLI tool that registers itself as a reusable skill across multiple agent platforms. When you execute the `agent-reach skill --install` command, the **skill installation process** automatically handles platform detection, localization, and file deployment to integrate seamlessly with OpenClaw, Claude Code, or generic `.agents` environments.

## Platform-Specific Target Directories

Agent Reach supports three distinct installation targets determined by the `_install_skill()` function (lines 342‑440 in [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py)):

- **Generic agents**: `~/.agents/skills/agent-reach`
- **OpenClaw**: `~/.openclaw/skills/agent-reach` (or `${OPENCLAW_HOME}/.openclaw/skills/agent-reach` if the environment variable is set)
- **Claude Code**: `~/.claude/skills/agent-reach`

## How the Installation Process Works

### Locale-Aware File Selection

Before copying files, the installer inspects environment variables—`AGENT_REACH_LANG`, `LC_ALL`, `LC_MESSAGES`, and `LANG`—to determine the system locale (lines 53‑62). If any indicate an English locale, the process selects [`SKILL_en.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL_en.md) from the package resources; otherwise, it defaults to [`SKILL.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL.md).

### Resource Loading and Fallback Logic

The installer attempts to load skill resources using `importlib.resources.files("agent_reach").joinpath("skill")`. When the package is installed in editable mode, it falls back to resolving the path via `Path(__file__).resolve().parent / "skill"` (lines 84‑90).

### The Copy Operation

The `_copy_skill_dir(target)` function (lines 71‑99) creates or clears the destination directory, writes the selected skill markdown file, and copies all reference materials from `skill/references/` (including web, video, social, search, dev, and career documentation).

## Installation Priorities and Logic

The installer builds a prioritized list of candidate directories, checking for existence in the following order: generic agents, OpenClaw, then Claude Code (lines 12‑22). If `OPENCLAW_HOME` is defined, its path is inserted at the front of the list, ensuring the OpenClaw installation takes precedence over the default `~/.openclaw` location.

For each existing candidate directory, the installer invokes `_copy_skill_dir` and outputs a console message indicating the target platform (lines 28‑31). If none of the known skill roots exist, the function creates the generic agent path at `~/.agents/skills/agent-reach` and performs the copy there (lines 34‑38).

## Uninstalling the Skill

To remove the skill, the `_uninstall_skill()` function (lines 444‑476) iterates through the same platform directories and deletes the `agent-reach` folder from each location.

## Usage Examples

Install the skill for whichever platform you have:

```bash
agent-reach skill --install

```

Force installation for the generic `.agents` platform on a fresh system:

```bash
mkdir -p ~/.agents/skills
agent-reach skill --install

```

Remove the skill from all platforms:

```bash
agent-reach skill --uninstall

```

## Summary

- Agent Reach detects your locale via environment variables to choose between [`SKILL_en.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL_en.md) and [`SKILL.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL.md).
- The installer supports three platforms: generic `.agents`, OpenClaw (with `OPENCLAW_HOME` override), and Claude Code.
- The `_install_skill()` function in [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py) handles resource loading, directory creation, and file copying to `skill/references/`.
- If no platform directories exist, the installer defaults to creating `~/.agents/skills/agent-reach`.
- Uninstallation removes the `agent-reach` directory from all detected platform locations.

## Frequently Asked Questions

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

Agent Reach installs to the first existing directory among `~/.agents/skills/agent-reach`, `~/.openclaw/skills/agent-reach` (or `${OPENCLAW_HOME}/.openclaw/skills/agent-reach`), and `~/.claude/skills/agent-reach`. If none exist, it creates the generic path at `~/.agents/skills/agent-reach` and installs there.

### How does the installer choose between English and non-English skill descriptions?

The installer checks the `AGENT_REACH_LANG`, `LC_ALL`, `LC_MESSAGES`, and `LANG` environment variables. If any indicate an English locale, it copies [`SKILL_en.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL_en.md); otherwise, it uses [`SKILL.md`](https://github.com/Panniantong/Agent-Reach/blob/main/SKILL.md).

### Can I install the skill for multiple platforms simultaneously?

Yes. If multiple platform directories exist (for example, both OpenClaw and Claude Code directories are present), the installer copies the skill files to each existing location during a single `agent-reach skill --install` execution.

### How do I completely remove the Agent Reach skill?

Run `agent-reach skill --uninstall`. This triggers the `_uninstall_skill()` function in [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py), which deletes the `agent-reach` directory from all known platform locations including OpenClaw, Claude Code, and generic agent paths.