# Stack Research

**Domain:** AI Virtual Music Artist Creation System (Markdown-based, no code)
**Researched:** 2026-04-10
**Confidence:** MEDIUM-HIGH

---

## System Nature: Not a Code Stack, a Workflow Stack

This project is **not a software application**. It is a system of structured markdown files that Claude executes interactively as an AI-driven creative workflow. The "stack" here consists of:

1. **Execution Engine** -- Claude (via Claude Code with custom skills/commands)
2. **Workflow Definition** -- Markdown files with YAML frontmatter (`.claude/skills/`)
3. **Data Storage** -- Markdown files organized by artist folder
4. **External Tools** -- AI music generation platforms (Suno primarily)
5. **Verification Logic** -- Claude's native linguistic analysis + structured verification prompts

---

## Recommended Stack

### Core Execution Platform

| Technology | Version | Purpose | Why Recommended |
|------------|---------|---------|-----------------|
| Claude Code | Current | Workflow execution engine | The system IS Claude executing markdown skills. Claude Code provides the `.claude/skills/` framework, `$ARGUMENTS` substitution, YAML frontmatter, and subagent delegation -- exactly what this project needs. **Confidence: HIGH** |
| `.claude/skills/` format | Current | Skill/workflow definition | Replaces the older `.claude/commands/` format. Skills support: supporting files directory, YAML frontmatter for invocation control, `$ARGUMENTS` for dynamic input, `context: fork` for isolation, and `disable-model-invocation: true` for user-only triggers. **Confidence: HIGH** |

### AI Music Generation Platform

| Technology | Version | Purpose | Why Recommended |
|------------|---------|---------|-----------------|
| Suno | V5.5 (March 2026) | Primary music generation from lyrics + style prompts | Market leader for full-song generation (vocals + instruments). V5 dramatically improved vocal realism (natural vibrato, breath, phrasing). V5.5 added Voices (voice cloning), Custom Models (style training), and My Taste (personalization). Custom Mode provides separate style prompt (200 chars) and lyrics (3000 chars) fields -- perfect for our structured output. Warner Music partnership legitimizes commercial use. Pro plan at $10/mo gives 500 songs + commercial rights. **Confidence: HIGH** |

### Voice Stabilization (Phase 2/Future)

| Technology | Version | Purpose | Why Recommended |
|------------|---------|---------|-----------------|
| Suno Voices | V5.5 | Consistent voice across tracks | Built into Suno V5.5 for Pro/Premier subscribers. Creates a reusable voice from audio capture. Private to the uploader. Simplest path to voice consistency without external tools. **Confidence: HIGH** |
| ACE Studio | 2.0 (Verse25 engine) | Advanced vocal control (pitch, timing, expression) | For when Suno Voices is insufficient. Full vocal synthesis from MIDI + lyrics with 80+ AI voices. Precise control over vibrato, breathing, falsetto, tension. From ~$17/mo. Use only if fine-grained vocal editing is required. **Confidence: MEDIUM** |

### Lyric Verification Approach

| Technology | Version | Purpose | Why Recommended |
|------------|---------|---------|-----------------|
| Claude native analysis | N/A | Rhyme quality, syllable counting, structure validation | Claude can reliably identify meter, rhyme scheme, stanza structure, and literary devices. However, Claude has known weaknesses in *generating* correct syllable counts and precise rhyme patterns. The solution: use Claude for **verification** (analyzing written lyrics) rather than generation-and-trust. Structure verification as explicit checklists that Claude evaluates step-by-step. **Confidence: MEDIUM** |
| French phonetic rules (embedded in skills) | N/A | French syllable counting with mute-e, elision, liaison rules | French syllable counting follows specific rules: mute 'e' counts before consonants, elided before vowels; liaison links final consonants to vowel-initial words; hiatus (two unelided vowels) is avoided. Embed these rules directly in the verification skill markdown so Claude applies them systematically. Reference: plint (French poetry checker) rules. **Confidence: MEDIUM** |
| Structured verification prompts | N/A | Step-by-step lyric quality gates | Rather than asking Claude "are these lyrics good?", use structured checklists: line-by-line syllable count, rhyme pair identification, rhyme quality rating (perfect/near/assonance), structural consistency check. This forces methodical analysis instead of holistic (error-prone) assessment. **Confidence: HIGH** |

### Suno Output Format (Production Briefs)

| Technology | Format | Purpose | Why Recommended |
|------------|--------|---------|-----------------|
| Suno Custom Mode format | Style: 200 chars, Lyrics: 3000 chars, Title: 80 chars | Direct copy-paste into Suno | Custom Mode gives best results because Suno knows what each input field means. Style prompt follows: Genre > Mood > Instruments > Vocals > Production quality (8-12 comma-separated tags, earlier tags weighted more heavily). Lyrics use meta tags: `[Verse]`, `[Chorus]`, `[Bridge]`, `[Intro]`, `[Outro]`, `[Break]`, `[Drop]`, `[Build]`. V5 supports 300+ meta tags including vocal delivery (`[Whispered]`, `[Belted]`, `[Falsetto]`), instrument-specific (`[Guitar Solo]`), and negative prompting (`[no autotune]`, `[no reverb]`). **Confidence: HIGH** |

### Data Storage Schema

| Technology | Format | Purpose | Why Recommended |
|------------|--------|---------|-----------------|
| Markdown files per artist | `artists/{name}/` | Artist identity, track history, production briefs | Markdown is natively readable by Claude, versionable with git, human-readable, and requires zero runtime. Each artist gets a folder with structured markdown files (bible, tracks, lore). **Confidence: HIGH** |
| YAML frontmatter in artist files | Embedded in markdown | Machine-parseable metadata within human-readable docs | YAML frontmatter provides structured data (genre tags, tempo range, vocal type) while the markdown body holds prose (lore, personality, bio). Claude can reliably parse YAML frontmatter. **Confidence: HIGH** |

### Workflow Structure Platform

| Technology | Format | Purpose | Why Recommended |
|------------|--------|---------|-----------------|
| Claude Code Skills (`.claude/skills/`) | SKILL.md + supporting files | Interactive wizard workflows, verification templates | Skills are the current recommended format (commands still work but skills add features). Each skill gets a directory with SKILL.md (entrypoint, under 500 lines), plus supporting files (templates, examples, reference docs). Key features: `disable-model-invocation: true` for user-triggered-only workflows, `$ARGUMENTS` for dynamic artist/track selection, supporting files loaded on demand. **Confidence: HIGH** |

---

## Supporting References

### Suno Meta Tags Quick Reference (for embedding in skills)

**Structure:** `[Intro]`, `[Verse]`/`[Verse 1]`, `[Pre-Chorus]`, `[Chorus]`, `[Post-Chorus]`, `[Bridge]`, `[Outro]`, `[End]`, `[Instrumental]`, `[Interlude]`, `[Break]`, `[Drop]`, `[Build]`, `[Hook]`, `[Solo]`, `[Breakdown]`

**Vocal Delivery:** `[Whispered]`, `[Soft]`, `[Spoken]`, `[Powerful]`, `[Belted]`, `[Falsetto]`, `[Breathy]`, `[Raspy]`, `[Harmonies]`, `[Ad-libs]`, `[Choir]`, `[Rapped]`, `[Fast Rap]`, `[Melodic Rap]`

**Negative (V5+):** `[no vocals]`, `[no autotune]`, `[no reverb]`, `[no falsetto]`, `[no choir]`, `[no drums]`, `[no synths]`, `[no electronic elements]`

**Dynamics:** `[Fade In]`, `[Fade Out]`, `[Crescendo]`, `[Decrescendo]`

### Suno Custom Mode Constraints

| Field | Limit | Notes |
|-------|-------|-------|
| Style prompt | 200 characters | Comma-separated tags, earlier = more weight |
| Lyrics | 3000 characters | Include meta tags on separate lines |
| Title | 80 characters | Keep concise and memorable |
| Song length | Up to 4 minutes (V5) | Extended from 2 minutes in V4 |

### French Syllable Counting Rules (for embedding in verification skill)

1. **Mute 'e' rule:** Silent 'e' counts as a syllable BEFORE a consonant, but is elided (not counted) before a vowel or at end of line
2. **Elision:** 'e muet' before vowel or non-aspirated 'h' = no syllable
3. **Liaison:** Final consonant links to next vowel-initial word; does NOT change syllable count
4. **Hiatus avoidance:** Two unelided vowels across word boundaries should be avoided in formal verse
5. **Diaeresis vs syneresis:** Two adjacent vowels within a word can count as 1 syllable (syneresis) or 2 (diaeresis) depending on poetic tradition

### English Syllable/Rhyme Verification Approach

1. **Syllable counting:** Break words by vowel sounds (not letters). Claude is reasonably accurate for English when forced to count step-by-step
2. **Rhyme quality tiers:** Perfect rhyme (same ending sounds), near rhyme (similar but not identical), assonance (matching vowel sounds), consonance (matching consonant patterns)
3. **Scheme notation:** Label each line-ending (A, B, C...) to verify intended patterns match actual patterns

---

## Alternatives Considered

| Recommended | Alternative | Why Not |
|-------------|-------------|---------|
| Suno V5.5 | Udio | Udio has strong arrangement quality but: temporarily disabled downloads during licensing transition (2025-2026), slower generation (90s vs 60s), less consistent structure tag adherence. Suno also has better vocal realism since V5. |
| Suno V5.5 | ElevenLabs Music | ElevenLabs Music launched April 2026, is free (7 songs/day), and has clean licensing. However, audio quality does not yet match Suno V5.5 at its peak. Worth watching as an alternative but not primary. |
| Suno V5.5 | AIVA | AIVA excels at orchestral/classical music but lacks vocal generation capabilities needed for pop/hip-hop/electronic artist workflows. |
| Suno V5.5 | Soundraw / Beatoven | These focus on background/ambient music, not full vocal tracks. Wrong use case. |
| Claude Code Skills | Plain markdown files (current base/) | The existing `base/project.md` and `base/production.md` are informational docs, not executable workflows. Skills provide: structured invocation (`/create-artist`), argument passing, supporting file directories, subagent isolation, and tool pre-approval. Much more powerful. |
| Claude native verification | External NLP tools/APIs | Adding API dependencies contradicts the "zero code, zero runtime" constraint. Claude can perform adequate lyric verification when given explicit step-by-step rules embedded in the skill. Not perfect, but sufficient and zero-dependency. |
| YAML frontmatter + markdown | JSON files (current base/project.md approach) | The existing project uses JSON for the artist bible. Markdown with YAML frontmatter is better because: Claude reads it more naturally, humans can edit it easily, it supports prose sections alongside structured data, and it's the native format of the skills system. |
| Artist folder structure | Single file per artist | A folder allows separating concerns: bible.md (identity), tracks/ (production history), visuals.md (future), lore.md (narrative). Easier for Claude to load only what's needed. |

---

## What NOT to Use

| Avoid | Why | Use Instead |
|-------|-----|-------------|
| Python/Node scripts for verification | Contradicts zero-code constraint; adds runtime dependency | Claude native analysis with structured verification prompts |
| MCP servers for music tools | Overengineered for a markdown workflow; the user copies output to Suno manually | Structured production briefs in markdown that user pastes into Suno Custom Mode |
| JSON for artist identity | Less readable, harder to edit, no prose sections, Claude handles markdown more naturally | YAML frontmatter + markdown body |
| Udio as primary platform | Download issues during licensing transition; slower; less reliable structure tags | Suno V5.5 Custom Mode |
| Complex prompt chaining (multi-step automated) | Claude skills are single-invocation; complex chaining is fragile and hard to debug | Separate skills for each workflow step, user-driven progression |
| AI-generated syllable counts without verification | Claude confidently generates wrong counts; known LLM weakness | Step-by-step count-and-verify approach within structured prompts |
| Universal "do everything" prompts | Too long, too vague, Claude loses focus | Modular skills: one skill per task, supporting files for reference |
| `context: fork` for all skills | Forked subagents lose conversation context; only useful for isolated tasks | Use fork only for research/analysis tasks; keep main workflows inline |

---

## Skill Architecture Pattern

### Recommended `.claude/skills/` Structure

```
.claude/skills/
  create-artist/
    SKILL.md                    # Interactive wizard (user-triggered)
    templates/
      bible-template.md         # Artist bible template
      visual-identity.md        # Visual identity template
    reference/
      genre-guide.md            # Genre/subgenre taxonomy
      vocal-types.md            # Vocal type reference
  create-track/
    SKILL.md                    # Track creation wizard (user-triggered)
    templates/
      production-brief.md       # Suno-ready output template
      lyrics-template.md        # Lyrics structure template
    reference/
      suno-metatags.md          # Complete Suno V5 meta tag reference
      suno-style-guide.md       # Style prompt best practices
  verify-lyrics/
    SKILL.md                    # Linguistic verification (model-invocable)
    reference/
      french-rules.md           # French syllable/rhyme rules
      english-rules.md          # English syllable/rhyme rules
      rhyme-quality-guide.md    # Rhyme classification system
  check-coherence/
    SKILL.md                    # Artist coherence check (model-invocable)
```

### Key Frontmatter Patterns

**User-triggered wizard (create-artist):**
```yaml
---
name: create-artist
description: Interactive wizard to create a new AI virtual music artist with complete identity
argument-hint: [artist-name]
disable-model-invocation: true
allowed-tools: Read Write Bash(ls *) Bash(mkdir *)
---
```

**Model-invocable verification (verify-lyrics):**
```yaml
---
name: verify-lyrics
description: Verify lyrics for rhyme quality, syllable structure, and linguistic correctness in French and English. Use when lyrics have been written or modified.
---
```

---

## Artist Data Schema (Recommended Markdown Format)

### Artist Bible (`artists/{name}/bible.md`)

```markdown
---
# Artist Identity
name: "LUNA/NOVA"
age_perceived: "20-24"
languages: [fr, en]

# Musical Identity
genre_main: "dark pop"
subgenres: ["electronic pop", "ambient pop"]
vocal_type: "female airy alto"
vocal_style: "intimate, breathy, emotional"
emotion_palette: ["melancholic", "nostalgic", "sensual"]
tempo_range: "80-110"
key_signatures: ["Am", "Em", "Dm"]

# Visual Identity
colors: ["silver", "black", "neon blue"]
aesthetic_style: "futuristic minimal"
aesthetic_keywords: ["cyber", "cinematic", "dark", "neon"]

# Suno Configuration
suno_style_base: "dark pop, female airy alto, intimate breathy vocal, cinematic electronic production"
suno_negative: "no autotune, no heavy reverb, no falsetto"
---

## Personality

Introverted, expressive through music, emotionally distant but intense.

## Lore

Une chanteuse virtuelle nee d'un systeme, qui transforme ses emotions en musique
comme un journal intime digital.

## Bio

Chanteuse virtuelle melant dark pop et emotions digitales.

## Tagline

"Je ressens comme une machine qui apprend a aimer."

## Coherence Rules

- Never change vocal type between tracks
- Always stay within emotion palette
- Subgenre exploration allowed but main genre anchor must remain
- Language switching must be motivated by narrative context
```

### Track Record (`artists/{name}/tracks/{track-name}.md`)

```markdown
---
title: "Ecran Noir"
number: 1
language: fr
tempo: 95
key: Am
mood: melancholic
themes: ["loneliness", "digital identity"]
suno_style: "dark pop, female airy alto, melancholic, lo-fi electronic, ambient synths, 95 BPM"
suno_voice: "voice_id_here"  # If using Suno Voices
status: generated  # draft | verified | generated | released
---

## Lyrics

[Verse 1]
...

[Chorus]
...

## Verification Report

### Syllable Analysis
| Line | Target | Actual | Status |
|------|--------|--------|--------|
| ... | 8 | 8 | OK |

### Rhyme Analysis
| Pair | Words | Type | Quality |
|------|-------|------|---------|
| A | noir/soir | Perfect | High |

### Coherence Check
- Genre alignment: OK (dark pop)
- Emotion palette: OK (melancholic)
- Theme consistency: OK (digital identity)
- Language motivation: OK (native French)
```

---

## Distribution Considerations (Future Reference)

| Platform | AI Music Policy (2026) | Requirements |
|----------|----------------------|--------------|
| DistroKid | Allows AI music with conditions | Must own 100% rights, disclose AI tool use, cannot mimic real artist voice/identity |
| Spotify | Allows with metadata requirements | Must specify AI model used, verify no copyrighted training data, provide consent confirmation |
| Suno Commercial Rights | Pro ($10/mo) and Premier ($30/mo) | Full commercial use + monetization rights included in paid plans |

**Confidence: MEDIUM** -- Distribution policies are evolving rapidly in 2026. Verify current requirements before any release.

---

## Existing Reference Projects

### bitwize-music-studio/claude-ai-music-skills
**What:** Open-source Claude Code plugin with 52 skills for Suno-based music production. 80+ MCP tools, quality gates, multi-model orchestration (Opus/Sonnet/Haiku).
**Relevance:** Validates the skill-based approach for AI music workflows. Their architecture (skills/ + reference/ + templates/) directly informs our structure.
**Key difference:** They use an MCP server with Python tools for audio mastering and analysis. Our system is pure markdown with no code dependencies.
**Confidence: HIGH** -- Active open-source project, verified via GitHub.

---

## Sources

- [Suno Official](https://suno.com/) -- Pricing, features, V5.5 announcement (HIGH confidence)
- [Suno V5.5 Blog](https://suno.com/blog/v5-5) -- Voices, Custom Models, My Taste features (HIGH confidence)
- [Suno Help: V5.5 What's New](https://help.suno.com/en/articles/11362305) -- Official changelog (HIGH confidence)
- [HookGenius: Suno Metatags Complete List](https://hookgenius.app/learn/suno-metatags-complete-list/) -- 300+ meta tags reference (MEDIUM confidence)
- [HookGenius: Suno Custom Mode Guide](https://hookgenius.app/learn/suno-custom-mode-guide/) -- Character limits, style format (MEDIUM confidence)
- [HookGenius: Suno V5 Complete Guide](https://hookgenius.app/learn/suno-v5-complete-guide/) -- V5 improvements, negative prompting (MEDIUM confidence)
- [Jack Righteous: Suno Meta Tags Guide](https://jackrighteous.com/pages/suno-ai-meta-tags-guide) -- Structure/vocal/instrument tags (MEDIUM confidence)
- [Claude Code Docs: Skills](https://code.claude.com/docs/en/slash-commands) -- `.claude/skills/` format, frontmatter, $ARGUMENTS (HIGH confidence)
- [bitwize-music-studio/claude-ai-music-skills](https://github.com/bitwize-music-studio/claude-ai-music-skills) -- Reference implementation for Claude + Suno workflows (HIGH confidence)
- [Plint: French Poetry Checker](https://plint.a3nm.net/en/about) -- French syllable counting rules, phonetic approach (MEDIUM confidence)
- [Elliot Plant: Poetry MCP](https://elliotplant.com/blog/poetry-mcp) -- Claude's syllable counting limitations, tool-based solution (MEDIUM confidence)
- [DistroKid AI Policy](https://support.distrokid.com/hc/en-us/articles/41182362733715) -- AI music distribution requirements (MEDIUM confidence)
- [ACE Studio](https://acestudio.ai/) -- Vocal synthesis alternative (MEDIUM confidence)
- [ElevenLabs Music](https://techcrunch.com/2026/04/02/elevenlabs-releases-a-new-ai-powered-music-generation-app/) -- Emerging alternative to Suno (MEDIUM confidence)
- [Suno vs Udio comparison (TLDL)](https://www.tldl.io/blog/suno-vs-udio-comparison) -- Platform comparison (MEDIUM confidence)

---

*Stack research for: AI Virtual Music Artist Creation System*
*Researched: 2026-04-10*
