skills/diagramming-expert/SKILL.md
Master of text-based visual communication using ASCII art, Unicode box-drawing, and structured diagram notation. Creates clear, maintainable diagrams for systems, processes, hierarchies, relationships, and psychological structures. Proactively generates diagrams to enhance understanding. Activate on visualization needs, system architecture, process flows, psychological mapping, or when complex concepts would benefit from visual representation. NOT for photo editing, vector graphics, or GUI-based design tools.
npx skillsauth add curiositech/windags-skills diagramming-expertInstall 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.
Master of text-based visual communication. Creates clear, maintainable diagrams that reduce cognitive load and enhance understanding.
Problem Size Analysis:
├── Small (≤5 elements)
│ ├── If showing relationships → Simple network diagram
│ ├── If showing sequence → Linear flowchart
│ └── If showing hierarchy → Tree diagram
├── Medium (6-15 elements)
│ ├── If showing process → Multi-lane flowchart with decision points
│ ├── If showing architecture → Layered architecture diagram
│ └── If showing relationships → Clustered network with grouping
└── Large (>15 elements)
├── If stakeholders = technical → Break into multiple detailed diagrams
├── If stakeholders = business → Create overview + drill-down diagrams
└── If medium = presentation → Create progression slides
Complexity Threshold Heuristics:
- If >10 arrows cross each other → Break into multiple diagrams
- If labels don't fit in 80-character width → Simplify or split
- If >7 decision points in one flow → Create decision matrix instead
- If >5 hierarchical levels → Consider nested zoom-in approach
Content Type:
├── Static structure
│ ├── Top-down hierarchy → Use tree layout
│ ├── Peer relationships → Use horizontal layout
│ └── Layered system → Use vertical stack
├── Dynamic process
│ ├── Linear sequence → Left-to-right flow
│ ├── Branching logic → Decision tree format
│ └── Cyclical process → Circular or loop layout
└── Mixed content
├── Structure + process → Swimlane diagram
├── Multiple viewpoints → Side-by-side comparison
└── Temporal changes → Before/after layout
Information Density:
├── High detail required
│ ├── Use numbered callouts with legend below
│ ├── Create detail boxes connected by dotted lines
│ └── Split into overview + detail diagrams
├── Medium detail
│ ├── Inline labels within boxes
│ ├── Short descriptive text near elements
│ └── Color coding with simple legend
└── Low detail (overview)
├── Single-word labels only
├── Focus on structure, not content
└── Use size/weight to show importance
Symptoms: Crossed arrows everywhere, unclear information flow, reader can't follow path
Detection Rule: If you count >5 line crossings or can't trace any path without confusion
Fix: Reorganize layout to minimize crossings, use hierarchical structure, break into multiple focused diagrams
Symptoms: Everything in one diagram, tiny unreadable text, cramped elements
Detection Rule: If diagram requires >120 character width or elements are <3 characters apart
Fix: Apply "One Main Idea" rule - create overview + detail breakouts, use progressive disclosure
Symptoms: Excessive decoration, multiple border styles, unnecessary graphical elements
Detection Rule: If more than 2 different line styles or decorative elements not carrying information
Fix: Apply Tufte's data-ink ratio - remove all non-essential visual elements, use consistent minimal styling
Symptoms: Boxes without labels, arrows without direction indicators, unclear relationships
Detection Rule: If any element requires more than 5 seconds to understand its purpose
Fix: Label everything clearly, add directional indicators, include legend for symbols
Symptoms: Wrong diagram type for audience, too technical for business users, too simplistic for developers
Detection Rule: If stakeholders ask "what does this mean" or "where's the detail"
Fix: Match diagram complexity to audience expertise, create multiple views for different stakeholders
Initial Problem: 15-microservice system crammed into one diagram
# BEFORE (Failure Mode: Information Overload)
[Cramped diagram with 15 services, 30+ arrows, unreadable labels]
# ANALYSIS: Too much complexity for single view
- Stakeholder: Engineering team (technical)
- Purpose: Understanding service dependencies
- Current issues: Can't trace request flows, unclear boundaries
# DECISION PROCESS:
1. Problem size = Large (15 elements) → Multiple diagrams needed
2. Audience = Technical → Detailed views acceptable
3. Main concerns = Dependencies → Focus on interaction patterns
# SOLUTION: 3-tier approach
Overview Diagram:
┌─────────────────────────────────────────┐
│ API Gateway │
└──────────────┬──────────────────────────┘
│
┌──────────────┴──────────────────────────┐
│ Core Services (6) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Auth │ │ User │ │ Order │ │
│ └─────────┘ └─────────┘ └─────────┘ │
└──────────────┬──────────────────────────┘
│
┌──────────────┴──────────────────────────┐
│ Support Services (9) │
│ Logging, Metrics, Storage... │
└─────────────────────────────────────────┘
Detail Diagram (Core Services):
┌─────────┐
│ Auth │◄─────────────┐
└────┬────┘ │
│ validates │ requests
▼ │ auth
┌─────────┐ ┌────┴────┐
│ User │◄────────┤ Order │
│ Service │ lookup │ Service │
└─────────┘ └─────────┘
Key Decisions Made:
Scenario: Need to show employee feedback process to different audiences
Decision Analysis:
Audience 1: HR Policy Team (non-technical)
→ Need: Understand policy compliance checkpoints
→ Choice: Process flowchart with decision diamonds
Audience 2: Engineering Team
→ Need: Understand system integration points
→ Choice: Sequence diagram with API calls
Audience 3: Employees
→ Need: Understand what to expect
→ Choice: Simple linear timeline
HR Policy View (Process focus):
┌─────────────┐
│ Employee │
│ Submits │
│ Feedback │
└──────┬──────┘
│
▼
┌───────┐ No ┌─────────────┐
│Anonymous? ├──────►│ Route to │
│ │ │ Manager │
└───┬─────┘ └─────────────┘
│ Yes
▼
┌─────────────┐
│ Route to │
│ HR Only │
└─────────────┘
Engineering View (System focus):
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Web App │─────►│ API │─────►│ Queue │
└─────────┘ POST └─────────┘ pub └─────────┘
│ │
│ auth │ consume
▼ ▼
┌─────────┐ ┌─────────┐
│ Auth │ │ Process │
│ Service │ │ Worker │
└─────────┘ └─────────┘
Trade-off Analysis:
Diagram Readability Test:
Content Coverage Checklist:
Layout Balance Verification:
Maintenance Acceptance Criteria:
Stakeholder Validation Gates:
Do NOT use this skill for:
Delegation Guidelines:
ux-designer skill insteaddata-analyst skillpresentation-designer skillComplexity Boundaries:
Medium Limitations:
data-ai
license: Apache-2.0 NOT for unrelated tasks outside this domain.
development
Use when designing caching strategies (cache-aside, write-through, write-behind), implementing distributed locks, building rate limiters, leaderboards, real-time streams (XADD/consumer groups), pub/sub, or tuning eviction policies. Triggers: thundering-herd on cache miss, dogpile on key expiry, Redlock vs SET-NX-PX choice, sliding-window rate limiter, hot-key on a single cluster slot, big-key blowup, MULTI/EXEC across slots, KEYS in production. NOT for Redis Cluster operations/admin (different domain), embedded KV (SQLite, leveldb), in-process LRU caches, or Memcached.
tools
Drawing the `'use client'` boundary correctly in React Server Components apps (Next.js App Router, RSC frameworks) — leaf-pushing, slot composition, serialization rules, and environment poisoning prevention. Grounded in react.dev and Next.js 16 docs.
development
Use when designing rate limiting for an API, choosing between token bucket / sliding window / leaky bucket / fixed window, implementing it in Redis, deciding edge (Cloudflare/Upstash) vs origin enforcement, sizing per-user vs per-IP vs per-endpoint quotas, returning the right 429 response with Retry-After, or fixing the boundary-burst bug in fixed-window limiters. Triggers: 429 too many requests, INCR + EXPIRE, ZADD + ZREMRANGEBYSCORE + ZCARD, X-RateLimit-Remaining header, Cloudflare WAF rate limiting rules, Upstash @upstash/ratelimit, leaky bucket shaping vs policing, distributed rate limiter consistency. NOT for DDoS mitigation specifically (different scale), CAPTCHA / bot management, full WAF design, or per-user quota billing.