agentmd

📁 mryll/agentmd 📅 3 days ago
2
总安装量
2
周安装量
#65505
全站排名
安装命令
npx skills add https://github.com/mryll/agentmd --skill agentmd

Agent 安装分布

opencode 2
gemini-cli 2
antigravity 2
junie 2
claude-code 2
github-copilot 2

Skill 文档

AgentMD: Research-Backed Context File Generator

Generate minimal context files that actually help coding agents, not hurt them.

Core Principle

Only include what the agent CANNOT discover by navigating the repo. If ls, find, grep, or reading existing docs reveals it — don’t repeat it.

Workflow

1. Detect Target CLI

Determine which context file to generate based on the user’s environment or request:

CLI File Notes
Claude Code CLAUDE.md At repo root; supports nested per-directory files
Codex AGENTS.md At repo root
Gemini CLI GEMINI.md At repo root
Copilot .github/copilot-instructions.md Inside .github/
Generic AGENTS.md Default fallback

If unclear, ask the user which CLI they use.

2. Analyze the Repository

Scan these files/patterns to extract only non-obvious information:

Tooling detection (check existence, extract commands):

  • pyproject.toml → build system, dependencies tool (uv, poetry, pip), scripts
  • package.json → scripts (test, lint, build, dev), package manager (pnpm, yarn, bun)
  • Makefile / Justfile → available targets
  • Cargo.toml, go.mod, build.gradle → language-specific tooling
  • .tool-versions, mise.toml, .nvmrc → version managers
  • Linter/formatter configs: ruff.toml, .eslintrc, biome.json, .prettierrc, rustfmt.toml
  • CI configs: .github/workflows/, .gitlab-ci.yml → what CI actually runs (the ground truth)
  • docker-compose.yml → required services for tests
  • pre-commit-config.yaml → pre-commit hooks

Non-obvious conventions (grep for patterns):

  • Directory naming patterns that deviate from standard (e.g. src/api/v2/ vs src/api/)
  • Test organization (integration vs unit separation, fixture patterns)
  • Migration or codegen workflows
  • Environment variable requirements (.env.example, .env.template)
  • Monorepo structure (workspaces, packages)

Existing documentation inventory (to avoid duplication):

  • README.md → what’s already documented
  • docs/ → what’s already documented
  • CONTRIBUTING.md → what’s already documented
  • If extensive docs exist, the context file should be SHORTER, not longer

3. Generate the Context File

Follow this template structure. Include ONLY sections that have non-obvious content. Delete empty sections — a 5-line context file is better than a 50-line one.

# <FILENAME>

## Tooling

- <package-manager>: `exact command` (e.g. "Use `uv` for dependencies, not pip")
- Tests: `exact command` (e.g. "`pytest -x --tb=short`")
- Lint/format: `exact command` (e.g. "`ruff check --fix && ruff format`")
- Build: `exact command` (if non-obvious)
- Pre-commit: `exact command` (if exists)

## Required Services

- <service>: `how to start` (e.g. "Redis: `docker compose up redis -d`")

## Non-Obvious Rules

- <rule that would waste the agent's time if unknown>
- <convention not in README/docs>
- <"trap" the agent would fall into>

## Project-Specific Patterns

- <test fixtures approach> (e.g. "Use `factory_boy`, not manual object creation")
- <where new code goes> (e.g. "New endpoints in `src/api/v2/`, not `v1/`")
- <codegen/migration workflow> (e.g. "Run `make generate` after changing .proto files")

4. Validate Against Anti-Patterns

Before outputting, verify the generated file does NOT contain:

  • Project overview / description → agent reads README
  • Directory structure listing → agent runs ls/find
  • Installation instructions → already in README/pyproject.toml/package.json
  • Git workflow (branching strategy, PR process) → irrelevant for task resolution
  • Code style rules already enforced by configured linter → config IS the guide
  • Dependency list → already in lock files and manifests
  • API documentation → agent reads source code and docs/
  • Architecture overview → agent discovers via grep/read
  • Anything discoverable by navigating the repo

5. Size Check

Target: under 30 lines of actual content (excluding blank lines). If the file exceeds this, re-evaluate each line: “Would the agent waste time without this?”

Repos with extensive existing docs → shorter context file (maybe 5-10 lines). Repos with no docs → slightly longer is OK (up to ~40 lines), since the context file fills a real gap.

Research Basis

See references/paper-findings.md for detailed findings from the ETH Zurich paper. Key data points:

  • LLM-generated context files: -3% performance, +23% cost
  • Human-written minimal files: +4% performance
  • Agents follow tool mentions reliably (usage jumps from 0.01 to 1.6x/instance)
  • Overviews don’t help agents find files faster
  • More content = +14-22% reasoning tokens without improvement