Daily Newsletter

Tool Showing 20 tips
#001 Claude Code
CLAUDE.md under 200 lines has a 92% rule-application rate; over 400 lines it drops to 71%
The model weights earlier content more heavily and loses fidelity on later rules. Put critical constraints at the top. A 200-line file is not a limitation β€” it's an optimization target.
"files under 200 lines achieve a rule application rate above 92%, compared to 71% beyond 400 lines. Claude Code reads the file sequentially and assigns more weight to the first lines."
β†— Source
#002 Claude Code
Modular rules in .claude/rules/*.md load only when files match their glob scope
A test-specific rule scoped to *.test.ts only loads when Claude works on matching files. Teams average 4–8 rule files. No bloat in the main CLAUDE.md, no wasted tokens.
"This file only loads when Claude Code is working on *.test.ts files. You thereby reduce noise in the system prompt and gain tokens for useful context."
β†— Source
#003 Claude Code
A ## Compact Instructions section controls what survives compaction
Without it, compaction summarizes content generically and critical rules vanish. Pair with /compact focus on [topic] for one-off targeted compaction.
"To control what's preserved during compaction, add a Compact Instructions section to CLAUDE.md or run /compact with a focus."
β†— Source
#004 Claude Code
Auto-MEMORY.md is silently capped at 200 lines β€” entries after that are never loaded
Everything below line 200 is invisible at session start. Prune and consolidate regularly or your oldest institutional knowledge disappears without warning.
"The first 200 lines of MEMORY.md are loaded at the start of each session."
β†— Source
#005 Claude Code
Auto memory lives in ~/.claude/projects/ β€” version CLAUDE.md, gitignore auto-memory
Auto-memory is machine-local and user-specific. Version CLAUDE.md and .claude/rules/ in git for team sharing. Add .claude/memory/ to .gitignore.
"Version your project CLAUDE.md and modular rules in Git to share context with the entire team. Add .claude/memory/ to your .gitignore to protect personal preferences."
β†— Source
#006 Codex
AGENTS.md discovery walks root→CWD — files closer to CWD appear later and win
Codex concatenates AGENTS.md files from the project root down. Files closer to your CWD appear later in the combined prompt and override earlier guidance.
"Merge order: Codex concatenates files from the root down. Files closer to your current directory override earlier guidance because they appear later in the combined prompt."
β†— Source
#007 Codex
AGENTS.override.md replaces the regular AGENTS.md at that directory level entirely
At each level, Codex checks for override files first. If found, it uses only the override and skips the regular AGENTS.md. Use override files for CI profiles that need to completely replace standard team instructions.
"In your Codex home directory, Codex reads AGENTS.override.md if it exists. Otherwise, Codex reads AGENTS.md. Codex uses only the first non-empty file at this level."
β†— Source
#008 Codex
AGENTS.md caps at 32 KiB (project_doc_max_bytes) β€” split across nested dirs to go deeper
Codex stops reading once combined size hits 32 KiB. The fix is not trimming β€” it's splitting instructions into subdirectory AGENTS.md files, each adding only what's relevant to that subtree.
"Codex skips empty files and stops adding files once the combined size reaches project_doc_max_bytes (32 KiB by default). Raise the limit or split instructions across nested directories when you hit the cap."
β†— Source
#009 Codex
Set CODEX_HOME=$(pwd)/.codex to fully isolate CI from personal config
Point Codex at a project-local home directory instead of ~/.codex. CI pipelines get their own isolated AGENTS.md, config.toml, and credentials β€” zero contamination from developer personal settings.
"Set the CODEX_HOME environment variable when you want a different profile, such as a project-specific automation user."
β†— Source
#010 Codex
Codex rebuilds the instruction chain on every run β€” no cache to clear, just restart
Instruction files are re-read at the start of every run. If stale instructions persist, restart Codex in the right directory. There is no manual cache invalidation step.
"Codex rebuilds the instruction chain on every run (and at the start of each TUI session), so there is no cache to clear manually."
β†— Source
#011 Codex
AGENTS.md Review Guidelines control exactly what Codex flags in GitHub PR reviews
When Codex auto-reviews PRs, it uses ## Review guidelines from the nearest AGENTS.md. By default only P0/P1 issues are flagged. Add custom guidelines to escalate or filter findings.
"In GitHub, Codex flags only P0 and P1 issues. If you want Codex to flag typos in documentation, add guidance in AGENTS.md (for example, 'Treat typos in docs as P1.')"
β†— Source
#012 Codex
PLANS.md + AGENTS.md enables fully self-contained multi-hour execution plans
Define an ExecPlan shorthand in AGENTS.md and store the plan schema in .agent/PLANS.md. Each plan must be so complete that a complete novice could implement it end-to-end using only the current working tree.
"Every ExecPlan must enable a complete novice to implement the feature end-to-end without prior knowledge of this repo."
β†— Source
#013 Both
Both tools use progressive disclosure β€” minimal context at startup, rest on demand
Claude Code loads full skill content only when invoked. Codex reads AGENTS.md at start and loads skills on use. Neither dumps all context upfront. Design instruction architecture with minimal required context in root files.
Claude Code: "Skills load on demand. Claude sees skill descriptions at session start, but the full content only loads when a skill is used." β€” Codex: "Codex loads the full SKILL.md instructions only when it decides to use a skill."
β†— Source
#014 Codex
Codex skill discovery scans .agents/skills/ from CWD up to repo root β€” symlinks followed
Shared skill libraries can live outside the repo and be symlinked in β€” no duplication across projects that share the same skill set.
"Codex reads skills from repository, user, admin, and system locations. Codex scans .agents/skills in every directory from your current working directory up to the repository root. Codex supports symlinked skill folders."
β†— Source
#015 Codex
Disable a skill without deleting it: [[skills.config]] enabled = false
Add this entry to ~/.codex/config.toml to disable a skill without removing it. Useful for environment-specific skill activation or temporarily disabling skills during debugging.
"Use [[skills.config]] entries in ~/.codex/config.toml to disable a skill without deleting it."
β†— Source
#016 Codex
Two Codex skills with the same name don't merge β€” both appear as separate options
If a repo skill and a user-level skill share the same name, Codex doesn't merge them. Both appear in the skill selector. Use distinct names per scope level.
"If two skills share the same name, Codex doesn't merge them; both can appear in skill selectors."
β†— Source
#017 Claude Code
user-invocable: false hides a skill from the slash menu β€” Claude can still auto-trigger it
The skill is invisible in the / command menu but Claude can still invoke it automatically when context matches. Use this for internal workflow knowledge that should never be manually called.
"user-invocable: Set false to hide from / menu (background knowledge only)"
β†— Source
#018 Claude Code
disable-model-invocation: true prevents automatic skill triggering entirely
The skill only runs on explicit call β€” never auto-triggered by Claude. Critical for skills with side effects (API calls, file writes) that should only run on deliberate user request.
"disable-model-invocation: Set true to prevent automatic invocation"
β†— Source
#019 Claude Code
Bundled skill content has no startup penalty β€” files cost context only when accessed
Referenced files in a skill don't consume context until Claude reads them. There is no practical limit on bundled documentation, schemas, or examples.
"No practical limit on bundled content: Because files don't consume context until accessed, Skills can include comprehensive API documentation, large datasets, extensive examples."
β†— Source
#020 Both
Version instruction files in git β€” auto-memory and personal config belong in gitignore
Claude Code: version CLAUDE.md + .claude/rules/; gitignore .claude/memory/. Codex: version AGENTS.md + .agents/skills/; keep personal ~/.codex/ local.
"Create persistent defaults in your Codex home directory so every repository inherits your working agreements."
β†— Source