HomeExperienceSkillsProjectsBlogContact
All posts

Getting the Best Out of Claude Code

I've been using Claude Code daily for a few months now and it has completely changed my workflow. But honestly? The default setup leaves a lot on the table. After plenty of experimenting, I've landed on a configuration that truly works. Here's what I've learned.

Know what's happening: the Status Line

The first problem I ran into was the lack of visibility. You have no idea how much context you've consumed, which model is active, or what branch you're on, until it's too late.

The fix: ccstatusline. A small tool that displays crucial session info right in your terminal.

bash
npx ccstatusline@latest

My setup uses two lines with the following widgets:

Line 1 - 7 widgets
1 model
2 separator
3 context %
4 separator
5 session usage
6 separator
7 session clock
Line 2 - 3 widgets
1 git branch
2 separator
3 git worktree

This might sound like a minor thing, but it changes how you work. That context percentage alone is worth its weight in gold.

The golden rule I taught myself: keep your context below 50%. Above that, Claude gets noticeably slower and sloppier. When you're getting close, just start a fresh session. It takes 10 seconds and saves you 10 minutes of frustration.


Plugins that make a real difference

Claude Code has a plugin system and a few of them have become indispensable for me. Install them via the /plugin command:

  • Superpowers, the foundation for advanced actions and building your own skills (more on this later).
  • CodeSimplifier, an autonomous agent that simplifies and refines your code for clarity and maintainability without changing functionality. Great to run after a long coding session or before submitting a PR.
  • Context7, an MCP server that fetches up-to-date, version-specific documentation and injects it into your prompts. No more hallucinated APIs or deprecated methods.

Sequential Thinking: think first, code second

This might be the single most important addition. The Sequential Thinking MCP server forces Claude to reason step by step before generating code. Without it, the model sometimes just starts typing without considering the architectural impact.

Installing it is dead simple, just ask Claude:

"Please install sequential thinking mcp server"

Since I started using this, I've noticed a clear difference on more complex refactors. Fewer "oops, didn't think of that" moments.


The right terminal matters

I tried the default terminal for a while but eventually switched to Warp. Especially on Windows via WSL, the difference is huge. A modern interface, fast rendering, and the AI integration works seamlessly.

Installing on WSL is two steps:

  1. Download the .deb file from Warp
  2. Install it:
bash
sudo dpkg -i warp-terminal_0.2026.03.04.08.20.stable.04_amd64.deb

Custom Skills: teach Claude your style

This is where things get really interesting. With the Superpowers plugin, you can train Claude using "Skills", simple Markdown files that describe how you want things done.

A skill is a SKILL.md file in .claude/skills/[skill-name]/. Claude scans these files and loads them automatically when the situation calls for it.

A real-world example

Say you have a React project and you want Claude to always follow your conventions: TypeScript interfaces, named exports, Tailwind, no React import. Instead of explaining this every single session, you create a skill:

.claude/skills/react-guardrail/SKILL.md

---
name: react-guardrail
description: Use this skill when creating or modifying React components.
---

# React Component Standard

When creating components, follow these rules:

1. **No Default Exports** — always use `export const ComponentName = ...`
2. **TypeScript** — always define an `interface Props`
3. **Styling** — Tailwind CSS classes only
4. **Imports** — don't import React (new JSX transform)

## Example:
```typescript
interface Props {
  title: string;
}

export const Header = ({ title }: Props) => {
  return <h1 className="text-xl font-bold">{title}</h1>;
};
```

From now on, Claude automatically loads these rules whenever you create or modify a component. No more repeating yourself, and consistent code across your entire project.


Bonus: Happy Engineering

One last tip: happy.engineering is a remote client for Claude Code. Useful when you're not at your own machine but still want access to your projects and sessions. It works in the browser and gives you the same capabilities as the local CLI.


My daily checklist

This is what I start every session with:

  • Status line active, keep context below 50%
  • Sequential Thinking on for complex tasks
  • Warp as terminal
  • Custom skills up to date in .claude/skills/

It takes some time to set up, but the payoff is more than worth it. Claude Code isn't just a chatbot in your terminal, with the right setup, it's a serious development partner.