agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Merge multiple SOUL.md files into a composite persona for team-level agents or multi-perspective characters
$ npx -y skills add jmagly/aiwg --skill soul-blend --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/soul-blendContext 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
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
Merge multiple SOUL.md files into a composite persona — for team-level agents or multi-perspective characters.
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
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.
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
| 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 | 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 |
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 -->
| 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 |
# 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
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.
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
Reusable project context and specialist workflows for the AI tools you already use. Plan software, coordinate specialist reviews, prepare campaigns, investigate incidents, organize research, curate media, and maintain operational knowledge.
Repo: jmagly/aiwg
Crash-resilient external agent loop with state persistence and CI/CD integration
Detect requests for iterative autonomous agent loops and route to the appropriate loop executor
Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern
Enable agent loops to learn from similar past tasks and share patterns across loops
Query and manage the executable feedback debug memory
Execute tests on generated code and iterate until passing