>How I Set Up Claude Code to Actually Work for Me
A walkthrough of my Claude Code setup with 16 plugins, a custom status line, and custom skills that turned a terminal tool into a proper development environment.
I’ve been using Claude Code as my daily driver for a while now. At some point I realized my setup had grown into something worth sharing, so I version controlled the whole thing and put it on GitHub. This post walks through what I’m running, why I picked each piece, and how it all fits together.
What Even Is Claude Code
If you haven’t used it, Claude Code is Anthropic’s CLI tool that lives in your terminal. You talk to it in plain English, and it reads your codebase, edits files, runs commands, and handles git workflows. Think of it as a senior engineer pair that never gets tired and never judges your variable names.
Out of the box it’s already solid. But the plugin system is where it gets interesting.
The Plugin Stack
I’m running 16 plugins. That sounds like a lot, but each one covers a specific gap. Let me walk through them grouped by what they actually do.
Thinking Before Coding
Superpowers is probably the most impactful plugin in my setup. It teaches Claude structured workflows for brainstorming, planning, debugging, and test driven development. Instead of jumping straight into code, Claude will ask better questions, flesh out implementation details, and build a proper plan before touching anything. It also enables subagent driven development, where Claude can spin up parallel workers for independent tasks. If you install one plugin, make it this one.
Feature Dev adds a guided feature development flow. It pairs codebase exploration with architecture design, so when you say “build me X,” Claude first understands how your project is structured before proposing changes. It comes with specialized agents for exploring code, designing architecture, and reviewing what was built.
Understanding Your Code
Serena is a semantic code analysis tool built on the Language Server Protocol. It gives Claude IDE level capabilities like finding symbols, tracing references, and navigating large codebases without reading entire files. It supports 30+ languages and is especially useful when you’re working in a large repo where grepping alone won’t cut it. Instead of dumping a whole file into context, Serena lets Claude surgically read just the function or class it needs.
Context7 solves a problem every developer has hit: Claude confidently suggesting an API call that was deprecated two versions ago. This plugin pulls live, version specific documentation straight from source repositories. When you ask about React hooks or a Prisma query, it fetches the current docs instead of relying on training data. Simple idea, massive difference.
Greptile connects your code review history to Claude. You can fetch PR comments, search review feedback, and apply fixes without leaving the terminal. It’s like having your team’s collective code review wisdom accessible on demand.
Code Quality
PR Review Toolkit is actually a suite of six specialized agents. There’s a code reviewer, a comment analyzer, a test coverage analyzer, a silent failure hunter (which catches swallowed errors and bad fallback logic), a type design analyzer, and a code simplifier. When I finish a chunk of work, these agents tear through it from different angles. The silent failure hunter alone has caught things I would have shipped.
Code Simplifier focuses specifically on cleaning up recently modified code. It looks for opportunities to reduce complexity, improve clarity, and remove unnecessary abstractions while keeping all the functionality intact. It runs after I write something and quietly makes it better.
Security Guidance is a hook that fires every time Claude edits a file. It scans for dangerous patterns like command injection, eval usage, XSS vectors, and unsafe deserialization. It’s a passive safety net that catches the stuff you stop thinking about when you’re deep in a feature.
Language Intelligence
Pyright LSP and TypeScript LSP give Claude access to real type checkers. Instead of guessing whether your types are correct, Claude can run actual diagnostics, get proper error messages, and use go to definition. If you write Python or TypeScript (and I write both), these are essential. Claude goes from “this looks right” to “the type checker confirms this is right.”
Git and Workflow
Commit Commands adds shortcuts for the git workflow. Commit, push, and open a PR in one command. It also has a handy branch cleanup command that removes local branches that have been deleted on the remote. Small quality of life stuff that adds up.
Ralph Loop is one of the more creative plugins. It runs Claude in a loop on the same task, where each iteration can see the results of the previous one. Think of it as autonomous improvement cycles. Claude works on something, sees the test failures, refines its approach, and keeps going until it gets it right. Useful for tasks where the first attempt is rarely the final one.
Browser and Frontend
Playwright gives Claude a real browser. It can navigate pages, click buttons, fill forms, take screenshots, and read console output. I use it for testing and for debugging frontend issues where you need to actually see what’s happening in the browser.
Frontend Design is specifically tuned for building UI. When you ask Claude to create a component or a page, this plugin pushes it toward distinctive, production grade code instead of the generic “AI looking” output. It’s opinionated about design quality, which is exactly what you want.
Meta and Setup
Claude Code Setup analyzes your codebase and recommends automations like hooks, subagents, skills, and MCP servers. It’s useful when you’re onboarding Claude to a new project and want to configure it properly from the start.
Claude MD Management handles the CLAUDE.md files that live in your repos. These files tell Claude about your project’s conventions, architecture, and preferences. This plugin can audit them, improve them, and keep them up to date as your project evolves.
The Custom Status Line
One thing I invested time in was a custom status line script. By default Claude Code shows minimal info at the bottom of the terminal. My script replaces that with a dashboard that shows:
- Smart path that abbreviates deep directory structures
- Git info including branch, uncommitted changes, ahead/behind remote, stash count, and how long ago the last commit was
- Model name so I always know what I’m running
- Context window as a visual progress bar that turns yellow at 50% and red at 80%
- Token counts for input and output
- Session insights like turn count, tool calls, and files modified
- Cost tracking with total spend and burn rate per hour
- Memory usage so I can see if my machine is struggling
- Session timer to keep track of how long I’ve been going
It’s a bash script with no dependencies beyond standard unix tools and bc for the math. The context window bar alone is worth it because you always know how close you are to hitting the limit.
Custom Skills
Beyond plugins, I have two custom skills:
Generate Spec enforces spec driven development. Before any implementation starts, this skill generates a comprehensive specification document covering requirements, technical design, testing strategy, observability, and rollback procedures. The spec becomes the source of truth that gets reviewed before any code is written. It’s a forcing function for thinking before building.
Skill Creator is a meta skill for building more skills. It provides guidance on structuring skills, writing effective prompts, and packaging everything correctly. If you find yourself repeating the same instructions to Claude across projects, turning that into a skill is the move.
The Backup Strategy
The whole setup lives in a git repo. Settings, plugins, scripts, skills. I .gitignore everything sensitive like conversation history, debug logs, session data, and telemetry. To restore on a new machine, I clone the repo and copy the contents into ~/.claude/. That’s it.
It’s the same idea as dotfiles, just for Claude Code. If my machine dies tomorrow, I’m back up and running in under a minute.
What I’d Tell Someone Starting Out
Start with Superpowers and Context7. Those two alone will change how Claude works for you. Add the LSP plugins for whatever languages you use. Then layer in the rest as you feel gaps in your workflow.
The status line is worth setting up early too. Knowing your context usage and cost in real time changes how you work with the tool. You start being more intentional about what you feed into the conversation.
And version control your config. Future you will thank present you.