Distribute Skill To All Agents
Distribute global skills across Codex, Claude Code, Pi, Hermes, and Cursor.
Install
npx skills add davidondrej/skills --skill distribute-skill-to-all-agents -g -a claude-code -y- Repository
- davidondrej/skills4.2k
- Category
- AI and agents
- Updated
- 3d ago
- License
- MIT
- Context cost
- Lightabout 866 tokens
- Runs scripts
- No, instructions only
What it does
Distribute global skills across Codex, Claude Code, Pi, Hermes, and Cursor. Use for "distribute this skill", "sync skills across agents", or after creating or updating a global skill.
Distribute a Skill Across All Agents
A global skill must exist at all five locations on the user's Mac, directly or via symlink, for every agent to discover it.
Skill locations
- Codex / OpenAI Agents:
~/.agents/skills/is canonical. Author skills here first. - Claude Code:
~/.claude/skills/→~/.agents/skills/; covered automatically. - Pi Agent:
~/.pi/agent/skills/→~/.agents/skills/; covered automatically. The nested/agent/is required, not~/.pi/skills/. - Hermes Agent:
~/.hermes/skills/is an independent copy; only Hermes needs copying. - Cursor (IDE + CLI):
~/.cursor/skills/is a real folder that does not reliably read~/.agents/skills/. Add one symlink per skill. Never use~/.cursor/skills-cursor/; it holds Cursor's built-ins.
Workflow
- Author in
~/.agents/skills/<skill-name>/SKILL.md, followingeffective-agent-skills. - Verify the Claude symlink (one-time check):
If it is a real directory, copies have diverged, ask before touching.ls -la ~/.claude/skills # Expect: ~/.claude/skills -> ~/.agents/skills - Copy to Hermes; Claude and Pi are covered by symlinks:
SKILL=<skill-name> cp -r ~/.agents/skills/$SKILL ~/.hermes/skills/ - Symlink into Cursor (skip if it already exists):
If a real Cursor copy exists and differs, compare versions and ask before replacing.[ -e ~/.cursor/skills/$SKILL ] || ln -s ~/.agents/skills/$SKILL ~/.cursor/skills/$SKILL - Verify matching byte counts at all five locations:
All five numbers must match. If Claude, Pi, or Cursor differs, investigate the symlink before proceeding.for p in ~/.agents/skills/$SKILL ~/.claude/skills/$SKILL ~/.pi/agent/skills/$SKILL ~/.hermes/skills/$SKILL ~/.cursor/skills/$SKILL; do echo "$p: $(wc -c < $p/SKILL.md) bytes" done

