plugins/utils/skills/soul-apply/SKILL.md
Apply a SOUL.md identity to content generation, incorporating worldview, opinions, and character
npx skillsauth add jmagly/aiwg soul-applyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Apply a SOUL.md identity to content generation — deeper than voice-apply, incorporating worldview, opinions, and character.
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
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.
| 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 |
./SOUL.md, ./.aiwg/SOUL.md, or specified path.soul.mdUser 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.
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.
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.
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.
| 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) |
| 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 |
When both soul and voice profile are active:
When enforcement is active, /soul-apply is redundant for new content — the soul is already being applied. Use /soul-apply for:
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.
# 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
data-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.