From music-engine-rowan
Analyzes MIDI files to extract melodic motifs, rhythmic patterns, and phrase structures for lyric writing. This skill should be used when the user wants to write lyrics that match the phrasing of an existing MIDI file, or when analyzing a song's melodic structure to understand its "lyrical shape." Triggers on requests like "analyze this MIDI for lyrics", "what's the phrasing in this song", or "help me write lyrics to match this melody."
How this skill is triggered — by the user, by Claude, or both
Slash command
/music-engine-rowan:midi-lyric-analyzerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill extracts musical motifs from MIDI files and translates them into actionable constraints for lyric writing. The goal is not to write lyrics FOR the music, but to understand the music's phrase lengths, repetition patterns, and rhythmic feel so lyrics can be crafted to match naturally.
This skill extracts musical motifs from MIDI files and translates them into actionable constraints for lyric writing. The goal is not to write lyrics FOR the music, but to understand the music's phrase lengths, repetition patterns, and rhythmic feel so lyrics can be crafted to match naturally.
Execute these scripts from the midi-analyzer sibling skill (located at ../midi-analyzer/):
# Core analyses for lyrical phrasing
python ../midi-analyzer/scripts/midi/analyze_midi_melody.py <file.mid>
python ../midi-analyzer/scripts/midi/analyze_midi_rhythm.py <file.mid>
python ../midi-analyzer/scripts/midi/analyze_midi_structure.py <file.mid>
From the melody analysis, identify the top 5 most frequent motifs and analyze each:
| Motif Property | Lyrical Implication |
|---|---|
| Note count | Suggests syllable count per phrase |
| Occurrence count | High (10+) = designed for repetition/mantra |
| Contour (rising/falling/arch) | Suggests emotional direction |
| Note values | Short = punchy syllables; Long = sustained vowels |
Contour Analysis:
From the rhythm analysis:
| Dominant Duration | Lyrical Feel |
|---|---|
| Sixteenths dominant | Rapid-fire, staccato phrasing ("Hark how the bells") |
| Eighths dominant | Moderate flow, conversational |
| Quarters dominant | Deliberate, weighted words |
| Mixed with syncopation | Off-beat emphasis, jazz/hip-hop phrasing |
Syncopation Score Interpretation:
Synthesize findings into an actionable blueprint:
## Lyrical Blueprint: [Song Name]
### Core Phrase Structure
- Primary motif: [X] notes = [X] syllables per phrase
- Repetition frequency: [High/Medium/Low] - [implication]
- Contour: [Rising/Falling/Arch] - [emotional suggestion]
### Rhythmic Constraints
- Tempo: [X] BPM ([feel description])
- Dominant note value: [type] = [phrasing style]
- Syncopation: [level] - [stress pattern guidance]
### Section Mapping
- Measures 1-X: [section type] - [phrase suggestions]
- Measures X-Y: [section type] - [phrase suggestions]
### Repetition Design
[If motif appears 10+ times, note that lyrics should be:]
- Memorable on first hearing
- Not fatiguing on repetition
- Consider single-word or short phrase hooks
### Sample Phrase Shapes
Based on the top motifs, lyrics should fit patterns like:
- [X]-[X]-[X]-[X] (4 syllables, stress pattern)
- [X]-[X]-[X] (3 syllables, stress pattern)
Input: Carol of the Bells MIDI analysis showing:
Blueprint Output:
After generating a Lyrical Blueprint, use it as a constraint document when:
npx claudepluginhub rjroy/wyrd-gateway --plugin music-engine-rowanCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.