Anvil is an alpha testing release. It may have bugs. If something here doesn't match what you see, tell us.
The Crucible puts a hard decision in front of a room of deliberately different voices. They argue it out in private, go after each other's weak points, and hand you one sharper answer, while changing your mind is still cheap.
The Crucible is part of Anvil Pro. The Free plan doesn't include it: on Free, Anvil won't run a debate and your assistant isn't offered one. If you move from Pro back to Free, every debate you already ran stays readable. Compare the plans in the Anvil docs.
Most decisions that go wrong weren't made carelessly. They were made by a room that agreed too quickly. The objection that would have saved the plan usually existed. Nobody said it out loud, or it arrived after launch, from a customer, an auditor, or someone trying to abuse what you built.
The Crucible gives a decision somewhere to meet its hardest objections first. Before you commit to a design, a launch or a policy, you put the question to a room built to disagree: a voice that assumes the plan already failed and explains why, one that asks whether it's even the right question, specialists who know the field, and voices that think like the people who will misuse it. They argue, concede and sharpen. What comes back is the answer that survived.
It's private. Nobody else is in the room. Every voice is played by the model you already use with Anvil, and the whole debate is saved on your computer for you to read, search and keep.
You're making a choice you'll live with for years. It touches money, personal data, security or the law. You're about to launch, change a price or set a policy. Or the honest question is simply "what are we missing?"
You need a quick fact, the decision is easy to undo, or the question has one right answer. A debate takes several minutes and uses far more of your model allowance than an ordinary question.
Written for people. Every voice is told to argue in plain, everyday language and to explain any technical term it can't avoid the first time it uses it. You should be able to hand the transcript to someone who wasn't there and have them follow every step.
The voices in the Crucible are called Embers. An Ember isn't a model told to "act like an expert". It is a character written by hand: the stance it argues from is set down in so many words, so it pushes where it is meant to push and doesn't let things slide.
Every Ember starts from a character. The Skeptic is told to attack every assumption, demand evidence and never agree just to agree. The Pragmatist is told to prefer the simplest thing that solves the real problem and push back on gold-plating.
To give a character expertise, fuse it with one of your Anvil skills by joining the two with a plus sign. skeptic+rust-development seats a Skeptic who knows Rust, shown in the transcript as Skeptic · Rust Architect. Any skill in your skill list can be fused, and its text becomes that Ember's knowledge.
The best debates come from voices built for that discussion: a job the debate needs, joined to a temperament that sharpens it. A field isn't one fixed voice. On card payments, someone checking you're ready for an audit, the auditor, and the person who fixes what the audit found are three different people with three different arguments. Choose the job, give it the stance that suits it, and seat only the voices the question needs.
If the expertise you need isn't in your skill list, write it as a skill of your own and fuse it in.
When you name the voices, Anvil seats exactly those, in your order, and adds nobody. It won't slip in a compliance officer you didn't ask for. A debate needs at least two voices.
A name Anvil doesn't recognise still gets a seat, as a general good-faith debater under that name, without a written stance. If a voice seems to have lost its edge, check the spelling against the list below.
Leave the voices blank and Anvil seats a room for your question. It starts small on purpose, with three debating voices:
Most plans are reviewed as if every user will be patient, honest and paying attention. Real people are tired, take the default, follow whatever incentive is in front of them and find the shortcut you didn't intend. Some of them are actively looking for a way to abuse what you built. A review that only imagines good-faith users misses both.
The Crucible has voices for each of them.
Argues from how people really decide and behave under pressure: biases, defaults and incentives, not how we wish they'd act.
behavioral-psychologist
Thinks like an attacker working the people, not the code: social engineering, pretexts, manipulation, the con.
threat-actor
Asks how this gets abused at scale: harassment, spam, fraud and misuse. How the thing is turned against the people using it.
trust-safety
Plays the intelligent adversary. How would you defeat, game or exploit this on purpose? Finds the perverse incentive and the failure the plan assumes away.
red-teamer
Argues the opposite on purpose. Assumes the plan already failed and says exactly why, before it does.
devils-advocate
Asks who could be harmed and whether this is right, not just whether it works: consent, fairness, privacy, and the precedent it sets.
ethicist
Every debate is also handed the same short list of questions, and the room must answer each one that applies:
So a blind spot becomes a question the room has to answer, rather than something it catches only if someone happens to mention it.
You're adding referral credits: invite a friend and you both get a month free. Seat a Behavioral Psychologist, Trust & Safety, the Threat-Actor Mindset and a CFO, and ask how it will be gamed. This is the room that raises people referring themselves from throwaway email addresses, organised credit farming, users pressuring their friends, and what all those free months cost if the scheme works too well.
anvil crucible "We're adding referral credits: invite a friend and you both get a month free. How will people game it, and what should we change before launch?" --embers behavioral-psychologist,trust-safety,threat-actor,cfoThis isn't paranoia. These people will meet your product either way. The Crucible is the cheapest place to meet them first.
devils-advocate, trust-safety, cfo. Names come from the list below.Ask your connected assistant to put a decision through the Crucible. On Pro, Anvil also tells your assistant to reach for the Crucible by itself when a call is hard, contested or risky.
The assistant hands the debate to Anvil and carries on with your conversation. When the debate finishes, the result is delivered to it on your next turn, so you don't have to ask. If you want particular voices, say so: Anvil seats exactly the voices your assistant passes on.
See the room and a rough cost first. This spends nothing.
anvil crucible "Should we store card details ourselves?" --planRun it with a room you chose, over two rounds
anvil crucible "Should we store card details ourselves?" --embers devils-advocate,privacy-officer,skeptic+security-essentials --rounds 2| Add this | What it does |
|---|---|
--embers a,b,c | Seat exactly these voices. Join a skill with +, as in skeptic+rust-development. Leave it out and Anvil picks the room. |
--plan | Show the room, the knowledge in play, the rounds and a rough cost, without running anything. |
--rounds 2 | How many rounds of cross-examination follow the openings. Three by default. |
--converge | The voices must agree on the answer between themselves. Without it, the neutral chair writes the answer. |
--build | Put the room together step by step: walk through the voices one at a time and fuse skills as you go. |
--save name | Save the room you used under a name. --cast name runs it again. anvil cast list shows your saved rooms and anvil cast rm name retires one. |
--promote | Keep the conclusion as a memory (see below). |
--learn | Pull the general lessons out of the debate so Anvil can learn from them. This costs one extra pass of your model. |
--history | Read past debates instead of running one. --forget id deletes one. |
--role offline | Keep the whole debate on models running on your own machine or network (see below). |
By default every Ember is played by the same model, wearing a different character: the one you've already set up in Anvil, such as your own Claude sign-in or an API key you added. We don't run your debates on our servers, and you pay for them the way you already pay for that model.
A debate is many questions to your model, asked one at a time: an opening from every voice, a turn from every voice in every round, then the answer. That is why it takes several minutes and uses far more of your allowance than a single question. The preview gives a rough estimate in tokens, the unit model providers measure usage in. In the app you can set a cap so a debate never starts above it.
Anvil never runs a Crucible on its own in the background. A debate happens only when you, or your assistant on your behalf, asks for one.
Questions about data that must not leave your machine. Add --role offline. Every voice then uses only the models you run yourself, on your computer or local network. If none is available, the debate stops rather than fall back to a cloud service.
anvil crucible --history.--promote, or ask your assistant to). Only the conclusion becomes a memory, with a pointer back to the full debate. The transcript stays in your debate history, where you can read it, but it isn't pulled into your assistant's memory.--learn pulls out the general lessons, the rules of thumb rather than this one answer, so they can help in future work.--forget.Use these names with --embers or in the app's Manual mode. Add +skill-name to fuse any of them with a skill.
| Name | How it argues |
|---|---|
skeptic | Attacks every assumption, demands evidence, and never agrees just to agree. |
pragmatist | Goes for what ships and works; pushes back on gold-plating. |
security-hawk | Assumes adversaries; weighs every choice by how much damage it does when it goes wrong. |
visionary | Argues for the ambitious version and the bigger opportunity being missed. |
user-advocate | Speaks for the person on the other side of the screen: clear, honest and kind to use. |
first-principles | Breaks the problem down to what is certainly true and rebuilds from there. |
systems-thinker | Traces knock-on effects and incentives, and what this will quietly make worse elsewhere. |
red-teamer | Plays the intelligent adversary trying to defeat or game the plan. |
realist | Weighs it as it will really play out: time, budget, human nature. |
optimist | Makes the concrete case for what could go right and for acting now. |
ethicist | Asks who could be harmed and whether it is right, not just whether it works. |
data-analyst | Demands the numbers and flags any claim that isn't backed by them. |
simplifier | Cuts to the smallest thing that could possibly work. |
synthesizer | Looks for the position that keeps the strongest of each side. |
| Group | Names |
|---|---|
| Leadership & strategy | founder-strategist coo chief-of-staff |
| Finance | cfo accountant financial-analyst tax-compliance |
| Legal | general-counsel contracts-ip privacy-officer |
| Product & design | head-of-product product-manager ux-researcher ux-designer |
| Engineering | architect backend-engineer frontend-engineer security-engineer sre-devops qa-lead data-scientist |
| Go-to-market | head-of-sales marketing-brand copywriter customer-success |
| People & delivery | people-ops project-manager business-analyst |
| Challengers | devils-advocate end-user-advocate |
| People & bad actors | behavioral-psychologist threat-actor trust-safety |
| Regulation | hipaa gdpr pci-dss cmmc soc2-iso |
| Methods & frameworks | mitre-attack owasp pmp scrum-coach itil |
| Further specialists | performance-engineer dba incident-responder pricing-strategist growth-analyst technical-writer procurement |
In the app, open Settings › System and choose Report a bug, or run anvil report-bug "what happened". Reports include your account email if you are signed in to a paid plan, and never include your memories, prompts or code. For everything else Anvil does, see the Anvil docs; to install it, start with getting started.