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
Maintainer direct instruction to the skills seat (session
session_01MoTv7pn338AZ71owsp19gQ, GitHubos-justin), given in that PM session's chat on 2026-09-09 at 13:3xZ and 13:4xZ, verbatim, untranslated:Program
CLAUDE.mdin every repository becomes a pointer toAGENTS.mdand 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.CLAUDE.md41 lines: pointer + inlined never-miss rules with hook pointers;scripts/pm/check-governed-prose.mjscounts it as an instruction surface that must name the five governed surfacesCLAUDE.md25 lines: pointer + two inlined rules with hook pointers;check-governed-queue-guard.mjslists it as governedCLAUDE.mdat all;.github/copilot-instructions.mdis already the pointer modelCLAUDE.md/AGENTS.mdpair existsFixed 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.mdand in the hooks, not in the pointer). A gate that readsCLAUDE.mdas an instruction surface adapts to the pointer form in the same PR.CLAUDE.mdis a governed surface in every repo ⇒ draft PR, human merge,skip-changesetwhere 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.mdtoday gets a digest that can lagAGENTS.md, and a pointer cannot lag; 不扩散 — deletion, no new surface. The known cost, stated: Claude Code loadsCLAUDE.mdautomatically andAGENTS.mdonly 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