Things to try if you're new to Claude Code
This quick post aims to give you some ideas of things to try if you’re new to Claude Code (or a similar coding agent, like Codex). We’ll keep things low-stakes while building some confidence in your skills and the tool itself, and we’ll build knowledge of what sorts of things you need to include in your prompts to get good results.
Ask questions about an unfamiliar codebase
Claude Code is good at searching your codebase for answers, and using it for this is a good first step into the world of coding agents. You may be surprised by its ability to get you oriented in an unfamiliar codebase. This will help you get acquainted with and build your confidence in the tooling. Plus, you can review the answer to be sure it makes sense, which will help you build your “LLM answer validation” skills — skills that are important when using an LLM for any professional work.
Find a bug
Find a bug in this codebase.
Asking Claude to find any bug in a codebase is a good exercise for a few reasons. First, it’ll continue to build your confidence in the tool. Second, you’ll learn a lot by reviewing its answer to determine whether it’s a valid bug. Specifically, you’ll start to appreciate what these tools “understand” and what they don’t. It’s possible it’ll find something that naively looks like a bug, that isn’t really a bug or is even desired behavior. This points to the importance of providing relevant context to the LLM that helps it better understand the area of code you’re working on.
Code review
Perform a comprehensive review of this codebase. Is it production-ready? What could be improved?
Review this branch vs. main. Is it production-ready? Does it follow existing conventions? What could be improved?
There are specialized products for this, but Claude Code is decent at code review by itself. I use Claude Code to review my own work and to help me review merge requests from others, especially large MRs that are difficult to read thoroughly. It’s not a replacement for human review, and sometimes there are false positives, but it has helped me find many real bugs!
Describe a bug; ask for a plan that fixes it
Given a bug in your software, describe it to Claude Code and ask it to plan a fix. Review the resulting plan and work with the LLM to revise it until you’re happy with it. This will help you build confidence in the tool while keeping things low-risk — you’re only asking it to plan a fix — and while revising the plan you’ll build your intuition about what the LLM understands and what context you need to provide to get good results.
Implement throwaway scripts for testing & research
You probably sometimes need to write quick throwaway scripts for testing, research, or other purposes. These are a good, low-stakes opportunity to practice writing software with Claude Code.
Fix a fragile test
Claude can be surprisingly good at figuring out why a test is fragile and coming up with strategies to fix that fragility. Find a fragile test in your codebase, describe the failure to Claude (providing e.g. logs of a failed run along with any context you know about why it’s fragile), and ask it to fix the problem.
Tests are a good way to practice with Claude Code because the changes are typically human-reviewable and also verifiable.
Add a unit test
Having fixed a fragile test, you can build on your momentum by adding a new unit test. For bonus points, ask Claude to identify a high-value test it could add instead of describing the new test yourself.
A good test suite is critical to getting good results from LLMs in large codebases. Best case is a comprehensive, fast test suite that the LLM can run itself. Luckily, LLMs can really help ease the burden of maintaining a test suite and practicing test-driven development.
Practice TDD
You can keep working in the test suite by identifying a new feature or requirement you want to implement, and adding a failing test for it. Define and write stub implementations for the interfaces required for this new requirement, and then have the agent write a test against those interfaces. Watch the test fail, then work with the LLM to implement the requirement, filling out those interfaces you stubbed out. Finally, watch the test pass.
Practicing TDD is a good way to build your confidence and practice with Claude Code, while keeping the stakes manageable and maintaining test coverage for LLM-generated code.