Awesome-omni-skill claude-md-manager

Build and maintain effective CLAUDE.md files that improve Claude Code efficiency. Use when creating a new CLAUDE.md file, auditing/improving an existing one, setting up progressive disclosure with agent documentation, or optimizing context window usage for Claude Code projects.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ai-agents/claude-md-manager" ~/.claude/skills/diegosouzapw-awesome-omni-skill-claude-md-manager && rm -rf "$T"
manifest: skills/ai-agents/claude-md-manager/SKILL.md
source content

CLAUDE.md Manager

Build and maintain high-quality CLAUDE.md files that maximize Claude Code efficiency.

Core Principle

LLMs are stateless. CLAUDE.md is the only file that goes into every conversation with Claude Code. It must onboard Claude to your codebase efficiently without bloating the context window.

Critical insight: Claude Code's system prompt tells Claude to ignore CLAUDE.md contents if deemed irrelevant. Overstuffed files with non-universal instructions get ignored entirely.

Three Pillars of a Good CLAUDE.md

Every CLAUDE.md should answer three questions concisely:

  1. WHAT - Tech stack, project structure, key directories
  2. WHY - Project purpose, what each part does
  3. HOW - Essential commands, verification steps, workflows

Hard Constraints

ConstraintLimitRationale
Total lines< 300 (ideal: < 100)Context window is shared with system prompt, conversation, tools
Instructions< 100Frontier models reliably follow ~150-200 instructions; system prompt uses ~50
Applicability100% universalNon-universal instructions cause entire file to be ignored

What NOT to Include

  • Code style guidelines - Use linters/formatters instead. LLMs learn from codebase patterns.
  • One-off task instructions - Put in slash commands or separate docs
  • Code snippets - Become stale; use
    file:line
    pointers instead
  • Auto-generated content -
    /init
    output is generic; craft manually
  • Conditional instructions - Use progressive disclosure instead

Progressive Disclosure Pattern

Keep CLAUDE.md lean by pointing to detailed docs:

project/
├── CLAUDE.md              # Core onboarding only (<100 lines)
└── agent_docs/            # Detailed docs loaded on demand
    ├── building.md
    ├── testing.md
    ├── database_schema.md
    ├── architecture.md
    └── deployment.md

In CLAUDE.md, include a brief index:

## Documentation

Read relevant docs from `agent_docs/` before starting work:
- `building.md` - Build commands and dependencies
- `testing.md` - Test execution and coverage
- `database_schema.md` - Table schemas and relationships
- `architecture.md` - Service structure and communication
- `deployment.md` - Deployment procedures and environments

Prefer pointers to copies - Reference

file:line
instead of embedding code.

CLAUDE.md Template Structure

See

references/template.md
for a complete template.

Minimal structure:

# Project Name

Brief one-line description.

## Stack

- Language/Framework: X
- Database: Y
- Key dependencies: Z

## Project Structure

app/          - Main application code
lib/          - Shared utilities
tests/        - Test suite

## Commands

Build:  `command here`
Test:   `command here`
Lint:   `command here`

## Documentation

Read from `agent_docs/` as needed:
- `file.md` - Description

Creating a New CLAUDE.md

  1. Analyze the project - Identify stack, structure, key workflows
  2. Start minimal - Begin with <50 lines covering essentials
  3. Create agent_docs/ - Move detailed documentation there
  4. Add pointers - Reference agent_docs from CLAUDE.md
  5. Validate - Run checklist from
    references/checklist.md

Auditing an Existing CLAUDE.md

  1. Count lines - Flag if >300 lines
  2. Check universality - Every instruction should apply to every task
  3. Find embedded code - Replace with file:line pointers
  4. Identify style rules - Move to linter config
  5. Extract conditionals - Move to agent_docs/
  6. Validate - Run checklist from
    references/checklist.md

Integrations

Hooks (for formatting/linting)

Instead of style instructions, configure a stop hook:

{
  "hooks": {
    "stop": [{
      "command": "npm run lint:fix && npm run format",
      "description": "Auto-fix formatting issues"
    }]
  }
}

Slash Commands (for specific workflows)

Create

.claude/commands/
for task-specific instructions that shouldn't bloat CLAUDE.md.

Reference Files

  • references/template.md
    - Complete CLAUDE.md template with examples
  • references/checklist.md
    - Validation checklist for auditing
  • references/progressive-disclosure.md
    - Guide for organizing agent_docs/