Claude Code Hidden Commands: ultrathink, /caveman, /loop, /skeptic
Claude Code has useful commands that are easy to miss: ultrathink for deeper reasoning, /caveman for terse output, /loop for repeated tasks, /clear and /compact for context control, and custom commands like /skeptic.

Most Claude Code users learn three or four slash commands and stop there. The tool has more depth than that. Some of it is documented, some of it is community-built, and some of it is a prompt pattern that changes how much work the model does before it answers.
These are the commands from the video, with the trade-offs you should know before using them on a real project.
ultrathink: deeper reasoning
ultrathink is a keyword you put in your prompt, not a slash command. It asks Claude to spend more effort on the problem before answering.
Use it when:
- You are debugging a failure that does not reproduce easily.
- You are designing a schema or an API contract.
- The change crosses several files and the plan matters more than the code.
Do not use it for every request. Longer thinking means more tokens and more time. For a one-line rename, it is wasted effort.
A practical pattern is to ask for a plan first:
ultrathink about the safest way to migrate this module from callbacks to async/await. List the risks before changing files.
Then review the plan and let the agent implement it in a second step.
/caveman: output without the fluff
/caveman is a community command that forces short, direct answers. No long introductions, no restating the question, just the code or the answer.
It is useful when:
- You already know what you want and only need the output.
- You are in a long session and want to save context.
- You are piping the result into another tool.
The video installs it from the community repository. The PowerShell installer is:
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex
Read the script before running any remote installer. If you prefer, open the repository and copy the command file into your Claude Code commands directory manually.
/loop: keep working until the task is done
/loop tells the agent to keep iterating instead of stopping after one attempt. That is useful for tasks such as fixing a failing test, applying a pattern across files, or working through a checklist.
It is also the command most likely to surprise you. Before using it:
- Commit or stash your work so you can inspect the diff.
- Give the agent a clear stop condition.
- Keep destructive commands out of the task.
- Watch the first few iterations instead of walking away.
A good prompt is specific about what "done" means:
/loop fix the failing tests in src/lib. Stop when the full test suite passes. Do not change test expectations.
/clear and /compact: control the context
Long sessions get slower and less accurate because the context window fills up. Two commands help:
/clearwipes the conversation. Use it when you are starting a new, unrelated task./compactsummarizes the conversation and keeps the useful parts. Use it when you want to continue the same task with less context.
A common mistake is to keep one session open for an entire day. Clear it between tasks. Your next answer will be faster and less confused.
Bonus: build your own /skeptic command
Custom slash commands are just Markdown files in .claude/commands. Create the folder and a file:
mkdir -p .claude/commands
Then create .claude/commands/skeptic.md:
---
description: Challenge the current plan before implementation
---
Review the plan in this conversation and challenge every assumption.
List:
1. What could break in production.
2. What the plan does not handle.
3. A simpler alternative.
4. The smallest safe first step.
Do not write code yet.
Now /skeptic is available in that project. You can pass extra text with $ARGUMENTS if you want the command to accept a focus area.
This is the most underrated feature. A custom command lets you encode the review you always forget to do, and it keeps the prompt consistent across sessions.
Safety rules
- Do not run a loop on an uncommitted working tree unless you are ready to reset it.
- Do not paste secrets into a custom command file.
- Keep commands small and reviewable.
- Treat
/loopas automation with a blast radius, not a magic button.
Final thoughts
The command list is short, but the leverage is real. Use ultrathink for hard problems, /caveman when you want signal only, /loop with a clear stop condition, and /clear between unrelated tasks. Then write one custom command for the review step you keep skipping.
- ultrathink asks for deeper reasoning on hard problems, at the cost of more tokens.
- /caveman reduces output length and saves context.
- /loop keeps the agent iterating on a task until it finishes or you stop it.
- /clear resets context; /compact summarizes it instead.
- Custom slash commands live in .claude/commands and can encode your own review workflow.