agentleFS
feiskyerfeiskyer/codex-settings/AGENTS.md

codex-settings

AGENTS.md248 starsChanged 4 months agoMITView on GitHub

A change in this repository is finished when all of these hold. Work through them without stopping for approval between steps: Stop early only for a genuine blocker: a missing credential, an ambiguous requirement where the readings lead to materially different work, or an action outside the scope described above. Use CONTRIBUTING.md for the commands matching the changed files: TOML parsing for configs, structure and isolated Plugin installation for Skills/manifests, and syntax plus offline tests for executable helpers. Prose-only edits…

The file

We split this AGENTS.md into the rules it gives an agent

12 rules. About 3 are common, 4 are distinctive, and 5 are very specific to this project.

  • ≈3

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Common:

    Stop early only for a genuine blocker: a missing credential, an ambiguous requirement where the readings lead to materially different work, …

    line 22
  2. Distinctive:

    Use CONTRIBUTING.md for the commands matching the changed files: TOML parsing for configs, structure and isolated Plugin installation for …

    line 26
  3. Distinctive:

    Write Skill instructions in imperative form.

    line 38
  4. Very specific:

    Keep SKILL.md small enough to load cheaply.

    line 39
  5. Very specific:

    Add agents/openai.yaml when a Skill is created.

    line 41
  6. Very specific:

    Keep default installation documentation unpinned so it follows the repository default branch.

    line 43
  7. Distinctive:

    Use concise title-case imperative commit subjects, consistent with repository history.

    line 49
  8. Common:

    Keep commits scoped; do not include local Codex runtime state, credentials, generated logs, or unrelated working-tree changes.

    line 50
  9. Very specific:

    Use redacted placeholders such as sk-dummy in examples.

    line 52
  10. Common:

    Never commit API keys, access tokens, cookies, real authorization headers, or private logs.

    line 56
  11. Distinctive:

    Do not silently broaden permissions or enable browser-cookie access.

    line 58
  12. Very specific:

    Follow SECURITY.md for vulnerability reporting.

    line 59

≈ “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.

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

Repository Guidelines

Repository Structure

  • config.toml is the shared Codex CLI configuration and points to the local copilot-gateway provider at localhost:4141.
  • Root-level *.config.toml files are optional Codex Profiles (chatgpt, azure, github-copilot, and openrouter). Keep the <name>.config.toml naming required by codex --profile <name>.
  • skills/<name>/SKILL.md contains reusable workflows. Put deterministic helpers in scripts/, detailed references in references/, UI metadata in agents/openai.yaml, and offline regression tests in tests/.
  • .codex-plugin/plugin.json packages the existing root skills/ tree as the codex-settings Plugin without duplicating it.
  • .agents/plugins/marketplace.json exposes the repository root as the Plugin source.
  • skills/github-fix-issue/ and skills/github-review-pr/ replace the former GitHub Custom Prompts. Do not recreate duplicate workflows under prompts/.
  • litellm_config.yaml is only for the optional GitHub Copilot through LiteLLM profile. It is not the backend used by the default config.toml.

Definition of Done

A change in this repository is finished when all of these hold. Work through them without stopping for approval between steps:

  1. The change itself is complete, including every file it implies — update a Skill's agents/openai.yaml when its purpose, display name, or default invocation changes, and update the Skills table in README.md when a Skill is added or removed.
  2. The validation commands matching the changed files have been run and pass. Fix failures caused by the change and rerun affected checks; report unrelated failures separately.
  3. .codex-plugin/plugin.json version is bumped if released Plugin content changed.
  4. The final report states which validation commands ran, which integration checks were skipped and why, and any assumption the change rests on.

Stop early only for a genuine blocker: a missing credential, an ambiguous requirement where the readings lead to materially different work, or an action outside the scope described above.

Validation Commands

Use CONTRIBUTING.md for the commands matching the changed files: TOML parsing for configs, structure and isolated Plugin installation for Skills/manifests, and syntax plus offline tests for executable helpers. Prose-only edits do not require unrelated provider or API runs.

The offline tests use disposable local fixtures, have no network or production access, and need no credentials. Run them, fix failures caused by the requested change, and rerun affected checks without asking for approval at each step. The Plugin install test uses an isolated temporary CODEX_HOME, not the user's installed plugins.

Provider integration checks apply only to changed provider files. External API Skills use mocked/offline tests unless the user explicitly requests a live integration run. If a check requires changing the user's environment, authentication, or running services beyond the task's authorization, report the missing prerequisite instead.

Style and Skill Conventions

  • TOML uses two-space indentation where indentation applies, aligned = signs within related blocks, double-quoted strings, and grouped tables.
  • Name Profiles, Skills, prompts, and scripts with lowercase kebab-case unless the platform requires another filename.
  • Skill frontmatter contains only name and description. Put requirements and compatibility notes in the body.
  • Keep each description as short as it can be while still making clear when the Skill applies. Describe the triggering situation, not a list of keywords, and do not treat the presence of an API key or a broad topic as a trigger. When several Skills cover the same territory, exactly one is the default and the others say they apply only when the user names that provider or tool.
  • Write Skill instructions in imperative form. Keep the core workflow concise and move repeatable or fragile behavior into bundled scripts.
  • Keep SKILL.md small enough to load cheaply. Move workflow detail, command references, and long examples into references/ and have SKILL.md point at them per step, so a run only reads what that step needs. Do not restate a script's --help output; point at it.
  • Assume the reading model has judgment. Write down what it cannot infer — this repository's paths, invariants, and failure modes — and leave out step-by-step recipes for decisions it can make from the request. These Skills are installed by others and run on models this repository does not control, so over-specified procedure constrains more than it helps.
  • Add agents/openai.yaml when a Skill is created; refresh it when the Skill's purpose, display name, or default invocation changes. Its default_prompt must mention $skill-name.
  • Bump .codex-plugin/plugin.json version whenever released Plugin content changes. Use semantic versions for releases and a single +codex.<cachebuster> suffix only for local iteration.
  • Keep default installation documentation unpinned so it follows the repository default branch. Use matching immutable v<version> tags as release checkpoints, not as the default install ref.
  • Scripts must expose --help, validate local inputs before network/API calls, return non-zero on failure, and create output parent directories when appropriate.
  • Tests must not require paid API calls, browser cookies, interactive approval, or live third-party services unless the user explicitly requests an integration run.

Commit and Pull Request Guidelines

  • Use concise title-case imperative commit subjects, consistent with repository history.
  • Keep commits scoped; do not include local Codex runtime state, credentials, generated logs, or unrelated working-tree changes.
  • In pull requests, list affected configs or Skills, validation commands run, intentionally skipped integration checks, and any compatibility assumptions.
  • Use redacted placeholders such as sk-dummy in examples.

Security

  • Never commit API keys, access tokens, cookies, real authorization headers, or private logs.
  • Review shell_environment_policy, sandbox, network, MCP, and browser-cookie behavior when changing integrations.
  • Do not silently broaden permissions or enable browser-cookie access. Explain the need and obtain user approval first.
  • Follow SECURITY.md for vulnerability reporting.

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.