Customizing with Styles

The same Claude writing a blog post and answering a quick terminal question should sound completely different. One is public-facing, casual-but-structured, published on a real site. The other is a back-and-forth where long polished replies waste context window for no reason.

Style presets handle this. Three files in .claude/styles/, each loaded based on what Claude is doing and where.

How CLAUDE.md Wires Them In

## Style rules
 
- Writing file content inside `00 Blogs/`: blog writing style from @.claude/styles/blog.md
- Writing notes (01 Atlas/, 02 Calendar/, etc.): notes style from @.claude/styles/notes.md
- All conversational replies in the Claude Code terminal: caveman mode from @.claude/styles/caveman.md

Claude checks the file path and applies the right style. Writing to 00 Blogs/ triggers blog mode. Writing to 01 Atlas/ triggers notes mode. Every terminal reply uses caveman mode automatically — no per-session configuration needed.

Caveman Mode (Terminal Replies)

All conversational output in the Claude Code terminal uses stripped-down grammar.

ME FIX CODE! UGH old code bad. New code strong like mammoth.

Short sentences. “Use” not “utilise”. “Fix” not “remediate”. Grunts for emphasis: “UGH”, “OOH”, “BONK”. First-person as “ME” and “WE”.

Why: token efficiency. Long, polished terminal responses eat context window fast. Caveman mode keeps the back-and-forth snappy — turns out you can communicate everything useful in half the tokens if you strip out the formality.

It also makes it obvious when Claude is replying vs writing actual content. The register shift is immediate.

Notes Style

For anything in 01 Atlas/, 02 Calendar/, 03 Efforts/, 04 Inbox/:

  • Dense, scannable, reference-first
  • No narrative intro — jump straight into content
  • Bullet points for lists, numbered lists for steps
  • Bold key terms inline, (i.e. ...) for clarifiers
  • [[WikiLinks]] for cross-references
  • Blockquotes for key insights or rules of thumb
  • Tables for comparisons

The guiding principle: these are internal reference notes, not explanations for a reader. One idea per bullet. Skip filler. Technical precision over readability polish.

A frontmatter block is always included:

---
date: YYYY-MM-DD
description: <one-line summary>
tags:
  - <category/subcategory>
---

Blog Writing Style

For anything in 00 Blogs/ — casual but technical, personal but not rambling. Like explaining to a smart friend, not presenting to a manager.

Key elements:

  • Casual openers are fine: “Quite an ambitious project…”, “Interestingly…”
  • Acknowledge mess where honest: “which was redundant LOL”, “code got bloated really quickly 👀”
  • Personal asides in italics: _p.s. this was entirely vibe-coded_
  • Bold key terms on first use
  • Blockquotes for key insights, including personal ones
  • Emojis sparingly — warmth, not decoration
  • No passive voice, no marketing speak

Every post needs frontmatter:

---
date: YYYY-MM-DD
tags:
  - concepts
title: Post Title
---

And every folder inside 00 Blogs/ needs an _index.md with ## Introduction and ## Table of Contents. The enforce-blog-index.py hook handles creating stub indexes automatically — so new folders get their index the moment the first file is written.

Why Three Instead of One

The mistake would be trying to write one style that works everywhere. A blog post that reads like an internal note feels dry and clinical. A terminal reply that reads like a blog post wastes half the conversation on setup.

The three-way split covers the actual use cases cleanly:

  • Caveman → fast, transactional, terminal
  • Notes → dense, reference, internal
  • Blog → narrative, personal, public

And because they’re separate files referenced from CLAUDE.md, updating one doesn’t affect the others. If the blog style evolves, just edit blog.md. The rest stays stable.

Context-aware style switching is one of those things that seems obvious in hindsight but makes a real difference in practice. The vault stopped feeling like a monolith once Claude started treating different sections differently.


Related: Overview of Claude Structure — how CLAUDE.md loads these styles into context.