Expose skill origin and allow deterministic selection when skill names collide

Resolved 💬 1 comment Opened Feb 18, 2026 by vjain419 Closed Mar 29, 2026

Problem

When multiple skills share the same name (e.g., one in $HOME and one in the project), the system loads one without visibility or control. This makes it easy to pick the wrong version, especially when the home version is newer than the project version.

Proposed behavior

Add skill origin metadata and deterministic selection:

  • Show the skill’s origin path/source in the skill list or loading output (e.g., origin: /home/.../skills/...).
  • Provide a priority order for resolving duplicates (e.g., home > project or project > home).
  • Allow explicit selection by path or tag (e.g., SkillName@home or SkillName@/path/to/skills).

Why this matters

Helps users safely manage multiple skill versions and avoid silently loading the wrong one.

Acceptance criteria

  • Skill list displays origin path for each skill.
  • Duplicate names resolve deterministically based on a configurable order.
  • Users can explicitly select a skill by origin/path.

Example

Two skills named uarch-stats exist in:

  • /home/user/.codex/skills/uarch-stats/
  • /path/to/project/.codex/skills/uarch-stats/

Current behavior may choose one implicitly; requested behavior would show which is selected and allow forcing the preferred one.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗