Habit: I ask Claude to audit our instructions.
"Audit AGENTS.md. Is the information in it valid? Does it match reality?"
Claude found 7 instances of bogus, outdated instructions. We were literally lying to AI.
Problem solved.
Just shipped https://t.co/HrftA7P6xj โ a free, open-source .NET global tool that scores your codebase across 9 quality dimensions using Roslyn static analysis. No cloud, no vendor lock-in, fully deterministic.
dotnet tool install -g https://t.co/HrftA7P6xj
Pairs with my code-scorecard skill to give AI agents objective evidence about code health before they start writing code.
https://t.co/y8chAedz2N
One dev uses Claude. Another uses Copilot. A third uses Cursor. They're all generating code in your codebase.
If every developer has a different instruction file, you don't have standards. You have individual configurations producing inconsistent output, and that inconsistency is compounding in your codebase every day.
The fix is a single source of truth. One root document. Modular standards. And thin tool-specific pointers (CLAUDE.md, copilot-instructions.md, .cursorrules) that all say the same thing: load the shared standards.
No drift. No copies. One set of rules, multiple entry points.
Human or AI, everyone builds to the same standard.
https://t.co/FQNgNREZyd
#AI #AICoding #EngineeringLeadership #SoftwareDevelopment
Activist: "Your cows are putting carbon into the atmosphere."
Farmer: "Where did they get it?"
Activist: "What?"
Farmer: "The carbon. Where did the cow get it before it put it anywhere."
Activist: "From... eating?"
Farmer: "From eating grass. And where did the grass get it."
Activist: "The soil?"
Farmer: "The air. The grass pulled it out of the air last spring. The cow ate the grass. The cow breathed some of it back out. It went back into the air it came from."
Activist: "But it's still going into the atmosphere."
Farmer: "It's going back. There's a difference between a thing going somewhere and a thing going back. You've described a circle and you're frightened of it."
Activist: "Then just don't have the cow."
Farmer: "The grass still dies in autumn. It rots where it falls. The carbon goes back into the air either way, just without anyone getting fed in the middle."
Activist: "It's not that simple."
Farmer: "It's grass, cow, breath, grass. Or it's grass, rot, air, grass. Same circle, fewer dinners. If that's complicated for you I'd stay away from the water cycle. That one's got clouds in it."
Given Snyk's findings about malicious prompts in public skills, who's giving any thought to demonstrating their skills are safe to use?
@mattpocockuk, I know you're at the forefront of this. Thoughts?
Three developers on your team.
One has 40 AI skills installed from 6 marketplaces. Doesn't know what half of them do.
One hasn't updated anything in 2 months. New skills exist for everyone else.
One built a brilliant skill that lives only on their machine.
Your org has no infrastructure for AI skill distribution.
You already solved this for npm and NuGet. Skills are the same problem: third-party code with privileged access, picked by individual taste, and with zero org-level review.
Build an internal marketplace. Front the public ones. Add your own. One registry, one installer, and one bootstrap skill that updates everyone with one command.
Standards govern what your AI writes. The marketplace governs what your AI can do.
https://t.co/JOwq4CUdYk
#AI #EngineeringLeadership #DevTools #AICoding
I prefer Teams to Slack.
I prefer teams not to slack.
I like my teams to team and not to slack, whether or not they Team or Slack.
If my teams Slack (or my team Slacks), that's okay as long as my team teams (or my teams team).
.Net for it simplicity, low allocations (ZLINQ, spans, Memory<T>, ref structs, etc.) and concurrency (TPL) and its cross-platform and gaming capabilities.
Golang is nice, but it's just not as mature and I'd have to add features to the language to get to where C#/.NET is.
NodeJS is a fucking joke. Java is a has-been that's trying to reform its legacy and catch up to where C# and Golang are, having a different design mentality.
Good language design pays dividends. Bad language design like that of Javascript gives you multi-GB application sizes, dependency hell, and slow performance, eternal monkey-patching, and multiple languages thrown into the mix (Go, Zig, Typescript) to fix the mess, despite the "easiness" of the language.
I chose #csharp not because it's 'easy' or has all the features I want. I chose it because I could bend it to my will.
I cannot do this with the other 3. And no, Javascript doesn't bend to anyone's will - there's a reason TS was invented (to unfuck up JS, add types, and prevent the infinite monkey patching and shims).
I'm not a golang expert, but the mentality is "it's in the core libraries - stop making new libraries". What's the point, then? Write a bunch of boilerplatey server API code? (that was my experience, ymmv; not trying to insult golang, it just seems kind of limited imo).
TLDR: C# lets me be DRY, maintain my code easily, and keep my own style. It doesn't enforce a paradigm like the others do (subtly or otherwise). Hard to explain, unless you've been through each of these languages and experienced the pain points.
Most teams dump every convention, every standard, every pattern into one giant CLAUDE.md and wonder why the AI ignores half of it.
3,000 lines. No human reads it. No AI fully processes it. Important rules get buried in the middle.
The fix isn't more words. It's architecture.
Your root file is an index. It states non-negotiable principles, points to modular standards files, and tells the AI when to load each one. API work loads the API module. Writing tests loads the testing module. Quick bug fix loads neither.
A router, not a novel.
https://t.co/kUOXiagpU5
#AI #AICoding #SoftwareDevelopment #EngineeringLeadership
Hot take: ๐ถ๏ธ
An agent should be generating nearly all code today.
If the agent fails, the focus should be on improving instructions, prompts, architecture, tools, skills, tests, and feedback loops so it can reliably do so.
@housecor Completely agreed. The legacy code based for my company has well established anti-patterns that the AI often prefers to follow instead of following the documented good standards.
@Heather81031325@Mike_Preston17 I'm 100% a C# fanboy and it ABSOLUTELY started as a JAVA derivative.
You can be okay with less-than-stellar roots. It's where you are that matters, not where you started. ;)