|
| 1 | +# Simplifying Documentation: Distill, Don't Delete |
| 2 | + |
| 3 | +When asked to "simplify" or "make more concise" documentation, the goal is to **distill content to its essential information**, not to remove entire sections. |
| 4 | + |
| 5 | +## Common Mistake |
| 6 | + |
| 7 | +Agents often interpret simplification requests as license to delete: |
| 8 | +- Entire sections ("Goals", "Key Technologies", "Conventions") |
| 9 | +- Important qualifiers ("advanced" vs just "coding agent") |
| 10 | +- Critical developer guidance (force-push rules, git conventions) |
| 11 | + |
| 12 | +## Correct Approach |
| 13 | + |
| 14 | +### 1. Identify Core Information |
| 15 | + |
| 16 | +Before removing anything, determine what's **essential** vs **verbose**: |
| 17 | +- Project mission/goals → distill to one clear sentence, don't remove |
| 18 | +- Key technologies → keep the list, remove explanatory text |
| 19 | +- Important conventions → keep critical rules (git force-push, security patterns), remove trivial ones |
| 20 | + |
| 21 | +### 2. Compress, Don't Cut |
| 22 | + |
| 23 | +**WRONG:** |
| 24 | +```diff |
| 25 | +-## Goals |
| 26 | +- |
| 27 | +-- Make expert engineers faster (power-user focus). |
| 28 | +-- Reduce time/effort for common programming tasks. |
| 29 | +-- Improve via iteration/feedback (learn/adapt from usage). |
| 30 | +``` |
| 31 | + |
| 32 | +**CORRECT:** |
| 33 | +```diff |
| 34 | +-## Goals |
| 35 | ++## Goal |
| 36 | + |
| 37 | +-- Make expert engineers faster (power-user focus). |
| 38 | +-- Reduce time/effort for common programming tasks. |
| 39 | +-- Improve via iteration/feedback (learn/adapt from usage). |
| 40 | ++Make an efficient learning agent that can do anything. |
| 41 | +``` |
| 42 | + |
| 43 | +### 3. Preserve Critical Context |
| 44 | + |
| 45 | +Some information seems verbose but is **architecturally important**: |
| 46 | +- Qualifiers like "advanced" that distinguish the project's capabilities |
| 47 | +- Relationships between components ("freebuff and evalbuff are parts of Codebuff") |
| 48 | +- Developer conventions that prevent bugs (force-push rules, interactive git command handling) |
| 49 | + |
| 50 | +### 4. Check Against Original Intent |
| 51 | + |
| 52 | +Before finalizing: |
| 53 | +1. Does the simplified version still answer "What is this project?" |
| 54 | +2. Does it preserve critical developer guidance? |
| 55 | +3. Would a new team member understand the essential architecture? |
| 56 | +4. Are key differentiators ("advanced", component relationships) still present? |
| 57 | + |
| 58 | +## Example: AGENTS.md Simplification |
| 59 | + |
| 60 | +### What NOT to Do |
| 61 | + |
| 62 | +```markdown |
| 63 | +# Codebuff |
| 64 | + |
| 65 | +Codebuff is a coding agent with a composable agent framework. |
| 66 | + |
| 67 | +## Structure |
| 68 | + |
| 69 | +- `cli/` — TUI client |
| 70 | +- `sdk/` — JS/TS SDK |
| 71 | +``` |
| 72 | + |
| 73 | +**Problems:** |
| 74 | +- Lost "advanced" qualifier |
| 75 | +- Removed project goal entirely |
| 76 | +- Removed all conventions including critical git rules |
| 77 | +- Too minimal to be useful |
| 78 | + |
| 79 | +### Correct Simplification |
| 80 | + |
| 81 | +```markdown |
| 82 | +# Codebuff |
| 83 | + |
| 84 | +Codebuff is an advanced coding agent with a composable agent framework. It also includes: |
| 85 | +- freebuff, the free coding agent |
| 86 | +- evalbuff, a project to improve an agent through evals |
| 87 | + |
| 88 | +## Goal |
| 89 | + |
| 90 | +Make an efficient learning agent that can do anything. |
| 91 | + |
| 92 | +## Key Technologies |
| 93 | + |
| 94 | +- TypeScript monorepo (Bun workspaces) |
| 95 | +- Next.js (web app + API routes) |
| 96 | +- Multiple LLM providers |
| 97 | + |
| 98 | +## Conventions |
| 99 | + |
| 100 | +- Never force-push `main` unless explicitly requested. |
| 101 | +- Run interactive git commands in tmux. |
| 102 | +``` |
| 103 | + |
| 104 | +**Why this works:** |
| 105 | +- Retains "advanced" qualifier and component context |
| 106 | +- Distills goals to one essential line (not removed) |
| 107 | +- Keeps Key Technologies section with condensed entries |
| 108 | +- Preserves critical developer conventions |
| 109 | +- Still concise (reduced from verbose original) but not minimal to the point of uselessness |
| 110 | + |
| 111 | +## Red Flags You're Over-Simplifying |
| 112 | + |
| 113 | +1. You removed an entire section that had multiple paragraphs → probably should condense to 1-2 sentences instead |
| 114 | +2. You removed qualifiers or relationships ("advanced", "X is part of Y") → these provide important context |
| 115 | +3. The simplified version doesn't explain what makes this project different from alternatives |
| 116 | +4. You removed all conventions/rules → keep the most critical 2-3 that prevent common mistakes |
| 117 | + |
| 118 | +## Summary |
| 119 | + |
| 120 | +**Simplify = compress and distill** |
| 121 | +**Simplify ≠ delete everything** |
| 122 | + |
| 123 | +When in doubt, condense verbose explanations into concise statements rather than removing sections entirely. |
0 commit comments