fwiw, i am with thariq https://x.com/trq212/status/2092302273099796842 in that prompts should be tuned for models and in fact blindly applying agents.md is probably an antipattern unless you want all models to basically converge to some common ill defined of instruction following - good local minima, bad global minima for model diversity and exploration of intelligence.
aka, sometimes it really is too early to force a standard
depends what you're doing. if you've got a specialized agent deployed in prod, of course your evals and prompts will be targeted towards 1 specific version of a model.
on the other hand if it's just a local coding/"use my computer" agent, i highly doubt the effort in maintaining different prompts is worth any gain in performance
In a "one LLM only" environment, your instructions are by default tuned for said LLM.
In a multi-LLM environment, roughly nobody will keep separate sets of instructions for each. It's not a realistic take.
On top of that: If your LLM is so bad at reading that it can't follow a set of instructions that wasn't specifically written just for that one single precious LLM, I sure wonder what that says about your employers repeated statements that ASI is definitely right around the corner.
If you want this it's trivial to add an AGENTS.md that simply says "if you're Claude read CLAUDE.md, if you're Astra read ASTRA.md". A common entry point is good regardless.
19 out of 20 harnesses supporting the standard isn't "too early".
Tariq is wrong and it's not an antipattern. Reason being that a good AGENTS.md impacts all models in a positive manner. If it affects certain models negatively, it means you're putting the wrong things in it.
I'm honestly not sure if this is tongue in cheek and the "finally" is in the silly way it is often used, but the claude.md variant existed first. Indeed, the agents.md thing was pretty clearly a "that's neat, let's do that with a different name".
It's "finally" because people have been asking for it for a long time. No one cares that "claude was first," what they want is for Ant to follow the conventions and not put extra work on us. This was such a minimal thing to do, and considering how much they vibe and claim "coding is solved," we thought it would not be too difficult to respect AGENTS.md, so finally seeing it happen, while nice, is too late for me. I've moved on from Big Ai and only use open weight models now.
Just because something is first, doesn't mean it's the standard. The standard is put in place by how many harnesses use a specific pattern, and that has been AGENTS.md for a long while now. Long enough that Claude Code not supporting it is really just an act of forcing people into a proprietary workflow, because of course it's in their interest to make moving away as painful as possible given how little moat the LLM models themselves have. In fact, I think Claude Code has been pretty much the only one not supporting AGENTS.md. Check out https://agents.md if you want more information on it.
This is where I landed when a recent(ish) change broke symlinking for rules files. I didn’t like how hacky it was a first, but now I’m glad I did it. The same hook drives specific rules the non-Claudes get per repo.
I honestly hate .agents it's a big XDGBDS offender. Almost every plugin / lazy platform harness tries to use that dir too so I have to do a bunch of hacks to keep my $HOME clean. Also everyone tries to use a .claude .gemini .codex etc. Annoying that all these tools just completely ignore these things, it's literally like litterers you know it'd be terrible if every tool did this, but you still do it anyway
Anthropic in 2025: We can use our dominant market position to degrade the harness experiences of our competitors because they will never adopt CLAUDE.md
Anthropic in 2026: We are losing our market position. Users who adopted other harnesses have a degraded Claude Code experience because it doesn't recognize their AGENTS.md
Sounds like free market at work to me. I am just glad there is quite a lot of competition in a field that I would have assumed would have huge costs of entry
Building small models is a lower barrier. Think of something like to just train on a corpus of internal corporate data. I've see some small models that do this. It's like a super RAG thing. I think more of that will happen. Excited to see a SLM vendor emerge.
The walls are closing in and the president is gleefully lighting fires he has no intention of putting out. There's a reason they're rushing like mad to an IPO, but as we saw with OpenAI it's easier said than done when your business model is "Lose tons of money to eventually maybe dominate a market with the moat we don't have, but trust us AI is huge give us trillions."
My view is at the end of 35 years in the industry the current wave of “software” and “systems” engineering coming out of the AI harness community is pretty garbage. But web technology and distributed systems followed a very similar arc, as did protocols and memory management; and microcode before them. But it feels like this is particularly bad because the mistakes being made are plainly obvious to the grey heads who have been here a while. As opposed to before when mistakes were in new domains being explored, these are mistakes made before and have good solutions to.
I feel people too readily blame the LLMs themselves for this, but I’ve found LLMs know the history of computing thought evolution better than anyone I’ve ever encountered. Once you push them in the right direction, ground them in the philosophy of thought of hard won engineering ideas, they are astoundingly precise and accurate in their read and application (keeping every session grounded is the trick!). So it’s not the machines making these same mistakes with ready conceptual frameworks around them, it’s the 22 year old gatekeepers dashing head first into wall after wall, when we painstakingly built the door two feet to the left about the time they were gestating.
> but I’ve found LLMs know the history of computing thought evolution better than anyone I’ve ever encountered
…
Yeah… that’s… pretty much how these LLMs work and their main selling point, actually. Not sure what the “I’m such a greybeard with 350 years worth of experiencie” preamble gets you here besides just making you look like you barely understand what you are talking about.
Because, knowing what to induce in its behavior is the key - by understanding things like Postels law, I can direct the agentic loop towards patterns of development that avoid the cascade of issues that seem endemic in modern agentic harnesses.
In fact, this is a key insight, so it’s surprising you didn’t get the punchline. Trying to build things in a new way on a machine composed of the corpus of all the old ways is stupid. By eliciting the corpus of tried and true methods over the history of computing and process engineering as the grounding for how to develop and behave in processes, you offload a huge amount of the work in getting software that’s “right” for the domain you’re working in. But not being aware of them and being heedless that the techniques hard won were hard won by people at least or more smart than you facing similar problems is leading to a cycle in software that’s needlessly dumb, making stupid mistakes that are unnecessary.
There was a great Star Trek NG episode where Picard is stranded on a planet with a creature that can only speak in metaphorical language. Every sentence it uses refers to an event in the past and you have to understand it’s history to understand it today. Because LLMs are entirely trained on historical corpus, there is no time in history when all the techniques and processes and system design thinking was more relevant. Like that episode, Darmok, you can elicit a wealth of experience by simply referring to a technique from the past - if you know what it is.
Another way to put it , those that aren’t aware of their history are doomed to repeat it. The sad part of the situation is the coding agent you’re working with is fully trained on it, but unless you intentionally activate the semantic space and bring the concepts into its J-space you won’t maximize the value of that corpus. So, we are using these tools which are mostly crap duct-taped together, which suffer from flaws well understood for decades, mostly because of the driving human being ignorant of the available corpus.
Its like the Epic Games Store supporting Linux, or [any website] supporting dark mode. You'd think its an easy to implement bare minimum that everyone asks for, but its like pulling teeth to actually get it done.
<Platform> is basically impossible to support. <Company> pulled it off by shipping a complete copy of the Chromium browser with <Product> and turning it into a web application.
In any case I don't see how this is materially different from Windows where it's the norm for every game to ship its own libraries and install various redistributables to function.
On Windows those libraries are part of the application package. On Linux they're supposedly part of the OS, they're designed to be part of the OS and the loader is trying to get them from the OS, but is redirected to get them from the wrapper layer provided by the store (neither the application nor the OS!) instead.
> ..or [any website] supporting dark mode. You'd think its an easy to implement bare minimum that everyone asks for, but its like pulling teeth to actually get it done.
At least with dark mode, you can ignore most web developers and get a browser extension to make everything dark, then only webmasters who don't follow standards gets it wrong.
yep, all i want is freedom to make a workflow where i don't feel tied to one provider, CC is exactly what i don't wanna get trapped in. I'll happily use claude MODELS, but if it means i have to keep learning two harnesses side by side to keep using one particular provider, then the second i can easily replace it, i am going to(even if its a small drop in performance).
Remember they didn't do this because they wanted to help community, they did it because community was angry and they were losing users to other harnesses.
Doesn't look like Anthropic care about dev community
A for profit company that’s bleeding money, is not profitable and has an unsustainable business model that’s about to burst its banks at any minute does not actually care about the needs of its customers, only their money?
This project uses `AGENTS.md` as its agent instruction file (kept provider-agnostic).
Treat any `AGENTS.md` file exactly as you would a `CLAUDE.md` file — at the root level and in any subdirectory you are working in.
I don't think this will work reliably. Pretty sure it's not the LLM deciding to read the files, it's the harness in Claude Code itself injecting the instructions files based on the paths the model accesses.
Edit: sometimes if Claude lists files in a directory or does a search that shows it an AGENTS.md exists it will decide to read it. But it's not a reliable behavior.
I recently had Claude Fable set up a new project for me and I pointed it at some existing projects to use as a guide on how I like to structure things. It created, unprompted, an AGENTS.md file and a CLAUDE.md symlink to AGENTS.md
I didn't even have that symlink in any other project - it just did it. I think it saw that one of the projects I already had was set up by Codex and that project had an AGENTS.md so perhaps it inferred that I was using both Claude and Codex, so it was politely covering both? Or maybe a recent change made this behavior default?
I was surprised and I hope they continue to seek standards.
Seems agents understand their own bugs now. https://github.com/openai/codex/issues/9252 has 88 thumbs up and a workaround (switch to raw mode with Alt+R) found in a comment. Codex suggested the workaround to me today when I complained about its multi-line bash command being corrupted on paste because of the two-space indent in Codex's code blocks.
we don't need them, but it does make (some of) us more productive, and if you aren't having agents review your code, you are almost certainly shipping more bugs than you want to
I’m cancelling my department’s subscriptions over this once we can get more access to Astra.
I canceled my personal subscription the weekend after Astra was released. I was working with our internal IT to swap the whole team when OpenAI turned off new 20x Pro subscriptions, so we’re stuck for now. Everyone is hyper-productive for about 1 day a week on 5x.
Still don't understand the point of the markdown files.
Isn't it literally all just more text you're adding to the prompt. How can you even be sure it isn't just clouding context with nonsense for whatever you're asking for?
For skills, it only reads the summary telling it when to read the rest. So yes if you have too many skills, it can get confused and start reading all them and cloud the context. But if you have a few and they're used tactically, it's better than having to manually paste in prompts that you reuse a lot.
Similar reasoning with claude.md except it always reads the entire thing(?)
211 comments
[ 1.1 ms ] story [ 70.0 ms ] threadln was the only thing that worked for me
aka, sometimes it really is too early to force a standard
on the other hand if it's just a local coding/"use my computer" agent, i highly doubt the effort in maintaining different prompts is worth any gain in performance
In a "one LLM only" environment, your instructions are by default tuned for said LLM.
In a multi-LLM environment, roughly nobody will keep separate sets of instructions for each. It's not a realistic take.
On top of that: If your LLM is so bad at reading that it can't follow a set of instructions that wasn't specifically written just for that one single precious LLM, I sure wonder what that says about your employers repeated statements that ASI is definitely right around the corner.
Tariq is wrong and it's not an antipattern. Reason being that a good AGENTS.md impacts all models in a positive manner. If it affects certain models negatively, it means you're putting the wrong things in it.
Congrats.
Time to delete the symlinks
Anthropic in 2026: We are losing our market position. Users who adopted other harnesses have a degraded Claude Code experience because it doesn't recognize their AGENTS.md
Pausing AI _training_ would benefit them a lot, as inference is _insanely_ profitable (> 50% margins with maximum demand, afaik)
Cynical. The word is cynical.
I feel people too readily blame the LLMs themselves for this, but I’ve found LLMs know the history of computing thought evolution better than anyone I’ve ever encountered. Once you push them in the right direction, ground them in the philosophy of thought of hard won engineering ideas, they are astoundingly precise and accurate in their read and application (keeping every session grounded is the trick!). So it’s not the machines making these same mistakes with ready conceptual frameworks around them, it’s the 22 year old gatekeepers dashing head first into wall after wall, when we painstakingly built the door two feet to the left about the time they were gestating.
…
Yeah… that’s… pretty much how these LLMs work and their main selling point, actually. Not sure what the “I’m such a greybeard with 350 years worth of experiencie” preamble gets you here besides just making you look like you barely understand what you are talking about.
In fact, this is a key insight, so it’s surprising you didn’t get the punchline. Trying to build things in a new way on a machine composed of the corpus of all the old ways is stupid. By eliciting the corpus of tried and true methods over the history of computing and process engineering as the grounding for how to develop and behave in processes, you offload a huge amount of the work in getting software that’s “right” for the domain you’re working in. But not being aware of them and being heedless that the techniques hard won were hard won by people at least or more smart than you facing similar problems is leading to a cycle in software that’s needlessly dumb, making stupid mistakes that are unnecessary.
There was a great Star Trek NG episode where Picard is stranded on a planet with a creature that can only speak in metaphorical language. Every sentence it uses refers to an event in the past and you have to understand it’s history to understand it today. Because LLMs are entirely trained on historical corpus, there is no time in history when all the techniques and processes and system design thinking was more relevant. Like that episode, Darmok, you can elicit a wealth of experience by simply referring to a technique from the past - if you know what it is.
Another way to put it , those that aren’t aware of their history are doomed to repeat it. The sad part of the situation is the coding agent you’re working with is fully trained on it, but unless you intentionally activate the semantic space and bring the concepts into its J-space you won’t maximize the value of that corpus. So, we are using these tools which are mostly crap duct-taped together, which suffer from flaws well understood for decades, mostly because of the driving human being ignorant of the available corpus.
In any case I don't see how this is materially different from Windows where it's the norm for every game to ship its own libraries and install various redistributables to function.
At least with dark mode, you can ignore most web developers and get a browser extension to make everything dark, then only webmasters who don't follow standards gets it wrong.
Doesn't look like Anthropic care about dev community
Shocker.
Why? This is why. [0]
[0] https://news.ycombinator.com/item?id=49750694
# CLAUDE.md
This project uses `AGENTS.md` as its agent instruction file (kept provider-agnostic). Treat any `AGENTS.md` file exactly as you would a `CLAUDE.md` file — at the root level and in any subdirectory you are working in.
@AGENTS.md
Edit: sometimes if Claude lists files in a directory or does a search that shows it an AGENTS.md exists it will decide to read it. But it's not a reliable behavior.
I didn't even have that symlink in any other project - it just did it. I think it saw that one of the projects I already had was set up by Codex and that project had an AGENTS.md so perhaps it inferred that I was using both Claude and Codex, so it was politely covering both? Or maybe a recent change made this behavior default?
I was surprised and I hope they continue to seek standards.
Why are people still putting up with this kind of attitude, especially when there are so many good alternatives available?
0 - https://www.williamangel.net/blog/2026/09/18/i-cancelled-my-...
I canceled my personal subscription the weekend after Astra was released. I was working with our internal IT to swap the whole team when OpenAI turned off new 20x Pro subscriptions, so we’re stuck for now. Everyone is hyper-productive for about 1 day a week on 5x.
Isn't it literally all just more text you're adding to the prompt. How can you even be sure it isn't just clouding context with nonsense for whatever you're asking for?
Similar reasoning with claude.md except it always reads the entire thing(?)