Back to Research

Learn More About Claude Code

A practical Claude Code rollout guide for teams using CLAUDE.md, skills, hooks, and review habits.

Evening at Medfield, Massachusetts, landscape painting by George Inness (1875).
Rogier MullerJune 14, 20267 min read

How can I learn more about Claude Code?

The fastest way to learn Claude Code as a team is to teach it your repo first: write down durable context in a CLAUDE.md file, move repeat work into skills, and agree on what reviewers check before the first agent-written pull request merges. Claude Code, Anthropic's coding agent, is a repository-aware tool that reads your code and acts on it, so it gets predictable the moment the repo gives it memory and a boundary to work inside.

Most teams that struggle do not need more features. They need fewer surprises. When everyone improvises, the same instructions get pasted into chats, context drifts between reviewers, and nobody can tell which habits are safe to repeat. Putting the workflow in the repo fixes that, because the repo can teach the next person without anyone digging up the original prompt.

Write a CLAUDE.md your team will actually follow

Start with a compact CLAUDE.md at the repo root. Keep it to durable facts: architecture rules, the test command, your branch policy, and the one or two things Claude must never do.

The trap here is bloat. The file starts as memory and slowly turns into a junk drawer of half-remembered instructions. Keep it short on purpose, and move anything that reads like a procedure somewhere else. A short root file is easier to trust and easier to update.

If you remember one split, make it this one. Stable facts live in CLAUDE.md because it is always loaded. Repeatable steps live in a skill because skills load on demand.

The same convention idea carries to other agents even though the file here is CLAUDE.md. Claude, Anysphere's AI code editor, reads project rules the same way, and Codex CLI, OpenAI's coding agent, reads an AGENTS.md, so the habit of teaching the repo first travels with you.

Use skills for procedures, not memory

A Claude Code skill is an on-demand instruction set Claude reaches for when a task matches its description. That makes skills the right home for checklists, multi-step fixes, and review routines, the things you do the same way every time.

The part teams skip is the description. If the frontmatter does not say clearly when to use the skill, Claude will not reach for it reliably. Write the description like an activation rule, not a marketing blurb. In practice the description controls discovery as much as the body controls behavior.

Keep one skill per repeatable job. A migration routine, a release check, and a code-review pass each deserve their own skill rather than one sprawling file that tries to cover everything.

Add hooks as guardrails, one job each

Hooks are deterministic checks that run on lifecycle events, outside the model's judgment. Use them for formatting, validation, permission prompts, or a check that must run before a tool call completes. Because they run the same way every time, they are the right place for guardrails you cannot afford to forget.

The failure mode is hooks that try to do everything: logging and validation and permission boundaries all tangled into one script. When that hook breaks, nobody can tell which job failed. Keep each hook narrow and tied to a single event so failures stay visible.

Treat every MCP connector like a permission change

If Claude Code needs to reach external tools, it does that through MCP connectors listed in .mcp.json. Before you widen scope, review what each connector can read and who approved it. Least privilege matters more than convenience here, because a connector that can read too much makes every later review harder.

The quiet risk is drift. A connector added for one task tends to stay forever. Review additions the way you would review a permission grant, not a convenience toggle: what it reaches, who approved it, and how you will test it.

A note from how we run this in our methodology: write the review check before you write the code. That habit keeps the team from discovering the standard only after the merge.

A rollout plan you can paste into the repo

Here is the artifact I would hand a team after a workshop. It is small on purpose. If it does not fit on one page, it is probably not ready for the repo yet.

# Claude Code rollout plan

## Prerequisites
- Root `CLAUDE.md` exists
- One shared test command is known
- One review owner is named
- MCP connectors are listed with scope
- One skill is ready for repeat work

## Checklist
- [ ] Add durable repo rules to `CLAUDE.md`
- [ ] Move repeat procedures into `SKILL.md`
- [ ] Add one hook for validation or permission control
- [ ] Review `.mcp.json` access and approval
- [ ] Define what reviewers must check in Claude-authored PRs
- [ ] Run one small task and verify another engineer can repeat it

Run that last line for real. If a second engineer can follow the path from context to skill to hook to review without asking for the original prompt, the rollout is working.

Common questions

  • How can I learn more about Claude Code without slowing the team down? Start with the repo, not the model. Put durable rules in CLAUDE.md, move repeatable steps into a skill, and add one review checklist for agent-authored changes. That gives the team a single path to follow and one place to update when the workflow changes, so learning happens through normal work instead of a separate training project.

  • What should go in CLAUDE.md versus a Claude skill? CLAUDE.md should hold stable facts: architecture rules, test commands, and team conventions. A skill should hold repeatable procedures: code review steps, release checks, or a migration routine. The split matters because skills load on demand while CLAUDE.md is always on, so keeping procedures out of the root file keeps it short and trustworthy.

  • How do hooks help Claude Code teams? Hooks add deterministic checks outside the model loop. Use them for validation, permission boundaries, logging, or formatting when you want the same action to happen every time, no matter how the prompt is worded. The one caveat is scope: keep each hook to a single job, or debugging which check failed gets hard fast.

  • What should reviewers check before trusting Claude-authored code? Reviewers should check the prompt or task intent, the files changed, the tests run, and whether any permission or connector widened the blast radius. Those four things catch most workflow mistakes without turning review into a ritual. Write the expected check first, then read the diff against it.

  • Is one CLAUDE.md and one skill really enough to start? Yes. A tight CLAUDE.md, one skill, and one hook are enough to make the workflow repeatable on a real repo. Standardizing costs some time up front, and a full platform rollout is not the goal in week one. You trade a little prompt freedom for a lot more consistency in what ships.

Start on one real repo this week

Take the rollout plan above and run it end to end on a single repository, then leave with one hook, one skill, and one review rule in place. When that path holds, use the team conventions topic page to standardize the next repo before the first surprise lands.

Further reading

Related training topics

Related research

Ready to start?

Transform how your team builds software.

Book a 15-minute sync