Persona
Your persona tunes how Throughspec talks to you - the verbosity of CLAUDE.md, the guidance it prints, and the "Why this step?" annotations. It is chosen at scaffold time and stored in spec.config.js.
Choosing a persona
Every scaffold resolves a persona. Pass --persona, pick one in the interactive prompt, or accept the default (engineer) in a non-interactive run. It is written to the managed block of spec.config.js and drives which guidance block survives in CLAUDE.md.
spec-init my-app --persona student # or run without --persona to be prompted
The four personas
vibeShip first. Claude explains heavy steps in one line and skips prose you do not need - without skipping a required cross-question.studentLearning by building. After each phase Claude answers "Why this step?" and appends it to claude/learnings.md.engineerSolo velocity. Reads claude/context.md before Grep, logs non-trivial decisions to claude/design-decisions.md. The default.teamShared contract. Every PR runs the pull_request_template.md checklist; memory-file conflicts are treated as blocking.Changing it later
Swap persona any time - customize updates spec.config.js and re-derives CLAUDE.md’s managed persona region. Your product notes and edits are untouched.
spec-init customize --persona engineer
Where it livesThe persona is the ground truth in spec.config.js. You can read or edit it there directly; the CLI keeps CLAUDE.md in sync.