skills
AGENTS.md0 starsChanged 2 months agoApache-2.0View on GitHub
- Publishable skills belong in skills/<category>/<skill-name>/. The repository also supports skills/<namespace>/<skill-name>/ for arbitrary namespaced discovery tests and compatible sources. - Put a technology skill, a catalog entry with kind: stack that gives one technology's conventions, build commands, and test commands, in skills/<technology-category>/develop-<technology>/, where the technology category is language, mobile, web, or game. A technology skill has no layer, no skill graph node, and no instruction inventory entry, and it creates no Issue, Pull Request, branch, or release. See docs/skill-layers.md. -…
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.
In this repository37 other files it gives its agents.
- analyze-codebaseSkill
- analyze-projectSkill
- propose-improvementsSkill
- retrospect-workSkill
- triage-issuesSkill
- write-docsSkill
- debug-codeSkill
- refactor-codeSkill
- resolve-defectSkill
- write-testsSkill
- develop-minecraft-fabricSkill
- develop-minecraft-forgeSkill
- audit-workflow-enforcementSkill
- bootstrap-projectSkill
- develop-dartSkill
- develop-goSkill
- develop-javaSkill
- develop-kotlinSkill
- develop-swiftSkill
- develop-typescriptSkill
- update-dependenciesSkill
- develop-android-composeSkill
- develop-compose-multiplatformSkill
- develop-flutterSkill
- develop-iosSkill
- develop-kotlin-multiplatformSkill
- develop-react-nativeSkill
- create-issueSkill
- create-prSkill
- deliver-changeSkill
- fix-prSkill
- implement-issueSkill
- improve-projectSkill
- merge-prSkill
- plan-issueSkill
- review-prSkill
- develop-reactSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
24 rules. About 1 is common, 4 are distinctive, and 19 are very specific to this project.
≈1
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
19
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 5
After adding, removing, or recategorizing a skill in CATALOG.yml, run mise run generate:skill-lists to rewrite the generated skill list in …
- Very specific: line 8
Keep LICENSE as the unmodified Apache-2.0 legal text and keep the repository copyright attribution in NOTICE.
- Very specific: line 10
Keep SKILL.md concise. Put optional scripts, detailed references, and output assets in scripts/, references/, and assets/ below the skill …
- Common: line 13
Do not put credentials, tokens, private URLs, or user data in the repository.
- Very specific: line 14
Use mise as the project command entry point.
- Very specific: line 15
Keep the repository's required tools and their pinned versions in mise.toml.
- Very specific: line 16
Before publishing, run mise run validate:all from the repository root.
- Very specific: line 21
Before publishing, align every catalog version with the release tag, commit the release contents, and run mise run verify:release -- vX.Y.Z.
- Distinctive: line 25
Every publishable skill must begin each invocation by creating and maintaining a Todo List.
- Distinctive: line 27
Keep exactly one item in progress.
- Distinctive: line 28
Use the host's native Todo List or task-tracking capability when it is available.
- Distinctive: line 29
Before handoff, complete or explicitly explain every remaining Todo List item.
- Very specific: line 33
When skill-creator is available, invoke it before creating a new skill or making a substantial update to an existing one.
- Very specific: line 37
Treat this repository as the explicit destination: initialize a new publishable skill below skills/, not in a local agent directory.
- Very specific: line 38
Before authoring, collect concrete trigger examples, the intended output, non-goals, required tools or data, and a verification method.
- Very specific: line 40
Follow skill-creator's initialization and validation workflow.
- Very specific: line 42
Add scripts/, references/, and assets/ only when they are reusable.
- Very specific: line 44
When bootstrapping a project, make mise the standard entry point.
- Very specific: line 48
Keep the core behavior, output contract, and safety rules in the skill's SKILL.md.
- Very specific: line 49
Put a host-specific capability note at skills/<category>/<skill-name>/references/hosts/<host>.md only when the difference changes …
- Very specific: line 50
Use agents/openai.yaml only for Codex UI metadata.
- Very specific: line 51
Do not put shared source in .codex/, .claude/, or .agents/.
- Very specific: line 53
Use FSL for stateful workflow contracts such as review, validation, publishing, versioning, and deprecation.
- Very specific: line 58
Write every artifact that stays in the repository in English: code comments, docs/, SKILL.md, commit message bodies, Issue and Pull Request …
≈ “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
Repository guidance
- Publishable skills belong in
skills/<category>/<skill-name>/. The repository also supportsskills/<namespace>/<skill-name>/for arbitrary namespaced discovery tests and compatible sources. - Put a technology skill, a catalog entry with
kind: stackthat gives one technology's conventions, build commands, and test commands, inskills/<technology-category>/develop-<technology>/, where the technology category islanguage,mobile,web, orgame. A technology skill has no layer, no skill graph node, and no instruction inventory entry, and it creates no Issue, Pull Request, branch, or release. Seedocs/skill-layers.md. - After adding, removing, or recategorizing a skill in
CATALOG.yml, runmise run generate:skill-liststo rewrite the generated skill list inREADME.md,docs/skill-layers.md, andskills/README.md;check:repositoryfails while a list is stale. - Give every skill a
SKILL.mdwithnameanddescriptionfrontmatter. Thenamemust match its directory name. - License every published skill as
Apache-2.0, the repository standard. Do not add a different license or a non-Apache dependency bundled with a published skill without explicit user approval. Development and CI tools are not bundled dependencies; keep them pinned inmise.toml, use them only for development or checks, and review their licenses when adding them. - Keep
LICENSEas the unmodified Apache-2.0 legal text and keep the repository copyright attribution inNOTICE. - Set the
NOTICEcopyright owner from the repository owner's confirmed identity. Update the year only when new copyrightable material is added or materially updated; do not create annual-only copyright commits. - Keep
SKILL.mdconcise. Put optional scripts, detailed references, and output assets inscripts/,references/, andassets/below the skill root. - Keep every per-skill asset, a file that belongs to exactly one skill, below its skill root. The evaluation inputs are the one exception: scenarios live in
evaluations/scenarios/<skill-name>/and fixtures inevaluations/fixtures/<key>/. Installation copies the whole skill directory, so an evaluation input there would ship to every user and reach the agent under evaluation, which could then read a scenario's expectations.check-evaluationfails when a scenario directory, a scenario'sskillfield, or a cataloged skill loses that link. - Keep the source of a reference file that several skills share in
shared/references/<name>. Each skill whoseSKILL.mdnamesreferences/<name>keeps a byte-identical copy atreferences/<name>, because installation copies only the skill directory. Edit the source, then copy it into each consumer;check-shared-referencesincheck:repositoryfails on a drifted or missing copy and prints thecpcommand that repairs it, and fails on a copy that itsSKILL.mdnever names, which must be named or removed. - Do not put credentials, tokens, private URLs, or user data in the repository.
- Use mise as the project command entry point. Run supported-platform repository checks with
mise run validate:all; do not document or automate a direct replacement command when a mise task exists. - Keep the repository's required tools and their pinned versions in
mise.toml. Do not add a tool, a version, or a task unless this repository actually needs it. - Before publishing, run
mise run validate:allfrom the repository root. It includes installation validation for Codex and Claude Code. Whenskill-creatoris available, also runmise run validate:skill-creatoras additional Codex-specific authoring evidence; it is not required to use a skill in Claude Code. - Before publishing, align every catalog version with the release tag, commit the release contents, and run
mise run verify:release -- vX.Y.Z. Publish only the verified commit withgh skill publish --tag vX.Y.Z; never overwrite an existing release tag.
Todo List contract
- Every publishable skill must begin each invocation by creating and maintaining a Todo List. For a one-step request, use one item; do not omit the list.
- Represent the requested outcome as small, observable items. Include discovery or scope confirmation, implementation, validation, and handoff when they apply.
- Keep exactly one item in progress. Mark an item complete only after its stated result or evidence exists; add, remove, or reorder items when the agreed scope changes.
- Use the host's native Todo List or task-tracking capability when it is available. Otherwise, present and maintain an equivalent Markdown checklist in the conversation. The skill must not depend on a proprietary task tool.
- Before handoff, complete or explicitly explain every remaining Todo List item. Keep the final report consistent with the list and the checks actually run.
Creating and updating skills
- When
skill-creatoris available, invoke it before creating a new skill or making a substantial update to an existing one. In hosts where it is not available, usedocs/skill-brief-template.mdto collect the same design inputs, then run the repository validations. - Treat this repository as the explicit destination: initialize a new publishable skill below
skills/, not in a local agent directory. - Before authoring, collect concrete trigger examples, the intended output, non-goals, required tools or data, and a verification method. Use
docs/skill-brief-template.mdwhen this information is not already present in the request. - Design every new or substantially updated skill to follow the Todo List contract above. Put its task-specific initial items and completion evidence in
SKILL.md; do not rely only on this repository guidance being present at installation time. - Follow
skill-creator's initialization and validation workflow. Use itsinit_skill.pyfor a new skill, itsquick_validate.pyfor the skill-level check, andgh skill publish --dry-runfor repository-level validation. - Generate
agents/openai.yamlthroughskill-creatorwhen creating a Codex-facing skill. Read itsopenai_yaml.mdreference first and keep the generated UI metadata aligned withSKILL.md. - Add
scripts/,references/, andassets/only when they are reusable. Test every added script with a representative input. - Forward-test complex or high-impact skills with realistic requests that do not reveal the expected answer.
- When bootstrapping a project, make mise the standard entry point. Define only the applicable
format:all,lint:all,test:all,check:all, andverify:fsltasks;checkshould compose the relevant validations.
Host compatibility
- Keep the core behavior, output contract, and safety rules in the skill's
SKILL.md; do not duplicate a complete skill per agent. - Put a host-specific capability note at
skills/<category>/<skill-name>/references/hosts/<host>.mdonly when the difference changes execution, safety, or the output. State the capability, the preferred path, the fallback, and how to verify the result. - Use
agents/openai.yamlonly for Codex UI metadata. Put repository-level configuration examples and installation notes inhosts/codex/orhosts/claude-code/; these directories are not publishable skills. - Do not put shared source in
.codex/,.claude/, or.agents/. Those hidden directories are local installation state and are intentionally ignored. - Use FSL for stateful workflow contracts such as review, validation, publishing, versioning, and deprecation. Do not claim that FSL verifies the prose instructions in a
SKILL.md. - Place a skill-owned FSL source file in
skills/<category>/<skill-name>/specs/; expose it in the repository through a relative symbolic link atspecs/<category>/<skill-name>/. Place only repository-owned or cross-skill FSL sources directly inspecs/. Before authoring or changing one, obtain confirmation of a formalization memo for choices that affect behavior. Expose FSL validation throughmise run verify:fslafter changes.
Writing quality
- Write every artifact that stays in the repository in English: code comments,
docs/,SKILL.md, commit message bodies, Issue and Pull Request bodies, and Pull Request review comments. Conversation with the user is not an artifact, and it is held in Japanese. - Name a thing in full on first mention and reuse that exact term for every later mention. Do not introduce a shortened or varied form without defining it.
- Choose the plain word. Do not use an inflated style word, a Latinate padding word, or
serves aswhereisfits. - Choose a word people actually use. A replacement nobody says aloud fails the rules in either language, and so does prose assembled from such words.
- In Japanese prose, replace a katakana loanword or an inline English word when a common Japanese word says the same thing, and keep terms already established in the domain. Keep every identifier, command, and path in its original form.
- Name one concept with one term in each language. Take the Japanese term for an English term this repository uses from
docs/term-glossary.md, and decide a term the glossary omits by the test indocs/writing-style.md. - Make every sentence add a fact the reader did not have. Delete a sentence that loses nothing.
- State a position and give its reason. Do not present two options and commit to neither.
- Cite the file, command, or output behind every claim about the repository.
- See
docs/writing-style.mdfor the full rules. They sit in three parts: one for both languages, one for English, and one for Japanese. Read the shared part and the part for the language you are writing in.
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.

