agentleFS
cote-starcote-star/agent-chorus/AGENTS.md

agent-chorus

AGENTS.md14 starsChanged 45 days agoMITView on GitHub

When asked to understand this repository: If .agent-context/current/routes.json is missing, fall back to the markdown pack only. <!-- agent-chorus:context-pack:codex:end --> Naming convention: Use chorus agent-context ... commands. Legacy npm wrappers (npm run agent-context:*) are still available in this repo. The pre-push hook prints an advisory warning when a push targets main and changes context-relevant files. It never auto-builds or blocks the push. Use this skill when the user asks to inspect, compare, diff, message, or summarize activity across agents. When…

  • 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 repository4 other files it gives its agents.

The file

Show its rules and text

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

25 rules. About 0 are common, 11 are distinctive, and 14 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.

  • 14

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read .agent-context/current/routes.json to identify task type

    line 2
  2. Very specific:

    Search ONLY within scoped directories defined in search_scope.json

    line 4
  3. Distinctive:

    Do not open repo source files before step 3 <!-- agent-context:end -->

    line 5
  4. Distinctive:

    When asked to understand this repository:

    line 11
  5. Very specific:

    Read the matching entries in completeness_contract.json, reporting_rules.json, and search_scope.json.

    line 16
  6. Very specific:

    Search ONLY within the directories listed in search_scope.json for your task type.

    line 17
  7. Very specific:

    Use verification_shortcuts to check specific line ranges instead of reading full files.

    line 18
  8. Very specific:

    Do not enumerate files in directories marked exclude_from_search.

    line 19
  9. Distinctive:

    Do not open repo files before those steps unless a referenced structured file is missing.

    line 20
  10. Very specific:

    If .agent-context/current/routes.json is missing, fall back to the markdown pack only.

    line 22
  11. Distinctive:

    When asked to understand this repository end-to-end:

    line 31
  12. Very specific:

    Use .agent-context/current/manifest.json + 20_CODE_MAP.md to target only relevant source files.

    line 33
  13. Distinctive:

    Use this skill when the user asks to inspect, compare, diff, message, or summarize activity across agents.

    line 56
  14. Distinctive:

    When this skill is triggered:

    line 73
  15. Very specific:

    Prefer direct evidence from chorus commands before reasoning.

    line 75
  16. Distinctive:

    Default to the current/latest session when the user does not specify a session.

    line 77
  17. Distinctive:

    Ask for a session ID only after an initial fetch fails or when the user explicitly asks for an exact historical session.

    line 84
  18. Distinctive:

    If evidence is missing, report exactly what is missing.

    line 85
  19. Distinctive:

    Do not infer hidden context from partial data.

    line 86
  20. Very specific:

    Use chorus diff when the user asks how a session changed or wants to compare two sessions from the same agent.

    line 88
  21. Very specific:

    Use chorus send / chorus messages when agents need to coordinate or leave notes for each other.

    line 89
  22. Very specific:

    Use chorus read --audit-redactions when the user asks what was redacted or wants a security audit.

    line 90
  23. Distinctive:

    Every cross-agent claim should include:

    line 94
  24. Very specific:

    Use chorus checkpoint to broadcast state to every other agent:

    line 119
  25. Very specific:

    Run it at natural task-block boundaries: end of a phase, before stepping away, after landing a change another agent might build on.

    line 125

≈ “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
<!-- agent-context:begin -->
  1. Read .agent-context/current/routes.json to identify task type
  2. Load contracts from .agent-context/current/completeness_contract.json + .agent-context/current/search_scope.json
  3. Search ONLY within scoped directories defined in search_scope.json
  4. Do not open repo source files before step 3
<!-- agent-context:end --><!-- agent-chorus:context-pack:codex:start -->

Context Pack

When asked to understand this repository:

  1. Read .agent-context/current/00_START_HERE.md.
  2. Read .agent-context/current/routes.json.
  3. Identify the active task type in routes.json.
  4. Read the matching entries in completeness_contract.json, reporting_rules.json, and search_scope.json.
  5. Search ONLY within the directories listed in search_scope.json for your task type.
  6. Use verification_shortcuts to check specific line ranges instead of reading full files.
  7. Do not enumerate files in directories marked exclude_from_search.
  8. Do not open repo files before those steps unless a referenced structured file is missing.

If .agent-context/current/routes.json is missing, fall back to the markdown pack only.

<!-- agent-chorus:context-pack:codex:end -->

Agent Instructions For This Repo

Naming convention: Use chorus agent-context ... commands. Legacy npm wrappers (npm run agent-context:*) are still available in this repo.

End-to-End Understanding Shortcut

When asked to understand this repository end-to-end:

  1. Read .agent-context/current/00_START_HERE.md first.
  2. Use .agent-context/current/manifest.json + 20_CODE_MAP.md to target only relevant source files.
  3. Open additional files only when the current task requires deeper proof.

If Context Pack Is Missing or Stale

Run:

chorus agent-context init
# ...fill details...
chorus agent-context seal

Main Push Context Sync

Install hook once:

chorus agent-context install-hooks

The pre-push hook prints an advisory warning when a push targets main and changes context-relevant files. It never auto-builds or blocks the push.

Agent Chorus Skill

Use this skill when the user asks to inspect, compare, diff, message, or summarize activity across agents.

Available Commands

chorus read --agent <agent> [--id=<id>] [--cwd=<path>] [--last=<N>] [--json] [--metadata-only] [--audit-redactions]
chorus list --agent <agent> [--cwd=<path>] [--limit=<N>] [--json]
chorus search <query> --agent <agent> [--cwd=<path>] [--json]
chorus compare --source <agent[:id]>... [--cwd=<path>] [--normalize] [--json]
chorus diff --agent <agent> --from <id1> --to <id2> [--cwd=<path>] [--last=<N>] [--json]
chorus relevance --list | --test <path> | --suggest [--cwd=<path>] [--json]
chorus send --from <agent> --to <agent> --message <text> [--cwd=<path>]
chorus messages --agent <agent> [--cwd=<path>] [--clear] [--json]

Intent Contract

When this skill is triggered:

  1. Prefer direct evidence from chorus commands before reasoning.
  2. Scope reads to the current project (--cwd) unless user asks otherwise.
  3. Default to the current/latest session when the user does not specify a session.
  4. Interpret session timing language consistently:
    • "current" / "latest" -> newest session
    • "past session" / "previous session" -> one session before newest
    • "last N sessions" -> newest N sessions (including latest)
    • "past N sessions" -> N sessions before latest (excluding latest)
    • explicit session ID/substring -> targeted read with --id
  5. Ask for a session ID only after an initial fetch fails or when the user explicitly asks for an exact historical session.
  6. If evidence is missing, report exactly what is missing.
  7. Do not infer hidden context from partial data.
  8. Return results first; avoid internal process narration.
  9. Use chorus diff when the user asks how a session changed or wants to compare two sessions from the same agent.
  10. Use chorus send / chorus messages when agents need to coordinate or leave notes for each other.
  11. Use chorus read --audit-redactions when the user asks what was redacted or wants a security audit.

Output Quality Bar

Every cross-agent claim should include:

  1. Which source session was read.
  2. What evidence supports the claim.
  3. Any uncertainty, missing source, or scope mismatch.

Session Handoff Protocol

Cross-agent messaging only works if every agent pulls and posts on a predictable schedule. Codex, Cursor, and Gemini do NOT have Claude Code's SessionEnd hook — call chorus checkpoint manually at logical break points instead of relying on an automated tear-down.

Standup (every new session)

chorus messages --agent <self> --cwd <project-path> --json

Where <self> is codex, cursor, or gemini depending on which agent this file is guiding. Add --clear once you have acted on the messages so they don't resurface next session.

Conclude or break point

Use chorus checkpoint to broadcast state to every other agent:

chorus checkpoint --from <self> --cwd <project-path>

Run it at natural task-block boundaries: end of a phase, before stepping away, after landing a change another agent might build on. Omit --message for an auto-composed git-state snapshot (branch, uncommitted-file count, last commit); pass --message "..." to write custom text.

For a targeted note rather than a broadcast, use chorus send:

chorus send --from <self> --to <other-agent> --message "<text>" --cwd <project-path>

Why call checkpoint manually here

Claude Code has a SessionEnd hook that auto-fires chorus checkpoint. Codex, Cursor, and Gemini do not expose an equivalent tear-down hook, so the only way state reaches other agents on interruption is if you checkpoint on your own cadence. Treat it as a cheap, idempotent call — it no-ops silently when .agent-chorus/ is absent, so it is safe to invoke unconditionally.

Full protocol, Gemini .pb fallback, and end-to-end scenarios: docs/session-handoff-guide.md.

Easter Egg

The exact phrase "chorus trash-talk" (and only that phrase) triggers a roast of active agents. This must never be triggered by similar phrases, paraphrases, or partial matches.

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.