Skip to content

Add user customization options (custom instructions & pronunciation) - #2

Merged
bitwize-music merged 3 commits into
mainfrom
feat/user-customization-options
Jan 26, 2026
Merged

Add user customization options (custom instructions & pronunciation)#2
bitwize-music merged 3 commits into
mainfrom
feat/user-customization-options

Conversation

@bitwize-music

Copy link
Copy Markdown
Collaborator

Summary

Add three user customization features to prevent plugin update conflicts:

1. Custom Instructions Support

  • New config field: paths.custom_instructions
  • Default: {content_root}/CUSTOM_CLAUDE.md
  • Load user's custom workflow instructions at session start
  • Supplements (doesn't override) base CLAUDE.md
  • Optional - fails silently if file doesn't exist

2. Custom Pronunciation Guide Support

  • New config field: paths.custom_pronunciation
  • Default: {content_root}/CUSTOM_PRONUNCIATION.md
  • Merges with base pronunciation guide, custom takes precedence
  • pronunciation-specialist adds discoveries to custom guide, never edits base
  • Optional - fails silently if file doesn't exist

3. Mandatory Homograph Auto-Fix

  • lyric-reviewer now automatically detects and fixes homographs
  • No longer asks user "Option A or B?" - applies phonetic spelling based on context
  • Reference table of 8 common homographs with fixes
  • Explicit anti-pattern warning in documentation

Benefits

For users:

  • Version control custom workflow preferences with music content
  • Plugin updates won't overwrite custom pronunciations or instructions
  • No merge conflicts when plugin updates base guides
  • Homographs fixed automatically without interruption

For plugin maintainers:

  • Can update base guides without affecting user customizations
  • Clear separation of plugin-maintained vs user-maintained content

Changes

Config Files

  • config/config.example.yaml - Add custom_instructions and custom_pronunciation fields
  • config/README.md - Document both features with setup examples

Skills

  • skills/configure/SKILL.md - Add setup prompts for both fields
  • skills/pronunciation-specialist/SKILL.md - Load and merge dual guides
  • skills/lyric-reviewer/SKILL.md - Mandatory homograph auto-fix behavior

Workflow

  • CLAUDE.md - Update session start to load custom files, document dual guide system

Testing

  • ✅ YAML syntax validated
  • ✅ All required fields present in config
  • ✅ Documentation complete and consistent
  • ✅ Plugin test suite: 22/25 tests passing (3 failures unrelated to changes)
  • ✅ No breaking changes - existing configs work without modification

Migration

None required. Both features are:

  • Optional (work without any user action)
  • Non-breaking (existing configs continue to work)
  • Default values automatically set by /configure skill

Users can start using custom files whenever they want.


Closes: N/A (feature enhancement)

bitwize-music and others added 3 commits January 26, 2026 15:40
Add optional config fields for user-specific customizations:

**Custom Instructions (paths.custom_instructions):**
- Load user's custom Claude workflow instructions at session start
- Defaults to {content_root}/CUSTOM_CLAUDE.md if not set
- Supplements (doesn't override) base CLAUDE.md
- Prevents plugin update conflicts for user preferences

**Custom Pronunciation Guide (paths.custom_pronunciation):**
- Load user's custom phonetic spellings at session start
- Defaults to {content_root}/CUSTOM_PRONUNCIATION.md if not set
- Merges with base pronunciation guide, custom takes precedence
- Prevents conflicts when plugin updates base guide
- pronunciation-specialist adds discoveries to custom guide

**Changes:**
- config/config.example.yaml: Add both fields with defaults
- config/README.md: Document both features with examples
- skills/configure/SKILL.md: Add setup prompts for both fields
- CLAUDE.md: Update session start to load custom files

Both features are optional and fail silently if files don't exist.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update pronunciation-specialist skill to load and merge both base and
custom pronunciation guides:

**Changes:**
- Add "Pronunciation Guides" section explaining base vs custom
- Load base guide from /reference/suno/pronunciation-guide.md
- Load custom guide from config (paths.custom_pronunciation)
- Merge guides with custom entries taking precedence
- Update "Adding Custom Pronunciations" to write to custom guide only
- Never edit base guide (plugin updates will overwrite)

**Behavior:**
- If custom guide doesn't exist, continue with base guide only
- Custom guide location read from config at invocation
- Artist names, character names, album terms go to custom guide

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add explicit mandatory behavior for homograph detection and auto-fix:

**New Section: "Homograph Detection & Auto-Fix (MANDATORY)"**
- DO NOT ask user which pronunciation option
- DO NOT offer to change lyric to avoid the word
- Determine correct pronunciation from context
- Apply phonetic spelling automatically
- Add anti-pattern warning about offering choices
- Include reference table of 8 common homographs with fixes

**Changes:**
- Update "Pronunciation Check" to link to mandatory auto-fix section
- Add item 6 to "Remember" section about auto-fix behavior
- Strengthen language: "AUTO-FIX REQUIRED" instead of "clarification"

**Impact:**
Prevents skill from asking "Option A or B?" for homographs.
Always applies phonetic spelling based on context detection.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@bitwize-music
bitwize-music merged commit d5c5cd1 into main Jan 26, 2026
1 check passed
@bitwize-music
bitwize-music deleted the feat/user-customization-options branch January 26, 2026 15:42
bitwize-music added a commit that referenced this pull request Apr 21, 2026
Fixes bugs #1, #2, #4 from the 2026-04-21 polish_and_master_album halt:

- Auto-recovery path resamples to ctx.targets["output_sample_rate"]
  before writing + post-SRC limit_peaks guard (was writing at source
  rate, leaving 48 kHz files in a 96 kHz album).
- fix_dynamic iterates up to 3 passes (-12/2.5 → -10/3.5 → -8/5.0)
  and emits converged: bool so callers know when material can't hit
  target LUFS at the current ceiling.
- _stage_verification splits halt-eligible from unrecoverable cases;
  writes VERIFICATION_WARNINGS.md sidecar and status=warn on
  auto-recovery exhaustion instead of halting the pipeline.

Docstring enumerates warn-fallback triggers and halt conditions.
Plans B + C (per-track ADM ceiling + dark-track exclusion, post-master
spectral regression guard) are follow-ups.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant