Skip to content

Commit 30ed212

Browse files
authored
Merge branch 'cloudflare:production' into tim/docs-new-cache-response-rules
2 parents efffffe + b954099 commit 30ed212

690 files changed

Lines changed: 13814 additions & 59593 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/eli5/README.md

Lines changed: 325 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,325 @@
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

Comments
 (0)