Create or update CLAUDE.md files following best practices for optimal AI agent onboarding
56
63%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
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 only file automatically included in every conversation. 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:
AGENTS.md is used for defining specialized agent behaviors. Unlike CLAUDE.md (which is for project context), AGENTS.md defines:
Apply similar principles:
97fc961
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.