distribute-skill-to-all-agents — Setup Guide
Source: davidondrej/skills (59 installs)
Category: Agent Infrastructure / Skill Management
Sync a skill across the 4 agent skill folders (Codex, Claude Code, Pi, Hermes) so all agents discover it. Handles the symlink layout for .claude and .pi and copies only to the independent .hermes directory.
Installation
npx skills add davidondrej/skills --skill distribute-skill-to-all-agents
The skill lives inside the skill-authoring category of davidondrej/skills alongside effective-agent-skills, folder-specific-claude-and-agents-md, and push-skill-to-github.
Prerequisites
| Requirement |
Details |
| 4 agent skill folders |
~/.agents/skills/, ~/.claude/skills/, ~/.pi/agent/skills/, ~/.hermes/skills/ must exist |
| Symlink for Claude |
~/.claude/skills should be a symlink to ~/.agents/skills (auto-covers Claude) |
| Symlink for Pi |
~/.pi/agent/skills should be a symlink to ~/.agents/skills (auto-covers Pi) |
| Hermes standalone |
~/.hermes/skills/ is independent — manual copy required |
Key Capabilities
Core Features
| Capability |
How to Trigger |
Notes |
| Distribute a skill |
"Distribute this skill across all agents" |
Copies from ~/.agents/skills/ to ~/.hermes/skills/ only; Claude and Pi are symlink-covered |
| Verify distribution |
"Verify all agents have the skill" |
Byte-count check across all 4 locations |
| Check symlink integrity |
"Check agent symlinks" |
Verifies .claude and .pi are symlinks, not diverged copies |
CLI Command Reference
# Verify symlinks are intact (one-time check)
ls -la ~/.claude/skills
# Expect: ~/.claude/skills -> ~/.agents/skills
# Copy a skill to Hermes only
SKILL=<skill-name>
cp -r ~/.agents/skills/$SKILL ~/.hermes/skills/
# Verify all 4 locations show identical byte counts
for p in ~/.agents/skills/$SKILL ~/.claude/skills/$SKILL ~/.pi/agent/skills/$SKILL ~/.hermes/skills/$SKILL; do
echo "$p: $(wc -c < $p/SKILL.md) bytes"
done
The 4 Canonical Locations
| Agent |
Skills Folder |
Notes |
| Codex / OpenAI Agents |
~/.agents/skills/ |
Canonical — author skills here first |
| Claude Code |
~/.claude/skills/ |
Symlink → ~/.agents/skills/ — writing to .agents/skills automatically covers Claude |
| Pi Agent |
~/.pi/agent/skills/ |
Symlink → ~/.agents/skills/ — auto-covered. (Path is /agent/ nested — NOT ~/.pi/skills/) |
| Hermes Agent |
~/.hermes/skills/ |
Independent copy — the only one needing a manual copy |
CorpusIQ Use Cases
| Use Case |
How |
| Multi-agent skill sync |
After creating a new Hermes skill, run distribution to ensure Codex, Claude Code, Pi, and Hermes all have it |
| Skill consistency audit |
Verify byte counts match across all 4 agent locations before deployment |
| Symlink health check |
Detect broken or diverged symlinks that would cause skill drift between agents |
| Onboarding new agents |
When adding a 5th agent to the stack, adapt the distribution pattern for the new skill folder |
| Skill version rollback |
Copy a known-good SKILL.md to canonical location, then redistribute to all agents |
Troubleshooting
| Issue |
Fix |
.claude/skills is a real directory, not a symlink |
The user has diverged copies — ask before touching. Compare contents to decide which is canonical |
| Byte counts don't match after copy |
Check for trailing whitespace, different line endings, or file permissions. Re-copy with cp -a |
.pi/agent/skills symlink broken |
Recreate: ln -sf ~/.agents/skills ~/.pi/agent/skills (ensure ~/.pi/agent/ exists) |
| Skill not showing in Hermes |
Verify the SKILL.md file is directly in ~/.hermes/skills/<skill-name>/SKILL.md, not nested deeper |
Verification
# Verify the 4 agent skill locations exist
for p in ~/.agents/skills ~/.claude/skills ~/.pi/agent/skills ~/.hermes/skills; do
[ -d "$p" ] && echo "OK: $p" || echo "MISSING: $p"
done
# Verify symlinks (Claude and Pi should be symlinks to .agents)
ls -la ~/.claude/skills ~/.pi/agent/skills | grep "^l"
← Skills Catalog | Discovery Page →
Powered by CorpusIQ