📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Claude Code - 47 PRO TIPS in 9 minutes

Greg + Code9:19

Transcription

Hey, my name is Greg. I'm a developer, and over the last few months, Claude Code has become my default way of writing code. And so, in this video, I want to walk you through some Claude Code pro tips. These pro tips are primarily based on this post written by Boris Churnney, who's the creator of Claude Code at Anthropic. And we're going to go through these, uh, pro tips pretty quickly.

First tip: Claude Code is a CLI. So all the things that you're used to doing with other bash-based CLIs, you can probably do with Claude Code. For instance, you can pass in command-line arguments which will be run on startup. You can use -p to run it in headless mode. You can chain it with other command-line tools. You can pipe data into it. You can run multiple instances of it at once. You can actually have Claude Code launch instances of Claude Code. In fact, anytime you ask it to spin up a sub-agent or anytime you see a task, that's exactly what Claude Code is doing.

Next category: images. You can use an image simply by dragging it into the terminal on OSX. You can use Shift-Command-Control-4 to copy the screenshot and then use Control-V to paste it into Claude. That's Control-V, not Command-V like you're used to. There are two ways that you might find yourself using images a lot. The first is mockups. You can design a mockup, paste the mockup into Claude, and then ask it to build that interface. Second, you can use images to close the feedback loop with Claude. Ask it to build something, open up what it built, and then take a screenshot, feed that back into Claude, and it's pretty good at iterating when you're giving it feedback.

Now, that's a manual process for taking images. You can also automate the screenshotting by using the Puppeteer MCP server, which is pretty easy to set up and run locally. Then you can ask Claude to use Puppeteer to go open up the app, take a screenshot of it, and it can save those screenshots to your local directory.

Speaking of MCP service, Claude Code can function as both an MCP server and an MCP client. So that means that you can actually turn Claude Code into an MCP server that can then be used by other agents. There's a whole bunch of MCP servers that you could use. It would be a whole video on its own just to go through some of the most popular ones. So we'll just hit a couple. For instance, you might find it useful to use the Postgres server to hook up Claude Code directly to your database. You can use MCP servers that are effectively wrappers around APIs. Other dev tool companies like Cloudflare are using their MCP servers to provide up-to-date documentation to Claude. Not all dev tool companies are making their docs available via MCP just yet. So if you just paste in a link, Claude Code can fetch that URL and then use those docs to build against.

You might also want to use fetch URLs to retrieve knowledge from the world that you use in your app. For instance, I built a game for my four-year-old daughter that was, uh, Bluey Uno. Instead of trying to describe the rules myself or relying on the training data for Uno rules, I pasted in unorules.com and had Claude code the gaming logic based on what it read there.

Next category: claude.md. This is actually the first pro tip that's mentioned in Boris's post. A claude.md is a prompt that is loaded with every request that you make to Claude Code. This might include instructions for your project, such as common bash commands to use, style guidelines, linting guidelines, how to run your tests, repository etiquette. If you type /init after you launch Claude in a directory, it will create this claude.md file for you after scanning the directory and summarizing its structure. If, as you're coding, you want to add instructions to the claude.md, you can use the hash sign. You can also set a global claude.md in your home directory/claude. This will be loaded anytime that you're using Claude Code across any project. You can also add a claude.md file in subdirectories. You should also refactor your claude.md files often. So, it's common for them to grow in complexity as you continue to work on a project. But remember that this is a prompt that is being loaded on every turn of conversation with Claude Code. And these models do much better the more specific you are. So, you don't want this to be crammed with a bunch of duplicative, extraneous information. You can use Anthropic's prompt optimizer tool to help you write better claude.md files.

Slash commands. You can define these in the claude/commands folder, and they're just prompts. So, for instance, here's one mentioned in Boris's post about solving GitHub issues. You might write a slash command for refactoring. You might write a slash command for linting. You might write a slash command for reviewing a PR. Slash commands are prompt templates. So you can pass command-line arguments when you run the slash command that will then be interpolated into the prompt template.

Couple of UI tips. One, you can use tab to complete files and directories. Claude Code does better the more specific you are. So if you can actually let it know what files or what directories to work with, you'll generally get better results. Hit escape often. I know that I, when I started, was hesitant to interrupt Claude when I saw it going off path, but you will find your sessions go so much better if you just stop Claude as soon as you see it go in the wrong direction. You can hit escape and ask it to undo its work from the previous turn. And that will help you go back as well.

Speaking of undoing Claude's work, I think the biggest failure mode here when working with Claude Code is you use it to build a project. You get that project to a place where it's working really well, and then it gets overly ambitious, does a bit too much, makes breaking changes, and then you have a hard time rolling them back. And the easiest way to mitigate this failure state is to use Claude Code in conjunction with version control. Ask Claude Code to commit after every major change. Have Claude Code write your commit messages; there's a good chance they'll be the best commit messages that have ever been submitted to a repository that you own. When working with Claude Code, revert more often than what you're used to. Often times, the best way to fix things is just to clear out the conversation history in Claude, revert back to a previous save point, and try again with slightly more specific instructions.

Install the GitHub CLI, and it will use this for all of its interactions with GitHub. If, for some reason, you don't want to install this tool, you can also interact with GitHub via the GitHub MCP server. You can have Claude Code file PRs for you. You can have Claude Code do code reviews on those PRs.

Managing context can certainly be a bit of a challenge when working with Claude Code. You want to always keep an eye on the auto-compacting indicator. You always want to know about how long you have until Claude auto-compacts. Prematurely compact when you're at natural break points. So if you see you're 35% of the way to auto-compacting and you just finished up a task, you just made a commit, you might just want to go ahead and compact right there and start the next task with all of the tokens available to you. Also consider often clearing instead of compacting. Work in such a way that you can use Claude Code with fresh memory. One way to do this is to tell Claude to use scratchpads to plan its work.

Alternative to scratchpads, you can use GitHub issues. If you are paying per token, then you're going to really want to monitor that, uh, context window usage, and you're going to want to use external memory as much as possible. If you're looking for more robust cost tracking across a team, for instance, one way to achieve that is by using Claude Code's open telemetry support. So, for instance, you could hook up Claude Code to DataDog and produce dashboards that look like this. And for more details on this, you should check out Martin AMP's blog post, which is linked in the description. But in my opinion, the best way to manage your cost is just to upgrade to one of those Claude Max plans at either $100 or $200. I'm on the $100 plan. I spent about $150 worth of Claude Code tokens over the course of about 3 days.

If there's a common complaint of Claude Code, it is it's very expensive. So, I was very excited to see Claude Code use bundled in with Claude Max. I don't even know if I got through half of the pro tips that are included in this post. If you want to learn more, uh, check out this excellent post here by Boris and check out some of the other links that I left below in the description.