AI Guides › Workbench
By Nigel Guy · 8 min read
You paste in a plan, a draft or a decision, and Claude replies that it is a strong start with a few small suggestions. It feels like feedback and it is mostly agreement. Some posts sell "secret slash commands" that supposedly unlock a blunter Claude. We could not confirm any hidden, built-in command set of that kind in Anthropic's documentation, and Claude's own help page on personalisation does not mention slash commands at all. What is real, and documented, is that you can write your own.
The rule: a slash command is a saved prompt you wrote, so make each one demand a specific kind of output (objections, failure causes, hidden assumptions) instead of asking for "honest feedback".
In Claude Code, a custom command is a skill: a folder containing a SKILL.md file. Anthropic's docs say custom commands have been merged into skills, and older .claude/commands/<name>.md files still work. In Claude.ai (the chat app) there is no equivalent folder; you save the same text as a project instruction or paste it. Treat the five below as house tools. Nothing here changes the model's settings. It changes the instruction it receives.
| Command | What it does | Best for | Catch |
|---|---|---|---|
/challenge |
Lists the strongest objections to your plan | Plans, pitches, drafts | It will find objections even to good work; you still judge them |
/premortem |
Assumes the plan failed and explains why | Launches, projects | Invented causes can sound more certain than they are |
/assumptions |
Separates what you stated from what you assumed | Business cases, forecasts | Cannot tell which assumptions are true; you must |
/redteam |
Attacks the plan as an informed opponent | Competitive or risky moves | Easy to over-react to a clever but unlikely attack |
/verdict |
Forces a single recommendation with conditions | Choosing between options | False confidence if your inputs are thin |
Cost at time of writing: Claude Code is included in paid Claude plans. Pro is listed at $20 a month (about £15 at time of writing; check the £ price at checkout) and Max starts at $100 a month (about £75 at time of writing). Plans change often, so check the pricing page.
mkdir -p ~/.claude/skills/challenge. The ~/.claude/skills/ location makes it personal, available in every project. Use .claude/skills/ inside a repository to share it with a team.~/.claude/skills/challenge/SKILL.md using the text below./challenge followed by your material. Anthropic's docs say Claude Code watches for skill changes and reloads them in the current session; if a command does not appear, run /skills to list what is loaded.Two frontmatter lines matter here. description tells Claude what the command is for. disable-model-invocation: true means it only runs when you type it, so Claude never fires a harsh critique on its own. $ARGUMENTS is replaced by whatever you type after the command name.
---
name: challenge
description: Give the strongest objections to a plan, draft or decision.
disable-model-invocation: true
---
You are a sceptical senior reviewer whose job is to improve the work, not to please its author.
Material to review: $ARGUMENTS
If the material or its goal is missing or unclear, ask for it before doing anything else. Do not guess the goal.
1. State in one sentence what you think the author is trying to achieve.
2. List the three to five strongest objections, most serious first. For each, give: the objection, the evidence in the material that triggered it, and what would resolve it.
3. Name one thing that is genuinely strong, in one sentence, so the author knows what to keep.
4. End with the single change that would most improve the work.
Constraints: no flattery, no padding, no objections you cannot tie to something in the material. If you lack information to judge a point, say so instead of inventing a concern.
Before answering, check that every objection points to specific text or a specific gap.
Fill in: type your plan or paste your draft after /challenge.
---
name: premortem
description: Assume a plan failed and explain the likely causes.
disable-model-invocation: true
---
You are a project analyst running a pre-mortem. Imagine it is [TIME_HORIZON, e.g. six months] from now and the plan below has clearly failed.
Plan: $ARGUMENTS
If the plan, its timescale or its success measure is missing, ask for them first.
Produce a table with columns: likely cause of failure, early warning sign, cheapest action to take now. Give five to seven rows, ranked by likelihood times damage. Separate causes inside the author's control from those outside it.
Constraints: label every cause as "from the plan" or "general risk". Do not present guesses as facts and do not invent figures.
Check before answering: could someone act on the "cheapest action" column this week?
Fill in: the plan, and swap in your time horizon.
---
name: assumptions
description: Separate stated facts from hidden assumptions in a plan.
disable-model-invocation: true
---
You are an analyst auditing the reasoning in the material below.
Material: $ARGUMENTS
Ask for anything missing. Then produce three lists: (1) claims the author states with support, (2) claims stated without support, (3) assumptions the plan silently depends on. For each item in lists 2 and 3, say how the author could check it and how cheaply.
Constraints: do not judge whether an assumption is true; only whether it is supported. Do not add new facts.
Check before answering: every item must quote or closely paraphrase the material.
Fill in: the material to audit.
These two push harder, so they need more care. Both can produce fluent, wrong conclusions.
---
name: redteam
description: Attack a plan as an informed opponent would.
disable-model-invocation: true
---
You are an informed opponent (a competitor, critic or sceptical customer, as fits the plan) looking for the weakest point in the plan below.
Plan: $ARGUMENTS
Who I think would oppose it: [OPPONENT]
If the plan or opponent is missing, ask. Give the three most credible attacks, how each would play out step by step, and how the author could defend. Rank by credibility, not drama.
Constraints: stay inside what is plausible for this opponent. No illegal tactics, no personal attacks on named people, no invented facts about real companies. Mark anything you are unsure of as a guess.
Check before answering: would a real opponent actually do this?
Fill in: the plan and your realistic opponent. Careful: skip it for anything involving named individuals.
---
name: verdict
description: Force a single recommendation between options.
disable-model-invocation: true
---
You are an advisor asked to commit to a recommendation.
Decision and options: $ARGUMENTS
What matters most to me: [CRITERIA]
What I cannot change: [CONSTRAINTS]
If options, criteria or constraints are missing, ask before answering.
Give: one recommended option, the two reasons that decide it, the condition under which you would change your mind, and a confidence level of low, medium or high with a sentence on why. Then name the option you rejected and the best argument for it.
Constraints: no "it depends" without saying what it depends on. If the inputs are too thin for a real recommendation, say so and list what is missing.
Check before answering: does the confidence level match how much the inputs actually support?
Fill in: the options, your criteria and your fixed constraints. Careful: a confident format does not make the answer correct; for health, legal, money or safety decisions treat it as a prompt for questions to put to a professional.
Hypothetical: you plan a paid newsletter. Run /assumptions first, because it shows which claims have no support. Fix what you can cheaply check. Run /premortem on the revised plan to get early warning signs. Run /challenge on your launch page copy. Only then use /verdict to choose between launching now and building an audience first. Order matters: assumptions first stops the later commands polishing a weak foundation.
disable-model-invocation: true so you choose when.