Create or update CLAUDE.md files following best practices for optimal AI agent onboarding
69%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./03-skills/claude-md/SKILL.md$ARGUMENTSYou MUST consider the user input before proceeding (if not empty). User may specify:
create - Create new CLAUDE.md from scratchupdate - Improve existing CLAUDE.mdaudit - Analyze and report on current CLAUDE.md qualitysrc/api/CLAUDE.md for directory-specific instructions)LLMs are stateless: CLAUDE.md is the main project file loaded into every conversation (alongside auto memory and unscoped rules). It serves as the primary onboarding document for AI agents into your codebase.
Less is More: Frontier LLMs can follow ~150-200 instructions. Claude Code's system prompt already uses ~50. Keep your CLAUDE.md focused and concise.
Universal Applicability: Only include information relevant to EVERY session. Task-specific instructions belong in separate files.
Don't Use Claude as a Linter: Style guidelines bloat context and degrade instruction-following. Use deterministic tools (prettier, eslint, etc.) instead.
Never Auto-Generate: CLAUDE.md is the highest leverage point of the AI harness. Craft it manually with careful consideration.
First, analyze the current project state:
Check for existing CLAUDE.md files:
./CLAUDE.md or .claude/CLAUDE.md**/CLAUDE.md~/.claude/CLAUDE.mdIdentify the project structure:
Review existing documentation:
Structure CLAUDE.md around three dimensions:
For larger projects, recommend creating an agent_docs/ folder:
agent_docs/
|- building_the_project.md
|- running_tests.md
|- code_conventions.md
|- architecture_decisions.mdIn CLAUDE.md, reference these files with instructions like:
For detailed build instructions, refer to `agent_docs/building_the_project.md`Important: Use file:line references instead of code snippets to avoid outdated context.
When creating or updating CLAUDE.md:
A well-structured CLAUDE.md should include:
# Project Name
Brief one-line description.
## Tech Stack
- Primary language and version
- Key frameworks/libraries
- Database/storage (if any)
## Project Structure
[Only for monorepos or complex structures]
- `apps/` - Application entry points
- `packages/` - Shared libraries
## Development Commands
- Install: `command`
- Test: `command`
- Build: `command`
## Critical Conventions
[Only non-obvious, high-impact conventions]
- Convention 1 with brief explanation
- Convention 2 with brief explanation
## Known Issues / Gotchas
[Things that consistently trip up developers]
- Issue 1
- Issue 2DO NOT include:
Before finalizing, verify:
create or default:update:audit:If the user requests AGENTS.md creation/update:
Since v2.1.277, Claude Code reads AGENTS.md directly as project instructions — but only when the working directory and every directory above it contain no CLAUDE.md, .claude/CLAUDE.md, or CLAUDE.local.md. ~/.claude/CLAUDE.md, managed CLAUDE.md, and .claude/rules/ do not count for that check and keep loading alongside. Which files are read is controlled by Project instructions in /config: claude-md-or-agents-md (default), claude-md-and-agents-md, claude-md, or managed-only. Where direct reading is unavailable — versions before v2.1.277 (before v2.1.281 on Bedrock/Vertex/Foundry, LLM gateways, or with telemetry disabled), or the first session after upgrading — fall back to importing it from CLAUDE.md with @AGENTS.md, or symlinking CLAUDE.md to it.
AGENTS.md is a cross-tool project-context file — the same category of document as CLAUDE.md, not an agent-definition format. It exists so several coding agents can share one set of project conventions:
Subagents are defined separately, in .claude/agents/*.md — not in AGENTS.md.
Apply similar principles:
Last Updated: October 18, 2026 Claude Code Version: 2.1.302 Sources:
luongnv89/claude-howto
2b530b7
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.