Codex

soul-validate

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

104 stars

Best use case

soul-validate 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.

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

Teams using soul-validate 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-validate/SKILL.md --create-dirs "https://raw.githubusercontent.com/jmagly/aiwg/main/.agents/skills/soul-validate/SKILL.md"

Manual Installation

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

How soul-validate Compares

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

Frequently Asked Questions

What does this skill do?

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

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-validate

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

## Triggers


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

- "soul score" → soul quality metrics
- "check the soul" → soul validation

## Behavior

When triggered, this skill performs a comprehensive quality assessment of a SOUL.md file, checking for completeness, specificity, and effectiveness.

### Validation Process

1. **Locate SOUL.md** — check `./SOUL.md`, `./.aiwg/SOUL.md`, or path from user
2. **Parse sections** — identify which recommended sections are present
3. **Assess each section** for quality criteria
4. **Report results** with specific, actionable feedback

### Section Checklist

| Section | Required | Quality Criteria |
|---------|----------|-----------------|
| Who I Am | Yes | Specific background, not generic. Mentions concrete experience. |
| Worldview | Yes | Beliefs specific enough to be falsifiable. Not platitudes. |
| Opinions | Yes | Organized by domain. Each opinion could be disagreed with. |
| Vocabulary | Recommended | Actual terms with personal definitions, not categories. |
| Boundaries | Recommended | Concrete refusals, not vague ethical statements. |
| Current Focus | Optional | Active projects, current thinking. Dated or contextual. |
| Influences | Optional | Specific people/works with what was taken from each. |
| Tensions | Optional | Genuine contradictions — shows self-awareness. |
| Pet Peeves | Optional | Specific triggers, not generic annoyances. |
| Interests | Optional | Deep interests that inform cross-domain thinking. |

### Quality Tests

#### 1. Prediction Test (Critical)

> "Could someone reading this SOUL.md predict the agent's takes on new, unstated topics?"

- **Pass**: Worldview + opinions are specific enough to interpolate
- **Fail**: Too vague — anyone could have these opinions

#### 2. Specificity Test

Check for vague language patterns that weaken the soul:

| Vague (Fail) | Specific (Pass) |
|-------------|-----------------|
| "I have nuanced views on X" | "I think X is overrated because Y" |
| "I value quality" | "I'll delay a release to fix a flaky test" |
| "I'm interested in technology" | "I've spent 10 years on distributed systems" |
| "I believe in best practices" | "Most 'best practices' are cargo cult" |

Flag any sentence that could apply to anyone.

#### 3. Context Budget Test

- Under 5K tokens (~3,750 words): Pass
- 5K-8K tokens: Warning — consider trimming
- Over 8K tokens: Fail — too large for context budget

#### 4. Anti-Pattern Detection

Flag common anti-patterns:

| Anti-Pattern | Example | Fix |
|-------------|---------|-----|
| Generic positivity | "I'm passionate about helping" | Replace with specific beliefs |
| Exhaustive rules | 50+ boundary statements | Reduce to 5-10 core boundaries |
| No contradictions | Suspiciously coherent persona | Add 2-3 genuine tensions |
| Category-level vocabulary | "technical terms" | List actual terms with definitions |
| Missing opinions | Worldview without takes | Add domain-specific opinions |

#### 5. Companion File Check

Check for recommended companion files:

| File | Purpose | Status |
|------|---------|--------|
| STYLE.md | Writing patterns | Check if exists |
| examples/good-outputs.md | Calibration examples | Check if exists |
| examples/bad-outputs.md | Anti-pattern examples | Check if exists |

### Output Format

```
Soul Validation Report
=======================

File: ./SOUL.md (~2,847 tokens)

Section Completeness
---------------------
  ✓ Who I Am          Present, specific
  ✓ Worldview         Present, 4 falsifiable beliefs
  ✓ Opinions          Present, organized by 3 domains
  ✓ Vocabulary        Present, 12 terms defined
  ✗ Boundaries        Missing — what will the agent refuse?
  ✓ Current Focus     Present
  ✓ Influences        Present, 5 named with takeaways
  ✗ Tensions          Missing — what contradictions exist?
  ✓ Pet Peeves        Present, 4 specific triggers

Quality Tests
--------------
  ✓ Prediction test   Opinions are interpolatable
  ⚠ Specificity test  2 vague statements found:
    Line 14: "I value clean code" → too generic, what specifically?
    Line 31: "I have experience with many frameworks" → which ones?
  ✓ Context budget    ~2,847 tokens (under 5K limit)
  ✓ Anti-patterns     None detected

Companion Files
----------------
  ✗ STYLE.md               Not found
  ✗ examples/good-outputs.md   Not found
  ✗ examples/bad-outputs.md    Not found

Score: 7/10

Recommendations
----------------
1. Add a Boundaries section — define 5-10 concrete refusals
2. Add a Tensions section — list 2-3 genuine contradictions
3. Fix vague statements on lines 14 and 31
4. Consider creating calibration examples (good-outputs.md)
5. Consider creating a STYLE.md companion for writing patterns

Run /soul-enhance to auto-improve these issues.
```

### Scoring

| Score | Meaning |
|-------|---------|
| 9-10 | Production-ready. Distinctive, interpolatable, well-bounded. |
| 7-8 | Good foundation. Missing sections or minor vagueness. |
| 5-6 | Needs work. Multiple missing sections or pervasive vagueness. |
| 3-4 | Weak. Mostly generic. Fails prediction test. |
| 1-2 | Placeholder. Not functional as a soul file. |

## Integration

### With soul-create

After `/soul-create`, automatically offer validation:

```
SOUL.md created. Run /soul-validate to check quality.
```

### With soul-enable

Before enabling, recommend validation if score < 7:

```
Warning: SOUL.md scores 5/10 on quality check.
Consider running /soul-validate and /soul-enhance before enabling.
```

## Examples

```bash
# Validate project soul
/soul-validate

# Validate specific file
/soul-validate .aiwg/SOUL.md

# Validate agent soul
/soul-validate .claude/agents/test-engineer.soul.md
```

## References

- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/skills/soul-create/SKILL.md — Soul creation
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/commands/soul-enable.md — Soul enforcement
- @$AIWG_ROOT/docs/soul-md-guide.md — SOUL.md integration guide
- #437 — SOUL.md compatibility issue

Related Skills

voice-to-soul

104
from jmagly/aiwg

Generate a SOUL.md from an existing AIWG voice profile

Codex

validate-metadata

104
from jmagly/aiwg

Validate AIWG extension definitions against the metadata schema and report errors with field names, line numbers, and remediation hints

Codex

validate-component

104
from jmagly/aiwg

Validate a single AIWG component (skill, agent, or command) for completeness and correctness

Codex

validate-addon

104
from jmagly/aiwg

Validate an entire AIWG addon package for completeness and release readiness

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

soul-apply

104
from jmagly/aiwg

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

Codex