Ask HN: How Do You Actually Use Claude Code Effectively?

4 sukit 4 6/24/2025, 2:08:52 AM
I'm trying to figure out the right and effective way to use Claude Code. So far, my experience hasn't matched what many in the community seem to rave about.

Often, it either generates convoluted implementations when simpler ones clearly exist, or it produces code that's riddled with bugs — despite confidently claiming it's correct. I'm wondering if I'm just not using it properly.

Here's my current workflow:

- I first talk to Gemini to gradually clarify and refine my requirements and design.

- I ask Gemini to summarize everything. Then I review and revise that summary.

- I paste the final version into Claude Code, use plan mode, and ask it to generate an implementation plan.

- I review the plan, make adjustments, and then let Claude Code execute it.

- Long wait…

- Review Claude’s output and clean up the mess.

For refactors and bugfixes, I usually write some tests in advance. But for new features, I often don’t.

It often feels like opening a loot box — 50% of the time it does a decent job, the other 50% is pretty bad. I really want to understand how to use it properly to achieve the kind of magical experience people describe.

Also, I’m on the Pro plan, and I rarely hit the rate limit — mainly because there’s a lot of prep work and post-processing I need to do manually. I’m curious about those who do hit rate limits quickly: are you running lots of tasks in parallel? Machines can easily parallelize, sure — but I don’t know how to make myself work in parallel like that.

Comments (4)

breckenedge · 7h ago
Make sure your project has a CLAUDE.md or CLAUDE.local.md. You can use Claude to help you come up with this. Use Claude to maintain a list of common, simple workflows and reference them in CLAUDE.md. It’s not great yet for large scale work or refactors but it’s getting better month-by-month. It may never be able to do big work in one-shot.

I run tasks in parallel and definitely hit the rate limits.

sukit · 2h ago
I might be misunderstanding how it works, but from what I’ve seen, CLAUDE.md doesn’t seem to be automatically pulled into context. For example, I’ve explicitly written in CLAUDE.md to avoid using typing.Dict and prefer dict instead — but Claude still occasionally uses typing.Dict.

Do I need to explicitly tell Claude to read CLAUDE.md at the start of every session for it to consistently follow those preferences?

tra3 · 4h ago
This sounds like a decent work flow. What makes you think it’s ineffective?
sukit · 2h ago
That’s the problem — about 50% of the time, the result is so messy that cleaning it up takes more time than just writing it. So I wonder is there a better way to prompt or structure things so that I consistently get clean, usable code?