Overview
Add a Hermes Agent-inspired personality system to OpenCode that separates intent-routing from identity, supports built-in and custom personalities, and adds session-level switching via `/personality`.
Motivation
The current `soul.txt` is a static F5-specific intent-routing table — not a personality. Users have no way to customize the agent's identity, tone, or communication style. The community-submitted PR #11838 shows demand for this.
Reference
Architecture
Prompt Stack (slot order):
1. Soul identity — SOUL.md (user-editable, auto-seeded)
2. Personality overlay — /personality session switching (ephemeral)
3. Routing — routing.txt (F5 capability routing, internal)
4. Provider prompt — model-specific guidance
5. Environment — model info, working dir, date
6. Skills — available skill listing
7. Instructions — AGENTS.md, CLAUDE.md, etc.
Child Issues
Development
Branch: `feature/soul-personality`
Approach: Test-driven development (TDD) — tests written before implementation.
Overview
Add a Hermes Agent-inspired personality system to OpenCode that separates intent-routing from identity, supports built-in and custom personalities, and adds session-level switching via `/personality`.
Motivation
The current `soul.txt` is a static F5-specific intent-routing table — not a personality. Users have no way to customize the agent's identity, tone, or communication style. The community-submitted PR #11838 shows demand for this.
Reference
Architecture
Child Issues
Development
Branch: `feature/soul-personality`
Approach: Test-driven development (TDD) — tests written before implementation.