← ClaudeAtlas

diagnosing-commandslisted

Use to diagnose and fix ZCode custom slash-command (/command) configuration problems in the ZCode client. Applies when a command is missing, is overridden by a higher-precedence command of the same name, has a frontmatter parse error, is dropped for having an empty body, has an invalid name, does not substitute $ARGUMENTS/$1, uses a colon rather than a slash for nested names, has a misspelled frontmatter key, or disappears because the plugin providing it is disabled. Provides the discovery order, how to inspect commands in the client, common pitfalls, and a step-by-step localization and repair workflow.
phoben/agent-skills · ★ 0 · AI & Automation · score 70
Install: claude install-skill phoben/agent-skills
# Diagnosing Command Configuration Goal: reduce any `/command` problem to a single concrete fix. A person inspects commands from the **`/` menu** (the Commands group) in the input box; an agent inspects by reading the command files at the locations below. > Two points that are often misunderstood: nested command names join with a **colon** (`review/code.md` becomes `/review:code`, not `/review/code`); and a command is a `.md` file whose **file name is the command name**. ## 1. Discovery order (earlier locations take precedence) 1. Explicitly configured roots 2. User `~/.zcode/commands` 3. User `~/.agents/commands` 4. Workspace `.zcode/commands` (from the current directory up to the repository root; every level counts) 5. Workspace `.agents/commands` 6. Enabled **plugin** command roots (lowest precedence) Within a level, `.zcode` is scanned before `.agents`. Subdirectories are scanned recursively, and a nested path joins into the command name with a colon. ## 2. Deduplication rule (first match wins) The key is the **normalized command name** (the relative path with `.md` removed, separators replaced by `:`, lowercased). The **first occurrence — the highest-precedence location — wins**: user overrides workspace, `.zcode` overrides `.agents`, and local files override plugins. Duplicates are ignored. There is also an **interactive-surface-only** filter: a command whose name matches a built-in slash command (or `compress`) is filtered out of the live `/` menu, though it i