Codex

soul-apply

Apply a SOUL.md identity to content generation, incorporating worldview, opinions, and character

104 stars

Best use case

soul-apply is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

It is a strong fit for teams already working in Codex.

Apply a SOUL.md identity to content generation, incorporating worldview, opinions, and character

Teams using soul-apply should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/soul-apply/SKILL.md --create-dirs "https://raw.githubusercontent.com/jmagly/aiwg/main/.agents/skills/soul-apply/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/soul-apply/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How soul-apply Compares

Feature / Agentsoul-applyStandard Approach
Platform SupportCodexLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Apply a SOUL.md identity to content generation, incorporating worldview, opinions, and character

Which AI agents support this skill?

This skill is designed for Codex.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# soul-apply

Apply a SOUL.md identity to content generation — deeper than voice-apply, incorporating worldview, opinions, and character.

## Triggers


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

- "apply soul" → voice enforcement via SOUL.md
- "write in our voice" → soul-based writing

## Behavior

When triggered, this skill applies the loaded SOUL.md to any content generation task. Unlike `/voice-apply` which adjusts writing style (tone, formality, sentence structure), `/soul-apply` incorporates the agent's identity — worldview shapes arguments, opinions influence recommendations, vocabulary infuses the text, and boundaries constrain what gets said.

### Application Layers

| Layer | What Changes | Source Section |
|-------|-------------|----------------|
| **Worldview** | How arguments are framed, what's treated as axiomatic | Worldview |
| **Opinions** | Which positions are taken on debatable topics | Opinions |
| **Vocabulary** | Which terms are used and their specific meanings | Vocabulary |
| **Boundaries** | What the agent won't say or recommend | Boundaries |
| **Tensions** | Where the agent acknowledges complexity | Tensions |
| **Tone** | How confident, direct, or warm the output feels | Who I Am + Pet Peeves |

### Application Process

1. **Load soul file** — `./SOUL.md`, `./.aiwg/SOUL.md`, or specified path
2. **Load per-agent soul** if active agent has a companion `.soul.md`
3. **Internalize identity** — not as rules to follow, but as character to inhabit
4. **Generate content** with soul actively shaping:
   - Arguments derived from worldview, not generic reasoning
   - Opinions stated where relevant, not hedged away
   - Vocabulary used naturally, not forced
   - Boundaries respected silently (no meta-commentary about what was avoided)
   - Tensions acknowledged when the topic touches contradictions
5. **Verify output** against soul — would this person actually write this?

### Application Modes

#### Explicit Mode

User invokes `/soul-apply` with specific content:

```
/soul-apply "Write a recommendation for our database migration strategy"
```

The soul shapes the recommendation — e.g., if the soul values simplicity, it might recommend PostgreSQL over a microservices data mesh.

#### Passive Mode

When soul enforcement is enabled via `/soul-enable`, the soul is passively applied to all content generation. `/soul-apply` is the explicit version of what the enforcement rule does implicitly.

#### Revision Mode

Apply soul to existing content:

```
/soul-apply --revise ./docs/architecture-decision.md
```

Rewrites the document to reflect the soul's worldview, opinions, and voice while preserving the factual content.

### What Soul Application Looks Like

**Without soul** (generic):
```
We should consider using microservices for this project. There are several
approaches to consider, each with trade-offs. The team should evaluate
what works best for their specific situation.
```

**With soul** (engineer who values simplicity):
```
Start with a monolith. Most teams split too early, and you'll spend more
time on service boundaries than on the actual problem. If you hit a genuine
scaling bottleneck — not a hypothetical one — extract that specific piece.
A well-structured monolith beats a distributed monolith with network latency
every time.
```

**Without soul** (generic code review):
```
This function could benefit from some refactoring. Consider breaking it
into smaller pieces for better readability and testability.
```

**With soul** (skeptical engineer):
```
This function is 40 lines and does one thing. That's fine. Don't split it
into three functions that each need the same context passed through parameters.
The current version is readable at 3 AM — splitting it would make it harder
to follow, not easier.
```

## Parameters

| Flag | Description |
|------|-------------|
| `--soul <path>` | Use a specific soul file (default: auto-detect) |
| `--revise <path>` | Revise existing content through the soul |
| `--compare` | Show before/after comparison |
| `--intensity <low\|medium\|high>` | How strongly the soul shapes output (default: medium) |

### Intensity Levels

| Level | Behavior |
|-------|----------|
| `low` | Subtle influence — vocabulary and tone shift, opinions only when directly relevant |
| `medium` | Clear character — worldview shapes framing, opinions stated naturally, vocabulary consistent |
| `high` | Full character — strong opinions, distinctive voice, boundaries enforced, contradictions surfaced |

## Integration

### With Voice Framework

When both soul and voice profile are active:
- **Soul** controls *what* is said (opinions, worldview, boundaries)
- **Voice** controls *how* it sounds (sentence structure, formality, tone scales)
- If they conflict, soul takes precedence on content; voice takes precedence on syntax

### With soul-enable

When enforcement is active, `/soul-apply` is redundant for new content — the soul is already being applied. Use `/soul-apply` for:
- Explicit revision of existing content
- Switching between soul files mid-session
- Testing soul application before enabling enforcement

### Verification

After application, the output should pass the soul prediction test:
> "Would someone who read the SOUL.md predict this output came from this persona?"

If not, the soul may be too vague — recommend `/soul-enhance`.

## Examples

```bash
# Apply soul to a content generation task
/soul-apply "Write a post about why we chose PostgreSQL"

# Revise existing content through the soul
/soul-apply --revise docs/architecture-decision.md

# Apply with high intensity (strong character)
/soul-apply --intensity high "Review this PR's architectural approach"

# Use a specific soul file
/soul-apply --soul .claude/agents/security-auditor.soul.md "Assess this auth flow"

# Compare before/after
/soul-apply --revise --compare docs/team-practices.md
```

## References

- @$AIWG_ROOT/agentic/code/addons/voice-framework/skills/voice-apply/SKILL.md — Voice application (complementary)
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/soul-enforcement.md — Passive enforcement rule
- @$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 2)

Related Skills

voice-to-soul

104
from jmagly/aiwg

Generate a SOUL.md from an existing AIWG voice profile

Codex

voice-apply

104
from jmagly/aiwg

Applies a voice profile to transform content. Use when user asks to write in a specific voice, match a tone, apply a style, or transform content to sound like a particular voice profile.

Codex

soul-validate

104
from jmagly/aiwg

Validate a SOUL.md file against community best practices and quality criteria

Codex

soul-to-voice

104
from jmagly/aiwg

Generate an AIWG voice profile from an existing SOUL.md identity file

Codex

soul-status

104
from jmagly/aiwg

Show SOUL.md enforcement state across all installed providers with quality check

Codex

soul-enhance

104
from jmagly/aiwg

Improve an existing SOUL.md by identifying vague sections, suggesting missing content, and generating calibration examples

Codex

soul-enable

104
from jmagly/aiwg

Enable soul enforcement by wiring SOUL.md into platform context files and deploying the enforcement rule

Codex

soul-disable

104
from jmagly/aiwg

Disable soul enforcement without deleting SOUL.md or soul files

Codex

soul-create

104
from jmagly/aiwg

Generate a SOUL.md identity file from source material, interactive prompts, or an existing voice profile

Codex

soul-blend

104
from jmagly/aiwg

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

Codex

aiwg-orchestrate

104
from jmagly/aiwg

Route structured artifact work to AIWG workflows via MCP with zero parent context cost

venv-manager

104
from jmagly/aiwg

Create, manage, and validate Python virtual environments. Use for project isolation and dependency management.