Hacker News new | ask | show | jobs
by DiskoHexyl 236 days ago
CC barely manages to follow all of the instructions within a single session in a single well-defined repo.

'You are totally right, it's been 2 whole messages since the last reminder, and I totally forgot that first rule in claude.md, repeated twice and surrounded by a wall of exclamation marks'.

Would be wary to trust its memories over several projects

3 comments

create a instruction.md file with yaml like structure on top. put all the instructions you are giving repeatedly there. (eg: "a dev server is always running, just test your thing", "use uv", "never install anything outside of a venv") When you start a session, always emphasize this file as a holy bible to follow. Improves performance, and every few messages keep reminding. that yaml summary on top (see skills.md file for reference) is what these models are RLd on, so works better.
This should not really be necessary and is more of a workaround for bad patterns / prompting in my opinion.
I agree it's a workaround. Ideally the model should follow instructions directly, or check before running another server to see if it's starting. Though training cannot cover every usecase and different devs work differently, so i guess its acceptable as long as its on track and can do the work.
How big is your claude.md file? I see people complain about this but I have only seen it happen in projects with very long/complex or insufficient claude.md files. I put a lot of time into crafting that file by hand for each project because it's not something it will generate well on its own with /init.
I always just tag the relevant parts of the codebase manually with @ syntax and tell it create this, add unit tests, then format the code and make sure it compiles. There is nothing important enough in my opinion that I have felt the need to create an MD file
Where can I find docs about Claude @ syntax?
I think the parent comment is simply referring to “@“-ing files in the chat.

So if you want CC to edit “file.R”, the prompt might look like:

“Fix the the function tagged with ‘TODO-bug’ in @file.R”

That file is then prioritized for the agent to evaluate.

Also I am confused by the “wall of exclamation marks”. Is that in the Claude.md file or the Claude Code output? Is that useful in Claude.md? Feels like it’s either going to confuse the LLM or probably just gets stripped.
When I first got started with CC, and hadn't given context management too much consideration, I also encountered problems with non-compliance of CLAUDE.md. If you wipe context, CLAUDE.md seems to get very high priority in the next response. All of this is to say that, in addition to the content of CLAUDE.md, context seems to play a role.
At what point does futzing with your claude.md take time equivalent to just writing the code yourself?
What's the right size claude.md file in your experience?
My experience is with copilot and it uses various models, but the sweet spot is between 60 and 120 lines. With psuedo xml tags between sections

Might be different across platforms due to how stuff is setup though.

My AGENTS.md is 845 lines and it only started getting good once it got that long. I'm still wanting to add much more... I'm thinking maybe I need a folder of short doc files and an index in AGENTS.md describing the different doc files and when to use them instead.
I know copilot supports nested agent files per folder.
Very long OR insufficient. Ah yes, the goldilocks Claude.md
Yep -- every message I send includes a requirement that CC read my non-negotiables, repeat them back to me, execute tasks, and then review output for compliance with my non-negotiables.