Skip to content
Development
Skill

/soul-blend

Merge multiple SOUL.md files into a composite persona for team-level agents or multi-perspective characters

From plugin
aiwg
176200 skills199 agents23 commands
Install
$ npx -y skills add jmagly/aiwg --skill soul-blend --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/soul-blend

Context preview

The summary Claude sees to decide when to auto-load this skill.

Merge multiple SOUL.md files into a composite persona for team-level agents or multi-perspective characters

SKILL.md

soul-blend.SKILL.md
namespace: aiwg
name: soul-blend
platforms: [all]
description: Merge multiple SOUL.md files into a composite persona for team-level agents or multi-perspective characters

soul-blend

Merge multiple SOUL.md files into a composite persona — for team-level agents or multi-perspective characters.

Triggers

Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):

  • "blend souls" → multi-SOUL.md synthesis
  • "merge voice profiles" → soul blending

Behavior

When triggered, this skill takes two or more SOUL.md files and produces a unified composite that preserves distinctive elements from each while resolving conflicts coherently.

Blending Process

1. **Load source souls** — read all input SOUL.md files 2. **Identify overlaps** — shared beliefs, vocabulary, boundaries 3. **Identify conflicts** — contradictory opinions, incompatible boundaries 4. **Resolve conflicts** using a configurable strategy 5. **Merge non-conflicting sections** — union of vocabulary, interests, influences 6. **Generate composite** — new SOUL.md with attribution for each element 7. **Validate result** — run soul-validate on the output

Conflict Resolution Strategies

| Strategy | Behavior | Use When | |----------|----------|----------| | `weighted` (default) | Primary soul takes precedence on conflicts | One soul is dominant, others add flavor | | `union` | Include both sides of each conflict as a Tension | Building a deliberately complex persona | | `consensus` | Keep only opinions both souls share | Building a team consensus persona | | `interactive` | Ask user to resolve each conflict | Precision matters |

Section Merging Rules

| Section | Merge Strategy | |---------|---------------| | Who I Am | Combine backgrounds into composite narrative | | Worldview | Union non-conflicting beliefs; conflicts → strategy | | Opinions | Union non-conflicting; conflicts → strategy | | Standards | **Highest-bar wins** by default. Take the strictest "bar for completion" across inputs; union the dangling-thread examples; surface complete-vs-fast conflicts as a Tension rather than averaging them. Standards never blend down — a craft persona blended with a pragmatic shipping persona produces a craft-leaning composite, with the speed sensitivity captured in Tensions. Override with `--strategy consensus` to keep only the bar both souls share. | | Vocabulary | Union all terms; flag conflicting definitions | | Boundaries | Union all (strictest boundary wins) | | Interests | Union all | | Influences | Union all, deduplicate | | Tensions | Union all + add new tensions from resolved conflicts | | Pet Peeves | Union all |

Output Format

The blended SOUL.md includes attribution comments:

## Worldview

- Simplicity beats cleverness <!-- from: engineer.soul.md -->
- Security is not optional <!-- from: auditor.soul.md -->
- Both agreed: test what matters, not everything <!-- shared -->

## Tensions

- Values moving fast (engineer) but also thorough review (auditor) <!-- blend tension -->

Parameters

| Flag | Description | |------|-------------| | `<files...>` | Two or more SOUL.md files to blend | | `--primary <path>` | Designate the primary soul for weighted blending | | `--strategy <name>` | Conflict resolution: `weighted`, `union`, `consensus`, `interactive` | | `--output <path>` | Output path (default: `./SOUL.md`) | | `--strip-attribution` | Remove `<!-- from: -->` comments from output |

Examples

# Blend two agent souls
/soul-blend .claude/agents/test-engineer.soul.md .claude/agents/security-auditor.soul.md

# Weighted blend with primary
/soul-blend --primary engineer.soul.md engineer.soul.md designer.soul.md

# Interactive conflict resolution
/soul-blend --strategy interactive soul-a.md soul-b.md soul-c.md

# Team consensus
/soul-blend --strategy consensus team-member-*.soul.md --output team-soul.md

Integration

With voice-blend

Parallel to `/voice-blend` which merges voice profiles. If both voice profiles and soul files exist for the same sources, consider blending both and running `/soul-to-voice` to keep them synchronized.

With SDLC Agent Souls

Blend SDLC agent souls to create cross-functional agents:

# Create a "security-aware test engineer"
/soul-blend \
  --primary .claude/agents/test-engineer.soul.md \
  .claude/agents/test-engineer.soul.md \
  .claude/agents/security-auditor.soul.md \
  --output .claude/agents/security-test-engineer.soul.md

References

  • @$AIWG_ROOT/agentic/code/addons/voice-framework/skills/voice-blend/SKILL.md — Voice blending (parallel pattern)
  • @$AIWG_ROOT/agentic/code/addons/aiwg-utils/skills/soul-create/SKILL.md — Soul creation
  • @$AIWG_ROOT/docs/soul-md-guide.md — Integration guide
  • #437 — SOUL.md compatibility issue (Phase 3)
Read more
Ships withaiwg

Multi-agent AI framework for Claude Code, Copilot, Cursor, Warp, and 6 more platforms 200+ agents, 109+ CLI commands, 400+ deployable agent/skill/command/rule artifacts, 8 core frameworks, 32 addons, and a 40-plugin Claude Code marketplace.

Get the whole plugin