From rodlc-toolkit
Generate ASCII diagrams (funnels, timelines, comparisons, flowcharts, scorecards, pyramids, sequences, state machines, trees)
npx claudepluginhub rodlc/claude-workshop-plugins --plugin rodlc-toolkitThis skill uses the workspace's default tool permissions.
Generate ASCII diagrams from `$ARGUMENTS`. Detect type, render in monospace code block.
Enforces C++ Core Guidelines for writing, reviewing, and refactoring modern C++ code (C++17+), promoting RAII, immutability, type safety, and idiomatic practices.
Provides patterns for shared UI in Compose Multiplatform across Android, iOS, Desktop, and Web: state management with ViewModels/StateFlow, navigation, theming, and performance.
Implements Playwright E2E testing patterns: Page Object Model, test organization, configuration, reporters, artifacts, and CI/CD integration for stable suites.
Generate ASCII diagrams from $ARGUMENTS. Detect type, render in monospace code block.
| Type | Trigger keywords | Pattern |
|---|---|---|
| Timeline | timeline, journey, D0, phases, milestones | Vertical D0 → D1 → D3+ |
| Compare | compare, vs, side-by-side, A/B, options | ┃ A ┃ B ┃ columns |
| Funnel | funnel, experiment, trial, variants, conversion | CTO pres style (see template) |
| Flowchart | flow, process, steps, pipeline, architecture | ┌─┐ → ┌─┐ boxes |
| Scorecard | scorecard, actions, tasks, owner, checklist | ☑/☐ grouped by owner |
| Explain | explain, pyramid, layers, levels, tier, ELI | Pyramid + deep dive |
| Sequence | sequence, interaction, request, call, API, message | Lifelines + ──► |
| State | state, lifecycle, status, transition, machine, cycle | [S] ──► [S] |
| Tree | tree, hierarchy, org, structure, taxonomy, nested | ├── └── |
⚠ "hierarchy" → Tree (primary). "breakdown" → Explain.
If type is ambiguous → use AskUserQuestion to clarify.
╔════════════════════════════════════════════════════════════╗
║ EXPERIMENT NAME D0: YYYY-MM ║
╠════════════════╦═════════════════╦════════════════════════╣
║ CONTROL ║ VARIANT-A ║ VARIANT-B ║
║ Condition A ║ Condition B ║ Condition C ║
╚════════════════╩═════════════════╩════════════════════════╝
TIMELINE ↓ CONTROL VARIANT-A VARIANT-B
──────────────────────────────────────────────────────────────
D0 👤 Signup 👤 Signup 👤 Signup
Free access [🔒 paywall] [🔒 soft]
D0–D3 ⏫ Upload ⏫ Upload ⏫ Upload
🎬 Export free 🎬 Export free 🎬 Export
┌─────────────┐
D3 💸 Debit │ 💸 Debit │ 💸 Debit
└─────────────┘
D3+ 💳 Pay 💳 Pay 💳 Pay
💔 Cancel 💔 Cancel 💔 Cancel
✅ Clean ✅ Clean ✅ Clean
════════════════════════════════════════════════════════════
METRICS CONTROL VARIANT-A VARIANT-B
────────────────────────────────────────────────────────────
Retention D30 42% 38% ≈44%
ARPU $12.40 $13.10 $11.90
MRR/1K $5 220 $4 980 ≈$5 240
Lift vs control — -4.6% ≈+0.4%
════════════════════════════════════════════════════════════
Naming conventions:
CONTROL / VARIANT-A / VARIANT-BFREEMIUM / SOFT-TRIAL / HARD-TRIAL / HARD-EXPORTMETRICS rules:
≈ prefix for estimatesTIMELINE: User Journey — Free → Paid
══════════════════════════════════
D0 👤 Signup → onboarding email
└── Feature discovery
D1–D3 ⏫ First upload
🎬 Export attempt
[🔒 paywall hit if no plan]
D3 ┌──────────────────┐
│ 💸 Trial expires │ ← blocking event
└──────────────────┘
D7 💳 Convert / 💔 Churn decision
D30 ✅ Clean retained
💔 Lapsed → winback flow
══════════════════════════════════
┃ OPTION A ┃ OPTION B ┃
────────────────╋─────────────────╋─────────────────╋
Criteria 1 ┃ Value ┃ Value ┃
Criteria 2 ┃ Value ┃ Value ┃
Criteria 3 ┃ ✓ strong ┃ ⚠ weak ┃
────────────────╋─────────────────╋─────────────────╋
Verdict ┃ ► Recommended ┃ ✗ Rejected ┃
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Step 1 │ → │ Step 2 │ → │ Step 3 │
└──────────┘ └──────────┘ └──────────┘
│
▼ (condition)
┌──────────┐
│ Alt │
└──────────┘
════ OWNER: Engineering ══════════════
☑ Task 1 — done
☐ Task 2 — pending ⚠ blocker
☐ Task 3
════ OWNER: Product ══════════════════
☑ Spec complete
☐ Validation ► by D+3
╔══════════════════════════════════════╗
║ CONCEPT: [Name] ║
╠══════════════════════════════════════╣
║ ▲ ║
║ ███ L3 — Expert ║
║ █████ L2 — Practitioner ║
║ ███████ L1 — Beginner (ELI5) ║
╠══════════════════════════════════════╣
║ LEVEL: L1 — Beginner ║
║ ║
║ What → [one-sentence def] ║
║ Analogy → [concrete metaphor] ║
║ Example → [real-world case] ║
║ Why care → [impact / so what] ║
╚══════════════════════════════════════╝
Rules:
Actor A Actor B Actor C
│ │ │
1. │ ──── req ─────►│ │
│ │ ──── fwd ─────►│
2. │ │ │ process
│ │◄─── resp ──────│
3. │◄─── result ────│ │
│ │ │
Notes:
• Async: description
• Error: description
Rules:
──► request / ◄── response ● START
│
▼
┌─────────┐ event A ┌─────────┐
│ State 1 │──────────►│ State 2 │
└─────────┘ └─────────┘
│ │
│ event B │ event C
▼ ▼
┌─────────┐ ┌─────────┐
│ State 3 │ │ END ◉ │
└─────────┘ └─────────┘
TRANSITIONS
────────────────────────────────
From │ Event │ To
──────────┼─────────┼──────────
State 1 │ event A │ State 2
State 1 │ event B │ State 3
State 2 │ event C │ END
Rules:
● initial state, ◉ terminal stateRoot
├── Branch A
│ ├── Leaf A1
│ └── Leaf A2
├── Branch B
│ ├── Leaf B1
│ │ └── Sub-leaf
│ └── Leaf B2
└── Branch C
└── Leaf C1
Legend: ├── sibling └── last child │ continuation
Rules:
├── non-last children, └── last child│ (pipe + 3 spaces) for vertical continuation$ARGUMENTS → detect type from keywords