wavedrom

Generate WaveJSON timing diagrams from plain-English signal descriptions.

1|Updated Apr 18, 2010
One-click install
npx skills add https://github.com/morganp/dotfiles --skill wavedrom
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wavedrom
Source: https://github.com/morganp/dotfiles/tree/main/config/claude/skills/wavedrom
Command: npx skills add https://github.com/morganp/dotfiles --skill wavedrom

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Converting plain-English descriptions of digital signal behavior into accurate, shareable timing diagrams is tedious and error-prone; this Skill turns informal descriptions into valid WaveJSON so diagrams can be rendered consistently for documentation, design reviews, and teaching.

Core Features & Use Cases

  • Natural-language to WaveJSON: Translate signal names, clock relationships, data phases, and control handshakes into WaveDrom-compatible JSON.
  • Support for common protocols and patterns: Produce diagrams for SPI, I2C, UART, AXI, request/ack handshakes, clocks with enables, and grouped signal views.
  • Annotation and rendering guidance: Include nodes, edges, groups, labels, hscale, and practical advice for exporting to SVG/PNG via wavedrom-cli when file output is requested.
  • Ambiguity handling: Make reasonable timing assumptions when descriptions are underspecified and offer adjustments on request.

Quick Start

Describe the signals, their relative timing, and any labels or edges in plain English, for example "Show a clock with a 4-cycle data transfer and a req/ack handshake".

Frequently Asked Questions about wavedrom

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate WaveJSON timing diagrams from plain English signal descriptions?

Generate WaveJSON timing diagrams by providing a plain-English description of signal names, clock relationships, and control handshakes. The Skill translates this informal text into valid WaveJSON, producing complete timing diagrams suitable for the WaveDrom editor.

Can I create timing diagrams for SPI, I2C, and UART protocols using natural language?

Yes, you can create timing diagrams for SPI, I2C, and UART protocols using natural language. The Skill supports common protocols and patterns, translating bus transactions and handshake descriptions directly into valid WaveJSON for rendering.

Does this approach support adding edges, groups, and labels to digital signal waveforms?

Yes, this approach supports adding edges, groups, and labels to digital signal waveforms. The generated WaveJSON includes support for signal labels, groups, edges, and scaling, allowing detailed annotation of clocked interfaces and bus transactions.

How do I export WaveDrom timing diagrams to SVG or PNG using wavedrom-cli?

Export WaveDrom timing diagrams to SVG or PNG using wavedrom-cli by requesting file output alongside your signal description. The Skill provides practical rendering guidance for converting the generated WaveJSON into SVG or PNG formats via the command-line interface.

What happens if my plain-English timing diagram description is missing signal details?

If your plain-English timing diagram description is missing signal details, the Skill makes reasonable timing assumptions to handle ambiguity. It generates a valid baseline diagram and offers adjustments to the timing or signal relationships upon request.