plugins/technical-blogging/skills/tech-blogging-patterns/SKILL.md
# Tech Blogging Patterns ## The Developer Reading Pattern Developers do not read technical posts linearly. They scan in this order: 1. Headline (is this relevant to me?) 2. Code blocks (is this real code I can use?) 3. Headers (what does this cover?) 4. First paragraph (what's the point?) 5. Key takeaways / conclusion (is it worth reading fully?) Design for scanning first, reading second. Put real code within the first 25% of the post. ## The Before/After Pattern The contrast between a pain
npx skillsauth add hermeticormus/librecopy-claude-code plugins/technical-blogging/skills/tech-blogging-patternsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Developers do not read technical posts linearly. They scan in this order:
Design for scanning first, reading second. Put real code within the first 25% of the post.
The contrast between a painful approach and an elegant one creates the "aha" moment that makes posts shareable:
# Before: the painful way
async function fetchUser(id) {
try {
const res = await fetch(`/api/users/${id}`);
if (!res.ok) throw new Error(`HTTP error: ${res.status}`);
const data = await res.json();
return data;
} catch (err) {
console.error('Failed to fetch user:', err);
throw err;
}
}
# After: using a typed fetch wrapper
const user = await api.users.get(id); // throws typed errors, no boilerplate
Show the before state first -- readers need to recognize their own pain before the solution feels valuable.
Every claim of improvement needs a measurement:
# Bad: vague, untrustworthy
The new approach is significantly faster.
# Good: specific, trustworthy
The new approach reduces p99 response time from 380ms to 65ms
(measured over 24 hours of production traffic, 99th percentile).
The specificity elements:
Searchable headlines follow predictable patterns:
"How to [do specific thing] with [specific technology]"
→ "How to Build a Rate Limiter in Go with Redis"
"How We [achieved outcome]: [key insight or approach]"
→ "How We Cut Our Build Time by 70%: Moving from Webpack to esbuild"
"[Technology A] vs. [Technology B]: [specific angle]"
→ "Prisma vs. Drizzle: A Performance Comparison for High-Traffic APIs"
"[N] [specific things] about [topic]"
→ "5 PostgreSQL Features That Replace Complex Application Code"
"Why We [replaced/chose/abandoned] [technology]"
→ "Why We Moved from MongoDB to PostgreSQL (and What We Learned)"
What makes a headline work:
Every code block in a post must pass this checklist:
foo, bar, thing)typescript, bash, ```json)# Bad code example
const result = query(users, filters);
// returns filtered users
# Good code example
import { db } from './db';
const activeUsers = await db
.select({ id: users.id, name: users.name })
.from(users)
.where(eq(users.active, true))
.limit(10);
console.log(activeUsers);
// [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]
The most shared and bookmarked part of any technical post is the numbered takeaway list. Readers who did not read the whole post will read this. Make each one standalone:
# Bad takeaways: too vague
- Use caching
- Monitor your metrics
- Test in production
# Good takeaways: specific and actionable
1. Redis pipeline batching reduces round trips from N to 1 for N operations.
Use it any time you are executing multiple independent Redis commands.
2. p99 latency is a more honest metric than averages for user-facing performance.
A 300ms average can hide a 2000ms p99 that affects 1% of users.
3. Profile before optimizing. Our first optimization attempt targeted the wrong bottleneck
and had no measurable impact.
Starting with 3 paragraphs of background before any code. Developers will not wait. Code first, explain after.
Saying "requires basic JavaScript knowledge" when the post uses generators, WeakMaps, and Proxy objects. State the real prerequisites:
# Bad
Prerequisites: JavaScript basics
# Good
Prerequisites:
- ES2017 async/await
- Familiarity with HTTP request/response cycle
- Node.js 18+ installed
Comparing Tool A to Tool B where the author clearly prefers A and strawmans B. Readers detect this immediately and discount the entire post. Give each tool its best case.
Technical content without a date is a trap. Readers cannot know if the APIs are current or if the performance benchmarks still apply. Always include the post date and update date.
# Bad
Our team is proud to announce the revolutionary solution that transforms
the developer experience...
# Good
We built [feature] because [specific customer problem].
Here is how it works.
tools
# User Doc Patterns > Patterns for writing clear, accessible end-user documentation. ## Knowledge Base ### User Documentation vs Developer Documentation | User Docs | Developer Docs | |-----------|---------------| | Task-oriented ("How do I...") | Concept-oriented ("How does it work...") | | Plain language | Technical language | | Screenshots and visual aids | Code examples | | Step-by-step procedures | API references | | Feature names and UI labels | Function signatures and parameters | | A
tools
# Tutorial Structures > Pedagogical patterns and frameworks for creating effective technical tutorials. ## Knowledge Base ### The Tutorial Spectrum Tutorials exist on a spectrum between two extremes: | Recipe | Concept Guide | |--------|--------------| | "Do exactly this" | "Understand this idea" | | Step-by-step | Explanation-heavy | | Fast to complete | Deep understanding | | Low retention | High retention | The best tutorials blend both: steps for doing, explanations for understanding.
tools
# Tutorial Patterns ## Tutorial vs. How-to Guide: The Critical Distinction Before writing, identify which document is actually needed: | Tutorial | How-to Guide | |----------|-------------| | "Build a REST API in Node.js" | "Add JWT authentication to your Express API" | | For someone new to this | For someone who knows the domain | | Explains why each step is done | Steps are efficient, minimal explanation | | Has checkpoints, explores | Numbered steps, no detours | | Learner reaches a comple
tools
# Blog Structures > Structural patterns and frameworks for different types of technical blog posts. ## Knowledge Base ### The Technical Blog Post Anatomy Every technical blog post has these layers: ``` Hook --> Why should I care? (2-3 sentences) Context --> What problem exists? (1-2 paragraphs) Solution --> How do we solve it? (bulk of the post) Evidence --> Does it work? (benchmarks, examples, results) Takeaways --> What did we learn? (3-5 bullet points) Call t