The Real Problem: Claude Doesn't Know What You Mean

The main problem with Claude (and actually all human communication) is this: When we tell someone what we want, we assume they think like we do. My previous post was exactly this problem - I knew the concept in my head, thought my AI explanation would work. It didn't. shitty post 😅

Everything we tell AI is subjective - stuff from our own heads. We need to translate these subjective things into objective, concrete concepts that AI can understand. Like translating from English to Turkish.

AI doesn't understand us. Actually, we don't understand ourselves. That's why we need to teach AI our personal translation methods - so it knows what we really mean when we say something.

The Solution: Output Styles

Claude has this thing called output styles. You can read about it on Claude's page here. Output styles completely replace Claude's system prompt with your text. Not using commands or CLAUDE.md files - because CLAUDE.md doesn't work like a system prompt. Output styles do.

You can create different output styles for each project, but I don't think you need to. Why? Because we're translating our speaking style, not describing the project. We're translating our own directives.

I tell Claude: When I say "make this cleaner", remove all comments - code should explain itself. If I can understand it by looking, no need to explain. One logic per line.

The basic idea: What do I mean when I say something? Write that in a file.

How It Works

The file structure is: "When I say this, do this, this, this, this." Think of it like a decision tree.

Here's an example from my system:

<!-- `.claude/output-styles/intent-router.md` -->
"commit this":
    Run in parallel:
        git status
        git diff --cached
        git log -5
    Check ownership:
        MINE or YOURS?
        DELETED → Don't restore
    if mine:
        git restore --staged <my_files>
        Don't commit my files
    if yours:
        git add path (not . - selective)
    Commit message:
        CONCRETE CHANGES: port 3000→8080, validateToken() deleted
        FORBIDDEN: added, updated, fixed
        type(scope): concrete change
        What changed (A→B format)
        Co-Authored-By: Claude <[email protected]>

"trash" / "garbage":
    ...

"analyze this":
    ...

Look at this file. When I say "commit this", it runs git status, git diff, git log. Then checks who wrote it. If I wrote it, restores it (removes from commit). Puts its own changes in commit. Then commits. That's one flow.

The Core Concept

We're writing how our speech should be translated. When I say this, do that.

Don't worry about the filename - I change it constantly. The filename is for you. Name it whatever makes sense in your world.

Why This Works

Before: I say something subjective, Claude guesses wrong, I explain again, still wrong, I give up.

After: I say something subjective, Claude knows exactly what I mean, does it right.

The difference? I taught Claude my personal dictionary.

Try it. Create .claude/output-styles/your-dictionary.md. Add your translations. Watch it work.

Beyond Code: The Self-Knowledge Connection

The clearer you know yourself, the better you can translate your needs to AI.

I explored this deeper with ClarityOS - an experimental AI project focusing on self-knowledge first. It's currently in selective waitlist mode (not commercial, just exploring the concept, so I pay for API cost). Because unclear mind = unclear prompts = useless AI responses.

The pattern is universal: Know yourself → Express clearly → Get what you need.

Whether it's code, life decisions, or AI interactions.

More at yemreak.com

About This Post

I tried using AI to explain this concept before. It failed. Nobody understood it. That's valuable feedback.

This post is me talking directly - explaining what's in my head. AI just translated it to English. No fancy formatting, just the raw concept.

I need your criticism. What doesn't make sense? What's confusing? What's missing? Tell me straight. The harsher the better. I'm trying to learn how to communicate this properly.

Your attacks help me understand what needs better explanation. So please, be merciless.

Last updated

Was this helpful?