Built-in commands you'll actually use
Slash commands are deterministic — they execute fixed logic, not AI prompts. The dozen or so built-ins cover the moments when you don't want the model interpreting you.
The ones that pay rent every session: /compact when context gets large (summarizes history, frees tokens), /cost to see real-time spend, /effort low|medium|high|max to dial reasoning depth, /model to switch mid-session, /permissions to inspect rules, /init for project bootstrap. /help dumps the full list any time.
Custom slash commands live in .claude/commands/name.md — write a markdown file, get a /name. $ARGUMENTS in the body is replaced with whatever you typed after the command name. Two minutes to set up, you stop retyping the same review prompt.