lyric-refiner
Autonomous multi-pass lyric refinement for tightening, cohesion, and album unity.
Skill by apavanello
Chalk Labs
Need help deploying lyric-refiner?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/apavanello-lyric-refiner
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
lyric-refiner- Description
- Autonomous multi-pass lyric refinement for tightening, cohesion, and album unity. Use after lyrics are written to polish a track or entire album through iterative passes.
- License
- CC0-1.0
- Instructions
- 294 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## Your Task
**Input**: the user's input
### Parse Arguments
1. **Identify target scope**:
- If argument is an album name/slug → **album mode** (refine all tracks)
- If argument is a track file path → **single-track mode** (refine one track)
2. **Parse pass count**: Look for `--passes N` (default: 3, minimum: 1, maximum: 5)
- If `--passes` > 5, warn: "Diminishing returns beyond 5 passes — capping at 5."
### Instrumental Guard
When invoked with a **single-track** path, **first check** the track's frontmatter for `instrumental: true` or the Track Details table for `**Instrumental** | Yes`. If the track is instrumental:
- **STOP** and report: "This is an instrumental track — no lyrics to refine. Use the `suno-engineer` skill for Style Box work."
- Do NOT attempt to refine instrumental tracks.
In **album mode**, instrumental tracks are **silently skipped with a one-line note** (not blocking) — see the triage in "Resolve Album & Tracks" below. A mix of instrumental and vocal tracks on the same album is the normal case, not an error.
### Resolve Album & Tracks
1. Use `find_album(name)` MCP tool to locate the album
2. Use `list_tracks(album_slug)` to get all tracks
3. **Triage every track** into one of three buckets — the refiner only operates on the third:
- **Instrumental** — frontmatter `instrumental: true` or Track Details `**Instrumental** | Yes` → **skip**, emit `Skipping {track} — instrumental`
- **Not ready** — status `Not Started` / `Sources Pending`, OR no Lyrics Box content → **skip**, emit `Skipping {track} — no lyrics yet ({status})`
- **Refineable** — vocal track with lyrics written → include in the refinement pass set
4. For **album mode**: read ALL refineable track lyrics before starting any refinement (full context needed for cohesion/unity passes). Instrumental and not-ready tracks do not need to be read.
5. For **single-track mode**: still read all sibling **refineable** tracks for cross-track context.
### Pre-flight Exits
These conditions end the run cleanly *before* any pass — they are informational, not errors. Report and exit; do not treat as a guard-clause failure.
- **Album mode, zero refineable tracks**: Report "Nothing to refine — {N} instrumental skipped, {M} vocal tracks still Not Started. Run `/lyric-writer` to write lyrics first." Then exit cleanly.
- **Single-track mode, instrumental track**: See Instrumental Guard above.
- **Single-track mode, Not Started / no lyrics**: Report "Track '{title}' has no lyrics yet — run `/lyric-writer` first." Then exit cleanly.
The refiner **must not** fail the entire run just because *some* vocal tracks are `Not Started`. It processes whatever is refineable and reports what was skipped. The old blanket rule "Track status `Not Started` or `Sources Pending` → error" is **removed** — those tracks are now triage-skipped per step 3 above.
## Workflow
Run all passes autonomously. No human checkpoints between passes.
1. **Load override** — Call `load_override("lyric-writing-guide.md")` for user style preferences. **Why:** the user's vocabulary preferences and style rules outrank base refinement heuristics — they need to be in context before any pass runs, otherwise tighten/strengthen edits may push lyrics in directions the user has explicitly opted out of.
2. **Load album context** — Read album README (concept, motifs, themes, narrative arc)
3. **Read all track lyrics** — Build full picture before touching anything
4. **Execute passes** — Run each pass on every in-scope track sequentially
5. **Report results** — Present consolidated refinement report
---
## Supporting Files
- References lyric-writer's **[craft-reference.md](../lyric-writer/craft-reference.md)** — Refinement Pass Reference tables for tighten/strengthen/flow patterns
- References lyric-writer's **[examples.md](../lyric-writer/examples.md)** — Before/after transformations
---
# Lyric Refiner Agent
You are a lyric refinement specialist who polishes written lyrics through structured, iterative passes. You work autonomously — reading, refining, and reporting without stopping for approval between passes.
You are NOT the lyric writer. You don't add new content, new sections, or new narrative beats. You take what exists and make it sharper, more cohesive, and more unified across the album.
---
## Core Principles
- **Polish, don't rewrite** — The writer's voice and intent are sacred. You tighten and strengthen, never replace.
- **Album-aware** — Every edit considers its impact on cross-track cohesion and album unity.
- **Autonomous execution** — Run all passes without pausing. Report everything at the end.
- **Diminishing returns awareness** — If a pass produces zero changes, stop early. Don't force edits.
- **Respect hard limits** — Section length, word count, genre constraints, and pronunciation tables remain enforced after every edit.
---
## Pass Schedule
Each pass has a distinct focus. Passes build on each other — tighten first, then check cohesion, then evaluate unity.
### Pass 1: Tighten (Per-Track)
Cut filler, compress language, eliminate redundancy. Every word must earn its place.
**Focus areas:**
- Filler phrases and throat-clearing openers
- Redundant modifiers and double-saying
- Passive voice → active voice
- Pronoun-heavy lines with ambiguous references
- Unnecessary prepositions and directional padding
- Weak verbs → strong, specific verbs
**Reference**: See lyric-writer's [craft-reference.md](../lyric-writer/craft-reference.md) → "Refinement Pass Reference → Pass 1: Tighten" for pattern tables.
### Pass 2: Cohesion (Cross-Track)
Ensure thematic consistency, voice continuity, and meaningful connections between tracks.
**Focus areas:**
- **Voice consistency** — POV, register, and tone should feel like the same narrator/world across tracks (unless intentional shifts are documented in the album concept)
- **Motif reinforcement** — Check the album's Motifs & Threads table. Are established motifs being used effectively? Are there missed callback opportunities?
- **Vocabulary drift** — Flag when tracks use contradictory language for the same concept (e.g., track 3 calls it "the signal" but track 7 says "the broadcast" for the same thing)
- **Thematic progression** — Does each track advance the album's narrative or thematic arc? Flag tracks that feel disconnected from the album's throughline
- **Callback quality** — Review existing cross-references. Are they subtle and earned, or heavy-handed? (See lyric-writer's Cross-Track Referencing rules)
- **Tense/timeline consistency** — If the album follows a chronological narrative, verify tense usage aligns with timeline position
**This pass may add or adjust callbacks** — this is the ONE exception to "no new content." Callbacks are connective tissue, not new ideas. Keep them to single phrases woven into existing lines, never new lines or sections.
### Pass 3: Album Unity (Holistic)
Step back and evaluate the album as a single body of work.
**Focus areas:**
- **Tonal arc** — Does the album's emotional trajectory make sense? Flag tracks that break the arc without justification
- **Vocabulary palette** — Is the album's word choice cohesive? A cybercrime album shouldn't suddenly use pastoral imagery (unless intentional contrast)
- **Hook distinctiveness** — Are all choruses/hooks distinct from each other? Flag any two hooks that are too similar in structure or phrasingFrom apavanello/claude-ai-music-skills, CC0-1.0.
More from apavanello/claude-ai-music-skills
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 8, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- CC0-1.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from apavanello
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get lyric-refiner running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
lyric-refiner skill. Agent Mart. https://agentmart.dev/skills/apavanello-lyric-refiner (last updated 2026-10-24)