SoulForge
Use the harness model as the interviewer and the deterministic soul-forge CLI
as the renderer. SoulForge does not select or call an LLM provider.
Workflow
- Confirm
soul-forgeis installed and inspectsoul-forge --help. - Initialize only when
soul-forge.yamlis absent:soul-forge init --no-animation. - Optionally gather existing context:
soul-forge dotfiles <user/repo>for environment signals.soul-forge voice <sample...>for style candidates.
- Run
soul-forge schemaand use its output as the exact profile contract. - Run
soul-forge questions, then conduct a natural interview instead of reading the questions verbatim. - Write
.soul-forge/profile.json. Omit unknowns rather than guessing. - Design each agent's distinct persona in the supported profile or YAML shape.
- Run
soul-forge import .soul-forge/profile.json. - Preview with
soul-forge generate --all --dry-run. - After approval, run
soul-forge generate --allandsoul-forge audit --all.
Interview guidance
Cover identity, goals, communication style, feedback preferences, work habits, decision-making, hard boundaries, technical environment, and output preferences. Ask one focused question at a time and follow useful threads. Treat dotfile and voice analysis as candidates that the user must confirm.
Persona quality
- Give each agent a specific voice, opinions, tensions, and boundaries.
- Prefer concrete example exchanges over adjective lists.
- Put personality and stance in
SOUL.md. - Put operating rules and procedures in
AGENTS.md. - Put human facts and preferences in
USER.md. - Keep accumulated experience in
MEMORY.md. - Avoid generic traits such as “helpful” or “professional” without observable behavioral examples.
Never overwrite an existing MEMORY.md without explicit approval. Edit source
profiles and configuration rather than hand-editing generated files.