// AI Coding Tools

Claude Code Hidden Commands: ultrathink, /caveman, /loop, /skeptic

Ghost Dev Explains
Updated May 25, 2026
4 min readintermediate
// quick answer

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.

// video

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:

  • /clear wipes the conversation. Use it when you are starting a new, unrelated task.
  • /compact summarizes 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 /loop as 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.

// key takeaways
  • 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.
// FAQ
Is ultrathink an official command?
It is a prompt keyword that asks Claude to think longer. It is not a slash command, and it can use more tokens than a normal request.
What does /caveman do?
It is a community command that makes responses short and direct. It is useful when you only want output, not a long explanation.
When should I use /clear instead of /compact?
Use /clear when the current context is no longer relevant. Use /compact when you need to keep the thread but reduce its size.
Are custom commands safe?
They are just prompt files in your project. Review them like any other code, and do not let a command run destructive shell steps without approval.