8 ms·
Evaluating AGENTS.md: are they helpful for coding agents?
- amluto 8mo agoMy personal experience is that it’s worthwhile to put instructions, user-manual style, into the context. These are things like: - How to build. - How to run tests. - How to work around the incredible crappiness of the codex-rs sandbox. I also like to put in basic style-guide things like “the minimum Python version is 3.12.” Sadly I seem to also need “if you find yourself writing TypeVar, think again” because (unscientifically) it seems that putting the actual keyword that the agent should try not to use makes it more likely to remember the instructions.
- mlaretallack 8mo agoI also try to avoid negative instructions. No scientific proof, just a feeling the same as you, "do not delete the tmp file" can lead too often to deleting the tmp file.
- strokirk 8mo agoIt’s like instructing a toddler.
- justanothersys 8mo agoi definitely have gone so far as to treat my llm readable docs in this way and have found it very effective
- hnbad 8mo agoI recall that early LLMs had the problem of not understanding the word "not", which became especially evident and problematic when tasked with summarizing text because the summary would then sometimes directly contradict the original text. It seems that that problem hasn't really been "fixed", it's just been paved over. But I guess that's the ugly truth most people tend to forget/deny about LLMs: you can't "fix" them because there's not a line of code you can point to that causes a "bug", you can only retrain them and hope the problem goes away. In LLMs, every bug is a "heisenbug" (or should that be "murphybug", as in Murphy's Law?).
- joquarky 8mo agoSame thing happens for humans: "Don't think of a green elephant" Alan Watts talked of this concept where the harder you try to suppress a thought or sensation, the more mental energy you give it, making it stronger.
- likium 8mo agoFor TypeVar I’d reach for a lint warning instead.
- amluto 8mo agoThen little toddler LLM will announce something like “I implemented what you requested and we’re all done. You can run the lint now.” And I’ll reply “do it yourself.” I can only assume that everyone reporting amazing success with agent swarms and very long running tasks are using a different harness than I am :)
- bonesss 8mo agoI also have felt like these kinds of efforts at instructions and agent files have been worthwhile, but I am increasingly of the opinion that such feelings represent self-delusion from seeing and expecting certain things aided by a tool that always agrees with my, or its, take on utility. The agent.md file looks like it’d work, it looks how you’d expect, but then it fails over and over. And the process of tweaking is pleasant chatting with supportive supposed insights and solutions, which means hours of fiddling with meta-documentation without clear rewards because of partial adherence. The papers conclusions align with my personal experiments at managing a small knowledge base with LLM rules. The application of rules was inconsistent, the execution of them fickle, and fundamental changes in processing would happen from week-to-week as the model usage was tweaked. But, rule tweaking always felt good. The LLM said it would work better, and the LLM said it had read and understood the instructions and the LLM said it would apply them… I felt like I understoood how best to deliver data to the LLMs, only to see recurrent failures. LLMs lie. They have no idea, no data, and no insights into specific areas, but they’ll make pleasant reality-adjacent fiction. Since chatting is seductive, and our time sense is impacted by talking, I think the normal time versus productivity sense is further pulled out of ehack. Devs are notoriously bad at estimating where they’re using time, long feedback loops filled with phone time and slow ass conversation don’t help.
- pajtai 8mo agoI'd be interested to see results with Opus 4.6 or 4.5 Also, I bet the quality of these docs vary widely across both human and AI generated ones. Good Agents.md files should have progressive disclosure so only the items required by the task are pulled in (e.g. for DB schema related topics, see such and such a file). Then there's the choice of pulling things into Agents.md vs skills which the article doesn't explore. I do feel for the authors, since the article already feels old. The models and tooling around them are changing very quickly.
- dpkirchner 8mo agoProgressive disclosure is good for reducing context usage but it also reduces the benefit of token caching. It might be a toss-up, given this research result.
- deaux 8mo agoThose are different axes - quality vs money. Progressive disclosure is invaluable because it reduces context rot. Every single token in context influences future ones and degrades quality. I'm also not sure how it reduces the benefit of token caching. They're still going to be cached, just later on.
- deaux 8mo agoAgree that progressive disclosure is fantastic, but > (e.g. for DB schema related topics, see such and such a file). Rather than doing this, put another AGENTS.md file in a DB-related subfolder. It will be automatically pulled into context when the agent reads any files in the file. This is supported out of the box by any agent worth its salt, including OpenCode and CC. IMO static instructions referring an LLM to other files are an anti-pattern, at least with current models. This is a flaw of the skills spec, which refers to creating a "references" folder and such. I think initial skills demos from Anthropic also showed this. This doesn't work.
- prodigycorp 8mo agoThis is probably the best comment in the thread. I've totally forgotten about nested AGENTS.md files, gonna try implementation today.
- medler 8mo agoQuite a surprising result: “across multiple coding agents and LLMs, we find that context files tend to reduce task success rates compared to providing no repository context, while also increasing inference cost by over 20%.”
- tartakovsky 8mo agoWell, task == Resolving real GitHub Issues Languages == Python only Libraries (um looks like other LLM generated libraries -- I mean definitely not pure human: like Ragas, FastMCP, etc) So seems like a highly skewed sample and who knows what can / can't be generalized. Does make for a compelling research paper though!
- nielstron 8mo agoHey, paper author here. We did try to get an even sample - we include both SWE-bench repos (which are large, popular and mostly human-written) and a sample of smaller, more recent repositories with existing AGENTS.md (these tend to contain LLM written code of course). Our findings generalize across both these samples. What is arguably missing are small repositories of completely human-written code, but this is quite difficult to obtain nowadays.
- menaerus 8mo agoWhy stick to python-only repositories though?
- troupo 8mo agoTo reduce the number of variables to account for. To be able to finish the paper this year, and not the next century. To work with a familiar language and environments. To use a language heavily represented in the training data. I mean, it's not that hard to understand why.
- menaerus 8mo ago
- deleted 8mo ago[deleted]
- eknkc 8mo agoI only put things when the LLM gets something wrong and I need to correct it. Like “no, we create db migrations using this tool” kind of corrections. So far it made them behave correctly in those situations.
- pamelafox 8mo agoThis is why I only add information to AGENTS.md when the agent has failed at a task. Then, once I've added the information, I revert the desired changes, re-run the task, and see if the output has improved. That way, I can have more confidence that AGENTS.md has actually improved coding agent success, at least with the given model and agent harness. I do not do this for all repos, but I do it for the repos where I know that other developers will attempt very similar tasks, and I want them to be successful.
- averrous 8mo agoAgree. I also found out that rule discovery approach like this perform better. It is like teaching a student, they probably have already performed well on some task, if we feed in another extra rule that they already well verse at, it can hinder their creativity.
- imiric 8mo agoThat's a sensible approach, but it still won't give you 100% confidence. These tools produce different output even when given the same context and prompt. You can't really be certain that the output difference is due to isolating any single variable.
- pamelafox 8mo agoSo true! I've also setup automated evaluations using the GitHub Copilot SDK so that I can re-run the same prompt and measure results. I only use that when I want even more confidence, and typically when I want to more precisely compare models. I do find that the results have been fairly similar across runs for the same model/prompt/settings, even though we cannot set seed for most models/agents.
- ChrisGreenHeur 8mo agosame with people, no matter what info you give a person you cant be sure they will follow it the same every time
- viraptor 8mo agoYou can also save time/tokens if you see that every request starts looking for the same information. You can front-load it.
- rmnclmnt 8mo agoYesterday while i was adding some nitpicks to a CLAUDE.md/AGENTS.md file, I thought « this file could be renamed CONTRIBUTING.md and be done with it ». Maybe I’m wrong but sure feels like we might soon drop all of this extra cruft for more rationale practices
- nielstron 8mo agoExactly my thoughts... the model should just auto ingest README and CONTRIBUTING when started.
- rmnclmnt 8mo agoAnd that makes total sense. Honestly working since a few days with Opus 4.6, it really feels like a competent coworker, but need some explicit conventions to follow … exactly when onboarding a new IC! So i think there is a bright light to be seen: this will force having proper and explicit contribution rules and conventions, both for humans and robots
- delaminator 8mo agoYou could have claude --init create this hook and then it gets into the context at start and resume Or create it in some other way { "hookSpecificOutput": { "hookEventName": "SessionStart", "additionalContext": "<contents of your file here>" } } I thought it was such a good suggestion that I made this just now and made it global to inject README at startup / resume / post compact - I'll see how it works out https://gist.github.com/lawless-m/fa5d261337dfd4b5daad4ac964c2ebd4 https://gist.github.com/lawless-m/fa5d261337dfd4b5daad4ac964... #!/bin/bash # ~/.claude/hooks/inject-readme.sh README="$(pwd)/README.md" if [ -f "$README" ]; then CONTENT=$(jq -Rs . < "$README") echo "{\"hookSpecificOutput\" :{\"hookEventName\":\"SessionStart\",\"additionalContext\":${CONTENT}}}" exit 0 else echo "README.md not found" >&2 exit 1 fi with this hook { "hooks": { "SessionStart": [ { "matcher": "startup|clear|compact", "hooks": [ { "type": "command", "command": "~/.claude/hooks/inject-readme.sh" } ] } ] } }
- energy123 8mo agoTheir definition of context excludes prescriptive specs/requirements files. They are only talking about a file that summarizes what exists in the codebase, which is information that's otherwise discoverable by the agent through CLI (ripgrep, etc), and it's been trained to do that as efficiently as possible. Also important to note that human-written context did help according to them, if only a little bit. Effectively what they're saying is that inputting an LLM generated summary of the codebase didn't help the agent. Which isn't that surprising.
- nielstron 8mo agoHey, a paper author here :) I agree, if you know well about LLMs it shouldn't be too surprising that autogenerated context files are not helping - yet this is the default recommendation by major AI companies which we wanted to scrutinize. > Their definition of context excludes prescriptive specs/requirements files. Can you explain a bit what you mean here? If the context file specifies a desired behavior, we do check whether the LLM follows it, and this seems generally to work (Section 4.3).
- MITSardine 8mo agoI find it surprising. The piece of code I'm working on is about 10k LoC to define the basic structures and functionality and I found Claude Code would systematically spend significant time and tokens exploring it to add even basic functionality. Part of the issue is this deals with a problem domain LLMs don't seem to be very well trained on, so they have to take it all in, they don't seem to know what to look for in advance. I went through a couple of iterations of the CLAUDE.md file, first describing the problem domain and library intent (that helped target search better as it had keywords to go by; note a domain-trained human would know these in advance from the three words that comprise the library folder name) and finally adding a concise per-function doc of all the most frequently used bits. I find I can launch CC on a simple task now, without it spending minutes reading the codebase before getting started.
- tumetab1 8mo agoThat's also my experience. The article is interesting but I think it deviates from a common developer experience as many don't work on Python libraries, which likely heavily follow patterns that the model itself already contains.
- theLiminator 8mo agoI'd take any paper like this with a grain of salt. I imagine what holds true for models in time period X could drastically be different just given a little more time. Doesn't mean it's not worth studying this kind of stuff, but this conclusion is already so "old" that it's hard to say it's valid anymore with the latest batch of models.
- 0xbadcafebee 8mo agoResearch has shown that most earlier "techniques" to get better LLM response no longer work and are actively harmful with modern models. I'm so grateful that there's actual studies and papers about this and that they keep coming out. Software developers are super cargo culty and will do whatever the next guy does (and that includes doing whatever is suggested in research papers)
- rmunn 8mo agoSoftware developers don't have to be cargo-culty... if they're working on systems that are well-documented or are open-source (or at least source-available) so that you can actually dig in to find out how the system works. But with LLMs, the internals are not well-documented, most are not open-source (and even if the model and weights are open-source, it's impossible for a human to read a grid of numbers and understand exactly how it will change its output for a given input), and there's also an element of randomness inherent to how the LLM behaves. Given that fact, it's not surprising to find that developers trying to use LLMs end up adding certain inputs out of what amounts to superstition ("it seems to work better when I tell it to think before coding, so let's add that instruction and hopefully it'll help avoid bad code" but there's very little way to be sure that it did anything). It honestly reminds me of gambling fallacies, e.g. tabletop RPG players who have their "lucky" die that they bring out for important rolls. There's insufficient input to be sure that this line, which you add to all your prompts by putting it in AGENTS.md, is doing anything — but it makes you feel better to have it in there. (None of which is intended as a criticism, BTW: that's just what you have to do when using an opaque, partly-random tool).
- imiric 8mo agoMany of the practices in this field are mostly based on feelings and wishful thinking, rather than any demonstrable benefit. Part of the problem is that the tools are practically nondeterministic, and their results can't be compared reliably. The other part is fueled by brand recognition and promotion, since everyone wants to make their own contribution with the least amount of effort, and coming up with silly Markdown formats is an easy way to do that. EDIT: It's amusing how sensitive the blue-pilled crowd is when confronted with reality. :)
- deleted 8mo ago[deleted]
- avhception 8mo agoWhen an agent just plows ahead with a wrong interpretation or understanding of something, I like to ask them why they didn't stop to ask for clarification. Just a few days ago, while refactoring minor stuff, I had an agent replace all sqlite-related code in that codebase with MariaDB-based code. Asked why that happened, the answer was that there was a confusion about MariaDB vs. sqlite because the code in question is dealing with, among other things, MariaDB Docker containers. So the word MariaDB pops up a few times in code and comments. I then asked if there is anything I could do to prevent misinterpretations from producing wild results like this. So I got the advice to put an instruction in AGENTS.md that would urge agents to ask for clarification before proceeding. But I didn't add it. Out of the 25 lines of my AGENTS.md, many are already variations of that. The first three: - Do not try to fill gaps in your knowledge with overzealous assumptions. - When in doubt: Slow down, double-check context, and only touch what was explicitly asked for. - If a task seems to require extra changes, pause and ask before proceeding. If these are not enough to prevent stuff like that, I don't know what could.
- Sevii 8mo agoAre agents actually capable of answering why they did things? An LLM can review the previous context, add your question about why it did something, and then use next token prediction to generate an answer. But is that answer actually why the agent did what it did?
- gas9S9zw3P9c 8mo agoIt depends. If you have an LLM that uses reasoning the explanation for why decisions are made can often be found in the reasoning token output. So if the agent later has access to that context it could see why a decision was made.
- Kubuxu 8mo agoReasoning, in majority of cases, is pruned at each conversation turn.
- kkapelon 8mo agoIt is still baffling to me why we need AGENTS.md Any well-maintained project should already have a CONTRIBUTING.md that has good information for both humans and agents. Sometimes I actually start my sessions like this "please read the contributing.md file to understand how to build/test this project before making any code changes"
- benreesman 8mo agoIf the harnesses had a simple system prompt "read repository level markdown and honor the house style"? Think of the agent app store people's children man, it would be a sad Christmas.
- CharlieDigital 8mo agoJust symlink CONTRIBUTING as AGENTS
- kkapelon 8mo agoThis only works on systems that support symlinks. It also pollutes the root folder with more files. I understand the sentiment, but it is really strange that the people that are pushing for agents.md haven't seen https://contributing.md/ https://contributing.md/ Is it even mentioned at GitHub docs https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors#about-contributing-guidelines https://docs.github.com/en/communities/setting-up-your-proje...
- 4b11b4 8mo agoThis paper shoulda just done a study on elixirs usage_rules? https://github.com/ash-project/usage_rules https://github.com/ash-project/usage_rules
- mindwok 8mo agoIn my experience AGENTS.md files only save a bit of time, they don't meaningfully improve success. Agents are smart enough to figure stuff out on their own, but you can save a few tool calls and a bit of context by telling them how to build your project or what directories do what rather than letting it stumble its way there.
- szundi 8mo ago[dead]
- rmunn 8mo agoIf I understand the paper correctly, the researchers found that AGENTS.md context files caused the LLMs to burn through more tokens as they parsed and followed the instructions, but they did not find a large change in the success rate (defined by "the PR passes the existing unit tests in the repo"). What wasn't measured, probably because it's almost impossible to quantify, was the quality of the code produced. Did the context files help the LLMs produce code that matched the style of the rest of the project? Did the code produced end up reasonably maintainable in the long run, or was it slop that increased long-term tech debt? These are important questions, but as they are extremely difficult to assign numbers to and measure in an automated way, the paper didn't attempt to answer them.
- deaux 8mo agoI read the study. I think it does the opposite of what the authors suggest - it's actually vouching for good AGENTS.md files. > Surprisingly, we observe that developer-provided files only marginally improve performance compared to omitting them entirely (an increase of 4% on average), while LLM- generated context files have a small negative effect on agent performance (a decrease of 3% on average). This "surprisingly", and the framing seems misplaced. For the developer-made ones: 4% improvement is massive! 4% improvement from a simple markdown file means it's a must-have. > while LLM- generated context files have a small negative effect on agent performance (a decrease of 3% on average) This should really be "while the prompts used to generate AGENTS files in our dataset..". It's a proxy for prompts, who knows if the ones generated through a better prompt show improvement. The biggest usecase for AGENTS.md files is domain knowledge that the model is not aware of and cannot instantly infer from the project. That is gained slowly over time from seeing the agents struggle due to this deficiency. Exactly the kind of thing very common in closed-source, yet incredibly rare in public Github projects that have an AGENTS.md file - the huge majority of which are recent small vibecoded projects centered around LLMs. If 4% gains are seen on the latter kind of project, which will have a very mixed quality of AGENTS files in the first place, then for bigger projects with high-quality .md's they're invaluable when working with agents.
- bootsmann 8mo agoThis reads a lot like bargaining stage. If agentic AI makes me a 10 times more productive developer, surely a 4% improvement is barely worth the token cost.
- ozim 8mo agoI pretty much add to my prompt bunch of stuff, with AGENST.md or any file I can just add one line "hey read up that file".
- AlexYzhov 8mo ago[dead]
- prodigycorp 8mo agoLLMs are generally bad at writing non-noisy prompts and instructions. It's better to have it write instructions post hoc. For instance, I paste this prompt into the end of most conversations: If there’s a nugget of knowledge learned at any point in this conversation (not limited to the most recent exchange), please tersely update AGENTS.md so future agents can access it. If nothing durable was learned, no changes are needed. Do not add memories just to add memories. Update AGENTS.md **only** if you learned a durable, generalizable lesson about how to work in this repo (e.g., a principle, process, debugging heuristic, or coding convention). Do **not** add bug- or component-specific notes (for example, “set .foo color in bar.css”) unless they reflect a broader rule. If the lesson cannot be stated without referencing a specific selector or file, skip the memory and make no changes. Keep it to **one short bullet** under an appropriate existing section, or add a new short section only if absolutely necessary. It hardly creates rules, but when it does, it affects rules in a way that positively affects behavior. This works very well. Another common mistake is to have very long AGENTS.md files. The file should not be long. If it's longer than 200 lines, you're certainly doing it wrong.
- joquarky 8mo ago> If nothing durable was learned, no changes are needed. Off topic, but oh my god if you don't do this, it will always do the thing you conditionally requested it to do. Not sure what to call this but it's my one big annoyance with LLMs. It's like going to a sub shop and asking for just a tiny bit of extra mayo and they heap it on.
- Bolwin 8mo agoLlms generally seem trained with the assumption that if you mention it, you want it. I don't think the instruction following benches test for this much and I don't know how you'd measure it well
- Arifcodes 8mo ago[dead]
- Gigachad 8mo agoWhat are you putting in the file? When I’ve looked at them they just looked like a second readme file without the promotional material in a typical GitHub readme.
- 0x696C6961 8mo agoThat's basically all it is. It's a readme file that is guaranteed to be read. So the agent doesn't spend 10 minutes trying to re-configure the toolchain because the first command it guessed didn't work.
- Arifcodes 8mo ago[dead]
- CuriouslyC 8mo agoSeems like that is knowledge a human would want too, and you are dumping it in the agents file for lack of a clearer place to put it.
- francisofascii 8mo ago> The good ones read more like the notes you'd give a new senior engineer on their first day. If the notes are meant for new developers, wouldn't those notes go into the actual readme.md file?
- reconnecting 8mo agoCheck the logs, no one really requests AGENTS.md from the server.
- kittbuilds 8mo ago[dead]
- einrealist 8mo agoWhat is the purpose of an AGENTS.md file when there are so many different models? Which model or version of the model is the file written for? So much depends on assumptions here. It only makes sense when you know exactly which model you are writing for. No wonder the impact is 'all over the place'.
- climike 8mo ago[dead]
- deleted 8mo ago[deleted]
- mikkupikku 8mo agoThe only thing I use CLAUDE.md for is explaining the purpose and general high level design principles of the project so I don't have to waste my time reiterating this every time I clear the context. Things like this is a file manager, the deliverable must always be a zipapp, Wayland will never be supported. I added these to that file because otherwise I will have to tell claude these things myself, repeatedly. But the science says... Respectfully, blow it out your ass.
- DaanDL 8mo agoI chuckled at "Wayland will never be supported" :-D
- GBintz 8mo agowe've been running AGENTS.md in production on helios (https://github.com/BintzGavin/helios https://github.com/BintzGavin/helios) for a while now. each role owns specific files. no overlap means zero merge conflicts across 1800+ autonomous PRs. planning happens in `.sys/plans/{role}/` as written contracts before execution starts. time is the mutex. AGENTS.md defines the vision. agents read the gap between vision and reality, then pull toward it. no manager, no orchestration. we wrote about it here: https://agnt.one/blog/black-hole-architecture https://agnt.one/blog/black-hole-architecture agents ship features autonomously. 90% of PRs are zero human in the loop. the one pain point is refactors. cross-cutting changes don't map cleanly to single-role ownership AGENTS.md works when it encodes constraints that eliminate coordination. if it's just a roadmap, it won't help much.
- bavell 8mo agoMight be some interesting nuggets in your article but my eyes rolled so hard at this part I had to stop reading: "The system does not assign tasks. It defines gravity." Helios looks cool though!
- sensanaty 8mo agoMost of these AI-guiding "techniques" seem more like reading into tea leaves to me than anything actually useful. Even with the latest and greatest (because I know people will reflexively immediately jump down my throat if I don't specify that, yes, I've used Opus 4.6 and Gemini 3 Pro etc. etc. etc. etc., I have access to all of the models by way of work and use them regularly), my experience has been that it's basically a crapshoot that it'll listen to a single one of these files, especially in the long run with large chats. The amount of times I still have to tell these things to not generate React in my Vue codebase that has literally not a single line of JSX anywhere and instructions in every single possible file I can put it in to NOT GENERATE FUCKING REACT CODE makes me want to blow my brains out every time it happens. In fact it happened to me today with the supposed super intelligence known as Opus 4.6 that has 18 trillion TB of context or whatever in a fresh chat when I asked for a quick snippet I needed to experiment with. I'm not even paying for this crap (work is) and I still feel scammed approximately half the time, and can't help but think all of these suggestions are just ways to inflate token usage and to move you into the usage limit territory faster.
- Foobar8568 8mo agoClaude/Opus 4.6 Can you add a console.log in food XYZ? No problem, x agents, hundreds/closed to one million token usage to add a line of code. Gemini 3 : can you review the commit A (console.log one ) you have made the most significant change in your 200kloc code base, this key change will allow you to get great insight into your software. Codex : I have reviewed your change, you are missing tests and integration tests. But I fully agree, overall I feel there are a lot of tea leaves readers online and LinkedIn.
- BlueHotDog2 8mo agoI've found that even documenting non-obvious dependencies between tasks can significantly improve agent performance and reduce debugging time
- flatcoke 8mo agoI use AGENTS.md daily for my personal AI setup. The biggest win is giving the agent project-specific context — things like deployment targets, coding conventions, and what not to do. Without it, the agent makes generic assumptions that waste time.
- octoclaw 8mo ago[dead]
- Arifcodes 8mo ago[dead]
- Razengan 8mo agoI think they can be helpful for humies too: the act of writing the instructions and describing your stuff in a clear way, and also reading it later.
- fwystup 8mo agoMy opinions about the study: - Don't state the obvious: I wouldn't hand a senior human dev a copy of "Clean Code" before every ticket and expect them to work faster. - File vs. Prompt is a false dichotomy: The paper treats "Context Files" as a separate entity, but technically, an AGENTS.md is just a system prompt injection. The mechanism is identical. The study isn't proving that "files are bad," it's proving that "context stuffing" is bad. Whether I paste the rules manually or load them via a file, the transformer sees the same tokens. - Latent vs. Inferable Knowledge: This is the key missing variable. If I remove context files, my agents fail at tasks requiring specific process knowledge - like enforcing strict TDD or using internal wrapper APIs that aren't obvious from public docs. The agent can't "guess" our security protocols or architectural constraints. That's not a performance drag; it's a requirement. The paper seems to conflate "adding noise" with "adding constraints."
- alexvay 8mo agoCan I create a SKILL bases on this paper top improve my AGENTS.md file? Yes, yes I can: https://github.com/bornio/skills_collection/tree/main/skill-content-optimizer https://github.com/bornio/skills_collection/tree/main/skill-...
- noahmagel 8mo ago[dead]
- wolfejam 8mo agoThis paper validates what we've been building toward. The core issue isn't the idea of context files — it's that prose is the wrong format for structured facts. AI crushes structured data like package.json but struggles with free-form markdown. Two developers describe the same repo completely differently. There's no schema, no validation, no scoring. Our paper on CERN's Zenodo proposes FAF — a structured YAML format (IANA-registered as application/vnd.faf+yaml) that replaces prose with validated fields. One .faf file generates native outputs for CLAUDE.md, AGENTS.md, .cursorrules, and GEMINI.md. The instruction files stay — they just sit on top of a structured foundation instead of floating independently. Paper: https://zenodo.org/records/18251362 https://zenodo.org/records/18251362