AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Distribute Skill To All Agents

skill-attentiondotnet-davidondrej-skills-distribute-skill-to-all-agents · by attentiondotnet

Distribute a skill across the 4 agent skill folders (Codex, Claude Code, Pi, Hermes) so all agents see it. Use when the user says "distribute this skill", "sync skills across agents", or after creating/updating a skill that should be global. Covers the symlink layout and the ~/.pi/agent/skills trap.

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-attentiondotnet-davidondrej-skills-distribute-skill-to-all-agents

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-attentiondotnet-davidondrej-skills-distribute-skill-to-all-agents)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Distribute Skill To All Agents? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Distribute a Skill Across All Agents

The user has 4 agent skill locations on their machine. A skill must exist in each (or via symlink) to be discoverable by every agent.

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 |

Workflow

  1. Author the skill in ~/.agents/skills//SKILL.md (canonical). Follow effective-agent-skills SKILL.md guidance.
  2. Verify the .claude symlink is intact (one-time check):

``bash ls -la ~/.claude/skills # Expect: ~/.claude/skills -> ~/.agents/skills `` If it's a real directory instead of a symlink, the user has diverged copies — ask before touching.

  1. Copy to .hermes only (.claude and .pi are symlinks — already covered):

``bash SKILL= cp -r ~/.agents/skills/$SKILL ~/.hermes/skills/ ``

  1. Verify all 4 locations show identical byte counts:

``bash 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 ` All four numbers must match. If .claude or .pi` shows a different byte count, that symlink is broken — investigate before proceeding.

Updating an Existing Distributed Skill

Same flow — re-copy from ~/.agents/skills/ to .hermes/skills/. The .claude and .pi symlinks update automatically. cp -r overwrites by default; use rsync -a --delete if the skill folder has nested files that may have been removed:

rsync -a --delete ~/.agents/skills/$SKILL/ ~/.hermes/skills/$SKILL/

Pitfalls

  • ~/.pi/skills/ is the wrong location. Pi Agent loads from ~/.pi/agent/skills/ only. A skill placed in ~/.pi/skills/ is invisible. If you find skills already there, they're orphans — confirm with the user before deleting.
  • ~/.claude/skills is a symlink, not a folder. cp -r ~/.agents/skills/foo ~/.claude/skills/ will error with "are identical". Skip the explicit Claude copy.
  • Project-local skills exist too./.pi/agent/skills/ (or .pi/skills/) inside a repo overrides the global one on collision (later-discovered wins). This skill only handles GLOBAL distribution.
  • .pi/agent/skills is a symlink → .agents/skills. Don't cp into it (errors "are identical"); it auto-syncs. Only .hermes/skills is an independent copy — don't unilaterally consolidate Hermes into a symlink unless the user asks.
  • Hermes snapshots skills at session start. A newly-distributed skill won't appear inside a running Hermes session until restart (it works fine for future sessions and for the other 3 agents immediately).
  • Filename casing matters on case-sensitive volumes. SKILL.md must be uppercase.

When NOT to Use This Skill

  • Skill is project-specific → put it in ./.claude/skills/, ./.pi/agent/skills/, etc. inside the repo, not globally.
  • Editing one agent's skill only (e.g. a Hermes-only workflow) → patch that file directly, don't propagate.
  • Removing a skill globally → rm -rf from ~/.agents/skills/ (covers .claude + .pi symlinks) and from ~/.hermes/skills/ (and confirm with the user first; deletion is destructive).

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.