sdlc-claude-mdlisted
Install: claude install-skill asaf-shitrit/ai-native-sdlc-skills
# Knowledge as files
## Which container
| The knowledge is | Put it in |
|---|---|
| What a new joiner needs on day one for *this repo* — commands, conventions, layout, the traps | `CLAUDE.md` |
| A rule that must apply **consistently**, usually across repos, with someone who owns it | a **skill** |
| Relevant to this task only | the prompt |
The two failure modes are symmetric: a cross-cutting standard buried in one repo's `CLAUDE.md` where only that repo benefits, and a repo-specific quirk written up as a skill that then fires everywhere and gets ignored.
## CLAUDE.md
`/init` writes a first draft from what's actually in the repo. Treat it as raw material — generated files are always too long, and length is the thing that kills this file.
Cut to what someone needs on day one: **how to build, test and lint; the conventions that actually get enforced; the layout; and whatever the agent keeps getting wrong.** Delete the rest, including anything true of every repo in the language.
**Keep it under a page.** It's read at the start of every session, so a stale paragraph costs context forever and pays nothing.
Commit it at the repo root. One shared version, changes reviewed like code.
```markdown
# orders-service
## Commands
- Dev: bun run dev
- Test: bun test (unit)
- Test: bun test:e2e (needs `docker compose up -d`)
- Check: bun run check (types + lint; CI runs this)
## Conventions
- Money in minor units as integers. Never floats, never Decimal strings.