Lesson 23: Checkpoint — Phase 3 Review
Day 23 of 50 · ~15 min quiz · Phase 3: Customization
How to Use This Checkpoint
This checkpoint tests your recall of concepts from Phases 1-3. Don't look back at the lessons — test yourself from memory.
Cover the answers below and try each question. If you can't answer, go back and re-read the relevant lesson. This is how spaced repetition works: retrieval practice locks knowledge into memory.
Target: 12-14 correct. If you score below that, revisit the lessons that gave you trouble.
Questions
Phase 1: Foundations (Lessons 1-5)
1. What is the agentic loop?
The repeating cycle of read → reason → act → check that allows Claude to complete complex tasks autonomously. Claude reads context, thinks about what needs to change, makes changes, then verifies those changes worked. If something's wrong, it loops back.
2. Name three tools Claude Code uses to act on your codebase.
Any three of:
- Reading files
- Editing/writing files
- Running bash commands
- Searching code
- Creating git commits
- Running tests
(The actual tools vary by implementation, but Claude can read, write, execute commands, and search.)
3. When you ask Claude to read a large codebase, what's the first thing Claude does?
Claude searches or reads selectively to build a mental model, rather than trying to read everything at once. It looks for key files (entry points, README, package.json, etc.) to understand structure before diving deep.
Phase 2: Core Workflows (Lessons 9-13)
4. What's the difference between editing a file and creating a new file in Claude Code?
Editing a file means Claude replaces specific text in an existing file (precise, less risky). Creating a new file means Claude writes the entire content from scratch. Editing is preferred when the file already exists because it's more controlled.
5. Why does the context window matter?
Claude has a limited amount of space to see your code and work with it. If you show Claude too much code, it runs out of context and has to choose what to remember and what to forget. Choosing the right files to show Claude makes a huge difference in quality.
6. What makes a prompt "effective" for Claude Code?
Effective prompts are:
- Clear about the goal (not vague)
- Specific about what to change (not "make it better")
- Aware of context (you don't need to explain basics Claude already knows)
- Sometimes include constraints or examples to guide Claude
- Assume Claude knows how to code (you don't need to baby-step everything)
7. Why would you use git with Claude Code, instead of just editing files?
Git gives you a history of changes, lets you revert if something goes wrong, and makes it easy to review what Claude changed. It's also how you collaborate if you're on a team. Git turns one-off edits into a tracked project history.
Phase 3: Customization (Lessons 17-21)
8. What goes in CLAUDE.md?
Project conventions that apply to all work:
- How to test (command and location of tests)
- How to build/run
- Code style (naming, formatting, imports)
- Project structure (what each directory contains)
- Key tools and frameworks
It's a cheat sheet under 200 lines, not comprehensive documentation.
9. Where does CLAUDE.md live, and why does location matter?
CLAUDE.md lives at the project root (my-project/CLAUDE.md). Claude Code automatically looks there and loads it at the start of every conversation. If you put it in a subfolder, Claude won't find it automatically. Location signals "this is configuration for Claude."
10. What's the difference between "plan mode" and "ask every time" for permissions?
"Ask every time" means Claude asks for approval before each action (safe, but slow). "Plan mode" means Claude proposes the entire plan first, you approve it all at once, then Claude executes without interruption (faster, but requires careful plan review).
11. How are slash commands useful?
Slash commands turn repetitive workflows into one-word shortcuts. Instead of explaining "run tests, then show the diff, then suggest a commit message" every time, you type /precommit and Claude knows the full workflow. They're faster and more consistent.
12. What's the difference between rules and CLAUDE.md?
CLAUDE.md is global — it applies to the entire project. Rules are path-scoped — they live in .claude/rules/ and apply only to specific directories. Use CLAUDE.md for project-wide conventions, rules for directory-specific patterns.
13. What's a skill, and how is it different from a rule?
A skill is an active, task-oriented instruction: "To do X, follow these steps." Rules are passive conventions: "In this directory, follow these patterns." Skills tell Claude how to do a task; rules tell Claude what to follow while doing tasks.
14. You've finished the lab, and you realize Claude keeps making the same mistake in a specific part of your code. Where should you document the fix so Claude learns it?
In .claude/memory/ — create or update a debugging patterns file documenting the mistake and the fix. Memory is for patterns Claude should learn across sessions. If it's a project-wide policy, add it to CLAUDE.md. If it's directory-specific, add it to rules. If it's something Claude learned the hard way, put it in memory.
Scoring
- 13-14 correct: Excellent. You're ready for Phase 4.
- 11-12 correct: Good. You understand the concepts, but re-read 1-2 lessons to solidify anything fuzzy.
- 9-10 correct: Solid foundation. Revisit Phases 2-3 lessons and redo the lab to cement the ideas.
- Below 9: Go back and re-read Phases 1-3. These concepts are foundational for everything that follows.
What's Next?
You've now learned how to make Claude Code yours — through configuration, permissions, custom commands, and documented patterns.
Phase 4 is about scale and integration: What happens when Claude connects to the world beyond your filesystem? How do you let Claude talk to Slack, GitHub, your database, or any external service?
The next lessons dive into MCP (Model Context Protocol) — the bridge that lets Claude reach beyond your code.