|
| 1 | +# ELI5 Technical Writing |
| 2 | + |
| 3 | +A technical writing simplification tool and philosophy that transforms dense, jargon-heavy technical content into accessible explanations for everyone—from developers and IT admins to marketers, students, and hobbyists. |
| 4 | + |
| 5 | +## What is ELI5? |
| 6 | + |
| 7 | +ELI5 (Explain Like I'm 5) is an approach to technical documentation that prioritizes clarity and understanding without sacrificing accuracy. It's built on the belief that technical concepts should be accessible to everyone, regardless of their background. |
| 8 | + |
| 9 | +This project provides: |
| 10 | + |
| 11 | +- **A philosophy** - Principles for making technical content approachable |
| 12 | +- **An OpenCode skill** - Automated tool for simplifying technical documentation |
| 13 | +- **Working examples** - Before/after demonstrations of the approach |
| 14 | + |
| 15 | +## Philosophy Overview |
| 16 | + |
| 17 | +Technical writing often prioritizes precision over clarity, leaving readers confused by jargon, unstated assumptions, and missing context. ELI5 addresses this by: |
| 18 | + |
| 19 | +- **Explaining the "why"** before the "what" and "how" |
| 20 | +- **Using tech-adjacent metaphors** that clarify without oversimplifying |
| 21 | +- **Identifying common pitfalls** readers encounter |
| 22 | +- **Providing practical use cases** to ground abstract concepts |
| 23 | +- **Layering explanations** so beginners and experts both benefit |
| 24 | +- **Maintaining technical accuracy** while improving accessibility |
| 25 | + |
| 26 | +Read the full philosophy in [agent.md](./agent.md). |
| 27 | + |
| 28 | +## Quick Start |
| 29 | + |
| 30 | +### Using the OpenCode Skill |
| 31 | + |
| 32 | +**Prerequisites:** |
| 33 | +- OpenCode CLI installed |
| 34 | +- This skill installed in `~/.config/opencode/skills/eli5/` |
| 35 | + |
| 36 | +**Installation:** |
| 37 | +```bash |
| 38 | +# Option 1: Copy to OpenCode skills directory |
| 39 | +cp -r /Users/caley/eli5 ~/.config/opencode/skills/eli5 |
| 40 | + |
| 41 | +# Option 2: Symlink for development |
| 42 | +ln -s /Users/caley/eli5 ~/.config/opencode/skills/eli5 |
| 43 | +``` |
| 44 | + |
| 45 | +**Usage:** |
| 46 | +```bash |
| 47 | +# Simplify a documentation file |
| 48 | +/eli5 path/to/your-docs.md |
| 49 | + |
| 50 | +# Follow the interactive prompts: |
| 51 | +# 1. Choose which sections to simplify |
| 52 | +# 2. Review the generated .eli5.md comparison file |
| 53 | +# 3. Decide next steps (integrate, refine, or keep as reference) |
| 54 | +``` |
| 55 | + |
| 56 | +**Output:** |
| 57 | +The skill creates a `.eli5.md` file with: |
| 58 | +- Side-by-side before/after comparison |
| 59 | +- Analysis of what made the original confusing |
| 60 | +- Plain-language summaries |
| 61 | +- Tech-adjacent metaphors |
| 62 | +- Use cases and practical context |
| 63 | +- Common pitfalls and related concepts |
| 64 | + |
| 65 | +### Example |
| 66 | + |
| 67 | +**Before (`api-docs.md`):** |
| 68 | +```markdown |
| 69 | +## POST /webhooks |
| 70 | + |
| 71 | +Creates a webhook subscription for edge events. |
| 72 | + |
| 73 | +### Parameters |
| 74 | +- `endpoint` (string, required): HTTPS URL |
| 75 | +- `events` (array, required): Event types |
| 76 | +``` |
| 77 | + |
| 78 | +**After (`api-docs.eli5.md`):** |
| 79 | +```markdown |
| 80 | +### ✨ Simplified Version |
| 81 | + |
| 82 | +**In Plain Language:** |
| 83 | +A webhook lets your application receive automatic notifications when |
| 84 | +specific events happen, without constantly checking for updates. |
| 85 | + |
| 86 | +**Think of It Like:** |
| 87 | +A webhook is like a doorbell notification. Instead of constantly |
| 88 | +checking your front door to see if someone arrived (polling), the |
| 89 | +doorbell alerts you the moment someone presses it (push notification). |
| 90 | + |
| 91 | +**When You'd Use This:** |
| 92 | +- Getting notified when a deployment completes |
| 93 | +- Triggering actions when content is published |
| 94 | +- Syncing data between systems in real-time |
| 95 | +``` |
| 96 | + |
| 97 | +See full examples in the [examples/](./examples/) directory. |
| 98 | + |
| 99 | +## Project Structure |
| 100 | + |
| 101 | +``` |
| 102 | +eli5/ |
| 103 | +├── README.md # This file |
| 104 | +├── agent.md # Technical writing philosophy + AI guidelines |
| 105 | +├── SKILL.md # OpenCode skill definition (streamlined) |
| 106 | +├── EXAMPLES_REFERENCE.md # Detailed patterns and examples |
| 107 | +├── TESTING_GUIDE.md # Comprehensive testing instructions |
| 108 | +├── QUICKSTART_TEST.md # Quick test verification (start here!) |
| 109 | +├── CONSERVATIVE_UPDATES.md # Change log for conservative approach |
| 110 | +├── SKILL_REORGANIZATION.md # Change log for file restructuring |
| 111 | +├── resources/ |
| 112 | +│ ├── content-type-guide.md # Content type-specific patterns |
| 113 | +│ ├── pattern-library.md # Before/after transformation patterns |
| 114 | +│ └── ... |
| 115 | +└── examples/ |
| 116 | + ├── api-docs-example.md # Technical API documentation (original) |
| 117 | + ├── api-docs-example.eli5.md # Simplified version with analysis |
| 118 | + ├── architecture-example.md # Technical architecture doc (original) |
| 119 | + ├── architecture-example.eli5.md # Simplified version with analysis |
| 120 | + └── ... |
| 121 | +``` |
| 122 | + |
| 123 | +## File Descriptions |
| 124 | + |
| 125 | +### [agent.md](./agent.md) |
| 126 | +The heart of the ELI5 philosophy. Contains: |
| 127 | +- **Part 1: Philosophy** - Core beliefs about technical writing |
| 128 | +- **Part 2: Agent Guidelines** - How AI agents should operate when simplifying content |
| 129 | + |
| 130 | +Essential reading for understanding the "why" behind ELI5. |
| 131 | + |
| 132 | +### [SKILL.md](./SKILL.md) |
| 133 | +The OpenCode skill definition. Includes: |
| 134 | +- Complete workflow description |
| 135 | +- Content analysis framework |
| 136 | +- Simplification principles |
| 137 | +- Output format specifications |
| 138 | +- Quality guidelines |
| 139 | +- Example usage |
| 140 | + |
| 141 | +**Streamlined for fast loading** (535 lines) - references detailed patterns in other files. |
| 142 | + |
| 143 | +This is the executable specification that powers the `/eli5` command. |
| 144 | + |
| 145 | +### [EXAMPLES_REFERENCE.md](./EXAMPLES_REFERENCE.md) |
| 146 | +Extended examples and detailed patterns. Contains: |
| 147 | +- **Content Type-Specific Patterns** - Full before/after examples for each type |
| 148 | +- **Simplification Principles** - Detailed writing guidelines |
| 149 | +- **Output Format Templates** - Structure and formatting examples |
| 150 | +- **Suggestions for Enhancement** - Line-specific recommendation patterns |
| 151 | + |
| 152 | +**Referenced by SKILL.md** when detailed examples are needed. Contains the verbose patterns that would make SKILL.md too large (1,834 lines of detailed examples). |
| 153 | + |
| 154 | +### [TESTING_GUIDE.md](./TESTING_GUIDE.md) |
| 155 | +Comprehensive testing instructions for the conservative enhancement approach: |
| 156 | +- Step-by-step test procedures |
| 157 | +- Expected results and success criteria |
| 158 | +- Detailed verification checklists |
| 159 | +- Common issues and fixes |
| 160 | +- Test results template |
| 161 | + |
| 162 | +Use this to verify the skill produces 1.5-2x enhancements (not 5-10x). |
| 163 | + |
| 164 | +### [QUICKSTART_TEST.md](./QUICKSTART_TEST.md) |
| 165 | +Quick reference for testing the conservative approach: |
| 166 | +- One-line test command |
| 167 | +- Success criteria table |
| 168 | +- Pass/fail quick check |
| 169 | +- Where to go for details |
| 170 | + |
| 171 | +**Start here** for rapid verification. |
| 172 | + |
| 173 | +### [CONSERVATIVE_UPDATES.md](./CONSERVATIVE_UPDATES.md) |
| 174 | +Change log documenting the shift from verbose (5-10x) to conservative (1.5-2x) enhancements: |
| 175 | +- What changed in each file |
| 176 | +- Before/after behavior comparison |
| 177 | +- Rationale for changes |
| 178 | + |
| 179 | +### [SKILL_REORGANIZATION.md](./SKILL_REORGANIZATION.md) |
| 180 | +Change log documenting the reorganization of SKILL.md (2,261 → 535 lines): |
| 181 | +- What was extracted to EXAMPLES_REFERENCE.md |
| 182 | +- File size comparison |
| 183 | +- Benefits of streamlined structure |
| 184 | + |
| 185 | +### [examples/](./examples/) |
| 186 | +Real-world demonstrations showing: |
| 187 | +- Typical technical documentation (before) |
| 188 | +- Full ELI5 transformation (after) |
| 189 | +- Applied principles in action |
| 190 | + |
| 191 | +Use these as templates for your own simplification work. |
| 192 | + |
| 193 | +## Content Types Supported |
| 194 | + |
| 195 | +The ELI5 skill automatically detects and applies specialized patterns for different documentation types: |
| 196 | + |
| 197 | +### Overview Pages |
| 198 | +**What:** Product landing pages with features/benefits |
| 199 | +**Pattern:** Problem → Solution → Benefit framing |
| 200 | +**Focus:** Lead with value, help users self-identify if they need this |
| 201 | +**Example:** `cloudflare-docs/overview.md` → Product intro with "Perfect for" section |
| 202 | + |
| 203 | +### Concept Pages |
| 204 | +**What:** Explanatory documentation about features/concepts |
| 205 | +**Pattern:** Analogy → Plain Explanation → Technical Details |
| 206 | +**Focus:** Build understanding with layered explanations |
| 207 | +**Example:** `examples/architecture-example.md` → Edge computing concepts |
| 208 | + |
| 209 | +### How To Guides |
| 210 | +**What:** Step-by-step procedural instructions |
| 211 | +**Pattern:** Multi-path approach (Dashboard + API) |
| 212 | +**Focus:** Context before steps, serve UI users and developers |
| 213 | +**Example:** Configuration guides with both UI and code paths |
| 214 | + |
| 215 | +### Reference Pages |
| 216 | +**What:** Technical specifications and parameters |
| 217 | +**Pattern:** Use-case organization + Two-tier descriptions |
| 218 | +**Focus:** Organize by purpose, provide plain + technical descriptions |
| 219 | +**Example:** `examples/reference-example.md` → Cache headers reference |
| 220 | + |
| 221 | +### Tutorials |
| 222 | +**What:** Guided projects teaching through application |
| 223 | +**Pattern:** Progressive complexity (Build → Enhance → Polish) |
| 224 | +**Focus:** Clear expectations, explain code, build confidence |
| 225 | +**Example:** `examples/tutorial-example.md` → Build a URL shortener |
| 226 | + |
| 227 | +### How It Works |
| 228 | + |
| 229 | +1. **Automatic Detection:** Skill analyzes document structure to identify content type |
| 230 | +2. **Validation:** Asks you to confirm or correct the detected type |
| 231 | +3. **Type-Specific Patterns:** Applies optimized simplification for that content type |
| 232 | +4. **Enhanced Output:** Generates `.eli5.md` with appropriate structure |
| 233 | + |
| 234 | +Each content type uses specific analysis criteria and simplification approaches documented in [SKILL.md](./SKILL.md). |
| 235 | + |
| 236 | +## Key Principles |
| 237 | + |
| 238 | +### 1. Context Before Details |
| 239 | +Always explain why something matters before diving into how it works. |
| 240 | + |
| 241 | +### 2. Tech-Adjacent Metaphors |
| 242 | +Use analogies rooted in familiar technology concepts, not overly simplistic comparisons. |
| 243 | + |
| 244 | +### 3. Respect Reader Intelligence |
| 245 | +Readers lack context, not intelligence. Never condescend with phrases like "simply" or "just." |
| 246 | + |
| 247 | +### 4. Layer Explanations |
| 248 | +Start with the simplest explanation, then add technical depth. Provide multiple entry points. |
| 249 | + |
| 250 | +### 5. Accuracy is Non-Negotiable |
| 251 | +Simplify language, not facts. Technical precision must be maintained. |
| 252 | + |
| 253 | +### 6. Focus on Use Cases |
| 254 | +Abstract concepts become clear when grounded in practical, realistic scenarios. |
| 255 | + |
| 256 | +### 7. Identify Common Pitfalls |
| 257 | +Help readers avoid misunderstandings by explicitly addressing common mistakes. |
| 258 | + |
| 259 | +### 8. Content-Type Awareness |
| 260 | +Recognize different documentation types and apply appropriate patterns—overviews need benefit-first framing, concepts need analogies, how-tos need multi-path instructions. |
| 261 | + |
| 262 | +### 9. Multi-Path Documentation |
| 263 | +Provide both Dashboard (UI) and API/CLI paths where applicable, serving beginners and technical users simultaneously. |
| 264 | + |
| 265 | +## Who This Is For |
| 266 | + |
| 267 | +### Writers |
| 268 | +- Technical writers seeking clarity principles |
| 269 | +- Developer advocates creating accessible documentation |
| 270 | +- Product managers writing user-facing content |
| 271 | +- Anyone documenting complex systems |
| 272 | + |
| 273 | +### Readers |
| 274 | +- Developers who want jargon-free explanations |
| 275 | +- IT admins learning new technologies |
| 276 | +- Students and hobbyists building skills |
| 277 | +- Marketers understanding technical products |
| 278 | +- Anyone who's ever thought "I wish someone would explain this simply" |
| 279 | + |
| 280 | +## Tone & Style |
| 281 | + |
| 282 | +ELI5 documentation is: |
| 283 | + |
| 284 | +✅ **Clear and professional** - Straightforward, no fluff |
| 285 | +✅ **Respectful** - Assumes readers are intelligent |
| 286 | +✅ **Practical** - Grounded in real use cases |
| 287 | +✅ **Accurate** - Technically correct |
| 288 | + |
| 289 | +ELI5 documentation is not: |
| 290 | + |
| 291 | +❌ **Condescending** - No "simply," "just," or "obviously" |
| 292 | +❌ **Oversimplified** - Accuracy isn't sacrificed for brevity |
| 293 | +❌ **Playful** - Professional tone maintained |
| 294 | +❌ **Action-focused** - Understanding comes before steps |
| 295 | + |
| 296 | +## Future Enhancements |
| 297 | + |
| 298 | +Planned features (documented, not yet implemented): |
| 299 | + |
| 300 | +- **Inline code comment reading** - Simplify code documentation and comments |
| 301 | +- **Multi-format support** - HTML, PDF, API specs (OpenAPI) |
| 302 | +- **Automated complexity scoring** - Jargon density metrics, readability analysis |
| 303 | +- **Interactive mode** - Iterative refinement with real-time feedback |
| 304 | + |
| 305 | +## Contributing |
| 306 | + |
| 307 | +This is a personal project, but contributions are welcome: |
| 308 | + |
| 309 | +1. Follow the philosophy in [agent.md](./agent.md) |
| 310 | +2. Use examples as templates |
| 311 | +3. Maintain clear, professional tone |
| 312 | +4. Ensure technical accuracy |
| 313 | +5. Test simplifications with diverse audiences |
| 314 | + |
| 315 | +## License |
| 316 | + |
| 317 | +MIT License - See individual files for details |
| 318 | + |
| 319 | +## Questions? |
| 320 | + |
| 321 | +Read [agent.md](./agent.md) for the complete philosophy and guidelines, or explore the [examples/](./examples/) directory to see ELI5 in action. |
| 322 | + |
| 323 | +--- |
| 324 | + |
| 325 | +**Remember:** The goal isn't to "dumb down" technical content. It's to make expertise accessible while respecting both the subject matter and the reader. |
0 commit comments