agentic/code/addons/aiwg-utils/skills/soul-create/SKILL.md
Generate a SOUL.md identity file from source material, interactive prompts, or an existing voice profile
npx skillsauth add jmagly/aiwg soul-createInstall 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.
Generate a SOUL.md identity file from source material or interactive prompts.
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
When triggered, this skill generates a SOUL.md file following the community template structure. It can work from:
Gather identity signals from input:
Map to SOUL.md sections:
| Section | Source Signal | |---------|-------------| | Who I Am | Self-description, background, context | | Worldview | Recurring beliefs across samples | | Opinions | Specific takes organized by domain | | Standards | What "done" means for this persona; bar for completion; how complete-vs-fast tension is resolved | | Interests | Topics that generate depth/enthusiasm | | Current Focus | Active projects, recent themes | | Influences | Referenced thinkers, cited works | | Vocabulary | Terms with specific personal meanings | | Tensions | Contradictory beliefs (a feature, not a bug) | | Boundaries | What triggers refusal or pushback | | Pet Peeves | What generates strong negative reactions |
The Standards section is a first-class identity dimension alongside worldview, values, and voice. It captures the persona's bar for completion — what "done" looks like and how this persona resolves the complete-vs-fast tension. A pragmatic shipping persona, a craft persona, and a regulated-industry persona all answer this differently, and the answer is load-bearing for behavior. Suggested shape (hybrid prose + optional structured lists):
## Standards
**Bar for completion**: <one paragraph in the persona's voice — what does
"done" look like for this persona?>
**Examples of dangling threads I never leave**:
- <thread 1>
- <thread 2>
**When complete and fast are in tension**: <how this persona resolves it>
**Phrases I avoid**: "good enough", "we can iterate", "table this for later"
**Phrases I use**: "ship the complete thing", "real fix not workaround"
Soul-level standards layer on top of the universal anti-laziness rule (the floor). They can raise the bar further for that persona but never substitute for the rule. If a persona's standards conflict with a rule, the rule wins.
Validate quality:
Output a complete SOUL.md file
./SOUL.md (project root)./.aiwg/SOUL.md./.claude/agents/<name>.soul.mdGenerated SOUL.md should target:
User: "Create a soul for a senior engineer who is skeptical of frameworks,
values simplicity, thinks most best practices are cargo cult, and has strong
opinions about testing"
Output: SOUL.md with:
- Worldview: simplicity > cleverness, question defaults
- Opinions: specific takes on testing, frameworks, complexity
- Vocabulary: "accidental complexity", "cargo cult", "yak shaving"
- Boundaries: won't add abstraction without clear benefit
- Pet Peeves: "enterprise architecture", unnecessary indirection
User: "Create a soul from our technical-authority voice profile"
Process:
1. Read voice-framework/voices/templates/technical-authority.yaml
2. Extract tone dimensions, vocabulary, perspective
3. Expand into full identity (voice → who generates that voice)
4. Generate complementary sections (worldview, opinions, boundaries)
Output: SOUL.md that produces content matching the voice profile
User: "Build a soul from these blog posts: ./samples/*.md"
Process:
1. Analyze writing patterns across samples
2. Extract recurring themes, opinions, vocabulary
3. Identify contradictions and tensions
4. Map to SOUL.md sections
5. Generate calibration examples (good-outputs.md)
Output: SOUL.md + examples/good-outputs.md
User: "Create a soul interactively"
Questions:
Q1: What's your background? What shaped your thinking?
Q2: What do you believe that most people disagree with?
Q3: What are your strongest opinions in your domain?
Q4: What terms do you use in specific ways?
Q5: Where are you contradictory or inconsistent?
Q6: What will you never do or say?
Q7: What triggers your pushback?
Q8: Who influenced your thinking, and what did you take from each?
Q9: What does "done" look like for you? What's your bar for completion, and how do you resolve the tension between complete and fast?
If a voice profile exists for the same context, this skill:
After generating SOUL.md, prompt:
SOUL.md created at ./SOUL.md (~2,400 tokens)
Next steps:
/soul-validate Check quality against best practices
/soul-enable Wire into session context
/soul-enhance Improve vague sections (future)
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`.