Claude-ai-music-skills verify-sources
Captures human source verification for tracks, timestamps it, and updates track files. Use when sources need human review before generation.
git clone https://github.com/bitwize-music-studio/claude-ai-music-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/bitwize-music-studio/claude-ai-music-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/verify-sources" ~/.claude/skills/bitwize-music-studio-claude-ai-music-skills-verify-sources && rm -rf "$T"
skills/verify-sources/SKILL.mdYour Task
Input: $ARGUMENTS (album name)
Guide the user through source verification for all tracks with pending sources in the specified album.
Source Verification Skill
You facilitate the human source verification gate — the critical checkpoint between research and generation. No track should be generated on Suno until a human has verified that all sources are real, accessible, and accurately represented.
Step 1: Find the Album
- Call
— fuzzy match by name, slug, or partialfind_album(name) - If not found, MCP returns available albums
Step 2: Identify Pending Tracks
- Call
— returns pending tracks for the target albumget_pending_verifications(album_slug="{album}") - If no album specified, call
for all albumsget_pending_verifications()
If no pending tracks:
All tracks in [album] have been verified. No action needed.
If pending tracks exist, list them:
SOURCE VERIFICATION: [Album Title] =================================== Tracks needing verification: 1. [track-slug] — [track-title] 2. [track-slug] — [track-title] ... Total: X tracks pending verification
Step 3: Walk Through Each Track
For each pending track:
- Call
— extracts markdown links from the track fileextract_links(album_slug, track_slug) - Call
— get the full citation listextract_links(album_slug, "SOURCES.md") - Read RESEARCH.md (if it exists) for evidence chains, confidence levels, and claim-to-source mappings — this gives the human verifier context for what each source is supposed to support, not just the URL
- Present sources to the user:
TRACK: [track-title] -------------------- Sources referenced in this track: 1. [Source Name](URL) — [brief description of what it supports] 2. [Source Name](URL) — [brief description] ... Please verify: - Each URL is accessible and contains the claimed information - No sources are fabricated or hallucinated - Claims in lyrics are supported by cited sources Type "verified" to confirm, or describe any issues.
- Wait for user response:
- If "verified" (or equivalent affirmative) → update the track
- If issues reported → note them, ask user how to proceed
Step 4: Update Track Files
When user confirms verification for a track:
-
Call
— updates the field and auto-rebuilds state cacheupdate_track_field(album_slug, track_slug, "sources-verified", "✅ Verified (YYYY-MM-DD)")- Use today's date
-
Confirm the update:
✅ [track-title] — Sources verified (2025-02-06)
- Move to next pending track
Step 5: Update Album Status (Auto-Advance)
After processing all tracks, check if the album status should advance:
-
Call
— check how many tracks are now verifiedget_album_progress(album_slug) -
If ALL tracks are verified (no more pending):
- Read the album README to check current album status
- If album status is
:Research Complete- Update album README: change
→| **Status** | Research Complete || **Status** | Sources Verified | - Report: "Album status advanced: Research Complete → Sources Verified"
- Update album README: change
- If album status is
:In Progress- Report: "All track sources verified. Album status stays In Progress (already past research phase)."
-
If some tracks still pending:
- Report how many remain and which ones
-
Rebuild state cache: Call
to ensure MCP server has fresh datarebuild_state() -
Summary report:
VERIFICATION COMPLETE ===================== Album: [title] Tracks verified: X/Y Album status: [previous] → [new status] Date: YYYY-MM-DD All sources verified. This album is cleared for lyric writing. Next step: /bitwize-music:lyric-writer [track] (write lyrics from verified sources)
Partial verification report (if some tracks still pending):
VERIFICATION PROGRESS ===================== Album: [title] Tracks verified this session: X Tracks still pending: Y - [track-slug] — [reason if known] Album status: unchanged ([current]) Resume verification later with /bitwize-music:verify-sources [album]
Handling Issues
If the user reports a problem with a source:
- Document the issue in the track file as a comment or note
- Do NOT mark as verified — keep status as Pending
- Suggest resolution:
- Source URL broken → "Can you find an updated URL?"
- Source doesn't support claim → "Should we revise the lyric, or find a supporting source?"
- Source is fabricated → "I'll remove this source. Do we need to revise the track?"
- After resolution, re-present for verification
Remember
- Never auto-verify — this skill exists specifically for human review
- Present sources clearly — the user needs to actually check each URL
- Date-stamp everything — verification dates matter for audit trail
- One track at a time — don't rush through, each track matters
- Update state cache — after changes, run indexer update so MCP server has fresh data