Skip to content

[program] CLAUDE.md is a pointer to AGENTS.md in every repo — no second instruction set to maintain (maintainer 2026-09-09) #17161

Description

@os-justin

Maintainer direct instruction to the skills seat (session session_01MoTv7pn338AZ71owsp19gQ, GitHub os-justin), given in that PM session's chat on 2026-09-09 at 13:3xZ and 13:4xZ, verbatim, untranslated:

「看一下 hotcrm 的agents.md 写的太乱了。只留下必要的。包括同时同时审核 hotcrm 的skills 任务,合并派发处理。」

「首先要明确 hotcrm 是元数据应用,平台功能应该在 objectstack中开发。 其次 claude.md 是不是直接让他阅读 agents.md 即可,没必要维护两套。所有仓库都有类似的问题」

Program

CLAUDE.md in every repository becomes a pointer to AGENTS.md and carries nothing else — one instruction set per repo, maintained once. Each repo is one sub-issue (规则 2: a cross-repo change is never one dispatch); this card is the coordination node and is never dispatched.

repo sub-issue state on 2026-09-09
objectstack filed below CLAUDE.md 41 lines: pointer + inlined never-miss rules with hook pointers; scripts/pm/check-governed-prose.mjs counts it as an instruction surface that must name the five governed surfaces
objectui filed below CLAUDE.md 25 lines: pointer + two inlined rules with hook pointers; check-governed-queue-guard.mjs lists it as governed
hotcrm filed below (folded into the AGENTS.md trim) no CLAUDE.md at all; .github/copilot-instructions.md is already the pointer model
cloud · objectos · www.objectos.ai filed below not readable from this session at filing; the sub-issue's first step is to measure whether a CLAUDE.md / AGENTS.md pair exists

Fixed shape for every sub-issue: the file says where the truth lives and that the reader must read it, in the repo's own instruction language; ⛔ no rule is restated in it, no hook list, no digest. Hooks and gates keep enforcing what they enforce (the never-miss rules live in AGENTS.md and in the hooks, not in the pointer). A gate that reads CLAUDE.md as an instruction surface adapts to the pointer form in the same PR. CLAUDE.md is a governed surface in every repo ⇒ draft PR, human merge, skip-changeset where the repo has it.

Governing text: the maintainer instruction above; AGENTS.md (each repo) as the single source it points to. Four-axis note recorded once here for all sub-issues: 实际业务需求 — the maintainer measured the cost directly (two sets to maintain, drift between them); 长远 — one source; 防 AI 犯错 — an agent that reads only CLAUDE.md today gets a digest that can lag AGENTS.md, and a pointer cannot lag; 不扩散 — deletion, no new surface. The known cost, stated: Claude Code loads CLAUDE.md automatically and AGENTS.md only through the pointer, so a session that skips the pointer has no rules until a hook fires — the hooks are the floor that makes this acceptable.


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions