Summary
commands/pr.md and commands/prp-pr.md have byte-identical description: frontmatter and near-identical bodies. Because the description is the only text a model sees when selecting from the skill/command listing, these two entries are not merely similar — they are indistinguishable at selection time.
Reproduce
Against main (verified 2026-08-29):
gh api repos/affaan-m/ECC/contents/commands/pr.md?ref=main --jq .content | base64 -d > /tmp/pr.md
gh api repos/affaan-m/ECC/contents/commands/prp-pr.md?ref=main --jq .content | base64 -d > /tmp/prp-pr.md
grep -m1 '^description:' /tmp/pr.md /tmp/prp-pr.md
diff /tmp/pr.md /tmp/prp-pr.md
Both descriptions:
description: "Create a GitHub PR from current branch with unpushed commits — discovers templates, analyzes changes, pushes"
Both bodies are 184 lines. diff reports three hunks: an attribution line, one table cell (Use /prp-commit to commit.), and a heading.
Impact
Measured in a blind selection test over the full 401-entry listing (307 skills + 94 commands), judging from description text only:
Prompt: "Create a GitHub PR from this branch."
Result: correct action identified with HIGH confidence; which entry serves it is undecidable. The description cannot separate them — only the filename differs.
Every PR-related request costs the model a coin-flip between two entries, and any future fix to one will silently diverge from the other.
Suggested fix
Either drop prp-pr and let /pr serve both paths, or mark it as an alias in its own description — the pattern the orch-* commands already use successfully ("Wrapper that kicks off the orch-add-feature skill"):
description: "Alias of /pr for the PRP workflow series — identical PR creation, differing only in suggesting /prp-commit for uncommitted changes. Use /pr unless mid-PRP-series."
Same pattern applies to learn / learn-eval and gradle-build / kotlin-build, which overlap less severely.
Summary
commands/pr.mdandcommands/prp-pr.mdhave byte-identicaldescription:frontmatter and near-identical bodies. Because the description is the only text a model sees when selecting from the skill/command listing, these two entries are not merely similar — they are indistinguishable at selection time.Reproduce
Against
main(verified 2026-08-29):Both descriptions:
Both bodies are 184 lines.
diffreports three hunks: an attribution line, one table cell (Use /prp-commit to commit.), and a heading.Impact
Measured in a blind selection test over the full 401-entry listing (307 skills + 94 commands), judging from description text only:
Every PR-related request costs the model a coin-flip between two entries, and any future fix to one will silently diverge from the other.
Suggested fix
Either drop
prp-prand let/prserve both paths, or mark it as an alias in its own description — the pattern theorch-*commands already use successfully ("Wrapper that kicks off the orch-add-feature skill"):Same pattern applies to
learn/learn-evalandgradle-build/kotlin-build, which overlap less severely.