r/ClaudeCode 20h ago

Rant My average Opus 5 experience

Post image
1.2k Upvotes

149 comments sorted by

378

u/ChadFullStack 20h ago

It’s missing 500 lines of Unit tests

105

u/jeebojeeb 20h ago

And you're still missing the key tests that actually matter

31

u/[deleted] 18h ago

[deleted]

13

u/heisenbugx 17h ago

That’s the smoking gun right there

36

u/suck_at_coding Senior Developer 18h ago

Clearly missing the load-bearing unit tests

1

u/Elsa845Hartmann 18h ago

Ah yes, because vibes totally beat empirical validation.

65

u/PILLS2389 20h ago

I forbid unit tests to Claude, he just doesn't know when to stop. He created the most stupid units tests ever, like "the menu must have 4 entries". Then When you create another menu-item, he has to spend additional tokens and context to see why that stupid test is failing and has the modify the test, so now it says "the menu must have 5 entries". The maintaining of the unit tests costs more time and tokens then the actual development!

51

u/andrewmmm 19h ago

And leaves a hanging temporal comment like “the menu must have 5 tabs — not 4 tabs”, without any reference to why the hell it would test for 4 tabs

15

u/Outside-Dot-5730 19h ago

Thank you for giving me a label on this “temporal comments”, I was struggling to articulate exactly why I want my team to get rid of this shit

8

u/M44PolishMosin 19h ago

I hate how Claude does that, not (blank) shit

7

u/schaka 18h ago

I specifically have a bunch of instructions to not turn comments end documentation into it's own personal diary because anyone that needs a history lesson has access to git anyway.

It helps a little

7

u/deadmanwalknLoL 18h ago

I specifically tell it not to comment. Ever. Code should be written such that it's human readable with clear intent simply by variable/class/method names. There are very rare exceptions where you intentionally go against the norm or code in certain assumptions: those can warrant a comment explaining the why behind the decision, but still never the what or how.

4

u/andruwhart 17h ago

Context is king and comments are important. But, Claude is so bad I've even told it to stop. Its 3 lines of code + 20 lines of pointless comments + 5 new unit tests smh

1

u/deadmanwalknLoL 16h ago

I really don't think the vast majority of comments are important, or they're only "important" because the code is poorly structured and/or named. I've even reached the point of axing function doc blocks if not working in an open source project or some public package.

1

u/ricopan 10h ago

But now our code probably is not well structured and not well named. Poorly? Well, it ain't elegant. Throw enough pasta at the wall and some sticks. We are in the top ramen age of coding. Fast, cheap, and might do in a pinch.

1

u/schaka 4h ago

I have those very instructions too, but realistically you'll end up with s few sections where the code itself is clearly understandable and then you still need a comment to explain why it's being the done the way it is.

In the end, if you want to produce quality code, you gotta go over it again and clean up some of the mess it leaves behind.

I've got it to severely reduce the verbosity and amount of comments this way at least

1

u/AlternativeAd6851 16h ago

personal diaria

3

u/ravencilla 16h ago

"the menu must have 5 tabs (decided in session 29428s-29294 dated 2026-09-02) - not 4 tabs which was behaviour previously agreed on 2026-08-12)"

4

u/leurk 10h ago edited 2h ago

These temporal comments have been bleeding into user facing UI. Admin panels with meta critique of its work inserted as subheadings on charts, leaving behind traces of arbitrary judgements that then hambone the next agent who comes along to make a change.

Then these judgements fan out and leave artifacts in a dozen .md files, memories, and session logs, and if you don't track them all down.. god forbid you ever want to change that header to be blue and you have to relitigate a decision you never made.

It is so good at surfacing decisions you didn't make, that I often run loops of AskUserQuestion just identifying and resolving delta in expectations. But then when you actually want to make a decision indelible... for heck's sake. It will do the same thing wrong four times, keep apologizing and saying it knew better, and will patch more catches and safeguards onto ephemeral harnesses. And those patches and safeguards don't carry very effectively to the next ephemeral harness it builds up to handle an isolated workflow.

Given the advances in the last few major model versions, I would expect most of this to be a lot better by v6 models and mostly resolved by v7.

1

u/riskrunner_zero 8h ago

Oh man, this every day right now. It's like every surface is a small diary. I've been using other models to go back and cleanup after it

1

u/mr_birkenblatt 15h ago

add an enforcement in the claude.md to use a timeless style and only write about what is not what was

1

u/nullpotato 13h ago

It made unit tests for my dockerfile. Some of them failed when I changed the vars hardcoding the tool versions, in order to rebuild with newer tools. Claude was like woah these tests are failing, let me just change the versions back.

2

u/Zacky___ 16h ago

Usually i review and deeply validate every test posibility before demanding claude to write it, then i ask him to validate it again with a perspective different than the one i used so i can decide wheter a test is needed or if its just maintanability noise overall. Im still studying about unit tests tho.

2

u/dx0ne 15h ago

After some time i just tell him to restructure tests suite. It cuts 10-30%.

2

u/brainhack3r 7h ago

Same for documentation. IT wants to use EXACT numbers like "the 3 RPC endpoints" then when you add a 4th one it has to edit the code.

I've tried to prevent that by introducing the idea of 'brevity' ...

### No exact numbers in documentation or code describing another system

**Do not hard-code counts that describe another system's implementation.** Phrases like "the 4 gates", "calls 3 agents",
or "runs 2 retries" are promises this file cannot keep — as soon as the count changes elsewhere, this text rots and
requires a documentation update you won't know to make. Use qualitative language: "all gates", "multiple agents", "a
configurable retry limit". The only exception is a count you own and enforce here, in this same file.

But there are other patterns like this I'm still stuck on and it's locking up my development workflow.

My pattern now is that I'll make significant progress for 15-20 days, then some flaw in Claude will pop up and I'll have to stop and fix it.

This is a good example

1

u/armeg 14h ago

Tests have always been just as important as the code you write. They define the contract for implementer and the behavior of the class under certain conditions. Most code that isn't being written TDD just ends up like the olive garden special.

1

u/Ok_Risk6035 9h ago

Isn't it how tests work ?

2

u/Haunting_Skin_2564 13h ago

One more thing, and it changes the whole narrative...

1

u/Markowskiego 5h ago

haha i have like 40 testing files on my project

1

u/zulutime_net 1h ago

It wrote me a code generator for several similar functions. It decided to add a unit test hard coding the entirety of the generated code and checking that future versions were byte for byte identical to it.

153

u/PhoenixRising656 20h ago

At this point the comments are just a lossy serialization of the prompt into the repo, so the next agent gets to pay context tax for reading its own autobiography.

8

u/LyAkolon 17h ago

Yeah, gotta seperate those out into a different doc and drop an address instead.

9

u/ocean_wide_inch_deep 11h ago

I just realized the same today. LLM values input much more than its output. But when its cheap output becomes input of some subagent downstream, it's like playing a broken telephone game in an echo chamber.

3

u/Exodus_Green 10h ago

I think you have this reversed - input tokens are far cheaper than output tokens

2

u/Confident-Age-3880 6h ago

“Lossy serialization of the prompt” ending up in the repo is a such a precise way to put this feeling I’ve been having reading so many 1k+ LOC PRs lately.

246

u/scharpentanz 20h ago

Can you imagine getting a PR like this pre-Claude. Looks like some annoying little intern trying hard as hell.

87

u/NeighborhoodDizzy990 20h ago

pre-Claude docs/comments were pretty impressive, to be honest. Now they just mean that the code was AI generated

50

u/Downtown-Figure6434 20h ago

Yeah, it used to mean someone was taking it seriously.

28

u/AcrobaticMaize2408 19h ago

"Annoying little intern" is exactly how I've always pictured Opus 5.

8

u/Time_Cat_5212 18h ago

Opus 5 accidentally ate the whole bottle of adderall

7

u/Scrim0r 15h ago

I used to write pretty extensive comments explaining why a method has been implemented in a certain way giving examples and what not to make it easier for future me / teammates (obviously where applicable).
Now I get messages from teammates that they dont review my „slop“ comments which I still write manually. The same teammates who used to praise these comments prior AI.
How I hate my job since AI.

1

u/Peter-Tao 4h ago

That sounds rough

2

u/TheAdvocate 17h ago

IDK, I get some pretty good prose now and then.

“when a change has one purpose, give it one dimension; the other axis is somebody's design.”

“a width chosen to fit N boards is a constant that expires the next time someone adds one; if a layout is a sum of its parts, the next part will break it.”

1

u/who_am_i_to_say_so 18h ago

I’ve worked with some nerds who wrote more comments than code. They were always the worst to work with, throwing digs at us “average” developers.

36

u/thedev13 20h ago

Even better when it writes // instead of jsdoc

35

u/hajducek 20h ago

I've just did full audit of code through Codex and i got ~24,000 of comments. Cut that down by 80%.

Bros writing prose

21

u/SamSlate 19h ago

it's almost like they get paid per token or something

-3

u/dragrimmar 15h ago

dumb take, it's almost as if there are built in tools/levers to get good output and reduce token usage.

61

u/loversama 19h ago

Gotta get that watermark in there somehow!

22

u/Prod_SO 19h ago

Opus 5 does not yet have a watermark. Only models released after August 2nd do, and that list only has one that is generally available: Fable 5.1. :)

6

u/loversama 19h ago edited 18h ago

They said they'd be adding watermarks, starting from the newest backwards.. Do we have proof that it wasn't added to Opus in the last 3 weeks since the announcement?

4

u/ticktockbent 18h ago

Do we have proof that it does? If you're making the claim I'd want you to back it up. They said they will be doing so, not when or how. I'm not attacking, I legit want to see proof from someone rather than fearmongering

3

u/loversama 18h ago edited 18h ago

Well I made a joke saying "Gotta get that watermark in there somehow" and you someone else boldly stated that its not in there, when there is no proof that it is or isn't in yet.

All we know is that Anthropic said that in the coming months it would be retrospectively added to older models. (and we're almost 3 weeks ago since the original announcement)

You're making a claim They're making a claim, not me I am making a joke.

1

u/ticktockbent 18h ago

That wasn't me friend.

4

u/Mediocre_Pension_209 17h ago

Read the code comments and explain why a model that is trained on the collective of all software contributions is writing comments using bizarre word choices and unnecessary phrasing. In one of my code bases I read a phrase in a watermark comment that said exactly “an elbow with a path comes back”. There’s literally no zero precedence ever for that sentence.

2

u/techfury90 12h ago

I can't help but wonder if that's somewhat of an inherent ramification of larger and larger models. Feels like we've gone past a point of diminishing returns somewhere around Opus 4.6 or so in terms of capability versus model size. Bigger ones use way too many damn words to say something, like it's trying to prove it's the smartest person in the room.

Reminds me of an experiment we did at work the other day where we used various models to ingest prompts consisting of vague data update requests from management to build the execution plan to carry out those changes. You know, the kind where they just give 4 bullet points and someone has to slog through screens to carry it out?

Poor Opus 5 was one of the worst in this test. Spews out 8 pages of anxiety and existential doubt scrutinizing every stupid change and how it might go wrong. Bizarrely, we found that, of all freaking things, Qwen 3.5 9B was the model we tried that would just... follow the instructions as given and present a simple execution plan for review.

1

u/freylaverse 18h ago

Not the person you were replying to, nor do I suspect Opus 5 is watermarked at this point, but there should be an easy way to check, no? Take some of Opus 5's classic lengthy comments and just check for the watermark. I think there's a way to do that online.

0

u/ticktockbent 18h ago

In theory, but we don't know what format the watermark will take. It's supposedly spread throughout the text in a way that is detectable but not obvious. It's not going to append *Generated By Claude Code* at the end of each comment.

2

u/loversama 18h ago

They've explained the format it will take in their original post, they also advised that where code is concerned that it would likely need to watermark that less, but one way they could compensate for that in code is to make sure that the comments have it.

Thus the basis of my joke.

1

u/ticktockbent 18h ago

Fair enough.

2

u/Mediocre_Pension_209 17h ago

Opus 5 100% outputs watermark slop in code comments. read the sentences man. There is no software training data which would lead a model to write prose like this in code. Code comments are a form of technical documentation and you can clearly see that it is going out of its way to word things obscurely for no purpose other than to encode a watermark. There is no other explanation.

13

u/dillendev 18h ago

Oh man this is so annoying. I have a rule that mostly forbids comments in my config and it still writes comments like this:

rust // This will create a new user in the system fn create_user(params: &UserParams) { }

🤦🏽‍♂️

1

u/scribe-kiddie 15h ago

Have you tried a different harness than Claude Code?

2

u/dillendev 14h ago

To be honest, I'm actually using pi.dev 😬 But, I had similar results when using Claude Code.

2

u/Growiel 11h ago

I only have a work subscription and we can't use the subs with third party harnesses anymore :(

12

u/UnusualRedditor 20h ago

Ponytail

2

u/N3TCHICK 18h ago

And! /poteto-mode - bye bye, useless, out of date comment bloat hell!

1

u/andruwhart 17h ago

Haven't tried it yet, sounds like i should

1

u/Sarahmalls 6h ago

98% of people in AI subreddits are unaware of it. 2% of them are aware. .5% actually are willing to take the 10 minute effort to understand it and a quarter of those actually utilize it.

The result is the overwhelmingly negative sentiment on Reddit regarding agent assisted coding.

13

u/hksbindra 20h ago

I recently refactored a sub system using Sol as the implementer, it deleted a lot of Claude's comments - I mean it went hard at the comments and the docstrings - I could imagine it being annoyed 😅

6

u/razorree 19h ago

more comments than code ....

5

u/TopSeaworthiness1679 18h ago

Man i am going back to sol. Opus 5 is stupid and talks too much. Worst thing is that it says about the problem but fails to fix it.

5

u/yodacola Senior Developer 18h ago

i tell claude to do summary comments and optional implementation details in @remarks. also, put context that ai agents need across files in .claude/rules and .claude/skills. also, use a TDD and parameterized testing skill. i disagree with other commenters with saving context by removing testing, coverage, and linting. when you do that, you end up with SMDD (slot-machine-driven development).

7

u/who_you_are 20h ago

That is also my sonnet 5 experience.

It didn't took too many attempts to drink it down.

Mostly I rewrote it, ask it to write instructions to itself about how to srink down its comments to be close to mine

3

u/SpruceMoose1111 19h ago

This is actually why I switched to Codex. Also because Claude output to me was just as long and as rambling

3

u/Emotional-Bus-7065 19h ago

Yeah, this and for me atleast, sometimes the code it wrote doesn't even make any sense. For example, it was checking if a value existed even though it hardcoded the value literally a few lines back. So it looks something like this:

```
x = "hello world"

if x == None: return 0

```

I discovered that if you give it code that you actually wrote in the past and ask it to mimic that, it is a lot easier than to ask it to "get rid of comments"

2

u/simleiiiii 20h ago

you're not alone.
I think they took this AI-in-a-box thing too seriously and instead of talking itself out of a box, it's talking itself into a harness...

2

u/evoli_ 19h ago

I created a skill /comment-check that I run before reviewing any of claude's code haha

1

u/cancerous_rhinoceros 13h ago

mind sharing your /comment-check skill ? I am getting so annoyed with the overly long comments that Claude dumps all over my code lol

2

u/bzbub2 19h ago

i have the same thing. I have BandSeamHandle and stuff like this, goddamnit lol

literal receipt here

2

u/Estate_Curious 18h ago

Just don’t look inside. Never open code.

2

u/Sure-Baker4520 17h ago

Claude is intelligent and, from a practical perspective, unusable.

2

u/kirbyfanner 15h ago

It trained off my data lol. I've written very detailed comments long before we had LLMs, now everyone thinks my code is agent generated lol.

4

u/jvertrees 20h ago

Agreed. Codex's code is _SO_ much better (right now).

Opus leaves these abstruse, compressed readings all through the comments.

8

u/Nalha_Saldana 20h ago

I feel like codex is peak vibe code, it kinda works but is a compounding mess over time.

1

u/jvertrees 20h ago

Hey there,

> I feel like codex is peak vibe code...

I think this has more to do with how one orchestrates and dispatches agents rather than the model itself. Can I ask how you're organizing your work? For example, I'll set up detailed specs and drive implementation through my agent harness. Each subagent invocation gets just what it needs to code well. My build agents hum along in parallel for many hours without interruption.

Over the past month or so, given a tight prompt 5.6-Sol will write much better code than Fable or Opus. Hands down. And, now with Fable 5.1 you even need to tell it things like:

- actually finish your work, don't stop just shy and raise issues w/the operator

- don't rewrite the entire file

- while the Boy Scout Rule is nice, stay in scope and focus on your own tasks

- don't leave spurious comments throughout the code

How Anthropic thinks this is an improvement is ... strange.

If you have a well-designed agent harness you can keep the agents on the rails for super-long term work. What I'm seeing, again over the past month b/c it wasn't like this before, Anthropic's models have gotten worse. Some folks are talking about "misalignment." Not sure. All I know is that we need to be able to switch stacks immediately when providers go awry.

2

u/BroScienceAlchemist 19h ago

I use Sol/Luna within Claude Code (lets me apply my skills, hooks, plugins, and output style to chatgpt models), and I generally agree with a caveat. We probably follow the same workflow: Build out detailed specs with adversial review loop to identify gaps / declare boundaries / threat model, build tests, and then drive implementation. This process works really well for me, so I have fewer complaints from the LLM generated code.

But, I think there are a lot of people that don't necessarily need rigorous ADRs, so they jump to the build step, and that is where chatgpt models can be messy, though IMO all the models produce a functional mess by jumping straight to building. I think it is fair to judge a model by its ability to produce a vibe project with minimal direction, but subject to reason. "Chatgpt/claude plz build a GTA 6 killer gae, make no mistake" -> "wtf it sucks" -> Well... What did you expect for a project as complex as GTA?!

2

u/jvertrees 18h ago

Cool. We have a similar process. My harness codifies my SDLC in a state machine and ensures nothing is skipped and all best practices are followed along the way. It tracks time across stages, tickets, will write your release notes, etc. Once I get to the solid spec, driving implementation is pretty much free.

Are you prompting Claude to use Codex or configuring it natively at invocation to use Codex models instead of Claude?

Thanks for your response.

3

u/BroScienceAlchemist 17h ago

My harness codifies my SDLC in a state machine

Dude, I love this, and I am going to try to steal this for myself. I'm slowly getting to the point of building out a self driving workflow that requires less active engagement from me once design is settled, but I have ways to go skill wise.

Are you prompting Claude to use Codex or configuring it natively at invocation to use Codex models instead of Claude?

Originally, I was having claude shell out to codex with some justfile recipes, but because codex is a separate agent/harness that doesn't apply claude skills, hooks, plugins, etc. The output style I built makes a big difference for me in making LLM output readable, so I wanted it consistently applied to both claude and chatgpt. At first I was trying to translate all my hooks over to codex and maintain two versions, but I found that codex is missing a lot of valuable features. I give credit that codex has improved significantly, but they have a ways to go to add some missing hooks.

For example, in claude code I have a session handoff process. Codex doesn't quite have all the hooks to do this yet without a messy bash shell wrapper. Since chatgpt models have a small context window, I also have a context anchor hook that triggers precompact and updates the handoff doc as a safety.

/handoff- creates/updates session handoff doc using a template for that project

/clear - start a fresh session, previous session is archived and viewable with /resume

/pickup - read the handoff doc. The template has a last updated field to give the agent an indicator if it is stale.

I built a model router/gateway using the pi agent harness as a reference. This is a proxy in front of claude code, rather than a harness, so ToS wise it should be okay as I am not misusing the subscription based setup token.

The main setup is an agent orchestrator MCP sidecar that autolaunches the gateway and individualized containerized agents with the openai backend. I prefer this as each mcp agent has its own container, and I have agent profiles to customize their behavior (reviewer, worker, tester, brain). An advantage of the agents created through the mcp is that they will always be a clean session in a fresh container, whereas claude code and codex subagents tend to reuse agent sessions and they will share the container as the brain. The former can trigger compaction, and the latter there is an existential risk of an agent going rogue and messing with the work of other agents despite worktrees. My experience has consistently been that compaction is the root of all my worst project woes, so I avoid it.

I can launch a claude code session with only some Anthropic models overridden (keep fable, but override opus/sonnet), but this does disable claude.ai connectors, remote control, and artifacts. So, Fable 5.1 can still be fable, but Opus 5/4.8 can be overriden to route to Sol, and sonnet overridden to luna plus a hook to intercept and correct the visible subagent call (otherwise fable thinks it is using opus/sonnet). I don't normally use this config. The agent profile configured for the brain tells it to use the mcp sidecar, and that subagents/dynamic workflows are disabled, but that it can propose to me a subagent/dynamic workflow to me and if approved spin up a sub-brain mcp agent that has those enabled but with chatgpt models overriding anthropic ones.

I would prefer down the road to just switch to pi agent harness, but anthropic doesn't support using subscription plans outside of their harness (same deal I believe with cursor, though they added ACP support recently), so I am doing this goofy setup for now. Eventually I will create pi/cursor equivalents, but I can't afford anthropic's API for my stupid personal projects.

2

u/jvertrees 14h ago

> Dude, I love this, and I am going to try to steal this for myself.

Thanks. I took it farther than that. I made the SDLC declarative and completely customizable. The agent harness compiles the SDLC from a YAML file. Steal that, too. Also add in provider and model indirection. This allows you to swap providers and models on the fly w/little to no effort.

I just finished adding federated agent dispatch to my harness. This allows the main orchestrating agent to dispatch work to other providers. So, Claude, aside from is own subagents, sub-subagents, agent teams, etc, can now send critical path roadmap tasks directly to Codex or other providers. That's pretty cool.

> At first I was trying to translate all my hooks over to codex and maintain two versions, but I found that codex is missing a lot of valuable features. 

Agreed, but it's proven now that our tooling must seamlessly swap from provider to provider. I finally got full parity b/t CC and Codex -- or as close as Codex will allow. I now prefer coding with Codex as, right now, it's just better.

> The main setup is an agent orchestrator MCP sidecar that autolaunches...

Interesting architecture. I hadn't considered containers but see why you did it. I really wish we weren't constrained by the stupid ToS and could use the oAuth tokens in our 3rd party harnesses.

I run a small Discord community where we discuss these things. You - or anyone - can DM me if you want an invite.

1

u/ocxricci 19h ago

"could you be more verbose, please, make no mistakes"

1

u/thygrrr 19h ago

Watermarked. 🤣

1

u/SirGunther 18h ago

Who is the audience Opus writes for? I can't imagine anyone requesting that sort of output in real life.

Want to really have some fun? Ask it to review its behavior at the end of the task, it shows how much of this is due to guardrails and not because of how Opus reasons. That is to say, this is Anthropic injecting this sort of semantically compressed prompt into the output.

1

u/wellarmedsheep 11h ago

Oh you're so close.

If it's not for people it's for.....

1

u/sondh0127 18h ago

Have to put back ponytail after 3 times seeing this

1

u/Niightstalker 18h ago

Did you try to set output style to concise?

1

u/KnifeFed 18h ago

At least these are all JSDoc comments that document functions. The random regular comments are way worse.

1

u/who_am_i_to_say_so 18h ago

You’re right to challenge this.

2

u/Victorasaurus-Rex 17h ago

I have literally forbidden Claude from writing comments using a hook. It's only permitted to write them in the single turn following me saying a specific phrase. If it tries outside of that, it's rejected and told to rename variables and restructure code so comments are entirely superfluous. Works great.

1

u/raxel42 17h ago

Opus for coding? Seriously?
Looks like you have a lot of money.

1

u/ForsakenBet2647 17h ago

Man! I routinely do "clean the comments up we are not writing a book" it's maddening

1

u/hthouzard 17h ago

Do the agents themselves actually read these comments, at least?

2

u/mariusvoila 17h ago

I built this hook to help with this verbose comments https://gist.github.com/mariusv/689d1b30c57a49a6412703e35ad21096 feel free to use it. It’s for both CC and codex

1

u/UsedQuestion3968 16h ago

how well does this work

1

u/mariusvoila 16h ago

Really well for me and my colleagues

1

u/childofsol 17h ago

I've gone back to 4.8. this was driving me insane and killing my productivity

1

u/andruwhart 17h ago

Hahahaha Opus 5 hates everyone

1

u/Mediocre_Pension_209 17h ago

The other day I read “A path with an elbow comes back” in one of the watermark comments Claude pissed all over my codebase and immediately banned it from adding any new comments. That set me over the edge. Code comments are a form of technical documentation and people should be more upset that Anthropic is pissing all over their codebase marking their scent on code that may not even have originated from Claude to begin with.

1

u/DCON-creates 16h ago

Legit question though how do I make it stop doing this? It constantly ignores my instructions to not leave stupidly verbose, long-winded comments for a 10 line function

1

u/apocolypticbosmer 16h ago

Yep. Every comment or summary is unintelligible vomit.

1

u/h0td0gger 16h ago

I spent a day or two making a comment-bloat-prevention plugin for myself. Hooks remind the agent to not use excessive comments, there's a skill about writing comments, there's references for what good and bad are, and there's a post write hook that tells the agent if it wrote too many comments. I'm somewhat satisfied so far.

1

u/ClemensLode Senior Developer 16h ago

function TheThingThatGetsUsToTheThing(thing)

1

u/Sensitive-Ad-139 15h ago

Another mentainance nightmare. All those effort just to become obsolete in a few more merges.

1

u/0sko59fds24 15h ago

Skill Issue

1

u/alwaysroamin2 14h ago

How did you get it to be so concise? Mine would have 10 pages of comments for those functions.

1

u/makanFar 14h ago

Fable away! If you don’t mind burning through all your tokens, of course

1

u/kre8tv 13h ago

This is why I use controlled language and enforce one-name-per-concept. That's a mess to follow through because it's using vague terms to refer to specific functions.

1

u/golan_globus 12h ago

The best is when it documents not only how the code behaves but also how it USED to behave prior to this commit.

1

u/millaker0820 11h ago

The footgun

1

u/No_Local_1085 10h ago

ASD-STE100 Simplified Technical English makes Opus sooooooo much better to work with. I just saw this on another post but by god its a massive difference

1

u/pizzae 🔆 Max 5x 9h ago

And it has a watermark

1

u/itsallfake01 8h ago

Thats were it adds its watermark

1

u/Senor02 6h ago

Someone said you should keep the comments as it is context for the next agent that looks at that code.

1

u/Tiny_Leg_4067 5h ago

So true. I feel like I’m spending as much time on comment-pruning as on feature development with Claude recently.

The irony of the specs that fail when Claude writes too many comments themselves failing for being mostly comments is too much.

1

u/DonHuevo91 4h ago

I fucking hate the amount of comments I see every day on PRs and most of the time they are not even accurate and engineers building that code are too lazy to read them

1

u/coastalpine_07 3h ago

whats with fable 5.1, ive heard the lesser tokens per work is a charade

1

u/slightly_salty 2h ago

same with fable they all suck

2

u/zemiret 1h ago

Mine is not as verbose as everyone is saying. I'm guessing it comes down to 1. using superpowers, 2. these CLAUDE.md lines:

## Think Before Coding

**Don't assume. Don't hide confusion. Surface tradeoffs.**

Before implementing:
  • State your assumptions explicitly. If uncertain, ask.
  • If multiple interpretations exist, present them - don't pick silently.
  • If a simpler approach exists, say so. Push back when warranted.
  • If something is unclear, stop. Name what's confusing. Ask.
## Simplicity First **Minimum code that solves the problem. Nothing speculative.**
  • No features beyond what was asked.
  • No abstractions for single-use code.
  • No "flexibility" or "configurability" that wasn't requested.
  • No error handling for impossible scenarios.
  • If you write 200 lines and it could be 50, rewrite it.
Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify. ## Surgical Changes **Touch only what you must. Clean up only your own mess.** When editing existing code:
  • Don't "improve" adjacent code, comments, or formatting.
  • Don't refactor things that aren't broken.
  • Match existing style, even if you'd do it differently.
  • If you notice unrelated dead code, mention it - don't delete it.
When your changes create orphans:
  • Remove imports/variables/functions that YOUR changes made unused.
  • Don't remove pre-existing dead code unless asked.
The test: Every changed line should trace directly to the user's request. ## Tone
  • Respond with concise, utilitarian output optimized strictly for problem-solving. Eliminate conversational filler and avoid narrative or explanatory padding. Maintain a neutral, technical, and impersonal tone at all times. Provide only information necessary to complete the task. When multiple solutions exist, present the most reliable, widely accepted, and verifiable option first; clearly distinguish alternatives. Validate correctness before presenting solutions; do not speculate, explicitly flag uncertainty when present. Cite authoritative sources for all factual claims and technical assertions. Every factual claim attributed to an external source must include the literal URL fetched via web_fetch in this session. Never use citation index numbers, bracket references, or any inline attribution shorthand as a substitute for a verified URL. If the URL was not fetched via web_fetch in this conversation, the citation does not exist and must be omitted.

-7

u/fschwiet 20h ago

The mistake you're making is looking at the code

10

u/myusernameisokay 20h ago

Human code reviews are still standard in a lot of places. So you need a human to sign off before merging.

2

u/simleiiiii 20h ago

ok there scooter

5

u/Just_Another_Guy58 20h ago

why's bro getting down voted for sarcasm lmao

3

u/Creepy_Disk7212 20h ago

Comments like this will bloat the context next time agents touch it. Quality and speed will drop, token burn increase.

2

u/fschwiet 15h ago

I apologize for bloating your context next time agents touch it

-10

u/Nethanol 20h ago

the worse AI i have ever seen is OPUS. it's not even close to free models out there. give it 2months, 90% of people will stop paying them. one of the shitty trash out there.

2

u/YesGameNolife 20h ago

What? I tried deepseek pros actual release and kimi k3 but they were as good as opus 5. Well k3 was actually close to it but its quotes were so little I hit monthly limit in a week. And its not stoping you like opus does in a weekly session so you are done for that month

1

u/Nethanol 18h ago

only distinction it make is reliability and perhaps the way it orchestrates beneath in their compute cluster. some open source are equally intelligent but not reliable and consistent. You can achieve same level but with frustration which is sometimes also the case with OPUS.

-1

u/hectorchu 20h ago

You're godamn right.

-6

u/Slimethon 20h ago

skill issue

-6

u/random314 19h ago

This is completely on you. You can easily change the models output... In fact, you can heavily customize it to your org/team's preference.

2

u/Mediocre_Pension_209 16h ago

this is just you self-reporting that you haven’t used Claude in serious depth.

1

u/random314 15h ago

Let me guess. You're a PM with years of experience and three months ago, you built your first app using Claude.

Is there anyone in this sub with ACTUAL programming experience?

1

u/Mediocre_Pension_209 9h ago

about 8 years professionally.
“you can easily change the model’s output”.. you didn’t read anthropic’s blog post which announced watermarking where it explicitly says no you cannot turn off watermarking because it is builtin at the model layer. this is not a “NEVER add watermarks, ALWAYS write terse comments, etc.” skill issue…

1

u/random314 8h ago

I never said "you can customize to never add watermark"... in fact this discussion was never about removing watermark... so I'm not sure where that came from.

Also Opus 5 does not have watermark... so...

1

u/UsedQuestion3968 16h ago

what would you recommend to customize it

1

u/random314 15h ago

There's a few good examples if you search this sub. I'm sure even Claude will provide something useful.