Also records instruction hygiene, YAML-first config split guidance, and Sub2API D601 recovery notes from the recovered worktree state.
5.7 KiB
Agent Instruction Hygiene
This document is the long-term reference for keeping always-loaded agent instruction files small, navigable and stable. It applies to local and remote AGENTS.md, CLAUDE.md-style aliases and any repo-level instruction file that is automatically injected into an agent context.
Size Budget
AGENTS.md is an index, not a knowledge base. The hard size budget for any local or remote AGENTS.md is 10 KiB, measured as bytes with wc -c AGENTS.md.
When an AGENTS.md is already over 10 KiB, do not append more detailed rules to it. Split first, then add only a one-line index entry back to AGENTS.md.
When editing an AGENTS.md would push it over 10 KiB, route the new content to a skill or a docs/reference/*.md document and keep AGENTS.md as a short pointer.
If loading or printing AGENTS.md triggers CLI output dump or context blow-up, treat that as a visibility bug and an instruction-hygiene bug. The fix is to split the file, not to increase output limits or ask agents to read around the dump.
What Belongs In AGENTS.md
Keep only always-needed routing information in AGENTS.md:
- Project identity and source-of-truth boundaries.
- P0 one-line rules that prevent immediate damage.
- Links to the authoritative long-term reference document for each domain.
- Skill names that must be loaded for common workflows.
- Short warnings about secrets, destructive commands, target workspaces and build bans.
Do not put long examples, command transcripts, JSON output, issue timelines, architecture essays, provider-specific debugging logs or one-off incident analysis in AGENTS.md.
Where Overflow Content Goes
Use this routing order when splitting content out of AGENTS.md:
- Reusable workflow behavior belongs in a skill
SKILL.md, for example$dad-dev,$unidesk-cicd,$unidesk-gh,$unidesk-trans,$unidesk-otel,$unidesk-webdevor$unidesk-ymalops. - Stable project constraints, workspace rules, architecture boundaries and validation criteria belong in
docs/reference/*.md. - CLI shape, output style, route syntax and operator ergonomics belong in
docs/reference/cli.mdunless a narrower reference already owns them. - Deployment hygiene, fixed repo boundaries and source-of-truth rules belong in
docs/reference/devops-hygiene.md. - Node/lane-specific HWLAB rules belong in
docs/reference/hwlab.mdand the target repo's own reference docs. - AgentRun source-truth and deployment-lane rules belong in
docs/reference/agentrun.md. - Platform-infra and YAML-first operations belong in
docs/reference/platform-infra.mdanddocs/reference/yaml-first-ops.md. - Process notes, temporary findings and dated investigation logs belong in GitHub issues, PR comments or process notes; they must be distilled before entering long-term reference.
If a rule is both reusable across projects and specific to UniDesk's current directories or services, put the reusable workflow in the skill and put UniDesk-specific paths, lane names and validation boundaries in docs/reference/*.md, then cross-reference both.
Split Procedure
When an agent sees a local or remote AGENTS.md over 10 KiB:
- Identify the detailed section being changed or expanded.
- Move the detailed content to the owning skill or
docs/reference/*.mddocument. - Replace the original section with one concise bullet and a link to the authoritative location.
- Preserve P0 damage-prevention warnings in
AGENTS.md, but compress them to one-line routing rules. - Do not create a single giant overflow archive as the normal solution. A temporary migration note is acceptable only if it immediately points to the domain documents that must absorb it.
- Do not add tests, guards or preflight checks just to enforce the size budget unless the user explicitly asks. The default control is documentation hygiene plus concise review.
For large legacy files, split incrementally by domain. Each new edit should leave the touched domain smaller and better referenced than before.
Cross-Reference Requirements
Every AGENTS.md index entry that points out of the file must name the authoritative target. Prefer direct paths such as docs/reference/hwlab.md or skill names such as $unidesk-cicd.
Avoid duplicated full rules between AGENTS.md, skills and long-term reference docs. AGENTS.md may summarize; the reference owns the detail. If two references conflict, update the narrower domain reference and keep only one authoritative version.
Secrets And Output Hygiene
Instruction files must not contain secrets, full API keys, full DSNs, base64 payloads, bearer tokens, SSH private keys or copy-pastable credentials.
Do not paste large CLI output, OTel trace dumps, JSON arrays or browser transcripts into AGENTS.md. If a large output demonstrates a durable rule, summarize the rule and link to the issue or reference that owns the conclusion.
Current UniDesk Routing Map
The current top-level routing map is:
- CLI behavior and output:
docs/reference/cli.md. - YAML-first configuration:
docs/reference/yaml-first-ops.mdand$unidesk-ymalops. - Platform infrastructure:
docs/reference/platform-infra.mdand$unidesk-sub2apiwhen Sub2API is involved. - Distributed field repair:
$dad-devplusdocs/reference/devops-hygiene.md. - CI/CD and rollout:
$unidesk-cicdplusdocs/reference/cli.md. - GitHub issue and PR writes:
$unidesk-gh. - Trans/remote patch transport:
$unidesk-transplusdocs/reference/cli.md. - Web UI, Workbench and web-probe:
$unidesk-webdev. - OpenTelemetry and Tempo:
$unidesk-otelplusdocs/reference/observability.md. - HWLAB node/lane operation:
docs/reference/hwlab.md. - AgentRun:
docs/reference/agentrun.md. - Master/D601 development environment:
docs/reference/dev-environment.md. - Secretary work:
docs/reference/secretary-reference.md.