Same message, five styles

One workplace recommendation, rendered through each of Claude's five built-in writing styles. The facts, the recommendation, the audience and the required action are identical in all five. Only the mechanism changes.

Responding to

In Defense of Mechanical Writing — On Data and AI, 20 August 2026. That piece asks what one piece of writing looks like rendered through STE100, BLUF, Pyramid Principle, SCQA and PREP; the side-by-side matrix puts the results against each other. This one asks the narrower question beside it: what happens when the mechanism is not a writing standard at all, but a style setting shipped inside the model.

Held constant

The experimental control

The method is to hold the message still and vary only the mechanism. These four do not change between renderings. Had any of them moved, the comparison would be measuring the wrong thing.

Facts
Undocumented transformations in the customer-events pipeline
Recommendation
Core warehouse tables now, customer-events in January
Audience
Leadership, upward
Required action
Confirmation by Friday
Input

The source text

A short piece of workplace writing, unmodified. Everything below is this paragraph passed through a style.

Unstyled baseline 124 words Single paragraph

We have been looking at the data-platform migration over the last two weeks. The team found that the existing customer-events pipeline has several undocumented transformations, and rebuilding it before the end of the quarter may create reporting discrepancies for Finance and Customer Success. We could delay the migration, reduce the scope, or proceed as planned and address issues as they arise. Based on the risks and the time remaining, I think we should move the core warehouse tables this quarter and postpone the customer-events pipeline until January. This would let us complete the work needed for the new reporting environment without putting the quarterly close at risk. We need leadership to confirm this approach by Friday so the team can finalize its implementation plan.

Which styles these are. Claude ships built-in styles on two surfaces. On claude.ai, Normal, Concise, Explanatory and Formal. In Claude Code, Default, Proactive, Concise, Explanatory and Learning. Normal and Default are the unstyled voice. Concise and Explanatory ship on both surfaces but are authored separately for each.

The source text is not the control. It is a human-written memo, and Claude did not produce it. Comparing five styled outputs against it would attribute to the styles whatever Claude changes simply by rewriting. So the first rendering below is Normal — the same memo with no style set — and that is what the other five should be read against.

Output

The control, then five styles

Normal comes first: the memo with no style set. Word counts are measured, not estimated, and each bar is scaled against the 124-word source text. Explanatory and Learning land within one word of each other and spend that length on entirely different things. Ordered so the two styles that change behaviour rather than voice sit together at the end.

Words, scaled to 350 124-word baseline

Normal Control

claude.ai · Claude Code

The control. No style set — what Claude does with the memo when nothing is asked of it.

139 words+12%

We've been reviewing the data-platform migration for the past two weeks, and the team found something worth raising before we commit to a timeline.

The existing customer-events pipeline contains several undocumented transformations. Rebuilding it before the end of the quarter could create reporting discrepancies for Finance and Customer Success, and they would be dealing with those during the quarterly close.

That leaves three options: delay the migration, reduce the scope, or proceed as planned and handle issues as they come up.

Given the risks and the time remaining, I'd recommend reducing scope. Move the core warehouse tables this quarter and postpone the customer-events pipeline until January. That gets us the new reporting environment on schedule without putting the quarterly close at risk.

We'll need leadership to confirm the approach by Friday so the team can finalize its implementation plan.

Concise

claude.ai · Claude Code

Cuts. Keeps the decision and the ask, discards the reasoning that supports them.

70 words−44%

Two weeks of review on the data-platform migration. The customer-events pipeline has several undocumented transformations; rebuilding it this quarter risks reporting discrepancies for Finance and Customer Success.

Options: delay, reduce scope, or proceed and fix as we go.

Recommendation: move the core warehouse tables this quarter, postpone customer-events to January. Gets us the new reporting environment without risking quarterly close.

Need leadership confirmation by Friday to finalize the implementation plan.

Explanatory

claude.ai · Claude Code

Expands backwards. Spends its length on why the finding threatens the close.

335 words+170%

Over the last two weeks we've been assessing the data-platform migration, and I want to explain what we found and why it changes the plan.

The issue is the existing customer-events pipeline. When the team traced it end to end, they found several transformations that exist only in the code — nothing documents what they do or why. That matters more than it might sound. Downstream reports don't consume raw events; they consume the output of those transformations. So if we rebuild the pipeline without first understanding each one, we can produce numbers that are technically correct against the new platform yet different from what Finance and Customer Success have been reporting all year. Those teams would have no way to tell a genuine data correction from a migration artifact — and they'd be discovering it during the quarterly close, the single worst moment to be reconciling unexplained variance.

That's the reasoning behind the options in front of us. We could delay the migration entirely, which protects reporting but costs us the quarter. We could reduce scope, taking the safe part of the work now. Or we could proceed as planned and address issues as they arise — which, given that the issues here are undocumented by definition, means discovering them in production rather than in advance.

I recommend reducing scope: move the core warehouse tables this quarter and postpone the customer-events pipeline until January. The split works because the two pieces carry different risk. The warehouse tables are well understood and are what the new reporting environment actually depends on, so moving them delivers most of the value. The customer-events pipeline is the part with unknowns in it, and January puts it outside the close window — with time to document the transformations properly before rebuilding them.

We need leadership to confirm this approach by Friday. The team can't finalize its implementation plan until the scope is settled, and the sequencing work has to begin now for the core tables to land this quarter.

Formal

claude.ai

Holds still and re-registers. Same four movements, same order, raised diction.

137 words+10%

The data-platform migration has been under review for the past two weeks. During that assessment, the team identified several undocumented transformations within the existing customer-events pipeline. Rebuilding that pipeline before the end of the quarter may therefore introduce reporting discrepancies for Finance and Customer Success.

Three courses of action are available: delay the migration, reduce its scope, or proceed as planned and resolve issues as they emerge.

Having weighed the associated risks against the time remaining, I recommend that we migrate the core warehouse tables during the current quarter and defer the customer-events pipeline until January. This approach would allow the work required for the new reporting environment to be completed without placing the quarterly close at risk.

Leadership confirmation of this approach is requested by Friday, in order that the team may finalize its implementation plan.

Learning

Claude Code

Changes the relationship. Delivers the reasoning, then hands one input back unresolved.

334 words+169%

Here's how I'd frame this migration decision, and where I think you should weigh in.

We've spent two weeks assessing the data-platform migration. The finding that drives everything else: the existing customer-events pipeline contains several undocumented transformations. The reason that's decisive rather than merely annoying is worth sitting with — downstream reports consume the output of those transformations, not raw events. Rebuild the pipeline without knowing what each one does, and you can produce numbers that are correct against the new platform but inconsistent with what Finance and Customer Success have reported all year. They wouldn't be able to distinguish a real correction from a migration artifact.

That gives us three options, and they trade off along a single axis — how much unknown risk we're willing to carry into the close:

  • Delay the migration. Zero reporting risk, costs us the quarter.
  • Reduce scope. Take the well-understood work now, defer the unknowns.
  • Proceed as planned. Fastest, but the issues here are undocumented by definition, so "address them as they arise" means finding them in production.

My recommendation is to reduce scope: move the core warehouse tables this quarter, postpone the customer-events pipeline until January. The split works because the two halves carry different risk profiles — the warehouse tables are well understood and are what the new reporting environment actually depends on, while the pipeline is where the unknowns live. January also puts that rebuild outside the close window, with time to document the transformations first.

Your turn: I've weighted this on technical risk, because that's what the assessment surfaced. What I can't weigh from here is what a January slip costs on the commitments side — whether anything downstream of the customer-events pipeline has already been promised for this quarter, and to whom. If that promise exists, the calculus changes and option three deserves a second look. That's the piece I need from you before Friday.

We need leadership to confirm the approach by Friday so the team can finalize its implementation plan.

Proactive

Claude Code

Commits. Settles the routine calls itself and starts the work the decision does not block.

212 words+71%

We've spent the last two weeks on the data-platform migration, and the customer-events pipeline is the blocker: it carries several undocumented transformations, and rebuilding it before quarter-end could throw reporting discrepancies at Finance and Customer Success right as they close.

Three ways forward — delay the migration, reduce scope, or proceed and handle issues as they surface. I recommend reducing scope: move the core warehouse tables this quarter and postpone customer-events until January. That delivers the new reporting environment on time without putting the quarterly close at risk.

I need leadership to confirm by Friday so the team can finalize the implementation plan. In the meantime I'm not waiting on that answer to do the useful work — the team is already documenting the undocumented transformations so January's rebuild starts from a known state, and I'm drafting the January scope now so it lands in planning rather than arriving as a surprise. I'll give Finance and Customer Success a heads-up this week that customer-events reporting stays on the current pipeline through year-end, unless you'd rather that came from you.

If Friday passes without a decision, the core-tables work slips too, and we lose the quarter on both halves. Tell me if you want the full risk breakdown or a walkthrough before then.

Reading the results

What each mechanism changes

The source article separates mechanisms that govern language from mechanisms that govern structure. Sorted that way, the built-in styles do not all belong to the same category.

Length is not the variable

Explanatory and Learning differ by one word and produce completely different documents. Word count measures cost, not mechanism — a style guide that optimises for brevity alone would rate these two identically and be wrong about both.

Formal is the clean control

It is the only rendering that leaves the argument's shape untouched — four movements, same order — and changes register alone: contractions removed, agency moved into impersonal constructions, diction raised. The closest thing here to a pure language mechanism, in the sense STE100 is one.

Concise is doing structural work

It compresses, then goes further: it drops the reasoning and leads with decision and ask. That is BLUF's move, arrived at by a different route — which is what makes it read as more opinionated than a word limit should.

Two of them change behaviour, not voice

Learning hands a gap back to the reader; Proactive settles the routine calls and starts work the decision does not block. Both are right in a working session. Upward, Learning reads as under-baked and Proactive commits to things nobody has authorised yet. Same mechanism class, wrong purpose.

A mechanism is chosen against a purpose, or it is not chosen at all.

This is the source article's argument reached from an unexpected direction. A setting built into the model can be right for one reader and wrong for another while changing none of the facts — so no mechanism earns its place on general merit, only against a job. Left on by default, a style is the last job it happened to suit.

Implementation

How to switch styles

None of the renderings above were prompted. No instruction was added to the source text and no mechanism was described to the model — each one is a setting, changed before sending. Here is where that setting lives, on each of the three surfaces.

claude.ai

Web, desktop, mobile · Normal, Concise, Explanatory, Formal

  1. Open the style control in the message composer, below the text you're typing.
  2. Choose a style. Normal is the default, and is what the source text above represents.
  3. Send. Claude can also generate a custom style from sample content that reflects how you write.

Claude Code

Terminal · Default, Proactive, Concise, Explanatory, Learning

  1. Run /config and select Output style. The standalone /output-style command was removed in v2.1.91.
  2. The selection is written to .claude/settings.local.json, so each project carries its own. You can set the outputStyle field there directly instead.
  3. A custom style is a Markdown file in ~/.claude/output-styles or .claude/output-styles, with frontmatter deciding whether Claude keeps its built-in engineering instructions.

The API

Direct API · No built-in styles

There is nothing to switch on here. Behind the API a style is system-prompt text you write and send — so every rendering on this page is reproducible through it, but each one has to be authored rather than selected.

That is the same work a custom style involves on the other two surfaces. The difference is only whether it gets saved somewhere the next person can find it.

Same name, different surface. Concise and Explanatory ship on both, but each surface authors its own. Treat them as relatives, not as the same setting.

Deeper than tone. An output style modifies the system prompt directly, and a custom one drops Claude Code's built-in engineering instructions unless you keep them. Learning's habit of handing work back is a behavioural change, not a vocal one — which is why it misfires in a memo.

A style is not your instructions. CLAUDE.md adds a user message after the system prompt; a style modifies the prompt itself. One says what to know, the other how to say it. They stack.

It applies at the start. The style is read once at session start, so a change takes effect after /clear or in a new session — and it governs the main conversation only. Subagents run their own system prompt and are unaffected.

Every mechanism in that matrix is writable as a custom style.

BLUF, SCQA, PREP, STE100. Once written, a mechanism stops being a discipline someone has to remember at 4pm on a Friday and becomes a setting they can switch to — a materially different proposition for getting a team to adopt one. Read that way, the matrix is a list of styles waiting to be installed.