Creates and reviews CLAUDE.md configuration files for Claude Code. Applies HumanLayer guidelines including instruction budgets (~50 user-level, ~100 project-level), WHAT/WHY/HOW framework, and progressive disclosure. Identifies anti-patterns like using Claude as a linter for style rules.
/plugin marketplace add dhruvbaldawa/ccconfigs/plugin install essentials@ccconfigsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
~/.claude/) or project-level (.claude/)?"The only thing that the model knows about your codebase is the tokens you put into it."
CLAUDE.md is the highest-leverage point for context transfer. Every instruction competes for limited attention. Include only what Claude cannot infer and must apply universally.
~/.claude/CLAUDE.md)Applies to ALL projects. Include only:
Never include:
.claude/CLAUDE.md)Applies to ONE project. Use the WHAT/WHY/HOW framework:
WHAT (2-5 lines)
WHY (optional, 2-3 lines)
HOW (3-7 lines)
LLMs reliably follow ~150-200 instructions. Claude Code's system prompt uses ~50, leaving limited budget.
| Scope | Target | Maximum |
|---|---|---|
| User-level | ~30-40 | 60 |
| Project-level | ~50-80 | 120 |
| Combined | ~80-120 | 150 |
Counting instructions: Each actionable directive counts as one instruction.
❌ Never rely on Claude for style enforcement:
✓ Use deterministic tools instead:
Why this matters: LLMs follow style rules inconsistently. A linter fails deterministically; Claude fails silently and unpredictably.
Exception: High-level philosophy is acceptable:
For complex guidance, don't embed everything in CLAUDE.md.
Pattern: Reference external docs, let Claude decide relevance.
## Reference Documentation
- Code conventions: See `docs/conventions.md`
- API patterns: See `docs/api-design.md`
- Testing philosophy: See `docs/testing.md`
Read these when the task involves the relevant area.
Benefits:
[Opening persona/philosophy - 1-2 lines]
## Working Together
[Relationship dynamics, communication preferences]
## Proactiveness
[When to proceed vs. pause for confirmation]
## Development Philosophy
[Universal principles: YAGNI, debugging approach, etc.]
## Guardrails
[Version control, testing principles - kept brief]
## Project Overview
[WHAT: Purpose, stack, structure]
## Development
[HOW: Build, test, lint commands]
## Architecture
[WHY: Key decisions, constraints - if non-obvious]
## Conventions
[Brief pointers to detailed docs if needed]
Before finalizing, verify:
/init instead of hand-craftingBefore (problematic user-level):
## Naming
NEVER use names like ZodValidator, MCPWrapper, JSONParser...
[20 more lines of specific examples]
## Comments
All files MUST start with ABOUTME: header...
After (improved user-level):
## Code Style
Names should describe purpose, not implementation details.
Use project linters for formatting; don't rely on manual enforcement.
Why better: Philosophy over specifics. Linter handles enforcement deterministically.
After authoring CLAUDE.md:
~/.claude/CLAUDE.md or place directly.claude/CLAUDE.md in repository root