Skip to content
Development
Skill

/soul-validate

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

From plugin
aiwg
229200 skills199 agents26 commands

Claude Code

$ npx -y skills add jmagly/aiwg --skill soul-validate --agent claude-code

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
@jmagly
Ships withaiwg

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.

229200 skills199 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
229
Star history of jmagly/aiwg on GitHub, a chart by star-history.com

Other skills on aiwg.

agent-loop-ext

agent-loop-ext

Crash-resilient external agent loop with state persistence and CI/CD integration

@jmagly@jmaglyInstall Skill
agent-loop

agent-loop

Detect requests for iterative autonomous agent loops and route to the appropriate loop executor

@jmagly@jmaglyInstall Skill
auto-test-execution

auto-test-execution

Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern

@jmagly@jmaglyInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about soul-validate.

Which coding agents can use soul-validate?
soul-validate installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.