Diagnose
github/awesome-copilot
Perform a systematic diagnostic scan of an AI workflow across 5 quality dimensions — prompt quality, context efficiency, tool health, architecture fitness, and safety — producing a scored report…
Diagnose lyric problems across prosody, rhyme, meaning, register, sound, and structure.
$ npx skills add jwynia/agent-skills --skill lyric-diagnostic -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jwynia/agent-skills lyric-diagnostic --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/creative/music/lyric-diagnostic .claude/skills/lyric-diagnostic && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "lyric-diagnostic" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/music/lyric-diagnostic into .claude/skills/lyric-diagnostic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lyric-diagnostic", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jwynia/agent-skills/tree/main/skills/creative/music/lyric-diagnosticType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jwynia/agent-skills --skill lyric-diagnostic -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jwynia/agent-skills lyric-diagnostic --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/creative/music/lyric-diagnostic .agents/skills/lyric-diagnostic && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "lyric-diagnostic" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/music/lyric-diagnostic into .agents/skills/lyric-diagnostic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lyric-diagnostic", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jwynia/agent-skills --skill lyric-diagnostic -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jwynia/agent-skills lyric-diagnostic --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/creative/music/lyric-diagnostic .cursor/skills/lyric-diagnostic && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "lyric-diagnostic" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/music/lyric-diagnostic into .cursor/skills/lyric-diagnostic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lyric-diagnostic", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jwynia/agent-skills.git --path skills/creative/music/lyric-diagnostic--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jwynia/agent-skills --skill lyric-diagnostic -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jwynia/agent-skills lyric-diagnostic --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/creative/music/lyric-diagnostic .gemini/skills/lyric-diagnostic && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "lyric-diagnostic" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/music/lyric-diagnostic into .gemini/skills/lyric-diagnostic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lyric-diagnostic", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jwynia/agent-skills lyric-diagnosticInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jwynia/agent-skills --skill lyric-diagnostic -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/creative/music/lyric-diagnostic .github/skills/lyric-diagnostic && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "lyric-diagnostic" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/music/lyric-diagnostic into .github/skills/lyric-diagnostic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lyric-diagnostic", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jwynia/agent-skills --skill lyric-diagnostic -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jwynia/agent-skills lyric-diagnostic --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/creative/music/lyric-diagnostic .opencode/skills/lyric-diagnostic && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "lyric-diagnostic" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/creative/music/lyric-diagnostic into .opencode/skills/lyric-diagnostic/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lyric-diagnostic", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
lyric-diagnosticDiagnose lyric problems across prosody, rhyme, meaning, register, sound, and structure.
Lyric Diagnostic is an agent skill from jwynia/agent-skills. Diagnose lyric problems across prosody, rhyme, meaning, register, sound, and structure. Use when AI-generated or human lyrics feel flat, cliched, awkward, or mismatched.
Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts (for example `data/cmudict-simplified.json`, `data/lyric-dominance-rules.json` and `scripts/cliche-check.ts`).
The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e02ec7e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
bunFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Lyric Diagnostic loads about 4.4k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 2,261 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from jwynia/agent-skills at commit e02ec7e, republished under its MIT licence (© jwynia). 2,261 words, ~4,392 tokens.
.claude/skills/lyric-diagnostic/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.You diagnose lyric problems across multiple dimensions. Your role is to identify why lyrics fail and guide writers (human or AI) toward more effective choices.
Lyrics fail in predictable, diagnosable ways. Generic is not neutral—generic is bad.
AI-generated lyrics cluster at statistical distribution centers: the most probable word choices, rhyme pairs, and emotional vocabulary. Probability optimization produces mediocrity. Effective lyrics require intentional deviation from defaults.
The same pattern that makes "Celtic" trigger tinwhistle in music generation makes "love" trigger predictable rhyme pairs and emotional cliches in lyric generation.
Symptoms: Predictable rhyme pairs dominate. Word choices are first-associations. Nothing surprises. Lyrics could fit any song on this topic.
Key Questions:
Diagnostic Checklist:
Stock Phrases (phrase-level cliches, not just words):
Scripts can't catch these—they require semantic judgment:
| Phrase | Category | Why It's Cliche |
|---|---|---|
| "screaming inside" | unexpressed anguish | Every song about hidden pain uses this |
| "need you gone" | direct desire | States want instead of showing it |
| "won't leave me alone" | persistence | Generic memory/thought complaint |
| "thought I died" | emotional death metaphor | Overused intensity marker |
| "used to be" + past state | nostalgia setup | Stock before/after framing |
| "look in your eyes" | connection | Vague romantic gesture |
| "torn apart" | destruction | Abstract violence metaphor |
| "can't let go" | attachment | States the problem directly |
Lazy Rhyme Pairs (rhyme drove word choice):
| Pair | Problem |
|---|---|
| desire / fire / tired | Cluster appears together constantly |
| inside / died / alive | Death-interior cluster |
| away / stay / day | Motion-time cluster |
| heart / apart / start | Heart-destruction cluster |
| alone / gone / on | Isolation cluster |
Interventions:
cliche-check.ts as pre-filter (surfaces candidates, doesn't diagnose)Symptoms: Lines don't fit the melody. Stresses fall on wrong syllables. Unnatural pronunciation required. Syllables crammed or stretched awkwardly.
Key Questions:
Diagnostic Checklist:
Interventions:
meter-check.ts to analyze syllable counts and stress patternsSymptoms: Lyrics say exactly what they mean and nothing more. No subtext, no layers, no depth. Emotions are stated directly. Everything is on the surface.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Lyric tone contradicts the music's emotion. Casual words over dramatic instrumentation. Heavy lyrics over light music. Vocabulary doesn't match genre expectations.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: No attention to how words feel in the mouth. Harsh consonant clusters at tender moments. Monotonous vowel sounds. No alliteration, assonance, or deliberate sound texture.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: No identifiable hook. Verse and chorus feel interchangeable. Repetition is annoying, not reinforcing. Bridge doesn't contrast. Song has no arc.
Key Questions:
Diagnostic Checklist:
Structural Cliches:
| Pattern | Problem | Fix |
|---|---|---|
| Bridge = Verse | Not a bridge at all—just more of the same | Shift perspective, time, or speaker |
| Chorus expands on repeat | Adding lines without development | Each chorus iteration should mean more |
| Hook repeated without exploration | Says the phrase but never unpacks it | What does the hook mean? Show us. |
| No arc | Emotional state same at end as beginning | Something must change—realization, acceptance, escalation |
| Verses say same thing differently | Verse 2 is Verse 1 with synonyms | Each verse needs new information or angle |
Interventions:
Listen without analyzing. Note:
Which of the six states best describes the main problem?
For the primary state:
cliche-check.ts, meter-check.ts, etc.)Often multiple states co-occur:
Fix the most damaging issue first:
Pattern: Fixing one problem introduces new problems. Every change cascades.
Signs:
Why It Fails: Lyrics are an interconnected system. Point fixes ignore system effects.
Fix: Make one change, then re-read holistically. Don't chain fixes without checking the whole.
Pattern: Chasing complexity for its own sake. Obscurity mistaken for depth.
Signs:
Why It Fails: Obscure isn't deep. Listeners need access point.
Fix: Every obscure element needs a clear anchor. Complexity serves clarity, not replaces it.
Pattern: Adopting genre vocabulary without understanding function.
Signs:
Why It Fails: Genre vocabulary is shortcut to function. Without function, it's costume.
Fix: Understand what the genre element does, then deploy it for that purpose.
Pattern: Refusing to revise lines that came easily.
Signs:
Why It Fails: First drafts capture intuition but include noise. Signal needs extraction.
Fix: Save first draft separately. Revise as if someone else wrote it.
AI-generated lyrics (Suno, etc.) fail in predictable ways due to how LLMs work:
Why this happens:
Two forces compound:
Statistical median pull: LLMs generate the most probable next token. For lyrics, this means the most common rhyme pairs, the most frequent emotional vocabulary, the most typical phrase structures. Probability optimization produces mediocrity.
Completion reward bias: Training for "helpful" weights goal completion over thoroughness or quality. The model treats "rhyme achieved" as success, regardless of whether it's an interesting rhyme. Structure complete > structure meaningful.
This is the same mechanism documented in the Sequential Focus framework—forward reference gravitational pull. The model sees the target (rhyme, line end, verse completion) and races toward the most probable path rather than exploring alternatives.
Pre-anchor end words: Write the rhyme words yourself with intentional non-cluster choices. Force the model to land on words without lazy partners. If you avoid "fire," you break the fire/desire/tired cluster.
Seed with concrete imagery: Opening lines set the vocabulary space. Concrete, unusual imagery early may hold off statistical collapse longer than abstract emotional vocabulary.
Isolate sections: Generate verse 1 alone, evaluate, then generate verse 2 with explicit instruction to avoid verse 1's rhyme families. Treat each section as a separate generation task.
Blacklist clusters: Explicitly forbid the lazy rhyme clusters in prompts:
Provide slant rhyme alternatives: Give the model escape routes. "Instead of perfect rhymes, use slant rhymes like home/come, love/move."
The same principle that makes Sequential Focus work for agent tasks applies to lyric generation: hide the end goal, make each phase complete.
Don't prompt "write a complete song about X." Instead:
Each step is the complete mission. The model can't race to "song complete" if it doesn't know a song is the goal.
These scripts surface candidates for LLM/human interpretation. They do NOT make diagnostic judgments. Use their output as input to your analysis, not as the analysis itself.
Why pre-filters?
cliche-check.tsSurfaces Tier 1/2 terms from lyric-dominance-rules.json. You must evaluate in context.
Usage: bun run scripts/cliche-check.ts "your lyrics here"
Limitations: Misses stock phrases, rhyme-driven word choice, semantic cliche.
meter-check.tsReports syllable counts, stress patterns, and variance. You must judge if variance is intentional.
Usage: bun run scripts/meter-check.ts "your lyrics here"
Useful for: Identifying lines that need review, spotting high variance.
rhyme-check.tsMaps rhyme scheme and identifies rhyme types. You must evaluate rhyme quality.
Usage: bun run scripts/rhyme-check.ts "your lyrics here"
Limitations: Marks gerund-gerund (-ing/-ing) as rhymes. Marks same-semantic-field pairs as rhymes. Doesn't detect rhyme-forced word choice.
| State | Core Problem | First Question | Primary Fix |
|---|---|---|---|
| LY1 | Predictable | Are rhymes first-associations? | Replace cliche terms |
| LY2 | Unsingable | Do stresses match beats? | Count syllables, swap words |
| LY3 | Empty | Is there subtext? | Add concrete imagery |
| LY4 | Mismatched | Does tone match music? | Align vocabulary to intensity |
| LY5 | Harsh | How do words feel in mouth? | Map sounds to emotions |
| LY6 | Aimless | Where's the hook? | Define and place hook |
© jwynia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts) in skills/creative/music/lyric-diagnostic of jwynia/agent-skills.
Open the folder on GitHubat commit e02ec7e
Lyric Diagnostic next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Lyric Diagnostic this skilljwynia/agent-skills | 170 | — | ~4.4k | Automated safety check: Pass | MIT | |
| Diagnosegithub/awesome-copilot | 40k | 1 repos | ~1k | Automated safety check: Pass | MIT | |
| Diagnose Gatewayopenclaw/openclaw | 392k | — | ~670 | Automated safety check: Pass | MIT | |
| Diagnosing Bgs Problemshashgraph-online/awesome-codex-plugins | 1.3k | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Is This A Problemanthropics/claude-for-legal | 9.6k | 2 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Network Bgp Diagnosticsaffaan-m/ECC | 277k | 1 repos | ~1.4k | Automated safety check: Pass | MIT |
github/awesome-copilot
Perform a systematic diagnostic scan of an AI workflow across 5 quality dimensions — prompt quality, context efficiency, tool health, architecture fitness, and safety — producing a scored report…
openclaw/openclaw
Diagnose Gateway, config, secrets, channels, and port failures with read-only one-liners.
hashgraph-online/awesome-codex-plugins
A skill your agent uses when a BGS modded game has CTD, crash log, FPS drop, stuttering, freeze, performance, won't start, 崩溃, 掉帧, 卡顿 symptoms and the user needs a symptom-first diagnostic ladder.
anthropics/claude-for-legal
Fast "is this a problem?" answer for the quick Slack question — pattern-matches against your calibration.
affaan-m/ECC
Diagnostics-only BGP troubleshooting patterns for neighbor state, route exchange, prefix policy, AS path inspection, and safe evidence collection.
ruvnet/ruflo
Register a Cognitum Seed device by endpoint and establish agent bridge
jwynia/agent-skills
Diagnose devcontainer configuration problems and guide development environment setup.
jwynia/agent-skills
Create distinctive, production-grade frontend interfaces with high design quality.
jwynia/agent-skills
Orchestrate agile development workflows for Gitea repositories using the tea CLI.
jwynia/agent-skills
Generate game assets using AI image generation APIs (DALL-E, Replicate, fal.ai) and prepare them for Godot.
jwynia/agent-skills
Develop AI agents, tools, and workflows with Mastra v1 Beta and Hono servers.
jwynia/agent-skills
Create and manipulate PowerPoint PPTX files programmatically.
Diagnose lyric problems across prosody, rhyme, meaning, register, sound, and structure. Lyric Diagnostic is an agent skill from jwynia/agent-skills. Diagnose lyric problems across prosody, rhyme, meaning, register, sound, and structure.
Lyric Diagnostic fits situations like: human lyrics feel flat.
Run `npx skills add jwynia/agent-skills --skill lyric-diagnostic -a claude-code`. Or copy the skill folder (skills/creative/music/lyric-diagnostic in jwynia/agent-skills) into .claude/skills/lyric-diagnostic in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jwynia/agent-skills --skill lyric-diagnostic -a codex`. Or copy the skill folder (skills/creative/music/lyric-diagnostic in jwynia/agent-skills) into .agents/skills/lyric-diagnostic in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jwynia/agent-skills --skill lyric-diagnostic -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lyric-diagnostic, .gemini/skills/lyric-diagnostic, .github/skills/lyric-diagnostic and .opencode/skills/lyric-diagnostic in your project.
Going by SKILL.md and its folder, Lyric Diagnostic needs TypeScript for the scripts in its folder and the command-line tools its instructions call (bun). Our summary lists: Node.js.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Lyric Diagnostic is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Lyric Diagnostic: Diagnose (github/awesome-copilot, 40k stars), Diagnose Gateway (openclaw/openclaw, 392k stars), Diagnosing Bgs Problems (hashgraph-online/awesome-codex-plugins, 1.3k stars) and Is This A Problem (anthropics/claude-for-legal, 9.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jwynia (a GitHub user) maintains it in jwynia/agent-skills, which has 170 GitHub stars. The repository holds 111 skills in this directory. The repository was last updated on February 24, 2026.
Source: jwynia/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.