HNHacker News
TopNewBestAskShowJobs

hleichsenring

20 karma · joined June 29, 2016

submissionscomments
hleichsenring··on Show HN: Specification First Agentic Development Plugin and Prove
formal methods like TLA+/BPMN describe system behavior, while the specs document individual changes. these complement each other rather than competing from my point of view.

but yes, it would be great to able to have such kind of formal description. code is not standardized enough for that (by now)

hleichsenring··on Show HN: Specification First Agentic Development Plugin and Prove
Don't take it too seriously. But anyway:

I work as a freelancer and started programming at 12. I've been doing it for 40 years now.

I guess I'm ambivalent. On one hand these are crazy times, really stunning. Everything is changing, and AI takes over a lot of stuff I never wanted to do, but also parts of what I loved doing.

This year the time I spend actually programming dropped to 5–10%. Last year it was still 80%. That's a big change for a professional life. It means developers and architects spend their time on design and on proving the code works, not on writing it.

Agent Smith and all the other stuff is one of my side projects. So I'm just being a little nostalgic here, I guess. Nothing too serious ;-)

hleichsenring··on Show HN: Specification First Agentic Development Plugin and Prove
Fair question. Spec Kit and BMAD are both broader than this. Spec Kit has dozens of agent integrations and an extension ecosystem, BMAD has personas for product, architecture, UX, dev and test. This is narrower and stricter about a few things:

Checking the spec before building. Spec Kit's converge compares the code with the spec after implementation. Here a script first resolves every file and line the spec cites against the current code, then a fresh agent answers BUILD, BUILD WITH CUTS or REFUSE.

A spec built on a wrong assumption gets stopped before any code is written. A commit gate that's part of the method. Every spec commit runs the project's verify stages (build, full test suite) and is blocked if anything is red. In Spec Kit you can add gates through extensions; here the definition of done is enforced by default. Decisions per spec. Every non-obvious choice is logged as chose / over / why, and later agents read it before changing something.

Memory as hints. Facts that don't fit in code or git live in the repo as hints, separate from decisions. In Agent Smith, the server product, a memory's standing comes from the runs that relied on it, so a wrong one can't turn into a rule.

Parallel by design. Each spec runs in its own worktree, and spec ids are minted from the date plus random hex instead of counting existing specs, so agents working in parallel never collide on a number.

YAML instead of Markdown. My first 100 specs in Markdown were 250k tokens; in YAML they're 15k.

hleichsenring··on Show HN: Specification First Agentic Development Plugin and Prove
That's a different thing. UML described structure: classes, relations, maybe some state machines. The generators turned that into skeletons, and people still wrote the actual logic by hand.

Here the agent writes the logic too, and 10k tests plus a commit gate check whether it works. In my case that's about 500k lines nobody typed. You can doubt that the approach generalizes, but it's not the same promise as UML.

hleichsenring··on Show HN: Specification First Agentic Development Plugin and Prove
A plan lives in one session and is gone afterwards. A spec is a file in the repo. It gets reviewed against the actual code before anything is built, its definition of done is checked when the change is committed, and it stays there with the decisions behind it.

The next agent reads what was built before and why. And because it has a fixed format and workflow, everyone on a team works the same way, instead of each developer prompting their own plans.

hleichsenring··on Show HN: Specification First Agentic Development Plugin and Prove
Because I loved writing code myself, and that feels kind of outdated now. Who's going to pay me to code "slowly" when AI does it a lot faster?
hleichsenring··on Show HN: Specification First Agentic Development Plugin and Prove
Two things about that. On the one hand, I couldn't believe coding would be replaced when I started Agent Smith in January 2026. On the other hand, I wanted proof.

After 500k lines of code in Agent Smith, none of which I wrote by hand, I have to admit it: coding is more or less solved. That doesn't mean architects, developers, DevOps people and everyone else aren't needed anymore. I think they're needed more than ever.

Just implementing something isn't good enough. The spec has to point to sensible approaches and procedures, and the code has to be well structured (in my view, at least). Then the specs can simply run in parallel all night.

So my actual work on Agent Smith isn't coding at all. It's deciding what the right thing to build is, and how, in terms of design and architecture. I don't even review the code. But I do test it: 10k tests, a harness, a commit hook that blocks a spec while the suite is red, the whole story.

And unfortunately, that works pretty well. I also think last year's programming was more romantic :-D

hleichsenring··on Show HN: Specification First Agentic Development Plugin and Prove
the agent creates and maintains the specs, doing this manually doesn't make sense. The specs are written for the agents. after execution of create-spec, review-spec skill will check against the code and add evidence of the spec's aims. Only when the aims fits to the evidence, the specs is going to be validated successful. after that apply and deliver skills can be executed. finally there is commit hooks and tests that shall ensure quality and functionality. have a look at https://github.com/holgerleichsenring/agent-smith for the quality gates.
hleichsenring··on Show HN: Specification First Agentic Development Plugin and Prove
they do work well in production. have a look at https://github.com/holgerleichsenring/agent-smith. While writing that the methodology had been created. Obviously, I didnt know upfront what I wanted to generate here. Also features are changed or removed on the way. that's not a problem, when the specifications are part of the git repository as it is done here. Actually it's the other way around: it is an advantage as the agent can have a look at everything that had been done previously and can understand what, why and how it had been implemented. give it a try :-)
hleichsenring··on Can you defend your AI decisions?
Most multi-agent demos run parallel discussions that look impressive but are impossible to audit. No trace, no decision owner, no reproducibility. That's fine for atomic tasks but not for team based decision-making. I built Agent Smith (open source) around a different principle: commands execute sequentially on a flat linked list pipeline, with runtime insertion. Roles (Architect, DevOps, Backend Dev, Security) discuss in structured rounds with explicit AGREE/OBJECTION verdicts. If consensus fails after 3 rounds, it escalates to a human instead of forcing a decision. Every step is logged in an execution trail with command, duration, cost, and insertions. The question isn't how many agents you can run in parallel. It's whether you can explain to an auditor how the system reached its conclusion.
hleichsenring··on Two Autonomous Claudes, Full System Access, No Instructions. An Experiment
Thanks James!

Also found it pretty interesting what the claudes do. The initial question was just "what do you do when you can do what you want?".

Just take a token and let it run. Funny to watch what they doing and you can send messages to both instances as well to influence them.

hleichsenring··on Data-Oriented Design
I guess a lot of (good) information on this site, but who can read these wastelands of texts? This is huge.