I'm not being flippant. If I need to sit and watch a claude session reviewing every edit it makes, that's slower than me coding the changes by hand. Either it's good enough to work independently or it's not worth using. I have no idea how Google is using AI, but from what I've seen at my own company I do know that using AI effectively _and_ setting up repos/projects for good AI usage (and with guardrails to keep AI in check) are both acquired skills. Skills that the majority of devs don't have right now.
Really the single biggest piece I use today is using a tool like superpowers to ensure your task is well defined. Added bonuses are its TDD implementation skills and multiple review steps baked into the workflow. Before I discovered superpowers I was manually telling claude to do these workflows, the plugin makes it easy.
In the repo itself:
* Keep agents.md focused; claude likes to really bloat it by default. The "Adding guidance for AI agents" rules go into every project and have worked pretty well.
* Aggressively use nested agents.md files. Focused rules located where they're relevant seem to do much better than having a large whole-project rule dump in the root agents.md.
* Recently I've started using the tech debt and deferred work documentation rules. Claude frequently decides on its own that some piece of functionality or issue is "deferred until later" or "out of scope". These rules help make it clear so that you can make it fix the item or at least have it documented for a followup session.
* Have it test all the things. Most of my personal projects with claude have about a 3:1 ratio of test:application code and high coverage. Claude make it easy to build test harnesses for things that most of us wouldn't have bothered with 5 years ago.
* Strict type checking, linting, static analysis, warnings as errors, etc. Anything you can turn on or add to block questionable code, do it.
* Use a claude pre-tool hook to run all of your checks before you allow a git commit command. Left on its own it can and will decide that it has a valid reason to bypass git commit hooks (husky) to commit broken code or tests.
I’ve been using agents to do the code for me, but I explicitly tells it to iterate in small changes that I can review and approve as it happens, not after a 2k lines diff. It makes me understand what’s being made, and test every little change before we move on to change other parts of the code. Also helps you correct any misunderstanding right from the start.
Except there’s no average person, the average itself is a combination of people with the most diverse needs and constraints. It’s like the joke that the average human being has 1 breast and 1 testicle.
It is a thing to some extent, but there’s also a correlation of companies that do cross-platform for simple apps being cheap on development, and making it work very well on some specific platform isn’t their priority.
For people who have some expertise, the models accelerate the grunt work, but you’re the one validating it.