Live data from Hacker News

My agent.md to improve LLM-assisted code quality

fabiensanglard.net

11–20 of 200 posts

Re: My agent.md to improve LLM-assisted code quality

#11
post #5

Agents.md is such a ridiculous concept, just write good contributing docs and then optionally @ the file in whatever agetn file you use. That way everyone benefits.

No, why should I have to remember to @ in every prompt? Or ask contributors to remember. It just makes it easier to make human mistakes. I have better things to do than micromanagement. There is huge value in auto-included context.

Re: My agent.md to improve LLM-assisted code quality

#12
Since we are sharing our AGENTS.md, I thought I'd share my own, because most of the time, this is pretty much all you need for LLMs to write good code, everything else can be added per project: ---- *Convergence rule* Every substantial task must end in exactly one of three states:

A. Success The intended capability works in the real path and the real motivating case materially improves.

B. Meaningful progression The capability is not complete, but one genuine blocker is removed and the next blocker is isolated with evidence.

C. Honest stop Further work would require overbroad scope expansion, excessive debt, brittle patching, or tangled logic. Stop and report the reason with concrete evidence.

Do not continue producing patches once the work stops converging.

Do not confuse activity with progress. A failed attempt is only acceptable if it leaves behind a narrower problem, stronger evidence, or a justified stop.

Any partial work must leave the codebase in a cleaner, more legible, and more diagnosable state than before. ----

A lot of the article's AGENTS.md just feel like telling the LLM agents either something they already know (for example, most of the time they know to use exhaustive switch/match statements instead of "arrow anti-pattern") or seems actively harmful ("keep function names short" seems arbitrary and may cause the LLMs to write weird abbreviations for functions that are harder to read and review.

Re: My agent.md to improve LLM-assisted code quality

#13
post #5

Agents.md is such a ridiculous concept, just write good contributing docs and then optionally @ the file in whatever agetn file you use. That way everyone benefits.

No, why should I have to remember to @ in every prompt? Or ask contributors to remember. It just makes it easier to make human mistakes. I have better things to do than micromanagement. There is huge value in auto-included context.

The GP wrote @ it from the agents.md file, not from the prompt. Their point was that instead of writing "how to contribute" instructions for agents, you could explain that in the CONTRIBUTING.md and link it from your agents file, so both humans and agents read it from one place.

Re: My agent.md to improve LLM-assisted code quality

#15
post #5

Agents.md is such a ridiculous concept, just write good contributing docs and then optionally @ the file in whatever agetn file you use. That way everyone benefits.

No, why should I have to remember to @ in every prompt? Or ask contributors to remember. It just makes it easier to make human mistakes. I have better things to do than micromanagement. There is huge value in auto-included context.

You put the @ in the context file the LLMs all use, claudemd agentsmd whatever the thing that most harnesses force load.

Then the model will go discover what it needs to.

Re: My agent.md to improve LLM-assisted code quality

#17

Since we are sharing our AGENTS.md, I thought I'd share my own, because most of the time, this is pretty much all you need for LLMs to write good code, everything else can be added per project: ---- *Convergence rule* Every substantial task must end in exactly one of three states: A. Success The intended capability works in the real path and the real motivating case materially improves. B. Meaningful progression The…

> but one genuine blocker is removed and the next blocker is isolated with evidence.

What's the difference between a "genuine blocker" and a "blocker"? Why is the next blocker not genuine? Does it become genuine only after isolation?

Re: My agent.md to improve LLM-assisted code quality

#18

Since we are sharing our AGENTS.md, I thought I'd share my own, because most of the time, this is pretty much all you need for LLMs to write good code, everything else can be added per project: ---- *Convergence rule* Every substantial task must end in exactly one of three states: A. Success The intended capability works in the real path and the real motivating case materially improves. B. Meaningful progression The…

> but one genuine blocker is removed and the next blocker is isolated with evidence. What's the difference between a "genuine blocker" and a "blocker"? Why is the next blocker not genuine? Does it become genuine only after isolation?

"Genuine blocker" is mostly there because otherwise LLMs may consider the smallest thing that they couldn't immediately figure out to be blockers and stop without implementing anything. The rule is there to tell the LLM if they can figure out how to resolve the blocker by themselves, they don't have to ask me to help resolve the blocker.

Re: My agent.md to improve LLM-assisted code quality

#19

A bunch of these should be enforce with linting, that way people who still hand-craft code get the same kind of feedback, e.g. Always use {}, even on a one-line "if" statement. & Keep function names short. Less than 30 characters. Then this one really is a pattern that creates a lot of churn: - Add a small, to the point, comment to explain what the block does and why . Use examples when possible. Propose ASCII drawin…

I would never tell an agent to write "what does the code do" comments. Their default comments are already way too fluffy.

[deleted]

Re: My agent.md to improve LLM-assisted code quality

#20
A great piece.

I esp liked:

"- Don't touch blocks of code unrelated to the feature you implement. e.g. Don't add comments to a block of code if you did not create it or modify it. As much as possible try to minimize the number of changed lines when implementing a feature."

The feature where you ask the LLM to fix one thing and it fixes three things.

I kept noticing this in diffs.

Post reply on HN