The anti-slop ai coding prompt I’ve found the most success with is definitely “deepen modules and simplify interfaces”
It does such a good job with deduplication and centralization of core functionality, and gets the ai implementing much better levels of abstraction
It’s led to tons of consistency improvements, bug fixes, and, most rewardingly, reduced LOC. I run a deepening pass on every PR, and a nightly automation to tackle overdue maintenance
Comes from @JohnOusterhout’s Philosophy of Software Design (highly recommend), which I had read but didn’t fully leverage until @mattpocockuk put me onto it
Can’t tell if I like or don’t like the “projects” or “chief of staff” agent abstraction
Feels like I’m letting myself think less and am too far from the fun
Tag the incumbent in your industry and tell them why your startup with a fraction of the team size is going to eat their lunch
AI has turned small, strong dev teams into absolutely cracked producers that can disrupt legacy sitting duck companies whose software can nearly be replicated with a single prompt. Their laziness and bureaucracy is our opportunity
Here’s mine:
@BldgConnected, count your days. Anyone adopting your software today has no real sense of productivity or progress. @consightAI is going to win your market share
This is your reminder to trim the unnecessary crap from your CLAUDE/AGENTS.md
Keep or add: domain specific terminology, tweaks against experienced bad behaviors, entry points for procedural validation skills
Remove: generic knowledge, instructions, how to think, or common sense industry practices
Models have gotten so good by default that they don’t need the same workarounds and instructions like “be thorough” and “think hard”
It’s a great time to start over from a blank doc and add what you absolutely need as you go
There's no better time to bootstrap your business
Sucks that 8 subs isn't enough, but having 2, 5, 10, 15 subs is still cheaper than hiring*, which is great when you're a motivated founder and nobody else shares your determination and domain knowledge
If all you do is focus on the next feature, you'll find it tough to run out of usage. Tokens really drain when you optimize through hillclimbing
Favorite things to hillclimb:
- Reducing token use and steps-to-completion of our app's ai features
- Reduce time of latent/heavy app operations
- Reduce spend on hosting and db
- Reduce time and spend on ci
- Reduce memory usage of test/lint suite
*so long as you use them responsibly and set up well bounded systems, lint rules, evals, verification gates, feature flags, rollbacks, etc.
It’s never been more important for builders to gather and iterate on user feedback
You need to be having ongoing conversations with your prospective users to hear straight from them what feels clunky, what’s overly complicated or confusing, whether the problem you’re trying to solve is genuine and painful, and how it needs to be adjusted to match their workflow
The edge of coding better or faster is diminishingly quickly with how helpful agents have become, which means that setting your product apart from the rest comes down to resonating with your users
Builders have the tendency to put their heads down and drive until the product is “perfect”, but unfortunately this seriously misses the mark in so many cases and you find yourself attempting to sell theory instead of practicality
@NeyronixAI Separate review step bc it keeps the focus a lot better. If it’s an important enough module or I feel it’s still taking more args than it could or should, I’ll even run it twice
The anti-slop ai coding prompt I’ve found the most success with is definitely “deepen modules and simplify interfaces”
It does such a good job with deduplication and centralization of core functionality, and gets the ai implementing much better levels of abstraction
It’s led to tons of consistency improvements, bug fixes, and, most rewardingly, reduced LOC. I run a deepening pass on every PR, and a nightly automation to tackle overdue maintenance
Comes from @JohnOusterhout’s Philosophy of Software Design (highly recommend), which I had read but didn’t fully leverage until @mattpocockuk put me onto it
@atarutin@mattpocockuk I don’t use Matt’s repo directly, I picked and chose a lighter set of principles that I liked. But to the same effect, I have it both as a skill I can invoke manually and as a part of my “build and put up a ready PR” pipeline
The best place I can point you is actually Mr. Pocock’s skills repo, which I used to seed my own version:
https://t.co/Buyk2dE0Ca
As for my version, here’s essentially the core of it (summarized by Claude):
“Make each module deep: a simple interface hiding a lot of behavior. If deleting a module would only push its complexity back onto its callers, it's earning its place; if nothing would be lost, merge it away. Put each concept in the one module that owns it, and pull special cases, ordering rules, validation and derived values inside, so callers never have to know them. Shrink the interface until there's one obvious way to call it: drop any parameter, flag or option the module can work out itself, that every caller passes the same way, or that nobody reads, then move every caller to the new shape and delete the old path completely.”
How you know a post is complete slop:
- “Someone just [released/dropped/open sourced]”
- “Worth more than any [insert arbitrary price] course”
- Claiming local ai is anywhere near as capable as frontier models for coding and, in many cases, price
My cofounder has a tendency to flood our chat session with his stream of consciousness (questions about how features work, bugs, random ideas, low priority stuff)
So I set up jev to screen every message and classify it as a bug, feature, or chatter. If it’s a bug, Claude picks it up and works it immediately. If it’s a feature, it gets added to my Trello board in a special list of tasks never to do /s. Then Claude tells him when it’s done or answers the question against our codebase, using my writing style
He didn’t realize until I responded to his chat while I was mid-monologue
@avrldotdev Wouldn’t the simplest answer just be to disable memory? It’s really not that useful to begin with, and every prompt, config, etc. should exist as repo code