Agent skill
tech-blog
Write code-driven technical blog posts with data-flow narrative, rich Mermaid visuals, and citation-backed claims. Covers source code deep dives, architecture analysis, and doc-driven comparisons.
Install this agent skill to your Project
npx add-skill https://github.com/acking-you/myclaude-skills/tree/main/skills/tech-blog
SKILL.md
Technical Blog Writing Skill
When to Use
- Source code analysis / architecture deep dive
- Implementation walkthrough with
file:linecitations - Technology comparison or design trade-off post
- Doc-driven research post (no source code in scope)
Document Skeleton
# [Topic] Deep Dive
Brief intro + why it matters.
> **Code Version**: Based on [project] `vX.Y.Z` (commit `abc1234`).
## 1. Introduction (problem + scope + navigation table)
## 2-N. Core Content (by data flow, not code structure)
## N+1. Design Decisions & Trade-offs
## N+2. Code Index (file, lines, responsibility)
## References
- §1 = problem + scope + navigation only — no implementation
- Each core section follows: concept → diagram → code → insight
- Navigation hints:
> ⏭️ First-time readers: skip to §X.
Core Principles
- Problem-first, progressive — start with the problem; build concepts layer by layer; explain "why"
- Concept-before-use — never use undefined terms; add §X.Y.1 concept sections; cross-ref with
⏭️ - Big picture first — unified visual overview before details; comparison diagram/table for 2+ approaches
- Balanced comparison — analyze both sides; comparison tables; identify real differences vs. equivalences
- Design decisions — state the problem, alternatives, and trade-offs for every non-obvious choice
- Concrete examples — 1-2 per major section; show input → process → output with real data
- Terminology accuracy — verify via source code or official docs; define on first use
Research Strategy
| Source | When | Examples |
|---|---|---|
| Source code | Project-specific logic, defaults, file paths | Config params, implementation variants |
| Knowledge | Standard protocols, well-known algorithms | ES DSL, HTTP, B+ tree |
| Doc-driven | No source code; external systems | Official docs → vendor blogs → community |
Doc-driven rules: extract claim list → cite at claim location → reference-style links [Label]: URL → separate fact vs. inference → never fabricate numbers.
Writing Guidelines
Code Examples
- Every snippet needs
file_path:line_number - Explain what it does, not just show it
- Replace large blocks with diagram + key snippet
Mermaid Styling Standard
All diagrams must use rich color styling. Monotone = rejected.
Color Palette
| Role | Fill | Stroke | Text |
|---|---|---|---|
| Primary Actor | #6C5CE7 |
#5A4BD1 |
#fff |
| Core Component | #0984E3 |
#0770C2 |
#fff |
| Service / Hub | #00B894 |
#009D7E |
#fff |
| Helper / Auxiliary | #FDCB6E |
#E0B050 |
#2D3436 |
| External / Remote | #E17055 |
#C0392B |
#fff |
| Data Store | #636E72 |
#2D3436 |
#fff |
| Output / Sink | #55EFC4 |
#00B894 |
#2D3436 |
| Light Accent | #74B9FF |
#0984E3 |
#2D3436 |
graph / flowchart — every node styled; subgraphs: named ID + emoji label + colored bg
graph TB
subgraph local["🖥️ Local"]
A["Component A"]
B["Component B"]
end
subgraph remote["📱 Remote"]
C["Client"]
end
A --> B --> C
style A fill:#0984E3,stroke:#0770C2,color:#fff,stroke-width:2px
style B fill:#00B894,stroke:#009D7E,color:#fff,stroke-width:2px
style C fill:#E17055,stroke:#C0392B,color:#fff,stroke-width:2px
style local fill:#DFE6E9,stroke:#636E72,stroke-width:2px,color:#2D3436
style remote fill:#FAD7D4,stroke:#E17055,stroke-width:2px,color:#2D3436
sequenceDiagram — box rgb() per layer + emoji participants
sequenceDiagram
box rgb(232,245,253) CLI Side
participant CLI as 🔧 CLI
end
box rgb(220,247,235) Hub Side
participant Hub as 🌐 Hub
end
CLI->>Hub: request
Hub-->>CLI: response
Box colors: CLI rgb(232,245,253) · Hub rgb(220,247,235) · Web rgb(255,235,238) · Agent rgb(237,231,246) · User rgb(255,243,224)
stateDiagram-v2 — classDef per category + class binding
stateDiagram-v2
[*] --> Active
Active --> Idle : timeout
classDef activeStyle fill:#0984E3,color:#fff,stroke:#0770C2,stroke-width:2px
classDef idleStyle fill:#6C5CE7,color:#fff,stroke:#5A4BD1,stroke-width:2px
class Active activeStyle
class Idle idleStyle
Rules: step numbers for complex flows (A -->|1. Do X| B) · emoji in labels · no unstyled diagrams
Callouts
- 💡 Key Point — critical insight
- ⚠️ Gotcha — common mistake or subtle trap
- 🤔 Think About — design reasoning or open question
- ⏭️ Navigation — cross-reference to another section
Quality Gates
- No fabricated data — qualitative OK ("fast compression"); quantitative needs citation
- DRY concepts — same concept in 3+ places → one authoritative section, others reference it
- Hybrid systems — verify which component does what; trace actual data flow; don't assume
Common Pitfalls
| Pitfall | Fix |
|---|---|
| Abrupt transitions | Connection sentences between sections |
| One-sided comparison | Comparison table, analyze both sides |
| Code without context | Explain role in the system |
| Too much source code | Diagram + key snippet |
| Undefined concepts | Concept section before use |
| Missing big picture | Unified visual overview first |
| Fabricated data | Qualitative language or cite source |
| Missing commit id | Always specify for external repos |
| Monotone diagrams | Full Mermaid styling standard |
Large Documents (>500 lines)
Draft-first: [topic]-DRAFT.md → build → review → merge → delete draft.
Checklist
- Sections flow with transitions; summary-detail pattern
- Concepts introduced before use;
⏭️navigation hints - Code examples have
file:line; 1-2 concrete examples per section - No fabricated numbers; terminology verified against source
- Code version / commit id specified
- All Mermaid diagrams fully styled (palette + emoji + backgrounds)
- Comparison tables for similar concepts
Output
- Location:
docs/,ai_docs/, or project folder - Filename:
[topic-name].md - Language: match user preference
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
github-wrapped
Generate a verifiable GitHub Wrapped year-in-review as a single-file HTML (raw gh API JSON saved, Python-built dataset embedded), with a Bilibili-style narrative, smooth transitions, and mobile-friendly paged mode. Requires gh CLI to be authenticated.
codex-session-history
Search Codex local session history stored in SQLite and session_index.jsonl. Use this skill when the user wants to list, search, filter, or inspect locally saved Codex sessions by session id, provider, time range, preview text, thread name, or archived status.
tech-impl-doc
Write precise technical implementation docs (developer or user) with clear structure, accurate flows, render-safe Mermaid diagrams, and audience-appropriate detail; avoid boilerplate; include a meaningful Code Index for developer docs.
gemini-image
Generate images using AI when user wants to create pictures, draw, paint, or generate artwork. Supports text-to-image and image-to-image generation.
excalidraw
Generate hand-drawn style diagrams (architecture, flowcharts, system design) as .excalidraw.json files. Use when user wants diagrams, mentions Excalidraw, or needs Mermaid-to-visual conversion.
research
Structured web research with multi-source validation. Output reports with complete citation links. Focus on key results, verify information quality.
Didn't find tool you were looking for?