Skip to content
Development
Skill

/soul-validate

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

From plugin
aiwg
176200 skills199 agents23 commands
Install
$ npx -y skills add jmagly/aiwg --skill soul-validate --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-validate

Context preview

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

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

SKILL.md

soul-validate.SKILL.md
namespace: aiwg
name: soul-validate
platforms: [all]
description: Validate a SOUL.md file against community best practices and quality criteria

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. | | Standards | Recommended | Concrete bar for completion. Names dangling threads this persona never leaves and how complete-vs-fast tension resolves. Not "I value quality." | | 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. |

**Backwards compatibility**: Souls that predate the Standards section validate with a **warning**, not an error. Existing souls remain functional; `/soul-enhance` proposes Standards content. New souls created via `/soul-create` should populate the section.

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 aim for excellence" | "Done = no dangling threads, real fix not workaround" | | "I believe in completeness" | "I never ship a fix without a regression test for it" | | "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
  ⚠ Standards         Missing — what's this persona's bar for "done"? (warning, not error)
  ✓ 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. M

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