skills
AGENTS.md1 starsChanged 18 days agoMITView on GitHub
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
21 rules. About 0 are common, 11 are distinctive, and 10 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 6
Use neutral placeholders for paths, hosts, environment variable names, service names and deploy commands.
- Distinctive: line 7
Always use a fresh generic name.
- Distinctive: line 11
Every rule must be generic, state a required behaviour and never a preference.
- Distinctive: line 12
Never put specific values or examples in a rule.
- Very specific: line 17
Create one folder per sub-skill at skills/<name>/.
- Very specific: line 18
Every sub-skill must have SKILL.md with name and description frontmatter.
- Very specific: line 19
Put supporting files beside SKILL.md and reference them with relative paths.
- Distinctive: line 20
Keep each sub-skill self-contained.
- Very specific: line 21
Add the new sub-skill to the index in the root SKILL.md.
- Very specific: line 25
Write skills generically. Never mention the projects, repos or packages that inspired a skill.
- Distinctive: line 26
Keep every skill project-agnostic.
- Very specific: line 28
Keep the frontmatter description focused on the skill's most important aspects.
- Distinctive: line 29
When the scope is unclear, ask the user with concrete options before writing.
- Very specific: line 34
After changing a skill, refresh the README.md skills table and ChangeLog.md.
- Very specific: line 35
Keep the skills badge count in README.md equal to the number of folders under skills/.
- Very specific: line 41
Verify installer changes with yarn build, then node bin/install.mjs --list and node bin/install.mjs --dry-run.
- Distinctive: line 42
Never publish, tag, stage or commit the package.
- Distinctive: line 47
Ask the user before applying an update.
- Very specific: line 52
Keep ChangeLog.md to public changes only, one line per change.
- Distinctive: line 58
Never commit or stage changes.
- Distinctive: line 59
Never unstage changes either.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md
General
- Apply these rules to every skill in this repository.
- Use neutral placeholders for paths, hosts, environment variable names, service names and deploy commands.
- Always use a fresh generic name; never reuse a specific one, and generalise the whole flow, not just the names.
Adding a rule
- Every rule must be generic, state a required behaviour and never a preference.
- Never put specific values or examples in a rule.
Adding a skill
- The root
SKILL.mdis the entry skill. It indexes the sub-skills and is the only skill that references them. - Create one folder per sub-skill at
skills/<name>/. - Every sub-skill must have
SKILL.mdwithnameanddescriptionfrontmatter.namemust match the folder and use lowercase hyphen-separated words. - Put supporting files beside
SKILL.mdand reference them with relative paths. - Keep each sub-skill self-contained. A sub-skill must not read files from another sub-skill.
- Add the new sub-skill to the index in the root
SKILL.md.
Writing a skill
- Write skills generically. Never mention the projects, repos or packages that inspired a skill; use neutral example names such as
mylib. - Keep every skill project-agnostic. A skill must apply to any project and must not assume a particular layout, language, tool, path or domain.
- Research the real source material first, then generalise. Do not invent behaviour or APIs.
- Keep the frontmatter
descriptionfocused on the skill's most important aspects. Do not use colons. - When the scope is unclear, ask the user with concrete options before writing.
Changing a skill
- Adding a skill is a minor version bump.
- After changing a skill, refresh the
README.mdskills table andChangeLog.md. - Keep the
skillsbadge count inREADME.mdequal to the number of folders underskills/.
Installer
- The installer source is
src/install.mts; the bundledbin/install.mjsis generated byyarn build. - The installer is
bin/install.mjs; the user runs it, never the agent. - Verify installer changes with
yarn build, thennode bin/install.mjs --listandnode bin/install.mjs --dry-run. - Never publish, tag, stage or commit the package.
Updates
- The root
SKILL.mddocuments a daily update check. Runcheck.mjsat most once per machine per day; it caches the timestamp in the XDG cache directory. - Ask the user before applying an update. Never update on your own.
Version and changelog
- Bump
VERSIONand add aChangeLog.mdentry for every release. - Keep
ChangeLog.mdto public changes only, one line per change.
Commit messages
- Format a release commit as
versionfollowed by the release version, with no other words. - Name every other commit with 2 to 4 lowercase words, letters only.
- Never commit or stage changes. Only the user commits or stages, unless the user gives an explicit order.
- Never unstage changes either. Do not run
git reset,git restore --staged,git rm --cached, or any other command that alters the index. The user alone controls the index.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

