Skip to content

Codex: duplicate skills appear because setup installs nested SKILL.md sidecars under ~/.codex/skills/gstack #235

@wmzhai

Description

@wmzhai

After installing gstack for Codex, Codex shows duplicate skill entries in the $ skill picker/autocomplete.

What I observed:

  • Browse appeared twice
  • Review, QA, and several other gstack skills also appeared twice
  • The duplicates showed up even when I was working in other repositories, so this was not just a single-project .agents/skills vs global install conflict

Environment:

  • gstack 0.9.0
  • Codex CLI 0.116.0

Repro:

  1. Install or reinstall gstack for Codex with:
    ./setup --host codex
  2. Open Codex and type $ to open the skill picker/autocomplete
  3. Notice that some gstack skills appear twice, especially Browse

Why this seems to happen:

  • The Codex install creates top-level skills such as:
    • ~/.codex/skills/gstack-browse/SKILL.md
    • ~/.codex/skills/gstack-review/SKILL.md
    • ~/.codex/skills/gstack-qa/SKILL.md
  • But it also installs a runtime sidecar at ~/.codex/skills/gstack/
  • In the buggy layout, that sidecar also exposed nested skill directories/files such as:
    • ~/.codex/skills/gstack/browse/SKILL.md
    • ~/.codex/skills/gstack/review/SKILL.md
    • ~/.codex/skills/gstack/qa/SKILL.md
  • So Codex ends up discovering the same logical skill from two different paths

Expected:

  • Each gstack skill should appear exactly once in the Codex skill picker

Actual:

  • Codex discovers duplicate gstack skills because the sidecar directory under ~/.codex/skills/gstack contains nested SKILL.md files in addition to the top-level gstack-* skills

Suggested fix:

  • Keep ~/.codex/skills/gstack as a runtime sidecar only
  • Do not link whole browse/, qa/, or review/ directories into it if they contain SKILL.md
  • Expose only the runtime assets the generated skills actually need, for example:
    • bin/
    • browse/dist/
    • review/checklist.md
    • review/design-checklist.md
    • review/greptile-triage.md
    • review/TODOS-format.md
  • Keep user-facing discoverable skills at the top level only, e.g. gstack-browse, gstack-review, gstack-qa, etc.

This looks like an installation-layout bug in gstack rather than a Codex UI bug.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions