skills/explicit-checker/SKILL.md
Scans lyrics for explicit content and verifies that explicit flags match actual content. Use before Suno generation or release to ensure accurate content ratings.
npx skillsauth add bitwize-music-studio/claude-ai-music-skills explicit-checkerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Path to scan: $ARGUMENTS
You scan lyrics for explicit content to ensure proper flagging before release.
These words and variations require the explicit flag:
| Category | Words | |----------|-------| | F-word | fuck, fucking, fucked, fucker, motherfuck, motherfucker | | S-word | shit, shitting, shitty, bullshit | | B-word | bitch, bitches | | C-words | cunt, cock, cocks | | D-word | dick, dicks | | P-word | pussy, pussies | | A-word | asshole, assholes | | Slurs | whore, slut, n-word, f-word (slur) | | Profanity | goddamn, goddammit |
These are acceptable without explicit flag:
Note: "damn" alone is clean, but "goddamn" is explicit.
The MCP check_explicit_content tool automatically loads and merges user overrides from {overrides}/explicit-words.md. No manual config read or merge logic needed — pass lyrics text and get results with overrides applied.
{overrides}/explicit-words.md:
# Custom Explicit Words
## Additional Explicit Words
- slang-term
- regional-profanity
- artist-specific-explicit
## Not Explicit (Override Base)
- hell (context: historical/literary)
- damn (context: emphasis)
list_tracks(album_slug) — get all tracks with metadataextract_section(album_slug, track_slug, "lyrics") — get lyrics textcheck_explicit_content(lyrics_text) — returns matches with line numbers (overrides auto-merged)extract_section(album_slug, track_slug, "lyrics") — get lyrics textcheck_explicit_content(lyrics_text) — scan for explicit wordsget_track(album_slug, track_slug)EXPLICIT CONTENT SCAN
Album: [Album Name]
Date: [Scan Date]
TRACK RESULTS:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Track 01: [Title]
Flag: No
Content: Clean
Status: ✓ OK
Track 02: [Title]
Flag: Yes
Content: fuck (3), shit (2), bitch (1)
Status: ✓ OK (flag matches content)
Track 03: [Title]
Flag: No
Content: fuck (1)
Status: ⚠️ MISMATCH - Contains explicit content but flag is No
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SUMMARY:
Total tracks: 10
Clean tracks: 7
Explicit tracks: 3
Mismatches: 1
ALBUM EXPLICIT FLAG: Yes (any track explicit = album explicit)
ACTION REQUIRED:
- Track 03: Set Explicit flag to Yes
⚠️ MISMATCH: Track contains explicit content but Explicit flag is "No"
ACTION: Set Explicit: Yes in track file
ℹ️ NOTE: Track flagged explicit but no explicit words found
This is OK - artist may want explicit flag for themes/context
No action required (conservative flagging is fine)
Most distributors (DistroKid, TuneCore, CD Baby) require:
Consequences of wrong flags:
Rule: When in doubt, mark explicit. Under-flagging is worse than over-flagging.
This skill is called during:
/explicit-checker [path]/explicit-checker artists/[artist]/albums/rock/dark-tide/
/explicit-checker artists/[artist]/albums/rock/dark-tide/tracks/01-the-tank.md
tools
Reviews lyrics and prose for AI-written patterns (abstract noun stacking, over-explained metaphors, cliche escalation, missing idiosyncrasy, prose AI tells). Advisory Warning/Info severity — flags issues, does not block or rewrite. Use when reviewing lyrics for authenticity or before generation to catch AI-sounding language.
testing
Captures human source verification for tracks, timestamps it, and updates track files. Use when sources need human review before generation.
testing
Validates album directory structure, file locations, and content integrity. Use before release or whenever the user wants to check an album's structural health.
tools
Provides interactive guided album creation for new users. Use when the user is new to the plugin or asks for a walkthrough of the album creation process.