Summary
On current Codex, hey skill install produces two identical Personal /hey skill entries. Basecamp’s basecamp skill install does not have this problem.
Environment
- macOS (Apple Silicon)
- HEY CLI 0.2.0 (Homebrew cask
basecamp/tap/hey)
- Codex with personal-skill discovery of both
~/.agents/skills and ~/.codex/skills (no name dedupe)
Reproduction
- Install/auth HEY CLI 0.2.0
- Run
hey skill install
- Observe output: writes
~/.agents/skills/hey/SKILL.md, symlinks Claude, and copies to ~/.codex/skills/hey/SKILL.md
- In Codex, type
/hey
Actual
Two indistinguishable Personal entries for Hey (same name/description). Codex loads both skill roots and does not dedupe by skill name.
Expected
One Personal /hey entry. Prefer the shared agents location only:
- write
~/.agents/skills/hey/
- symlink
~/.claude/skills/hey when Claude Code is present
- do not also copy into
~/.codex/skills/hey when Codex already discovers ~/.agents/skills
Comparison (Basecamp does not duplicate)
basecamp skill install --help says it only copies to ~/.agents/skills/basecamp/ and symlinks Claude. It does not write ~/.codex/skills/basecamp. With that layout, Codex shows a single /basecamp.
hey skill install --help currently says it also “copies it for Codex when Codex is installed,” which is what creates the twin under today’s Codex discovery rules.
Suggested fix
Align HEY with Basecamp:
- Install only to
~/.agents/skills/hey (+ Claude symlink)
- Stop copying to
~/.codex/skills/hey (or make it opt-in / skip when ~/.agents/skills is already on Codex’s skill path)
- Optionally: if an old
~/.codex/skills/hey exists from prior installs, warn or offer to remove it so upgrades clean up duplicates
Happy to test a PR build.
Summary
On current Codex,
hey skill installproduces two identical Personal/heyskill entries. Basecamp’sbasecamp skill installdoes not have this problem.Environment
basecamp/tap/hey)~/.agents/skillsand~/.codex/skills(no name dedupe)Reproduction
hey skill install~/.agents/skills/hey/SKILL.md, symlinks Claude, and copies to~/.codex/skills/hey/SKILL.md/heyActual
Two indistinguishable Personal entries for Hey (same name/description). Codex loads both skill roots and does not dedupe by skill name.
Expected
One Personal
/heyentry. Prefer the shared agents location only:~/.agents/skills/hey/~/.claude/skills/heywhen Claude Code is present~/.codex/skills/heywhen Codex already discovers~/.agents/skillsComparison (Basecamp does not duplicate)
basecamp skill install --helpsays it only copies to~/.agents/skills/basecamp/and symlinks Claude. It does not write~/.codex/skills/basecamp. With that layout, Codex shows a single/basecamp.hey skill install --helpcurrently says it also “copies it for Codex when Codex is installed,” which is what creates the twin under today’s Codex discovery rules.Suggested fix
Align HEY with Basecamp:
~/.agents/skills/hey(+ Claude symlink)~/.codex/skills/hey(or make it opt-in / skip when~/.agents/skillsis already on Codex’s skill path)~/.codex/skills/heyexists from prior installs, warn or offer to remove it so upgrades clean up duplicatesHappy to test a PR build.