---
title: "Make Claude project guidance checkable."
description: "Replace vague instructions with concrete project facts and verify what Claude Code loads."
canonical: https://editmd.app/learn/lessons/claude-md/
markdown: https://editmd.app/learn/lessons/claude-md.md
status: pre-release, waiting list open
generated: editmd-website
---

# Make Claude project guidance checkable.

Lesson 10 of 12 in Markdown School. Replace vague instructions with concrete project facts and verify what Claude Code loads.

## Use CLAUDE.md for maintained project context

Claude Code supports project instructions in `CLAUDE.md` or `.claude/CLAUDE.md`. It also has user-level guidance and automatic memory, which serve different scopes. Instruction files are context for the model, not settings that mechanically enforce every sentence. [Anthropic's memory guide](https://code.claude.com/docs/en/memory).

A README usually helps people understand a project. A CLAUDE.md can hold working conventions an agent needs repeatedly. Avoid duplicating an entire README when a short reference and a few concrete rules will do.

## Improve a vague rule

Before:

```markdown
Write good documentation. Be careful. Test everything.
```

After, for our fictional garden project:

```markdown
# Garden project

## Project

Keep garden notes in docs/. Use short headings.

## Checks

Run npm test and report its result.

## Boundaries

Ask before publishing or sending messages.
```

The revised version names a location, a writing convention, an actual project command and an external-action boundary. It still needs judgment: a heading can be short and unhelpful. Read the resulting document as well as checking compliance.

## Find the file you are actually using

In Claude Code, `/memory` lists memory-file locations for inspection and editing. Use `/context` to inspect which files loaded into the current session. A listed location is not the same thing as a loaded instruction. Imports and nested project guidance have their own documented behavior. [Inspecting Claude Code memory](https://code.claude.com/docs/en/memory#view-and-edit-with-memory).

For the exercise, use a disposable folder with one project file first. Ask for a proposed documentation edit and inspect the context before judging the result. Add more scopes only when you can explain why they are needed.

## Separate repeated procedures from project facts

“Notes live in docs/” is a project fact. “Review meeting notes and return missing owners” is a reusable task procedure. The latter may belong in a skill loaded when needed. Claude Code supports its own skill discovery and invocation controls; they are not universal YAML fields for every agent host. [Anthropic skills guide](https://code.claude.com/docs/en/skills).

## Practice and inspect

Complete the starter with the supplied facts. The browser checks the requested structure and command, not whether Claude will obey. In a real host test, record the host version, loaded file, exact prompt, output and observed result. If the instruction fails, make it more specific or remove conflicting guidance; do not add ten near-duplicate warnings.

Sources checked 17 September 2026. Host behavior can change; verify it against the linked documentation when using these examples.

## Exercise

Write a project title and populated Project, Checks and Boundaries sections. Use the fictional npm test command, and state that files must not be published without approval.

## Takeaway

A concise project file is useful context, not an enforcement system.

Related guide: https://editmd.app/docs/ai-use/. All lessons: https://editmd.app/learn.md
