album-mastering
Skill1 starsChanged 55 days agoMITView on GitHub
Master a finished album from stereo mixes into a distribution-ready release: measurement-driven mastering (per-track chain + album coherence pass), 3000x3000 artwork, clean metadata with provenance handling, on-device lyric/explicit screening, and full analysis + QA reports. Originals are never touched. Use when the user says "master my album", "prepare this release for distribution", "mastering", "make these tracks release-ready", or in French "masterise mon album", "prépare la sortie", "master pour distribution". NOT for mixing (no stems) and NOT for single-track loudness normalisation.
In this repository45 other files it gives its agents.
- ad-creativeSkill
- agent-ecosystem-watchSkill
- ai-logic-osSkill
- alexandriaSkill
- alignment-osSkill
- analyzing-financial-statementsSkill
- applying-brand-guidelinesSkill
- blueprint-osSkill
- brainstorm-osSkill
- builder-osSkill
- changelog-adoptSkill
- cleanupSkill
- cold-emailSkill
- content-strategySkill
- creating-financial-modelsSkill
- design-osSkill
- diagramSkill
- duoSkill
- execution-osSkill
- growth-engineSkill
- habit-tracker-osSkill
- higgsfield-generateSkill
- higgsfield-soul-idSkill
- identity-shift-osSkill
- intuitive-osSkill
- journal-osSkill
- launch-strategySkill
- marketing-strategistSkill
- market-research-osSkill
- market-researchSkill
- mindset-osSkill
- monitorSkill
- nuclear-cleanupSkill
- omg-auditsSkill
- pixelragSkill
- product-marketing-contextSkill
- project-tidySkill
- ramflushSkill
- secrets-vaultSkill
- seductive-osSkill
- social-contentSkill
- staxSkill
- stepper-osSkill
- storyteller-osSkill
- watchSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 34
Never write to the source files.
- Distinctive: line 46
Measure, don't assume: Every claim in the reports must come from a measurement.
- Distinctive: line 89
Set the loudness arc deliberately: Do not give every track the same target.
- Distinctive: line 90
Ask what the album's shape is, or derive it: dynamic tracks breathe, heavy tracks push, closers pull back.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
album-mastering — stereo mixes → distribution-ready release
Turns a folder of finished stereo mixes into a complete, documented release: mastered WAVs, tagged lossless + reference copies, artwork, distributor metadata, and reports that disclose every process applied.
This is mastering, not mixing. You get two-track masters, not stems. You cannot rebalance a vocal or move a kick. When something cannot be fixed safely at the master stage, report it — never fake the fix with extreme EQ.
Hard rules
- Protect the originals. Copy →
chmod 444→ verify SHA-256 → only then process. Never write to the source files.prepare.pyenforces this and aborts on mismatch. - Never invent identifiers. ISRC, UPC, EAN, IPI/CAE, publisher IDs stay empty unless supplied. The distributor assigns them.
- Strip vendor metadata; never destroy the audit. Export-tool junk (encoder
strings, temp titles, local paths, generator names and IDs) is removed from
everything shipped —
declare_provenancedefaults tofalse. The raw source tags stay verbatim inmetadata_before.json, which is internal and never distributed, so provenance remains traceable. Two things this does not do: it does not rewrite the audit record, and it does not answer the distributor's AI-content question — a human does that at upload. - Never notch a harmonic series. Peak detectors flag musical content. Test before treating (the pipeline does this automatically and reports the fundamental).
- Measure, don't assume. Every claim in the reports must come from a measurement. If a field cannot be verified, say so rather than filling a default.
- Never hand WAV masters to a media library. macOS ignores RIFF INFO album
and track tags, so an album of WAVs imports as one album per track with no cover
— and Music.app writes its own artwork back into the masters, repeatedly, for as
long as they stay in the library. The
protectstage sets them read-only; tell the artist to remove the WAVs from the library and importdeliverables_tagged/m4a/(ALAC, lossless, bit-identical) instead. - The user's tracklist wins over source filenames — but surface every
mismatch, and check it against the lyrics. A title that is never sung in its
own song is usually a draft name; the source filename is usually the real
hook.
transcribe.pyflags this automatically. Raise it before mastering, not after the masters are cut.
Setup
scripts/setup.sh # venv at ~/.cache/album-mastering/venvNeeds ffmpeg. Lyric screening additionally needs whisper-cpp + a ggml model.
Run
VENV=~/.cache/album-mastering/venv/bin/python
$VENV scripts/pipeline.py my.project.json # everything
$VENV scripts/pipeline.py my.project.json --from master # resume
$VENV scripts/pipeline.py my.project.json --only qa # one stage
$VENV scripts/master.py my.project.json 7 8 # re-master two tracks
$VENV scripts/audit.py my.project.json --scan ~/dir # recursive source audit
$VENV scripts/transcribe.py my.project.json # lyric screening (opt-in)Stages: prepare · audit · master · artwork · tag · deliverables · sidecars ·
measure_masters · qa · reports · protect · checksums
How to drive it
- Read
reference/WORKFLOW.md— the full process and what each stage decides. - Build the project file. Copy
templates/project.template.json. Ask the user only for what you cannot measure: tracklist with exact titles, release date, genre, label, copyright. Reuse an artist profile fromartists/when one exists. - Read
reference/AGENTIK-STANDING-BRIEF.mdfor Agentik releases — it is the artist-specific spec and overrides the generic one. - Set the loudness arc deliberately. Do not give every track the same target. Ask what the album's shape is, or derive it: dynamic tracks breathe, heavy tracks push, closers pull back. Typical underground electronic: −8.5 to −10.0 LUFS, ceiling −1.0 dBTP. Never force a track into a range.
- Run
prepareandaudit, then read the measurements before mastering. The audit walks the whole source tree, not just the declared tracks, and will tell you about audio files you did not list. The analysis tells you which tracks mask their own kick, which are tonal outliers, and whether the sources are bandwidth-limited. Settarget_lufsandcharacterfrom that. Leaveduck,side_reductionandsaturationon"auto"unless you have a reason. - Run the rest, then read the generated reports and enrich them. The scripts emit every measured number and the mechanical findings; the narrative judgement is yours to add.
- Report honestly. Lead with what you found and what the user must still decide (title mismatches, AI-provenance declaration, artwork resolution, explicit flags).
Known traps
reference/DECISIONS.md documents the ones that have already cost time —
read it before changing any DSP. The short version:
- Chunked resampling inflates true-peak measurements. Exclude chunk edges or you
will "fix" a limiter that was already correct. Cross-check against
ffmpeg -af ebur128=peak=true. - Compare spectra at equal loudness, never at equal total energy — bass differences otherwise distort every other band and reverse your conclusions.
- Overlapping EQ bells double-count. Solve the bell bank as least squares.
- Whisper collapses into
*Musique*on dense instrumentals — chunk it. - ffmpeg writes its own
ISFTencoder tag unless+bitexactis an output flag. - Don't force artwork into WAV. Compatibility beats convenience.
Output
<output_root>/
├── masters/ 24-bit WAV + cover_distribution.jpg alongside
├── artwork/ cover_original.* · cover_distribution.jpg (3000², sRGB)
├── originals_backup/ read-only, SHA-256 verified
├── deliverables_tagged/ m4a/ (ALAC — the one to import into Apple Music) ·
│ flac/ (lossless archive) · mp3/ (320 reference)
├── metadata/ release_metadata.csv/.json · metadata_before/after.json
├── analysis/ MASTERING_ANALYSIS.md · ALBUM_COHERENCE_REPORT.md
└── documentation/ MASTERING_REPORT.md · RELEASE_QA_REPORT.md ·
LYRICS_SCREENING.md · CHECKSUMS.sha256Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

