.claude/skills/openclaw-skill-bins-path-mismatch/SKILL.md
Fix OpenClaw skills showing "needs setup" or "Missing requirements (bins)" even though the CLI wrapper exists in ~/.openclaw/bin/. Use when: (1) `openclaw skills list` shows skills as "needs setup" despite the binary being at ~/.openclaw/bin/<name>, (2) `openclaw skills check` lists custom skills under "Missing requirements", (3) the gateway runtime uses the skill fine but the CLI check fails. Root cause: the skill `requires.bins` check uses the system PATH (not the gateway's configured PATH), so binaries in ~/.openclaw/bin/ are invisible to it.
npx skillsauth add Dbochman/dotfiles openclaw-skill-bins-path-mismatchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
requires.bins PATH MismatchOpenClaw's skill requirements checker (openclaw skills check, openclaw skills list)
validates that required binaries exist by searching the PATH. However, custom CLI
wrappers installed at ~/.openclaw/bin/ are only on the PATH in the gateway's
LaunchAgent plist — not on the system PATH used by the CLI tools. This causes skills
to appear as "needs setup" even when they work fine at runtime.
When a skill shows "needs setup", OpenClaw may not load it into the agent's context, meaning the agent won't know it has that capability.
metadata.openclaw.requires.bins in their SKILL.md frontmatter~/.openclaw/bin/ (not /opt/homebrew/bin/ or /usr/local/bin/)openclaw skills list shows the skill as "needs setup"openclaw skills check shows skill under "Missing requirements"~/.openclaw/bin in PATH)Symlink the CLI wrappers from ~/.openclaw/bin/ into /opt/homebrew/bin/:
for bin in 8sleep cielo crisismode crosstown-roomba fi-collar litter-robot mysa petlibro ring; do
src="$HOME/.openclaw/bin/$bin"
dst="/opt/homebrew/bin/$bin"
if [ -f "$src" ] && [ ! -e "$dst" ]; then
ln -s "$src" "$dst" && echo "linked: $bin"
fi
done
Note on symlink safety: The wrappers in ~/.openclaw/bin/ set SCRIPT_DIR explicitly
to $HOME/.openclaw/skills/<name> (not via dirname $0), so symlinks don't break path
resolution. The earlier guidance "never symlinks — SCRIPT_DIR breaks" applies to skill
directories, not to these wrappers.
openclaw skills check — custom skills should appear under "Ready to use"openclaw skills list — skills should show "ready" not "needs setup"launchctl kickstart -k gui/$(id -u)/ai.openclaw.gatewayBefore fix (11 custom skills broken):
Missing requirements:
S 8sleep (bins: 8sleep)
❄ cielo-ac (bins: cielo)
🏥 crisismode (bins: crisismode)
...
After fix:
Ready to use:
S 8sleep
❄ cielo-ac
🏥 crisismode
...
dotfiles-pull.command so symlinks are recreated on deploydog-walk and crosstown-routines skills depend on multiple bins (e.g.,
fi-collar AND crosstown-roomba) — all must be symlinkeddevelopment
Search the web for current information, news, facts, and answers. Use when asked questions about current events, needing to look something up, finding websites, researching topics, or when you need up-to-date information beyond your training data.
development
Summarize any URL, YouTube video, podcast, PDF, or file into concise text. Use when asked to read an article, summarize a link, get the gist of a video or podcast, extract content from a URL, or when you need to understand what a web page or document contains.
development
Play music via Spotify and control Google Home speakers. Use when asked to play music, songs, artists, playlists, podcasts, or control speakers/volume/audio.
testing
Create new OpenClaw skills, modify and improve existing skills, and measure skill performance with evals. Use when users want to create a skill from scratch, update or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy. Also use when asked to "make a skill", "turn this into a skill", "improve this skill", or "test this skill".