Project skill named code-review silently shadows built-in /code-review, making /code-review ultra unreachable

Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 29, 2026

Description

A project-level skill named code-review (in .claude/skills/code-review/) silently shadows the built-in /code-review command. Typing /code-review ultra therefore never reaches the built-in ultrareview flow — instead the local skill is invoked with ultra passed as an ordinary argument, which the skill can't interpret (it expects a git ref).

There is no warning at invocation time that a built-in command was shadowed, and no syntax to explicitly address the built-in when a project skill has claimed the name. The user never sees the ultrareview confirmation/billing dialog and gets no signal about why.

Steps to reproduce

  1. In a git repo, create a project skill at .claude/skills/code-review/SKILL.md (any content — e.g. a custom diff-review skill).
  2. Run Claude Code in that repo and type /code-review ultra.

Expected

Either the built-in /code-review ultra runs, or the user is told the built-in command is shadowed by a project skill and how to reach the built-in (e.g. an explicit namespace/prefix for built-ins).

Actual

The project skill runs with ultra as its argument. No shadowing warning. The only discovered workarounds are the deprecated /ultrareview alias (works only because no skill claims that name) or temporarily moving the skill directory aside.

Suggested fixes (any of)

  • Warn at invocation when a project skill shadows a built-in command name.
  • Provide an explicit way to invoke the shadowed built-in (e.g. /builtin:code-review).
  • Reserve built-in command names so project skills can't claim them.

Environment

  • Claude Code v2.1.220
  • macOS (Darwin 24.6.0), zsh

View original on GitHub ↗