Claude Code is rapidly turning into a go to resource for AI assisted coding. Here are some Claude Code hints and tips to help with getting up to speed, along with an example of what it can produce.

Getting Started
To use Claude Code you will need a Claude subscription, it is not available on the free tier as of writing. To use Claude Code on Windows, first install the Git CLI. If you use github you will also want the Github CLI so that Claude can interact with Github. Then follow the instructions to install Claude Code. If you use VSCode you may well also want to install the Claude Extension. Note that this extension has a setting claudeCode.useTerminal in the VSCode settings which can be used to switch between a sidebar for Claude and the usual Claude code terminal experience.
Claude Code runs from the terminal with the command claude. Note that if you have an ANTHROPIC_API_KEY in your environment variables Claude will pick this up and offer to use it. If you plan to use a subscription with Claude you should decline this, otherwise you may be told that “Credit balance is too low” despite having a subscription. Logging in to your subscription alongside the API key also fails to work. This gives the error “Auth conflict: Both a token (claude.ai) and an API key (ANTHROPIC_API_KEY) are set.” Unfortunately claude /logout which is suggested as a solution to this does not work. Instead delete the API key (or give it a non-standard name) via Control Panel>System Properties>Advanced>Environment Variables then restart your machine and log back into Claude via your account rather than your API key.
Hints for Using Claude Code
Be sure to install relevant skills
Skills make Claude a lot better at handling tasks which LLMs sometimes struggle with. They are stored in the folder of your project (and this folder should likely be added to your . gitignore). Documentation about skills can be found here and there is also Anthropic’s guide to building skills. Anthropic provide a set of sample skills including a very useful skill-creator skill. There are lots of other skills of varying usefulness and quality about as well. Do be aware that skills can include executable code. As such you should treat them with appropriate caution since malicious behaviour would be possible.
Create a detailed plan first
Claude works much better if each task it is required to do is a small self contained well defined unit. The key to making this happen is to create a detailed work plan. The good news is that Claude can assist with this.
Be Specific
If you want code in a particular language. Define that. Prefer a given library for a given task? Specify that. If you want certain programming tools used. Spell them out. Otherwise you might find that Claude chooses technologies with which you are not familiar. This will make debugging and future modification more difficult than it needs to be.
Follow Software Best Practises
Claude can handle routine boiler plate work rapidly. Therefore, there is really no reason not to follow good software development practise. Adding linting and tests adds less time overhead than without a code assistant and will help catch issues earlier. Keeping docs up to date (especially planning and implementation documentation) is now easily handled via Claude. This will help keep Claude correctly on task. Good habits are easy to follow by just instructing Claude to follow them. Any bad habits will increase the chances that Claude becomes confused, has to reanalyse your codebase frequently or introduces errors.
Only Use Opus When You Need It
Sonnet is actually a pretty decent coder. If you are doing simple tasks with common libraries, you may well be able to save a lot of tokens by using Sonnet. Just make sure you break tasks into small chunks, stay specific with your instructions and test regularly. Since these are all good things to do anyway, nothing is lost. A useful strategy given the session limits might be to perform work with Sonnet when you plan to be performing a lot of work, and then use /loop or /schedule to get Opus to review the codebase outside your usual hours. You can find details on scheduling here.
Optimise Your Usage
You can keep track of your current usage with /usage . If you are reaching the end of a session and you have usage left over, consider using /compact . This compacts your existing context window to create more working space and Claude does it automatically from time to time. But manual compaction means you can choose when to avoid wasting tokens. Also be sure to note down the resume code you are provided when you exit Claude code with /exit so that you can resume with your current context with claude --resume <code>. This ensures that you do not have to waste tokens in your next session reading the contents of your workspace.
Choose Your Coding Windows
Another sneaky hint to increase token availability is to “prewarm” Claude before the start of your coding day ( /loop or /schedule could be your friends again here). Claude uses a 5 hour window for token refreshes, but its not a rolling window.
Lets suppose you work 9-6 with a one hour lunch break. If you issue your first request at 9am then the window will run until 2pm then refresh, you will only get two sets of tokens in your work day. However if you prewarm Claude by having it do a small task at 6am, the token window will refresh at 11am and then again at 4pm, thus you will get three windows 9-11, 11-4 (and your lunch goes here so really only 4 working hours) and 4-6 increasing your available tokens by 50% per working day.
Whether this will continue to work of course will depend on how Anthropic decide to meter usage.
Conclusion
Claude Code is an extremely useful tool for creating software. You need to give it planning and guidance for it to work well, but used well it can speed up development immensely. Claude also makes implementing good practises significantly less onerous. Best of all Claude Code has the speed and directness of a command line tool, but because Claude understands human languages, you spend less time trying to recall syntax for commands you use less often. In short its great, try it.
If you would like to see a simple example of what it can do, take a look at one of my experiments with it: https://github.com/JustinMatters/jm-cl-assistant