Install
$ agentstack add skill-davidondrej-skills-distribute-skill-to-all-agents ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
About
Distribute a Skill Across All Agents
The user has 4 agent skill locations on his MacBook. 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
- Author the skill in
~/.agents/skills//SKILL.md(canonical). Followeffective-agent-skillsSKILL.md guidance. - Verify the
.claudesymlink 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.
- Copy to
.hermesonly (.claudeand.piare symlinks — already covered):
``bash SKILL= cp -r ~/.agents/skills/$SKILL ~/.hermes/skills/ ``
- 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/skillsis 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/skillsis a symlink →.agents/skills. Don'tcpinto it (errors "are identical"); it auto-syncs. Only.hermes/skillsis 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.mdmust 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 -rffrom~/.agents/skills/(covers.claude+.pisymlinks) 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.
- Author: davidondrej
- Source: davidondrej/skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.