authoring-claude-mdlisted
Install: claude install-skill Expeed-Software/exloom
# Authoring CLAUDE.md
## Overview
CLAUDE.md tells Claude what the project is, how it builds and runs, what conventions the team follows, and what patterns to use.
This skill operates in two primary modes: **greenfield** (new repo, template-based, fast) and **brownfield** (existing repo, inference-based, respects what's already there). A third mode, **update**, handles repos that already have a CLAUDE.md. In all three modes, the baselines are layered in — but only where they are compatible with what the codebase already does.
The brownfield principle is non-negotiable: **existing code wins**. If the repo uses tabs and your org's coding conventions say spaces, the CLAUDE.md says tabs. If the repo uses a stricter error handling pattern than your org recommends, keep the stricter pattern. Baselines exist for new code in repos with no established convention — they are defaults, not mandates.
Update mode deserves special emphasis: if a CLAUDE.md already exists, you never overwrite it. You read it, propose changes as an annotated diff, and let the user review. The existing file represents decisions the team already made.
**At a glance** (the rest of this skill is the detail behind these five steps):
1. Detect the stack and read 3-5 real source files to learn the *actual* conventions.
2. Pick a stack template from `../../assets/claude-md-templates/` (all are populated — `spring`, `angular`, `nodejs`, `fastapi`, etc.), or use the inline "CLAUDE.md Structure" below if none fits.