From gateflow
Generates interactive SystemVerilog exercises on FSMs, FIFOs, pipelines, CDC, arbiters, memory, protocols; reviews solutions and provides hints.
npx claudepluginhub codejunkie99/gateflow-plugin --plugin gateflowThis skill is limited to using the following tools:
Interactive SystemVerilog learning with exercises and solution review.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Interactive SystemVerilog learning with exercises and solution review.
/gf-learn # Start learning session, pick topic
/gf-learn <topic> # Get exercises on specific topic
/gf-learn check <file> # Submit solution for review
/gf-learn hint # Get hint for current exercise
/gf-learn solution # Show solution (gives up)
| Topic | Exercises |
|---|---|
basics | Signals, always blocks, assignments |
fsm | State machines, encodings, transitions |
fifo | Synchronous FIFOs, pointers, full/empty |
pipeline | Valid/ready, backpressure, stages |
cdc | Clock domain crossing, synchronizers |
arbiter | Round-robin, priority, grant logic |
memory | RAMs, ROMs, register files |
protocol | AXI-lite, Wishbone, handshakes |
When user runs /gf-learn <topic>:
## Exercise X: <Title>
**Difficulty:** Beginner/Intermediate/Advanced
**Requirements:**
- [ ] Requirement 1
- [ ] Requirement 2
- [ ] Requirement 3
**Interface:**
```systemverilog
module exercise_name (
input logic clk,
input logic rst_n,
// ... define ports
);
Test Cases:
Starter File: exercises/exercise_X.sv
3. Create starter file in `exercises/` directory
4. **STOP and wait for user to attempt solution**
### Step 2: Wait for User
After presenting exercises, say:
Your turn! Edit the file and run /gf-learn check exercises/exercise_X.sv when ready.
Need help? Run /gf-learn hint for a hint.
**DO NOT proceed until user submits with `/gf-learn check`**
### Step 3: Review Solution
When user runs `/gf-learn check <file>`:
1. Spawn the `gateflow:sv-tutor` agent to review
2. Present feedback without giving away answers
3. If solution passes, offer next exercise
### Step 4: Hints (on request)
When user runs `/gf-learn hint`:
1. Give progressive hints (hint 1 is vague, hint 3 is specific)
2. Track hint count per exercise
3. Never give full solution in hints
## Exercise Templates
### Beginner: 4-bit Counter
Create a 4-bit counter with:
### Intermediate: Sync FIFO
Create a synchronous FIFO with:
### Advanced: AXI-Lite Slave
Create an AXI-Lite slave with:
## Key Rules
1. **ALWAYS wait for user** after presenting exercises
2. **NEVER show solution** unless explicitly asked with `/gf-learn solution`
3. **Track progress** in `.gateflow/learn/progress.json`
4. **Encourage** - learning is hard, be supportive