Skill Installation Process for OpenClaw and Claude Code in Agent Reach
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.
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):
- Generic agents:
~/.agents/skills/agent-reach - OpenClaw:
~/.openclaw/skills/agent-reach(or${OPENCLAW_HOME}/.openclaw/skills/agent-reachif 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 from the package resources; otherwise, it defaults to 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:
agent-reach skill --install
Force installation for the generic .agents platform on a fresh system:
mkdir -p ~/.agents/skills
agent-reach skill --install
Remove the skill from all platforms:
agent-reach skill --uninstall
Summary
- Agent Reach detects your locale via environment variables to choose between
SKILL_en.mdandSKILL.md. - The installer supports three platforms: generic
.agents, OpenClaw (withOPENCLAW_HOMEoverride), and Claude Code. - The
_install_skill()function inagent_reach/cli.pyhandles resource loading, directory creation, and file copying toskill/references/. - If no platform directories exist, the installer defaults to creating
~/.agents/skills/agent-reach. - Uninstallation removes the
agent-reachdirectory 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; otherwise, it uses 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, which deletes the agent-reach directory from all known platform locations including OpenClaw, Claude Code, and generic agent paths.
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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →