Technical documentation writer specializing in creating clear, well-structured markdown documents for algorithms, system design, interview preparation, and code documentation...
Use this Skill when:
Every document should have:
Standard Template:
# Title
Brief description of what this document covers.
## Table of Contents
- [Section 1](#section-1)
- [Section 2](#section-2)
## Section 1
Content...
## Section 2
Content...
## References
- [Link 1](url)
Use this structure for algorithm problems:
# Problem Number: Problem Title
**Difficulty**: Easy/Medium/Hard
**Topics**: Array, Two Pointers, Hash Table
**Companies**: Google, Amazon, Meta
## Problem Statement
[Clear description of the problem]
**Example 1:**
Input: [example input] Output: [example output] Explanation: [why this is the output]
**Constraints:**
- [List constraints]
## Approach
### Intuition
[Explain the key insight in simple terms]
### Algorithm
1. [Step 1]
2. [Step 2]
3. [Step 3]
### Complexity Analysis
- **Time Complexity**: O(n) - [Explain why]
- **Space Complexity**: O(1) - [Explain why]
## Solution
### Java
```java
class Solution {
public ReturnType method(InputType param) {
// Implementation
}
}
class Solution:
def method(self, param: InputType) -> ReturnType:
# Implementation
[Description]
Complexity: O(?) time, O(?) space
| Approach | Time | Space | Notes |
|---|---|---|---|
| Approach 1 | O(n) | O(1) | Optimal |
| Approach 2 | O(n²) | O(1) | Simpler code |
### 3. System Design Documentation Format
**Follow the template structure:**
```markdown
# System Name: Brief Description
## 1. Requirements
### Functional Requirements
- Feature 1: [Description]
- Feature 2: [Description]
### Non-Functional Requirements
- **Scale**: X million DAU, Y QPS
- **Performance**: p99 latency < Z ms
- **Availability**: 99.9% uptime
## 2. Capacity Estimation
### Traffic
- Daily Active Users: 100M
- Requests per user: 10/day
- QPS: 100M * 10 / 86400 ā 11,574
### Storage
- Per user data: 1KB
- Total: 100M * 1KB = 100GB
### Bandwidth
- Average request size: 10KB
- Bandwidth: 11,574 QPS * 10KB ā 115MB/s
## 3. API Design
POST /api/resource GET /api/resource/{id} PUT /api/resource/{id} DELETE /api/resource/{id}
## 4. High-Level Architecture
[Client] ā [Load Balancer] ā [App Servers] ā [Cache] [DB]
## 5. Database Design
### Schema
```sql
CREATE TABLE users (
id BIGSERIAL PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);
username for fast lookupcreated_at for sortingResponsibility: [What it does]
Technology: [Specific tech choice]
Scaling: [How to scale]
| Decision | Chosen | Alternative | Rationale |
|---|---|---|---|
| Database | PostgreSQL | MongoDB | Need ACID |
### 4. Code Formatting
**Inline code**: Use `backticks` for variable names, commands, short code
**Code blocks**: Use fenced code blocks with language
```markdown
```java
public class Example {
// Code here
}
**Supported languages:**
- `java`, `python`, `javascript`, `sql`, `bash`
- `json`, `yaml`, `xml`, `markdown`
- `c`, `cpp`, `scala`, `go`
### 5. Visual Elements
**Tables:**
```markdown
| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
| Data 1 | Data 2 | Data 3 |
Lists:
Unordered:
- Item 1
- Nested item
- Item 2
Ordered:
1. First step
2. Second step
3. Third step
Emphasis:
*italic* or _italic_
**bold** or __bold__
***bold italic***
`code`
~~strikethrough~~
Links:
[Link text](URL)
[Link with title](URL "Title")
[Reference link][ref]
[ref]: URL "Title"
Images:


Standard format:
## Complexity Analysis
### Time Complexity: O(n log n)
- Sorting takes O(n log n)
- Single pass takes O(n)
- Overall: O(n log n)
### Space Complexity: O(n)
- Hash map stores n elements: O(n)
- Result array: O(n)
- Overall: O(n)
### Optimization Notes
- Can reduce space to O(1) by modifying input in-place
- Trade-off: Destroys original input
Complexity cheat sheet to reference:
| Notation | Name | Example |
|----------|------|---------|
| O(1) | Constant | Array access |
| O(log n) | Logarithmic | Binary search |
| O(n) | Linear | Array scan |
| O(n log n) | Linearithmic | Merge sort |
| O(n²) | Quadratic | Nested loops |
| O(2āæ) | Exponential | Recursive Fibonacci |
| O(n!) | Factorial | Permutations |
Be Clear:
Be Concise:
Be Consistent:
Examples:
ā Bad:
The algorithm basically works by iterating through the array and
then it checks if the element is what we're looking for.
ā Good:
The algorithm iterates through the array to find the target element.
Pattern template:
# Pattern Name
## When to Use
- [Characteristic 1]
- [Characteristic 2]
## Template Code
```python
def pattern_template(arr):
# Step 1: Setup
# Step 2: Main logic
# Step 3: Return result
### 9. Cheat Sheet Format
**Keep it scannable:**
```markdown
# Topic Cheat Sheet
## Quick Reference
| Operation | Syntax | Complexity |
|-----------|--------|------------|
| Access | arr[i] | O(1) |
| Search | arr.indexOf(x) | O(n) |
## Common Patterns
### Pattern 1
```code
// Code snippet
Use when: [Description]
// Code snippet
Use when: [Description]
### 10. Document Maintenance
**Version control:**
- Use git to track changes
- Write meaningful commit messages
- Keep documents up to date with code
**Cross-references:**
- Link related documents
- Reference source code files
- Point to external resources
**Validation:**
- Check all links work
- Verify code examples compile
- Test complexity analysis accuracy
## Project-Specific Guidelines
**For CS_basics repository:**
1. **Algorithm problems**: Use detailed format with multiple languages
2. **System design**: Follow `00_template.md` structure
3. **Cheat sheets**: Keep in `doc/` directory
4. **Cross-language**: Maintain consistency across Java/Python implementations
5. **Interview prep**: Focus on pattern recognition and problem-solving approach
**File organization:**
doc/ āāā algorithm_patterns/ ā āāā two_pointers.md ā āāā sliding_window.md āāā data_structure/ ā āāā complexity_chart.md āāā system_design/ āāā case_studies/
## Quality Checklist
Before finalizing documentation:
- [ ] Clear title and description
- [ ] Proper heading hierarchy
- [ ] Code examples tested and working
- [ ] Complexity analysis included
- [ ] Consistent formatting
- [ ] No broken links
- [ ] Spell-checked
- [ ] Follows project conventions
- [ ] Related content linked
## Tools & References
**Markdown validation:**
- Check syntax with markdown linters
- Preview before committing
- Use consistent line breaks
**Useful symbols:**
- ā
Checkmark for correct approach
- ā X for incorrect approach
- ā ļø Warning for gotchas
- š” Bulb for tips
- š Note for important points