agentleFS
yagizdoyagizdo/quiver/skills/create-agents-md/SKILL.md

create-agents-md

Skill16 starsChanged 57 days agoMITView on GitHub

Generate or rewrite an AGENTS.md file — a high-signal-density operational checklist for AI coding agents.

4 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

18 rules. 0 are common, 16 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 16

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read AGENTS.md, README.md, CLAUDE.md -- existing docs (skip if missing)

    line 25
  2. Distinctive:

    Treat missing files as empty.

    line 29
  3. Very specific:

    Use the find output to understand project type, language, build system, and structure — regardless of whether it's Node, Rust, Go, Python, …

    line 43
  4. Distinctive:

    Branch A — No project detected: If the directory has no recognizable source files, manifests, or config → tell the user this doesn't appear …

    line 47
  5. Very specific:

    Branch B — Existing AGENTS.md: If cat AGENTS.md returned content → enter rewrite mode.

    line 48
  6. Distinctive:

    Deduplication rule (highest priority): Read CLAUDE.md carefully. If a rule, convention, validation command, or location is already …

    line 57
  7. Distinctive:

    Every bullet must be specific to THIS project.

    line 74
  8. Distinctive:

    Use imperative language: "Run X", "Never Y", "Always Z" -- no hedging ("consider", "you might want to").

    line 75
  9. Distinctive:

    Do NOT duplicate content from README.md or CLAUDE.md.

    line 77
  10. Distinctive:

    Every bullet is specific to this project -- no generic advice that applies to any codebase.

    line 86
  11. Distinctive:

    No content duplicated from README.md or CLAUDE.md.

    line 87
  12. Distinctive:

    No rules already enforced by linter/formatter config files detected in context.

    line 88
  13. Distinctive:

    All language is imperative -- no "consider", "might", "should consider", "you may want".

    line 89
  14. Distinctive:

    No empty or filler sections -- omit sections with no unique content.

    line 90
  15. Distinctive:

    Don't: keep empty sections -- omit them entirely.

    line 103
  16. Distinctive:

    Write the generated AGENTS.md to the project root.

    line 110
  17. Distinctive:

    Verify: Read back the file and confirm it matches what was generated.

    line 111
  18. Distinctive:

    Verify: Check line count < 80. Confirm no empty sections remain.

    line 113

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Gather Context

!`git remote -v 2>/dev/null || echo "NO_GIT"`
!`git log --oneline -5 2>/dev/null || echo "NO_COMMITS"`

Instructions

Before starting, use tools to gather project context silently (do not show results to the user):

  1. Glob **/* (max depth 2, exclude .git/, node_modules/, .build/, vendor/, target/) -- project file structure
  2. Read AGENTS.md, README.md, CLAUDE.md -- existing docs (skip if missing)
  3. Glob **/*ci*.yml, **/*ci*.yaml, **/Jenkinsfile, **/.travis.yml, **/Makefile (max depth 3) -- CI config
  4. Glob for linter configs in root: .eslintrc*, .prettierrc*, biome.json, rustfmt.toml, .swiftlint.yml, .rubocop.yml, .editorconfig, .clang-format

Treat missing files as empty. Proceed regardless.

You are an AGENTS.md architect. Your goal is maximum signal density — every line must be project-specific, non-obvious, and action-guiding. No generic advice. No README duplication. No rules already enforced by tooling.

┌───────────┐     ┌───────────┐     ┌───────────┐     ┌───────────┐
│ 1. GATHER │ ──► │ 2. ANALYZE│ ──► │ 3. GENERATE│ ──►│ 4. SAVE   │
│ Shell data │     │ Detect    │     │ Write      │     │ Write file│
│ from above │     │ project   │     │ AGENTS.md  │     │ Verify &  │
│            │     │ type &    │     │ sections   │     │ report    │
│            │     │ read cfgs │     │            │     │           │
└───────────┘     └───────────┘     └───────────┘     └───────────┘

Use the find output to understand project type, language, build system, and structure — regardless of whether it's Node, Rust, Go, Python, Ruby, Swift, Java, C++, Elixir, or anything else. Do not rely on hardcoded manifest names.

Silently determine which case applies:

  • Branch A — No project detected: If the directory has no recognizable source files, manifests, or config → tell the user this doesn't appear to be a project directory. Stop here.
  • Branch B — Existing AGENTS.md: If cat AGENTS.md returned content → enter rewrite mode. Aggressively trim generic advice, deduplicate against README.md and CLAUDE.md, tighten language to imperative form. Then proceed to AGENTS.md Generation using the existing content as a starting point.
  • Branch C — No AGENTS.md: Proceed to AGENTS.md Generation and create from scratch.

AGENTS.md Generation

Analyze all gathered context -- project structure, file types, configs, CI/CD, linter configs, README, CLAUDE.md, git history -- and generate an AGENTS.md.

Deduplication rule (highest priority): Read CLAUDE.md carefully. If a rule, convention, validation command, or location is already documented in CLAUDE.md, do NOT repeat it in AGENTS.md. Agents read both files. AGENTS.md exists only for information that CLAUDE.md does not cover.

Available sections -- use only the ones that have content after deduplication. Omit any section that would be empty or fully covered by CLAUDE.md:

  1. Must-follow constraints — Hard rules not covered by CLAUDE.md that cause build failures, test failures, or broken deployments if violated. Use inline labels for grouping (e.g., "Branching:", "Safety:", "ASCII-first:") instead of sub-headings. Exclude: anything already in CLAUDE.md, or enforced by a linter/formatter config file.
  2. Validation before finishing — Exact commands an agent must run before considering work complete. Exclude: commands already listed in CLAUDE.md's Testing section.
  3. Repo-specific conventions — Naming patterns, file organization rules, import conventions unique to this codebase. Exclude: conventions already documented in CLAUDE.md (e.g., timestamp format, retention policy, commit format).
  4. Important locations — Key files and directories that agents need to know about but wouldn't discover by casual browsing. Exclude: obvious paths and any paths already listed in CLAUDE.md.
  5. Change safety rules — What to check before modifying specific areas of the codebase. Exclude: safety rules already documented in CLAUDE.md (e.g., SYNC contract).
  6. Known gotchas — Non-obvious traps, quirks, or environment-specific issues that waste agent time. Exclude: issues documented in README or CLAUDE.md.

Section rules:

  • Every bullet must be specific to THIS project. If you could copy-paste it into any repo, delete it.
  • Use imperative language: "Run X", "Never Y", "Always Z" -- no hedging ("consider", "you might want to").
  • Omit sections that have no content after deduplication -- do not pad with filler or "No constraints" lines.
  • Do NOT duplicate content from README.md or CLAUDE.md. When in doubt, omit.

Quality Gates

Before saving, verify:

BLOCKING (fix before saving):

  • Every bullet is specific to this project -- no generic advice that applies to any codebase.
  • No content duplicated from README.md or CLAUDE.md.
  • No rules already enforced by linter/formatter config files detected in context.
  • All language is imperative -- no "consider", "might", "should consider", "you may want".
  • No empty or filler sections -- omit sections with no unique content.

WARNING (review and trim):

  • File exceeds 80 lines -- AGENTS.md should be a concise checklist, not documentation.
  • Any section has more than 7 bullets -- merge or remove the least critical.

Anti-Patterns

  • Don't include generic advice like "write clean code" or "follow best practices".
  • Don't duplicate the README or CLAUDE.md -- agents read both files already.
  • Don't hedge with "you might want to" or "consider doing" -- be direct.
  • Don't keep empty sections -- omit them entirely.
  • Don't list linter rules -- the linter already enforces them.

Save & Verify

  1. Write the generated AGENTS.md to the project root. Verify: Read back the file and confirm it matches what was generated.
  2. Count total lines and sections used. Verify: Check line count < 80. Confirm no empty sections remain.

Output

AGENTS.md {created | rewritten} Sections: {count of sections included} Lines: {line count} Signal check: {pass | warnings}

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.