frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Specsmaxxing – On overcoming AI psychosis, and why I write specs in YAML

https://acai.sh/blog/specsmaxxing
96•brendanmc6•2h ago

Comments

brendanmc6•2h ago
Author here, if you don't want to read all that, I'll post one excerpt that I think sums it up nicely:

> My point is, the spec must live somewhere, even if you don’t write it down. The spec is what you want the software to be. It often exists only in your head or in conversations. You and your team and your business will always care what the spec says, and that’s never going to change. So you’re better off writing it down now! And I think that a plain old list of acceptance criteria is a good place to start. (That’s really all that `feature.yaml` is.)

gnat•1h ago
Nice! Your spec-maxxing is very resonant. I've been doing working with explicit requirements: elicit them from conversation with me or introspecting another piece of software; one-shot from them; and keep them up-to-date as I do the "old man shouts at Claude" iterations after whatever one-shotting came up with.

Unlike you, I wish for the LLM to do as much of the work as possible -- but "as possible" is doing a lot of work in that sentence. I'm still trying to get clear on exactly where I am needed and where Opus and iterations will get there eventually.

It has really challenged me to get clearer on what a requirement is vs a constraint (e.g., "you don't get to reinvent the database schema, we're building part of a larger system"). And I still battle with when and how to specify UI behaviours: so much UI is implicit, and it seems quite daunting to have to specify so much to get it working. I have new respect for whoever wrote the undoubtedly bajillion tests for Flutter and other UI toolkits.

gnat•1h ago
Forgot to add: I get several benefits from doing this.

1. Specifications that live outside the code. We have a lot of code for which "what should this do?" is a subjective answer, because "what was this written to do?" is either oral legend or lost in time. As future Claude sessions add new features, this is how Claude can remember what was intentional in the existing code and what were accidents of implementation. And they're useful for documenters, support, etc.

2. Specifications that stay up to date as code is written. No spec survives first contact with the enemy (implementation in the real world). "Huh, there are TWO statuses for Missing orders, but we wrote this assuming just one. How do we display them? Which are we setting or is it configurable?" etc. Implementer finds things the specifier got wrong about reality, things the specifier missed that need to be specified/decided, and testing finds what they both missed.

I have a colleague working on saving architecture decisions, and his description of it feels like a higher-abstraction version of my saving and maintaining requirements.

energy123•1h ago
I do (1) the same but (2) differently. In my workflow, (2) are AI generated specs using human written (1) as the input. It's an intermediate stage between (1) and the codebase, allowing for a gradual token expansion from 30k to 250k to the final code which is 2-3M. The benefit I've found with this approach is it gives the AI a way to iterate on the details of whole system in one context window, whereas fitting the whole codebase into one prompt is impossible. The code is then nothing more than a style transfer from (2).
kennyloginz•12m ago
Jfc
hansmayer•3m ago
Let's cut through the noise - what did you build with this very elaborate process and how much ARR is it generating ?
slopinthebag•1h ago
I actually read it all since it did not contain any hints of being AI generated (although I wouldn't be surprised to learn you did use AI to write it), so thank you for that. It's kind of crazy how I now have the default expectation that posts posted here are AI slop with little thought or care put in.

I am also stealing the idea of talking to LLMs as if it's an email. So funny, we need to be joymaxxing a bit more I think :)

nalpha•1h ago
What's the difference between this and Jira. Your specs already live somewhere, it's where you defined them. That's why it's nice to put the Jira ticket number in your code / commit, so you can refer back to the spec when something breaks
Diti•37m ago
What about when you migrate away from Jira, or when there’s a Cloudflare outage?
cowanon77•33m ago
Jira is only a set of changes though. What happens on a long (10+ year) and complex (10+) developer project with many changes and revisions? Eventually you need an explicit specification that itself has a "current state", and a change log. Theoretically you could generate this from Jira, but in my experience it eventually became a mess on any larger project that didn't have explicit and maintained writen requirements.
DonHopkins•51m ago
Great idea -- just one suggestion if you want it to catch on: perform some IncelCultureMinning on the nomenclature.

You probably want to avoid the impression that you're recommending abusing crystal meth and hitting yourself in the face with a hammer.

For anyone missing the reference, SNL has a pretty good explainer:

https://www.youtube.com/watch?v=4XMPLdiXB1k

beshrkayali•39m ago
I wrote something similar recently about how agent-generated code lacks the institutional memory that human-written code has. There's nobody to ask why a decision was made (1).

“Specsmaxxing” is basically the right response to this. When you can't rely on authorial memory, you have to put the intent somewhere durable. Specs become the source of truth by default if we continue down the road of AI generated code.

1: https://ossature.dev/blog/ai-generated-code-has-no-author/

nicbou•30m ago
I had a similar experience refactoring a large codebase• The only thing that made it possible was that each commit message had a JIRA ticket number tying it to a requirement or task. I could find the people behind the business logic and ask them about it.
hansmayer•5m ago
> will always care what the spec says, and that’s never going to change

Did I miss something or is everyone back in 1970s, working in waterfall processes now?

JohnHaugeland•3m ago
waterfall doesn’t mean writing down decisions
up-n-atom•2h ago
the token usage isn’t sustainable. formal english is a barrier but requirement for specification. brevity is the language of money and that’s the premise of management using ai.

fyi language alone can’t define/describe requirements which is why UML existed.

ako•1h ago
I think uml exists to help humans understand and communicate specifications, not because language alone is insufficient.
null_ptr1•1h ago
I mean, if you can't agree on what UML is, then what hope do you have to agree on what the spec says?
jstanley•1h ago
Natural language is a fully general system and can define and describe everything.

You could deterministically process any UML diagram into a prose equivalent.

And in fact you couldn't do the other way around (any prose -> UML) because UML is less powerful than natural language and actually can't express everything that natural language can.

rzzzt•1h ago
There are also diagram notation languages and LLMs are happy to both consume and produce e.g. Mermaid.
wismwasm•1h ago
Try openspec: https://github.com/Fission-AI/OpenSpec/blob/main/docs/gettin...
arikrahman•1h ago
That was my initial thought when reading the headline but the author states they didn't know it existed before doing this project and critiques it.
brendanmc6•57m ago
Indeed I have a lot of catch up to do, will spend some time with the popular tools before I go too much further down this road.
wesselbindt•1h ago
I'm still confused as to why folks don't just write executable specs.
carlbarrdahl•1h ago
Could you expand on this?
booi•1h ago
code
arikrahman•1h ago
Literate programming would provide specs and code instead of working backwards from hard coded functions to figure out specs.
fudgeonastick•1h ago
If you're confused, and have tried Opus for coding, I'm keen to hear what problems or workflows it's not good at.

If you're genuinely confused, and haven't tried Opus for coding, then it's not surprising you're confused!

It is also okay for you to just not like the idea of LLMs for coding (but say that!).

oytis•1h ago
That's what the article is about - overcoming problems with AI cooding tools using specs in Yaml. If we've got that far, it might be better to write specs in a proper programming language instead and skip the AI layer altogether
adi_kurian•31m ago
Think the idea is to still get monumental acceleration between fancy YAML specs (bullet points with some indentation that an intelligent technical manager could write) and production ready code.
wiseowise•23m ago
I’m using Opus 4.6 and I’m so confused! Maybe I should try Opus 4.7, which is almost twice as expensive to get some clarity (but not too much, I need to save money for Opus 4.8)?
cenamus•1h ago
So basically tests?
MoreQARespect•56m ago
Yes, except a test can be turing complete - i.e. code.

An executable spec like gherkin or hitchstory is config - it has no loops or conditionals. There are a number of rarely recognized benefits to this.

eterm•59m ago
Ambiguity is the grease that keeps everything turning.
arikrahman•1h ago
I use OpenSpec for my spec management, and I scrolled down to the comparison. The gripe seems to be with a semantic difference. Specs describing a current system is the basis for AS/IS Gap Analysis.

Also, I mainly pursue these tools so that I can have AI accelerate this process and broker an agreement after negotiating specs with the agent.

energy123•1h ago
I can see one benefit to a structured yaml for specs like the OP is doing: it gives you more control over what you include in the context window. But coming up with a good schema that doesn't handicap you or add cognitive burden, compared to the freeform flexibility of md/txt, is a challenge.
arikrahman•1h ago
If the selling point is a new file format for spec management, it would be more interesting to provide an offering with org-mode. The author admits they were unaware of other pre-existing solutions before this project so I am providing context to their critique of OpenSpec.
jochem9•41m ago
I'm also doing openspec for a few months now and it's really good if you invest enough in the specs (in the beginning I skimmed over much, now I pay attention to all details and fix anything that's wrong or where I see a gap).

The one thing I like that OP brings is to tie specs and code together. The openspec flow does help a lot in keeping code synced with specs, but when a spec changes, AI needs to find the relevant code to change it. It's pretty easy to miss something in large codebase (especially when there is lots of legacy stuff).

Being able to search for numbered spec tags to find relevant bits of code makes it much more likely to find what needs to be changed (and probably with less token use too).

colinmarc•1h ago
Wow - I love programming in YAML! You know what would make this really fun? Sprinkle in some Jinja. Then we'll be cooking with gas.
photios•1h ago
Dreaming about ` | nindent 12` in my specs! :D
grunder_advice•1h ago
Exactly. At some point, the specification becomes so complex, it's easier to just write the code yourself.

It's why famously, programmers always say, the code is the documentation, because writing detailed docs is very tedious and nobody wants to do it.

bonesss•45m ago
There are middle-ways.

Behaviour Driven Development or Spec Driven Development are, loosely, forms of Test Driven Development where you encode the specification into the code base. No impedance, full insight, formality through code.

I think people get really dogmatic about “test” projects, but with a touch of effort a unit test harness can be split up into integration tests, acceptance tests, and specification compliance tests. Pull the data out as human readable reports and you have a living, verifiable, specification.

Particularly using something comparable to back-ticks in F#, which let test names be defined with spaces and punctuation (ie “fulfills requirement 5.A.1, timeouts fail gracefully on mobile”), you can create specific layers of compiled, versioned, and verifiable specification baked into the codebase and available for PMs and testers and clients and approval committees.

hansmayer•38m ago
:) Here is a crazy thought - what if we had some kind of a narrowed down, specific subset of normal language which would translate into specific computer-level instructions. So for example, instead of telling computer to read something from a file and transform it in a certain way, you actually had a specific instruction to open a file, which worked the same each time you used it and guaranteed to fail if you used it the wrong way? Wow, the possibilities are endless :)
wiseowise•29m ago
Don’t be ridiculous, that would be extremely hard. Oppressive even, because it’s unattainable to an average person. And it is, otherwise there would be millions of programmers in the world. Was it unattainable or “we have to pay these suckers money, and they have rights and lives outside of work”? Bah! Just make sure to renew your subscription, agent will do the thinking and you bring the money.
bronxpockfabz•5m ago
We might as well future proof this by writing specs in YAML-ified Ruby, this way it's more flexible, I've been told it's best practice!
augment_me•1h ago
Completely subjective take, but I feel like 95% of these "tools" that are prompt-engineering inventions created by the authors with their bias and to suit their needs don't have anything supporting them besides the authors' subjective experience.

I have seen the same idea with processes, pipelines, lists, bullet points, jsons, yamls, trees, prioritization queues all for LLM context and instruction alignment. It's like the authors take the structure they are familiar with, and go 100% in on it until it provides value for them and then they think it's the best thing since sliced bread.

I would like, for once, to see some kind of exploration/abalation against other methods. Or even better, a tool that uses your data to figure out your personal bias and structure preference for writing specs, so that you can have a way of providing yourself value.

IceDane•12m ago
It's like horoscopes for the entirely-too-AI-pilled. Founded in nothing but vibes.

"Don't write prompts like that, do it like this! I swear it's better. Claude says so!"

photios•1h ago
Yesterday I heard about lat.md [1] which seems to have similar ideas about annotating code with spec refs. I now need to try them both.

[1] https://www.lat.md/

arikrahman•1h ago
Agents.md actually scales and outperforms alternatives so I would be skeptical about overcomplicating the proces https://vercel.com/blog/agents-md-outperforms-skills-in-our-...
brendanmc6•53m ago
Oh cool, thanks for sharing. LLMs tend to adopt these patterns on their own, so I'm sure my ideas are far from unique.
jwpapi•1h ago
And once you’ve written all these specs you realize it became so slow that it’s faster to do it yourself in editor
motoxpro•1h ago
at which point you realize you never had a plan written down and you are using the code as a spec
jbjbjbjb•49m ago
Which takes us back to this:

https://haskellforall.com/2026/03/a-sufficiently-detailed-sp...

girvo•40m ago
People don’t actually track wall clock time, I’ve noticed.
wiseowise•26m ago
But have you thought about “fun factor”? It’s where you sit like an addict in a casino for weeks and burn tokens in a hope of winning a software that you could’ve written? Who doesn’t consider “fun” thinking about work crap all the time, writing to your agent, verifying walls of slop?
ltbarcly3•56m ago
Grindmaxxing, a long form blog post that is actually just an advertisement for his website.
brendanmc6•51m ago
Should I apologize for being excited about something I built and use daily and for wanting people to try it, discuss it, critique it? Not sure by the tone of your message.
hansmayer•35m ago
Read the room. What you "built" is neither exciting, nor something most people want to "try". Why? Because just like other AI boosters, you are still trying to somehow optimise the usage of natural language to make it work. But it will never "work" because the way the stochastic ML system is built, it has a failure built into the system.
wiseowise•20m ago
No need to apologize, just don’t act surprised when people call you out.
zarzavat•56m ago
YAML is one of the worst technologies ever invented, it has more warts than features. One of the benefits of LLMs is that they can write YAML for me, wherever I am forced to use it.

Otherwise, I like the idea of machine-readable specs.

jFriedensreich•51m ago
Where is the part where the author overcomes ai psychosis? Reads like digging in deeper and deeper.
wiseowise•34m ago
That’s the best part: you don’t. “You would extend the prompt to improve it”. They’ll just ask Claude to write an AI tool to overcome psychosis (the program will spam Anthropic servers with racial slurs which will promptly cause ban of the user, success).
brendanmc6•31m ago
Fair, I could have made that point clearer. It's a couple things. First is that I finally stopped experimenting with TUIs, harnesses, models, subagents, roles, skills, mcp, md libraries etc. and have mostly settled on this approach, and got back to building other things with it. I'm sure that won't last forever though.

Second is that I'm doing a lot less "seat of my pants prompting" and doing more engineering and ideating, which was a big goal of mine. So I'm feeling less psychotic there too.

And sort of tangentially to that, I think a significant subset of devs actually are willing to just prompt their way to nirvana, day in and day out. I'm not. I think the spec will carry a lot of weight for a long time. Maybe they will get further than I give them credit for? Maybe the whole digital world becomes a single chat box?

mrbnprck•50m ago
Could it be that slop PRs are less frequently rejected/commented due to (unfortunate) increased acceptance of it? As it turns out when maxxing AI on leaf parts of a program, the quality of the code doesn't matter that much anymore when compared to building the fundament.
hansmayer•47m ago
> We are entering the post-slop era. My software is more robust, better tested, better integrated, and more observable than ever before. And my velocity keeps increasing!

Don't we just love the hard fact conclusions based on sample size N=1 and hand-waving arguments?

wiseowise•22m ago
They’re at the forefront of the industry. Catch up, slowpoke!
hansmayer•7m ago
Yeah. Waiting to be left behind...since 2020...
imiric•45m ago
I'm tired, boss.

This industry has become a parody of itself, and people are celebrating.

jeffreygoesto•44m ago
Old ist new I guess. This is independent of whether A"I" or a human executes, the point is that you need this if specifying and execution lie apart, be it in time or space. This is basically the whole point of the V-Model and processes (if used correctly as a tool and not preferred as goals) and was already researched an formalized in the 60s and 70s.
wiseowise•37m ago
What is it with people and procrastinating with the most useless shit you can imagine?

First it was choice of editor: people were micro optimizing every aspect of their typing experience, editor wars where people would literally slaughter over suggesting another camp.

Editor wars v2: IDEs arrived and second editor war began.

Revenge of the note taking apps: Obsidian/Roam/Joplin/Apple Notes/Logseq. Just one plugin, just one more knowledge graph, bro, and I’ll have peak productivity. 10x is almost here.

AI: you’re witnessing it now.

Do people NOT have anything else in life? How are y’all finding time to do all of this shit? Are you doing it on company time? Do you have hobbies, do you learn foreign languages, travel, have kids or spouses, drive a car, other thousand “normie” things outside of staring at the freaking monitor or thinking about this shit 24/7? Did I miss the invention of a Time Machine?

geoffbp•23m ago
I think people find joy in trying to optimise (maxxxxxx) their setup be it editor AI note taking etc. They make time for it
taffydavid•23m ago
I just spent a week training up in spec driven development through bmad, which was awful, and speckit which was ok but not great. Both had what seemed like unnecessary ceremony around the specs, generating fields of spec documents which presumably fill up the context window quickly. I just kept thinking "this should be using something simpler, all this markdown is unnecessary"

This seems like the answer to that thought!

stevefan1999•16m ago
So...is this just Cucumber cough cough behavior driven design again, but stored in YAML so that LLMs can read it easier by loading the AST instead of tokenizing the text?
TheServitor•10m ago
ugh with the "maxxing" everything

Specsmaxxing – On overcoming AI psychosis, and why I write specs in YAML

https://acai.sh/blog/specsmaxxing
98•brendanmc6•2h ago•79 comments

A Couple Million Lines of Haskell: Production Engineering at Mercury

https://blog.haskell.org/a-couple-million-lines-of-haskell/
196•unignorant•9h ago•72 comments

This Month in Ladybird - April 2026

https://ladybird.org/newsletter/2026-04-30/
314•richardboegli•12h ago•65 comments

Dav2d

https://code.videolan.org/videolan/dav2d
470•dabinat•15h ago•125 comments

The IBM Granite 4.1 family of models

https://research.ibm.com/blog/granite-4-1-ai-foundation-models
82•wglb•2d ago•13 comments

Six Years Perfecting Maps on WatchOS

https://www.david-smith.org/blog/2026/04/29/maps-on-watchos/
282•valzevul•12h ago•64 comments

Forging ZK proofs to mint arbitrary DUSK tokens

https://osec.io/blog/2026-04-30-unverified-evaluations-dusk-plonk/
12•deut-erium•2d ago•0 comments

Neanderthals ran 'fat factories' 125,000 years ago (2025)

https://www.universiteitleiden.nl/en/news/2025/07/neanderthals-ran-fat-factories-125000-years-ago
184•andsoitis•12h ago•76 comments

Do_not_track

https://donottrack.sh/
317•RubyGuy•15h ago•102 comments

Care homes and hotels in Japan shut as expansion strategy unravels

https://www.newsonjapan.com/article/149075.php
41•mikhael•7h ago•12 comments

VS Code inserting 'Co-Authored-by Copilot' into commits regardless of usage

https://github.com/microsoft/vscode/pull/310226
1160•indrora•13h ago•584 comments

Inventions for battery reuse and recycling increase seven-fold in last decade

https://www.epo.org/en/news-events/news/inventions-battery-reuse-and-recycling-increase-more-seve...
196•JeanKage•3d ago•16 comments

A more efficient implementation of Shor's algorithm

https://lwn.net/Articles/1066156/
78•signa11•2d ago•16 comments

The agent harness belongs outside the sandbox

https://www.mendral.com/blog/agent-harness-belongs-outside-sandbox
102•shad42•11h ago•77 comments

Clojurists Together – Q2 2026 Open Source Funding Announcement

https://www.clojuriststogether.org/news/q2-2026-funding-announcement/
105•dragandj•11h ago•11 comments

Show HN: State of the Art of Coding Models, According to Hacker News Commenters

https://hnup.date/hn-sota
103•yunusabd•11h ago•55 comments

San Francisco streets with confusingly similar names

https://j-nelson.net/san-francisco-streets-with-similar-names/
26•SeenNotHeard•2d ago•34 comments

Because It Doesn't Have To

https://blog.computationalcomplexity.org/2026/04/because-it-doesnt-have-to.html
49•zdw•3d ago•12 comments

Maryland to ban A.I.-driven price increases in grocery stores

https://www.nytimes.com/2026/05/01/business/surveillance-pricing-groceries-maryland.html
149•doener•7h ago•98 comments

A physics engine with incremental rollback for multiplayer games

https://easel.games/blog/2026-rollback-physics
85•BSTRhino•1d ago•27 comments

Kimi K2.6 just beat Claude, GPT-5.5, and Gemini in a coding challenge

https://thinkpol.ca/2026/04/30/an-open-weights-chinese-model-just-beat-claude-gpt-5-5-and-gemini-...
270•bazlightyear•5h ago•126 comments

How fast is a macOS VM, and how small could it be?

https://eclecticlight.co/2026/05/02/how-fast-is-a-macos-vm-and-how-small-could-it-be/
248•moosia•23h ago•89 comments

AI, Intimacy, and the Data You Never Meant to Share

https://fshot.org/techzone/the-algorithm-knows.php
26•victorkulla•6h ago•1 comments

When Dawkins met Claude – Could this AI be conscious?

https://unherd.com/2026/04/is-ai-the-next-phase-of-evolution/
28•pentestercrab•2d ago•163 comments

Executable installer will stop being released with Python 3.16

https://www.python.org/downloads/release/pymanager-261/
11•ankitg12•1h ago•4 comments

The USB Situation

https://randsinrepose.com/archives/the-usb-situation/
127•herbertl•3d ago•146 comments

Little magazines are back

https://wsjfreeexpression.substack.com/p/little-magazines-are-back
91•prismatic•2d ago•33 comments

NetHack 5.0.0

https://nethack.org/v500/release.html
448•rsaarelm•15h ago•139 comments

Barman – Backup and Recovery Manager for PostgreSQL

https://github.com/EnterpriseDB/barman
157•nateb2022•3d ago•23 comments

Musk's AI told me people were coming to kill me (BBC)

https://www.bbc.com/news/articles/c242pzr1zp2o
23•walden789•2h ago•4 comments