Help us improve
Share bugs, ideas, or general feedback.
From personal-corp-skills
Creates and refactors CLAUDE.md files following best practices for size, structure, and content organization. Includes memory hierarchy, 3-tier documentation system, and conditional rules.
How this skill is triggered — by the user, by Claude, or both
Slash command
/personal-corp-skills:claude-md-writerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Creates and refactors CLAUDE.md files following official Anthropic best practices (2025).
Share bugs, ideas, or general feedback.
Creates and refactors CLAUDE.md files following official Anthropic best practices (2025).
| Rule | Why |
|---|---|
| CLAUDE.md < 200 lines | Loads on EVERY request, costs tokens |
| Rules files < 500 lines each | Official recommendation per file |
| Critical rules FIRST | Top = highest priority |
Modular rules → .claude/rules/ | Conditional loading, organized |
Use paths: frontmatter | Load rules only for matching files |
| No linting rules | Use ESLint/Prettier/Biome instead |
| Pointers over copies | Files change, references stay valid |
Claude Code loads memory in this order (higher = higher priority):
| Priority | Type | Location |
|---|---|---|
| Highest | Enterprise | /Library/Application Support/ClaudeCode/CLAUDE.md |
| ↓ | Project | ./CLAUDE.md or ./.claude/CLAUDE.md |
| ↓ | Rules | ./.claude/rules/*.md (conditional) |
| ↓ | User | ~/.claude/CLAUDE.md |
| Lowest | Local | ./CLAUDE.local.md (gitignored) |
Use /memory command to see currently loaded files.
Official recommendation for large projects:
| Tier | Location | Loads | Target |
|---|---|---|---|
| 1. Foundation | CLAUDE.md | Always | < 200 lines |
| 2. Component | .claude/rules/{component}/ | When working in component | < 500 lines |
| 3. Feature | Co-located with code | When working on feature | As needed |
Example structure:
.claude/
├── CLAUDE.md # Tier 1: always loaded
└── rules/
├── database.md # Tier 2: SQL, migrations
├── api.md # Tier 2: API patterns
└── frontend/ # Tier 2: subdirectory
├── components.md # paths: src/**/*.tsx
├── layout.md # paths: src/pages/**/*.tsx
└── tokens.md # paths: **/*.tsx
# Project Name
One-line description.
## Commands
- `npm run dev` - Development
- `npm run build` - Production
- `npm run test` - Tests
## Architecture
| Path | Purpose |
|------|---------|
| `lib/` | Core logic |
| `app/api/` | API routes |
## Key Patterns
**Pattern Name**: One-line explanation.
## Database (if applicable)
| Table | Key Fields |
|-------|------------|
## Modular Docs
See `.claude/rules/` for:
- `database.md` - queries, schema
- `deploy.md` - deployment
## Tech Stack
One line: Next.js 15, PostgreSQL, TypeScript
Use YAML frontmatter for file-type-specific rules:
---
paths: "src/api/**/*.ts"
---
# API Rules
- All endpoints must validate input
- Use standard error format
| Pattern | Matches |
|---|---|
**/*.ts | All .ts files anywhere |
src/**/* | All files under src/ |
*.md | Markdown in project root |
src/components/*.tsx | Components in specific dir |
# Multiple extensions
paths: "src/**/*.{ts,tsx}"
# Multiple directories
paths: "{src,lib}/**/*.ts, tests/**/*.test.ts"
Note: Wrap patterns in quotes for YAML safety.
Rules with paths: only load when working with matching files → saves tokens.
/init for base CLAUDE.md.claude/rules/ for domain-specific docs.claude/rules/:
database.md - queries, schema, connectiondeploy.md - deployment processmessaging.md - integrations (Telegram, etc.)@file references — don't duplicate| Content | Location |
|---|---|
| Project description | CLAUDE.md |
| Critical constraints | CLAUDE.md (top!) |
| Quick start (3 commands) | CLAUDE.md |
| Architecture overview | CLAUDE.md |
| Key patterns (1-liners) | CLAUDE.md |
| SQL queries/schema | .claude/rules/database.md |
| Deployment steps | .claude/rules/deploy.md |
| API documentation | .claude/rules/api.md |
| Git workflow | .claude/rules/git.md |
| Personal preferences | CLAUDE.local.md (gitignored) |
| Code style rules | .eslintrc / biome.json (NOT docs) |
Reference files instead of duplicating:
@README.md
@docs/architecture.md
@~/.claude/snippets/common.md
@docs/file.md@~/path/file.mdPersonal project settings (auto-gitignored):
# My Local Settings
- Prefer verbose output
- Run tests after every change
- My worktree location: .trees/
| Mistake | Fix |
|---|---|
| 500+ lines | Split into .claude/rules/ |
| SQL examples inline | → rules/database.md |
| "Run prettier" rules | Use tool config files |
| Full API docs | → rules/api.md |
| Deployment instructions | → rules/deploy.md |
| Code in CLAUDE.md | Use @file:line references |
| Negative rules only | Add alternatives: "Don't X; use Y instead" |
Before finishing:
.claude/rules/ for domain-specific docs?paths: frontmatter for conditional loading?@ references instead of duplication?| Command | Purpose |
|---|---|
/init | Generate initial CLAUDE.md |
/memory | View loaded memory files |
Official:
Community:
Updated: Jan 2026
npx claudepluginhub serejaris/personal-corp-skills --plugin personal-corp-skillsProvides best practices for creating, updating, and auditing CLAUDE.md files including constraints, commands, architecture overviews, and bloat reduction for projects.
Creates, updates, or optimizes CLAUDE.md files following Anthropic best practices for project context, coding standards, and persistent memory management.
Guides effective maintenance of CLAUDE.md files: adding lessons learned, updating conventions, restructuring instructions. Covers when to update/remove rules, structure templates, hierarchy, and size limits.