Practical tips
Individual tips are extracted from numbered sections in the upstream collection. Screenshots are not republished. The linked source is the authority for original context.
Spin up 3–5 git worktrees at once, each running its own Claude session in parallel. It's the single biggest productivity unlock, and the top tip from the team. Personally, Boris uses multipl…
Pour your energy into the plan so Claude can 1 shot the implementation. One person has one Claude write the plan, then they spin up a second Claude to review it as a staff engineer. Another …
After every correction, end with: "Update your CLAUDE.md so you don't make that mistake again." Claude is eerily good at writing rules for itself. Ruthlessly edit your CLAUDE.md over time. K…
Reuse across every project. Tips from the team: If you do something more than once a day, turn it into a skill or command Build a /techdebt slash command and run it at the end of every sessi…
Here's how the team does it: Enable the Slack MCP, then paste a Slack bug thread into Claude and just say "fix." Zero context switching required. Or, just say "Go fix the failing CI tests." …
a. Challenge Claude. Say "Grill me on these changes and don't make a PR until I pass your test." Make Claude be your reviewer. Or, say "Prove to me this works" and have Claude diff behavior …
The team loves Ghostty! Multiple people like its synchronized rendering, 24 bit color, and proper unicode support. For easier Claude juggling, use /statusline to customize your status bar to…
a. Append "use subagents" to any request where you want Claude to throw more compute at the problem. b. Offload individual tasks to subagents to keep your main agent's context window clean a…
Ask Claude Code to use the "bq" CLI to pull and analyze metrics on the fly. The team has a BigQuery skill checked into the codebase, and everyone uses it for analytics queries directly in Cl…
A few tips from the team to use Claude Code for learning: a. Enable the "Explanatory" or "Learning" output style in /config to have Claude explain the "why" behind its changes. b. Have Claud…
Set up your terminal for the best Claude Code experience: Theme : Run /config to set light/dark mode Notifications : Enable notifications for iTerm2, or use a custom notification hook Newlin…
Run /model to pick your preferred effort level: Low — fewer tokens, faster responses Medium — balanced behavior High — more tokens, more intelligence Boris's preference: High for everything.…
Plugins let you install LSPs (available for every major language), MCPs, skills, agents, and custom hooks. Install from the official Anthropic plugin marketplace, or create your own marketpl…
Drop .md files in .claude/agents to create custom agents. Each agent can have a custom name, color, tool set, pre allowed and pre disallowed tools, permission mode, and model. You can also s…
Claude Code uses a permission system combining prompt injection detection, static analysis, sandboxing, and human oversight. Out of the box, a small set of safe commands are pre approved. To…
Opt into Claude Code's open source sandbox runtime to improve safety while reducing permission prompts. Run /sandbox to enable it. Sandboxing runs on your machine and supports both file and …
Custom status lines show up right below the composer, displaying model, directory, remaining context, cost, and anything else you want to see while you work. Every team member can have a dif…
Every key binding in Claude Code is customizable. Run /keybindings to re map any key. Settings live reload so you can see how it feels immediately. Original source on X…
Hooks let you deterministically hook into Claude's lifecycle: Automatically route permission requests to Slack or Opus Nudge Claude to keep going when it reaches the end of a turn (you can e…
Customize your spinner verbs to add or replace the default list with your own verbs. Check the settings.json into source control to share verbs with your team. Original source on X…
Run /config and set an output style to have Claude respond using a different tone or format. Explanatory — recommended when getting familiar with a new codebase, to have Claude explain frame…
Claude Code works great out of the box, but when you do customize, check your settings.json into git so your team can benefit too. Configuration is supported at multiple levels: For your cod…
Run 5 Claudes in parallel in your terminal. Number your tabs 1–5, and use system notifications to know when a Claude needs input. See: Terminal Setup Docs Original source on X…
Run 5–10 Claudes on claude.ai/code in parallel with your local Claudes. Hand off local sessions to web sessions using claude.ai/code , manually kick off sessions in Chrome, and teleport back…
Use Opus 4.5 with thinking for everything. It's the best coding model Boris has ever used — even though it's bigger and slower than Sonnet, since you have to steer it less and it's better at…
Share a single CLAUDE.md for the repo. Check it into git, and have the whole team contribute multiple times a week. Anytime Claude does something incorrectly, add it to the CLAUDE.md so Clau…
During code review, tag @claude on your coworkers' PRs to add something to the CLAUDE.md as part of the PR. Use the Claude Code GitHub action (install @hub action) for this — it's Boris's ve…
Start most sessions in Plan mode (shift+tab twice). If the goal is to write a Pull Request, use Plan mode and go back and forth with Claude until you like its plan. From there, switch into a…
Use slash commands for every "inner loop" workflow that you do many times a day. This saves you from repeated prompting, and makes it so Claude can use these workflows too. Commands are chec…
Use a few subagents regularly: code simplifier simplifies the code after Claude is done working, verify app has detailed instructions for testing Claude Code end to end, and so on. Think of …
Use a PostToolUse hook to format Claude's code. Claude usually generates well formatted code out of the box, and the hook handles the last 10% to avoid formatting errors in CI later. Origina…
Don't use dangerously skip permissions . Instead, use /permissions to pre allow common bash commands that you know are safe in your environment, to avoid unnecessary permission prompts. Most…
Claude Code uses all your tools. It often searches and posts to Slack (via the MCP server), runs BigQuery queries to answer analytics questions (using bq CLI), grabs error logs from Sentry, …
For very long running tasks, either (a) prompt Claude to verify its work with a background agent when it's done, (b) use an agent Stop hook to do that more deterministically, or (c) use the …
Probably the most important thing to get great results out of Claude Code — give Claude a way to verify its work. If Claude has that feedback loop, it will 2–3x the quality of the final resu…
Did you know Claude Code has a mobile app? Boris writes a lot of his code from the iOS app — it's a convenient way to make changes without opening a laptop. Download the Claude app for iOS/A…
Run claude teleport or /teleport to continue a cloud session on your machine. Or run /remote control to control a locally running session from your phone/web. Teleport : pulls a cloud sessio…
Use these to schedule Claude to run automatically at a set interval, for up to a week at a time. Boris has a bunch of loops running locally: /loop 5m /babysit — auto address code review, aut…
Use hooks to run logic as part of the agent lifecycle. For example: Dynamically load in context each time you start Claude ( SessionStart ) Log every bash command the model runs ( PreToolUse…
Boris uses Dispatch every day to catch up on Slack and emails, manage files, and do things on his laptop when he's not at a computer. When he's not coding, he's dispatching. Dispatch is a se…
The most important tip for using Claude Code: give Claude a way to verify its output. Once you do that, Claude will iterate until the result is great. Think of it like asking someone to buil…
Along the same vein, the Desktop app bundles in the ability for Claude to automatically run your web server and even test it in a built in browser. You can set up something similar in CLI or…
People often ask how to fork an existing session. Two ways: 1. Run /branch from your session 2. From the CLI, run claude resume fork session /branch creates a branched conversation — you are…
Boris uses this all the time to answer quick questions while the agent works. /btw lets you ask a side question without interrupting the agent's current task. Example: Original source on X…
Claude Code ships with deep support for git worktrees. Worktrees are essential for doing lots of parallel work in the same repository. Boris has dozens of Claudes running at all times , and …
/batch interviews you, then has Claude fan out the work to as many worktree agents as it takes (dozens, hundreds, even thousands) to get it done. Use it for large code migrations and other k…
By default, when you run claude p (or the TypeScript or Python SDKs), Claude searches for local CLAUDE.md's, settings, and MCPs. But for non interactive usage, most of the time you want to e…
When working across multiple repositories, Boris usually starts Claude in one repo and uses add dir (or /add dir ) to let Claude see the other repo. This not only tells Claude about the repo…
Custom agents are a powerful primitive that often gets overlooked. To use it, just define a new agent in .claude/agents/ , then run: Agents can have restricted tools, custom descriptions, an…
Fun fact: Boris does most of his coding by speaking to Claude, rather than typing. Run /voice in CLI then hold the space bar to speak Press the voice button on Desktop Or enable dictation in…
New in Claude Code: Code Review . A team of agents runs a deep review on every PR. Built for Anthropic's own team first — code output per engineer is up 200% this year , and reviews were the…
Roughly, the more tokens you throw at a coding problem, the better the result. Boris calls this test time compute . Using separate context windows makes the result even better — this is what…
Boris shared his GitHub contribution graph showing 266 contributions on March 24th — from 141 PRs, always squashed with a median of 118 lines per PR. Squash merging combines all branch commi…
Boris shared the size distribution across those 141 PRs, totaling 45,032 lines changed (additions + deletions): Metric Lines (add+del) Meaning : p50 118 Median PR size — half of all PRs were…
Opus 4.7 loves doing complex, long running tasks: deep research, refactoring code, building complex features, iterating until a performance benchmark is hit. In the past, you either had to b…
Anthropic released a new /fewer permission prompts skill. It scans through your session history to find common bash and MCP commands that are safe but repeatedly prompt for permission. It th…
Anthropic shipped recaps earlier this week, to prep for Opus 4.7. Recaps are short summaries of what an agent did and what's next. Very useful when returning to a long running session after …
Boris has been loving the new focus mode in the CLI, which hides all the intermediate work to just focus on the final result. The model has reached a point where he generally trusts it to ru…
Opus 4.7 uses adaptive thinking instead of thinking budgets. To tune the model to think more or less, tune effort. Lower effort — faster responses and lower token usage Higher effort — the m…
Finally, make sure Claude has a way to verify its work. This has always been important — now 4.7 is 2 3x what you get out of Claude, so it's more important than ever. Verification looks diff…
Skills that explain how to correctly use a library, CLI, or SDKs. These could be for internal libraries or common libraries that Claude Code sometimes has trouble with. They often include a …
Skills that describe how to test or verify that your code is working. These are often paired with an external tool like Playwright, tmux, etc. Verification skills are extremely useful for en…
Skills that connect to your data and monitoring stacks. These might include libraries to fetch your data with credentials, specific dashboard IDs, etc., as well as instructions on common wor…
Skills that automate repetitive workflows into one command. These are usually fairly simple instructions but might have more complicated dependencies on other skills or MCPs. Saving previous…
Skills that generate framework boilerplate for a specific function in the codebase. You might combine these skills with scripts that can be composed. They are especially useful when your sca…
Skills that enforce code quality inside of your org and help review code. These can include deterministic scripts or tools for maximum robustness. You may want to run these skills automatica…
Skills that help you fetch, push, and deploy code inside of your codebase. These skills may reference other skills to collect data. Examples: babysit pr, deploy \, cherry pick prod Original …
Skills that take a symptom (such as a Slack thread, alert, or error signature), walk through a multi tool investigation, and produce a structured report. Examples: \ debugging, oncall runner…
Skills that perform routine maintenance and operational procedures — some of which involve destructive actions that benefit from guardrails. These make it easier for engineers to follow best…
Claude Code knows a lot about your codebase, and Claude knows a lot about coding, including many default opinions. If you're publishing a skill that is primarily about knowledge, try to focu…
The highest signal content in any skill is the Gotchas section. These sections should be built up from common failure points that Claude runs into when using your skill. Ideally, you will up…
A skill is a folder, not just a markdown file. You should think of the entire file system as a form of context engineering and progressive disclosure. Tell Claude what files are in your skil…
Claude will generally try to stick to your instructions, and because skills are so reusable you'll want to be careful of being too specific. Give Claude the information it needs, but give it…
Some skills may need to be set up with context from the user. A good pattern is to store this setup information in a config.json file in the skill directory. If the config is not set up, the…
When Claude Code starts a session, it builds a listing of every available skill with its description. This listing is what Claude scans to decide "is there a skill for this request?" Which m…
Some skills can include a form of memory by storing data within them. You could store data in anything as simple as an append only text log file or JSON files, or as complicated as a SQLite …
One of the most powerful tools you can give Claude is code. Giving Claude scripts and libraries lets Claude spend its turns on composition, deciding what to do next rather than reconstructin…
Skills can include hooks that are only activated when the skill is called, and last for the duration of the session. Use this for more opinionated hooks that you don't want to run all the ti…