✦

I Installed 12 Claude Code Skills. Zero Worked.

Here's the config that fixed all of them.

You commented SKILLS. Here's the full breakdown.

Carousel writers. Caption generators. SEO auditors. Research tools. I installed 12 Claude Code skills from GitHub. Every single output sounded generic. Flat. Could have been written by anyone.

The skills were fine. My setup was empty.

Claude Code skills read your configuration on load. No brand memory, no domain rules, no context — every skill runs blind. You get the default output. The same output everyone else gets. I configured 3 things and the same free skills started producing content that sounds like me, follows my frameworks, and matches my brand.

Why skills produce generic output

```

A Claude Code skill is a markdown file that teaches Claude how to do a specific task. Install a carousel skill and Claude knows the structure of a carousel. Install a caption skill and Claude knows how to write captions.

The skill tells Claude what to do. It doesn't tell Claude who you are.

Without brand context, every skill defaults to a generic voice. A carousel skill without your voice writes "5 Tips to Improve Your Content Strategy." A carousel skill with your voice writes "Stop Installing Claude Code Skills Without This." Same skill. Completely different output.

without-config.sh
$ skill:carousel --run
brand_voice: NOT LOADED
framework: DEFAULT

output: "5 Tips to Improve Your Content Strategy"

// Generic. Could be anyone's.
with-config.sh
$ skill:carousel --run
brand_voice: LOADED
framework: 8-SLIDE DEMAND

output: "Stop Installing Claude Code Skills Without This"

// Your voice. Your framework. Your brand.

Same skill. The configuration is the only difference.

```
CONFIG 01

Brand Memory

CLAUDE.md — the file every skill reads first

```

CLAUDE.md sits at the root of your project. Claude Code reads it before every session. Every skill you run inherits this context automatically.

Without it, Claude defaults to a generic assistant voice. With it, Claude starts every task already knowing your brand, your audience, your standards, and your tone.

What goes in your CLAUDE.md

Your brand name, handle, and audience description. Your tone of voice with examples of what sounds like you and what doesn't. Your content pillars and topic boundaries. Your best-performing formats and hooks. What you sell and how you talk about it. Keep it under 100 lines — anything longer starts wasting context.

CLAUDE.md
# Brand
name: Mike Means Business
handle: @mikemeansbusiness_ai
audience: Creators using AI tools for content

# Voice
tone: Direct, technical, honest
never: Hype, fake metrics, vague claims
sounds_like: "I configured this. Here's what happened."
not_like: "Unlock your potential with AI!"

# Frameworks
carousel: 8-slide demand creation
hooks: "Stop doing X" format (proven top performer)
copy: No throat-clearing, no vague declaratives

// Every skill reads this before running.

This file takes 30 minutes to write. You do it once. Every skill you install from that point forward inherits your brand context automatically. No more re-explaining who you are at the start of every session.

For more on how CLAUDE.md works, see the Anthropic docs on Claude Code memory files.

```
CONFIG 02

Domain Rules

CARL — context-aware rules that load per task

```

Your CLAUDE.md gives Claude your brand. CARL gives Claude your workflows.

CARL is a free, open-source repo that replaces one massive config file with domain files — small groups of rules that load based on what you're doing right now. Writing content? Your content rules load. Coding? Your dev rules load. Switch tasks and the rules swap automatically.

This matters for skills because different skills need different rules. Your carousel skill needs your demand framework and copy rules. Your SEO skill needs your keyword strategy and analysis format. Without CARL, you'd have to cram all of those rules into one bloated config file. With CARL, each skill gets the right rules at the right time.

My CARL domains

content.md — 8-slide demand framework, stop-slop copy rules, hook formats, caption structure, hashtag strategy. Loads when I mention carousels, captions, or content.

dev.md — Strict mode, test-first, read before edit, absolute paths. Loads when I'm writing code.

research.md — Source quality filters, date recency, synthesis format. Loads when I'm analysing trends or competitors.

Each domain is 15-30 lines. They load when relevant and disappear when they're not.

GitHub

github.com/ChristopherKahler/carl

291 stars · MIT License · Free & open source

```
CONFIG 03

Skill Routing

How skills connect to your config

```

Config 1 gives Claude your brand. Config 2 gives Claude your rules. Config 3 wires them together so skills read both automatically.

Claude Code skills live in ~/.claude/skills/ or in your project's .claude/skills/ folder. When you trigger a skill, Claude reads the skill file, then checks for a CLAUDE.md in your project, then loads any matching CARL domains. The skill inherits all of that context.

The routing happens automatically. You don't wire each skill to your config manually. You set up the foundation once and every skill you install from that point reads it on launch.

skill-routing.sh
$ "Write a carousel about Claude Code skills"

1. CLAUDE.md loads → brand voice, audience, tone
2. CARL matches "carousel" → content.md domain loads
3. Skill triggers → carousel framework activates
4. Output inherits all three layers

result: On-brand, on-framework, on-voice

// You typed one sentence.
// Three config layers fired automatically.

This is why installing more skills without the foundation doesn't help. The skill knows what to do. It doesn't know who you are or how you work. The config provides that context. Without it, you get default output. With it, you get yours.

```

The setup order

```

Do this before you install a single skill from GitHub.

1
Write your CLAUDE.md
Brand name, voice, audience, frameworks, standards. 30 minutes. One time.
2
Install CARL + write your first domain
Pick the workflow you repeat most. Write 15-20 rules for it. One afternoon.
3
Now install skills
Every skill you add reads your CLAUDE.md and CARL domains on load. The foundation is set. Skills work.
```

Installing CARL

```

Takes 5 minutes. Requires Node.js and Claude Code.

install.sh
# Install CARL globally
$ npm i -g @chrisai/carl-core

# Restart Claude Code
# CARL creates a .carl/ folder with example domains
# Edit those, then write your own

After install, CARL creates example domains in .carl/domains/. Start by editing those to match your workflow. Each domain is a markdown file with a name, recall keywords, and a list of rules. When you mention a keyword in your prompt, CARL auto-loads the matching domain.

Full documentation: github.com/ChristopherKahler/carl

```

What configured skills produce

Real numbers from my account. Same free skills. The config made the difference.

```
293K
views on a single reel
8.4K
comments on one post
30
days of content in one sitting
2hrs
total weekly effort
```

Where to start

```

Write your CLAUDE.md today. Include your name, what you do, who your audience is, how you talk, and what you sell. Save it at the root of your project. Open Claude Code tomorrow and run any skill. You'll hear the difference in the first output.

Once that's working, install CARL. Write one domain file for the workflow you repeat most. For most people that's either content creation or coding. Use it for a week. Every skill you run from that point inherits both your brand and your domain rules.

The skills are free. The configuration is what makes them yours.

```

Links mentioned in this guide

```

CARL — Context-aware domain rules
github.com/ChristopherKahler/carl

BASE — Session memory persistence
github.com/ChristopherKahler/base

Full ecosystem — CARL, BASE, PAUL, SEED, AEGIS, Skillsmith
github.com/ChristopherKahler

CLAUDE.md docs — Anthropic's official guide
docs.anthropic.com/en/docs/claude-code/memory

```

Coming next

My CARL content domain — the exact rules file

Every rule. Every keyword trigger.
Ready to copy into your own setup.

Follow @mikemeansbusiness_ai

If this was useful, reply with how many skills you've installed. I'll tell you which config to write first.

— Mike

✦ Mike Means Business · @mikemeansbusiness_ai