<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Janz</title>
    <description>The latest articles on DEV Community by Janz (@janzong).</description>
    <link>https://dev.to/janzong</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4124400%2Fd36a6924-4bf7-43e9-9d96-8d59fe598a4e.jpg</url>
      <title>DEV Community: Janz</title>
      <link>https://dev.to/janzong</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/janzong"/>
    <language>en</language>
    <item>
      <title>I looked at 558 AGENTS.md files: here's a 5-minute check for yours</title>
      <dc:creator>Janz</dc:creator>
      <pubDate>Mon, 14 Sep 2026 13:25:06 +0000</pubDate>
      <link>https://dev.to/janzong/i-looked-at-558-agentsmd-files-heres-a-5-minute-check-for-yours-5cih</link>
      <guid>https://dev.to/janzong/i-looked-at-558-agentsmd-files-heres-a-5-minute-check-for-yours-5cih</guid>
      <description>&lt;p&gt;&lt;strong&gt;Short version:&lt;/strong&gt; I labeled 558 public &lt;code&gt;AGENTS.md&lt;/code&gt; files against a 9-category taxonomy. The measured&lt;br&gt;
base rates say something boring and useful — almost every file &lt;strong&gt;prohibits&lt;/strong&gt; things (85.7%) and lists&lt;br&gt;
&lt;strong&gt;build/test commands&lt;/strong&gt; (82.8%), while almost none of them record a &lt;strong&gt;gotcha&lt;/strong&gt; (13.6%). Two of the nine&lt;br&gt;
slots are nearly empty across the whole corpus: &lt;code&gt;gotchas&lt;/code&gt; and &lt;code&gt;agent_meta&lt;/code&gt; (rules about the agent itself,&lt;br&gt;
25.8%).&lt;/p&gt;

&lt;p&gt;Then I ran the same ruler over two big, well-maintained files. Both missed &lt;code&gt;gotchas&lt;/code&gt;. So here is a&lt;br&gt;
five-minute check you can run on your own file, and the exact numbers behind it.&lt;/p&gt;
&lt;h2&gt;
  
  
  The base rates
&lt;/h2&gt;

&lt;p&gt;Measured on 516 substantive files (558 collected, the rest were one-line pointers):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;boundaries     85.7%   what must never be done
build_test     82.8%   the commands CI runs
workflow       67.1%   commit format, branches, release steps
structure      59.1%   layout, where new code belongs
style          54.5%   naming, formatting — or a pointer to the config that enforces it
environment    45.0%   toolchain versions, required env vars
overview       32.2%   one paragraph: what this is, what it deliberately is not
agent_meta     25.8%   rules about the agent: tone, when to ask first
gotchas        13.6%   pitfalls that are NOT derivable from the code
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The shape is not surprising once you see it as a genre: an &lt;code&gt;AGENTS.md&lt;/code&gt; is usually written &lt;em&gt;defensively&lt;/em&gt;,&lt;br&gt;
as a list of things not to break. The file that would actually save you time is the one almost nobody&lt;br&gt;
writes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two receipts
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;compare&lt;/code&gt; prints your file's coverage next to the corpus baseline. Two real examples from the corpus:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;file&lt;/th&gt;
&lt;th&gt;size&lt;/th&gt;
&lt;th&gt;sections&lt;/th&gt;
&lt;th&gt;coverage&lt;/th&gt;
&lt;th&gt;missing&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;langchain-ai/deepagents&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;10 KB&lt;/td&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;7/9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;overview&lt;/code&gt;, &lt;code&gt;gotchas&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;openai/openai-agents-python&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;34 KB&lt;/td&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;6/9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;style&lt;/code&gt;, &lt;code&gt;agent_meta&lt;/code&gt;, &lt;code&gt;gotchas&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Both are good files. The 34 KB one is one of the more thorough agent-instruction files in the corpus —&lt;br&gt;
27 sections, 19 separate boundary markers. It still has nothing in it that you could only learn by&lt;br&gt;
running the thing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why gotchas are rare (and why that is not laziness)
&lt;/h2&gt;

&lt;p&gt;You can only write a gotcha &lt;em&gt;after&lt;/em&gt; being bitten by it — and by the time you have been bitten, the&lt;br&gt;
temptation is to &lt;strong&gt;fix the thing&lt;/strong&gt; rather than write the sentence down. The fix is visible in the code;&lt;br&gt;
the sentence is a liability nobody wants to maintain.&lt;/p&gt;

&lt;p&gt;There is a second, worse failure mode. I sampled 347 entries from the &lt;code&gt;Gotchas&lt;/code&gt; / &lt;code&gt;Common Pitfalls&lt;/code&gt; /&lt;br&gt;
&lt;code&gt;Troubleshooting&lt;/code&gt; sections in the corpus (an earlier snapshot, 507 files) and hand-labeled 120 of them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;58%&lt;/strong&gt; are readable from the repo itself (interface contracts, platform limits, build requirements)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;34%&lt;/strong&gt; are not pitfalls at all — they are generic advice ("remember to install dependencies", "don't
commit &lt;code&gt;.env&lt;/code&gt;"), the same sentence you would write for any project&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;8%&lt;/strong&gt; are genuinely experience-only: upstream/third-party behaviour, past incidents, and the places
where the docs disagree with the code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So the section is rare, and a third of what does live there is filler. The 8% is the part worth&lt;br&gt;
handing to an agent, and it cannot be generated from a reading of the repository. It has to come from&lt;br&gt;
a person who was there.&lt;/p&gt;

&lt;h2&gt;
  
  
  The five-minute check
&lt;/h2&gt;

&lt;p&gt;No tool needed. Ask these five questions about your own file:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Are the commands copy-pasteable?&lt;/strong&gt; Not "run the tests" — the actual command CI runs, with the
working directory. If your README says one port and production uses another, say so (that mistake
is in the corpus, in a file that otherwise looks complete).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does it name what must never be committed or never touched?&lt;/strong&gt; This is the one thing the corpus
does well (85.7%) — check that yours names the &lt;em&gt;tempting&lt;/em&gt; case, not the obvious one. "Don't commit
secrets" is obvious; "don't hand-edit the production database to fix a row, use the backfill script"
is a boundary that will actually stop someone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does it say anything about the agent's own behaviour?&lt;/strong&gt; Only 25.8% do. Tone, when to stop and ask,
which actions need explicit approval, what must not leave the machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Is there at least one sentence that is not derivable from the code?&lt;/strong&gt; If every line in your file
could have been written by reading the repo, the file is documentation, not a charter. This is the
gotcha test.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do the paths it points at exist?&lt;/strong&gt; Measured: 49% of files route to another file, and 15% point at a
knowledge store or rules directory. A pointer to a file that moved is worse than no pointer — an
agent will go looking, and will read whatever it finds there as authoritative.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  If you want the baseline instead of the feeling
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/janzong/agent-charters   &lt;span class="c"&gt;# CN mirror: gitee.com/janzong/agent-charters&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;agent-charters
python &lt;span class="nt"&gt;-m&lt;/span&gt; venv .venv &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; .venv/bin/pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
.venv/bin/agent-charters compare path/to/AGENTS.md   &lt;span class="c"&gt;# coverage vs the 558-file baseline, plus gaps&lt;/span&gt;
.venv/bin/agent-charters brief                       &lt;span class="c"&gt;# the checklist + a paste-ready prompt&lt;/span&gt;
.venv/bin/agent-charters refs path/to/AGENTS.md      &lt;span class="c"&gt;# external pointers and dangling references&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(Not on PyPI — the install is a clone. I verified the sequence above in a clean virtualenv on a&lt;br&gt;
machine that had never seen the repo.)&lt;/p&gt;

&lt;p&gt;&lt;code&gt;compare&lt;/code&gt; is the one that answers question 4 in aggregate. It also does something I did not expect:&lt;br&gt;
when I used &lt;code&gt;brief&lt;/code&gt;'s prompt to write a charter for a real project, &lt;code&gt;compare&lt;/code&gt; flagged coverage I had&lt;br&gt;
skipped — and one of the nine slots it missed was the &lt;em&gt;name of the slot itself&lt;/em&gt;, which is a bug in my&lt;br&gt;
taxonomy, not in the file. That is the kind of thing a rule-based labeler gives you: you can point at&lt;br&gt;
the pattern that fired and argue with it.&lt;/p&gt;

&lt;p&gt;There is no LLM in the labeling loop. Every label is recomputable and arguable, which is the point —&lt;br&gt;
if you disagree with a label, you can find the rule that produced it and overrule it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this is not
&lt;/h2&gt;

&lt;p&gt;I do not want to oversell the numbers, so:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The classifier scores &lt;strong&gt;92% precision / 70% recall&lt;/strong&gt; on a 55-file held-out English set, and
&lt;strong&gt;88% / 73%&lt;/strong&gt; on 50 held-out Chinese files. The recall number is the honest one: it misses roughly
&lt;strong&gt;three in ten&lt;/strong&gt; of the labels it should have produced. &lt;code&gt;gotchas&lt;/code&gt; and &lt;code&gt;agent_meta&lt;/code&gt; are the weakest
slots in both languages.&lt;/li&gt;
&lt;li&gt;The held-out sets were labeled by &lt;strong&gt;one person (me)&lt;/strong&gt;. No second annotator, no inter-annotator
agreement.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coverage is a process metric, not a quality metric.&lt;/strong&gt; In a 3-repo test, a checklist that names all
nine slots pushed a generator from 4–5 categories to 9/9 — and filling all nine slots is not the same
as writing a good file. It is a prompt for the questions, not a grade.&lt;/li&gt;
&lt;li&gt;The labels and the rates come from public files and a rule-based classifier, not from a language
model. The one LLM in this story is the generator in the 3-repo test, which is why that number is
reported as n=3.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The ask
&lt;/h2&gt;

&lt;p&gt;The weakest part of this project is that the only person who has ever tested it is its author. If you&lt;br&gt;
have an &lt;code&gt;AGENTS.md&lt;/code&gt; (or a &lt;code&gt;CLAUDE.md&lt;/code&gt;, or a &lt;code&gt;.cursorrules&lt;/code&gt;) on a real project, run &lt;code&gt;compare&lt;/code&gt; on it and&lt;br&gt;
tell me what it gets wrong — the file, the label, or the baseline rate. A wrong label on your file is&lt;br&gt;
worth more to me than a star.&lt;/p&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/janzong/agent-charters" rel="noopener noreferrer"&gt;https://github.com/janzong/agent-charters&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>devtools</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I labeled 558 AGENTS.md files. Here's what they say — and what almost nobody writes down</title>
      <dc:creator>Janz</dc:creator>
      <pubDate>Mon, 14 Sep 2026 12:23:13 +0000</pubDate>
      <link>https://dev.to/janzong/i-labeled-558-agentsmd-files-heres-what-they-say-and-what-almost-nobody-writes-down-34gb</link>
      <guid>https://dev.to/janzong/i-labeled-558-agentsmd-files-heres-what-they-say-and-what-almost-nobody-writes-down-34gb</guid>
      <description>&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; — I collected &lt;strong&gt;558 &lt;code&gt;AGENTS.md&lt;/code&gt; files&lt;/strong&gt; from public repos and labeled each one against a 9-category&lt;br&gt;
taxonomy with a &lt;strong&gt;rule-based&lt;/strong&gt; classifier (no LLM in the loop, so it is auditable and recomputable). Then I&lt;br&gt;
blind-labeled held-out samples and compared: &lt;strong&gt;92% precision / 70% recall&lt;/strong&gt; on 55 English files,&lt;br&gt;
&lt;strong&gt;88% / 73%&lt;/strong&gt; on 50 Chinese files. The most common categories are prohibitions (&lt;strong&gt;85.7%&lt;/strong&gt;) and build/test&lt;br&gt;
commands (&lt;strong&gt;82.8%&lt;/strong&gt;). The rarest: &lt;strong&gt;gotchas (13.6%)&lt;/strong&gt; and instructions about how the agent itself should behave&lt;br&gt;
(&lt;strong&gt;25.8%&lt;/strong&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Why bother
&lt;/h2&gt;

&lt;p&gt;Almost every discussion about &lt;code&gt;AGENTS.md&lt;/code&gt; is anecdote-led: &lt;em&gt;my&lt;/em&gt; repo's file works, &lt;em&gt;my&lt;/em&gt; agent ignores it,&lt;br&gt;
a good one is a model upgrade, a bad one is worse than nothing. All of that may be true — but nobody&lt;br&gt;
seems to have the distribution. So I built it: snapshot of 558 files from 558 public repos&lt;br&gt;
(2026-09-10, 5.3 MB, &lt;strong&gt;516 usable for statistics&lt;/strong&gt;), labeled, versioned, and published with the tooling.&lt;/p&gt;

&lt;h2&gt;
  
  
  Method, in one paragraph
&lt;/h2&gt;

&lt;p&gt;Nine categories: &lt;code&gt;boundaries&lt;/code&gt;, &lt;code&gt;build_test&lt;/code&gt;, &lt;code&gt;workflow&lt;/code&gt;, &lt;code&gt;structure&lt;/code&gt;, &lt;code&gt;style&lt;/code&gt;, &lt;code&gt;environment&lt;/code&gt;, &lt;code&gt;overview&lt;/code&gt;,&lt;br&gt;
&lt;code&gt;agent_meta&lt;/code&gt; (rules about the AI itself), &lt;code&gt;gotchas&lt;/code&gt;. Labeling is done by pattern rules over headings and&lt;br&gt;
body text — deliberately, because a rule set can be read, argued with, and re-run, and every number below&lt;br&gt;
can be recomputed from the released dataset. I then measured how well the rules match a human reading:&lt;br&gt;
&lt;strong&gt;100 files in-sample&lt;/strong&gt; (upper bound, 90%/75%) and two held-out sets I had never tuned against —&lt;br&gt;
55 English (92%/70%) and 50 Chinese (88%/73%). Held-out numbers use the &lt;em&gt;conservative&lt;/em&gt; reading&lt;br&gt;
(items I was unsure about count as classifier errors).&lt;/p&gt;

&lt;h2&gt;
  
  
  Five things the numbers say
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Two categories dominate — and they are tied
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;category&lt;/th&gt;
&lt;th&gt;share of 516 files&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;boundaries&lt;/code&gt; (what you must never do)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;85.7%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;build_test&lt;/code&gt; (install/build/test/CI commands)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;82.8%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;workflow&lt;/code&gt; (branching, commits, review, release)&lt;/td&gt;
&lt;td&gt;67.1%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;structure&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;59.1%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;style&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;54.5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;environment&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;45.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;overview&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;32.2%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;agent_meta&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;25.8%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gotchas&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;13.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The 2.9 pp gap between the top two is &lt;em&gt;smaller&lt;/em&gt; than the known false-positive rate (~3%) of the&lt;br&gt;
prohibition pattern — so the honest statement is &lt;strong&gt;tied for first&lt;/strong&gt;, not "prohibitions beat build commands".&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Nobody writes down their scars
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;gotchas&lt;/code&gt; is dead last at 13.6%. Worse: when people &lt;em&gt;do&lt;/em&gt; open a "known issues" section, a third of it&lt;br&gt;
isn't a gotcha. I hand-read 120 items from those sections:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;58%&lt;/strong&gt; were readable straight from the repo (config, code, README mismatch),&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;34%&lt;/strong&gt; were not gotchas at all (generic advice: "remember to install dependencies"),&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;8%&lt;/strong&gt; needed experience or the outside world (OS behavior, an upstream outage, yesterday's incident).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That 8% is the part an agent can never derive from the code — and it is exactly the part that is&lt;br&gt;
almost never written down.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. The slot language models skip is &lt;code&gt;workflow&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;In a controlled experiment (11 repos × 3 prompt styles), prompts that listed topics explicitly produced&lt;br&gt;
&lt;strong&gt;9/9 categories&lt;/strong&gt;, while prompts that left the slots implicit skipped &lt;code&gt;workflow&lt;/code&gt; in &lt;strong&gt;11 out of 11&lt;/strong&gt; files.&lt;br&gt;
Point at &lt;code&gt;workflow&lt;/code&gt; by name and it appears &lt;strong&gt;3/3&lt;/strong&gt; times, with real content. The gap is not knowledge,&lt;br&gt;
it is &lt;em&gt;questions&lt;/em&gt; — which is why I turned the corpus distribution into a checklist tool.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Your weakest category depends on the language
&lt;/h3&gt;

&lt;p&gt;English files fail differently from Chinese ones. English: &lt;code&gt;gotchas&lt;/code&gt; recall 32–38% — the classifier&lt;br&gt;
misses casual "watch out" prose. Chinese: &lt;code&gt;agent_meta&lt;/code&gt; recall &lt;strong&gt;26%&lt;/strong&gt; — Chinese files express agent rules&lt;br&gt;
in the second person ("you are the dispatcher, not the executor"), and the body-pattern rules for that&lt;br&gt;
category are entirely English, so the whole style is invisible to them. File-level exact agreement&lt;br&gt;
(9/9 categories identical) is &lt;strong&gt;12%&lt;/strong&gt; in both languages.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Half of these files are entry points, not documentation
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;49%&lt;/strong&gt; point to some other file; &lt;strong&gt;15%&lt;/strong&gt; route to a knowledge or rules directory. That's a structural&lt;br&gt;
fact about the format, and it means "does this repo have an &lt;code&gt;AGENTS.md&lt;/code&gt;?" is a much weaker question than&lt;br&gt;
"what is actually in it".&lt;/p&gt;

&lt;h2&gt;
  
  
  The tool
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;agent-charters

agent-charters brief      &lt;span class="c"&gt;# checklist of the 9 slots + a paste-ready prompt&lt;/span&gt;
agent-charters compare your-AGENTS.md   &lt;span class="c"&gt;# your coverage vs the 558-file baseline&lt;/span&gt;
agent-charters refs your-AGENTS.md      &lt;span class="c"&gt;# does your file point at paths that exist&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Honest note: &lt;code&gt;compare&lt;/code&gt; is a &lt;strong&gt;checklist, not an oracle&lt;/strong&gt;. It warned me that one of the nine categories was&lt;br&gt;
missing from a file I wrote myself — it was actually present, but the heading used the tool's own slot name&lt;br&gt;
instead of natural language. That is documented in the repo (along with the exact experiment) rather than&lt;br&gt;
quietly patched, because a tool that tells you "you're missing X" should be checked by a human.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this is not
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rule-based labels, not per-file human labels.&lt;/strong&gt; Precision/recall above are the honest measures; the
per-category numbers in the dataset carry that error.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not a representative sample of GitHub.&lt;/strong&gt; Repos were found through AI/agent topics and Chinese keyword
search; the Chinese set came out 97% Chinese by construction, which says nothing about GitHub's language mix.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Single annotator.&lt;/strong&gt; The blind labeling was done by one model-driven annotator, not multiple raters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A snapshot, not a trend.&lt;/strong&gt; A baseline of file hashes is stored so that a future re-crawl can measure
how these files change — that measurement doesn't exist yet.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Code + tooling: &lt;a href="https://github.com/janzong/agent-charters" rel="noopener noreferrer"&gt;https://github.com/janzong/agent-charters&lt;/a&gt; (mirror: &lt;a href="https://gitee.com/janzong/agent-charters" rel="noopener noreferrer"&gt;https://gitee.com/janzong/agent-charters&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Dataset &lt;strong&gt;v0.5&lt;/strong&gt; release + methodology, limitations and every number above: see &lt;code&gt;LIMITATIONS.md&lt;/code&gt; in the repo&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The ask
&lt;/h2&gt;

&lt;p&gt;I'm looking for &lt;strong&gt;2–3 people who are not me&lt;/strong&gt; to run &lt;code&gt;compare&lt;/code&gt; on an &lt;code&gt;AGENTS.md&lt;/code&gt; they actually maintain and&lt;br&gt;
tell me where it's wrong — missing a category you clearly have, or claiming one you don't. That is the one&lt;br&gt;
piece of evidence this project doesn't have yet: an external user. Issues and comments are both fine.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>opensource</category>
      <category>data</category>
    </item>
  </channel>
</rss>
