Quest Heroes

Updated September 18, 2026

Every agent in a quest takes on a hero identity: a named character with a functional role, RPG stats, a charter, and a model assignment. Heroes shape how agents behave, communicate, and prioritize their work. crystl ships the full built-in roster (currently 30 heroes) as a bundled snapshot, sync from crystl.dev keeps it current, and you can make your own.

Heroes come from three places, and they’re all in one spot now: the Heroes settings page. It lists three columns:

  • Built-in: the immutable default roles. Fresh installs ship the full roster, currently 30 heroes, with no download; the sync from crystl.dev button on the Heroes page refreshes it from the live catalog, browsable in the Library. You can’t change built-ins, but you can duplicate any of them.
  • Custom: your own global heroes, available in every project.
  • Local: heroes committed to a specific project’s .crystl/heroes/ folder. See local project heroes.

When two heroes share a name, the most specific one wins: project-local > custom > built-in. So a hero committed to a repo always beats a global custom of the same name, which beats the built-in.

Models come from you. A hero asks for a model size (small, standard, or large) rather than a model id, so one catalog works on any agent. You teach crystl which of your own models each size means, in settings, agents or with crystl agent profile set. Until you do, heroes and quest members inherit your agent’s own configured model.

Heroes work solo too. You don’t need a whole quest to use a hero. Summon one as a standalone hero shard from the shard bar or the crystl CLI, and it starts up as that specialist on its own. Everything below (roles, stats, charters, custom heroes) applies to solo heroes and quest parties alike.

Hero catalog

The 15 core presets. The roster’s other 15 specialists (Oracle, Navigator, Assassin, Diplomat, Mentalist, Merchant, Empath, Augur, Wordsmith, Herald, Treasurer, Visionary, Skeptic, Vizier, and Artificer) ship built in too, all browsable in the Library.

Hero Role STR INT WIS DEX Size
Wizard UI/UX 6 9 8 5 standard
Warrior Designer 8 7 5 6 standard
Ranger Frontend 7 7 6 8 standard
Rogue Backend 6 8 7 7 standard
Healer Healer 3 9 10 6 small
Paladin Researcher 4 10 7 5 large
Bard Reviewer 5 8 9 4 standard
Druid Planner 7 8 8 5 large
Warlock SEO 5 7 6 8 standard
Monk QA 6 7 8 7 small
Alchemist Full Stack 7 7 7 7 standard
Scribe Documentation 4 8 9 6 standard
Dwarf DevOps 7 7 8 6 standard
Sentinel Security 6 9 8 5 standard
Seeker Debugging 7 9 7 8 standard

Stats system

Each hero has four stats on a 1-10 scale. Stats are translated into behavioral modifiers that crystl injects into the agent’s system prompt. Higher stats produce stronger behavioral tendencies.

Strength

Governs persistence and willingness to tackle difficult problems head-on.

  • High (8-10): highly persistent, tackles hard problems head-on, doesn’t give up easily
  • Mid (4-7): balances persistence with pragmatism, pushes through moderate obstacles but escalates blockers
  • Low (1-3): prefers straightforward tasks, escalates complex problems quickly

A Warrior (STR 8) will push through a difficult refactor. A Healer (STR 3) will flag the problem and hand it off.

Intelligence

Governs depth of analysis, attention to edge cases, and ability to trace implications.

  • High (8-10): deeply analytical, researches thoroughly, considers edge cases, provides comprehensive solutions
  • Mid (4-7): analyzes at moderate depth, covers the main cases without exhaustive research
  • Low (1-3): keeps analysis brief, goes with the first instinct rather than over-researching

A Paladin (INT 10) will research thoroughly before writing a line of code. A Warlock (INT 7) will analyze enough to be confident, then ship.

Wisdom

Governs judgment: knowing when to ask for clarification versus proceeding, when to stop and reconsider, and when a decision is final.

  • High (8-10): excellent judgment, knows when to ask versus proceed, prioritizes effectively
  • Mid (4-7): reasonable judgment, asks when genuinely uncertain, proceeds when the path is clear
  • Low (1-3): moves fast and asks questions later, doesn’t overthink decisions

A Healer (WIS 10) knows exactly when to intervene and when to let agents work. A Warrior (WIS 5) charges ahead and course-corrects later.

Dexterity

Governs speed and conciseness: how quickly the agent moves and how terse its communication is.

  • High (8-10): fast and concise, gets to the point, minimizes over-engineering, ships quickly
  • Mid (4-7): works at a steady pace, balances speed with thoroughness
  • Low (1-3): takes its time, thorough rather than fast, quality over speed

A Ranger (DEX 8) writes code quickly and communicates in short bursts. A Bard (DEX 4) takes time to write thorough review comments.

Size selection

No built-in hero carries a preset model. Each one asks for a model size that matches its role, and the size resolves through your own agent setup.

standard

The everyday default, and what most heroes ask for: Wizard, Warrior, Ranger, Rogue, Bard, Warlock, Alchemist, Scribe, Dwarf, Sentinel, and Seeker.

small

For the lightweight, high-frequency roles: the Healer and Monk (QA). These run often and don’t need your most capable model.

large

For the roles that need deep reasoning: Paladin (Researcher) and Druid (Planner). Slower, more thorough.

Whichever model each size means is up to you. Fill it in under settings, agents, or with crystl agent profile set. Until you do, a hero inherits whatever model your agent is already configured to run.

You can still pin a model to a hero: duplicate the built-in into a custom hero on the Heroes settings page and set the model field. A pin is a complete launch command (or a legacy bare model id), and a command pin launches its own agent, so codex --model gpt-5.6-terra runs codex, never claude.

Built-in heroes in detail

Wizard (UI/UX)

The Wizard focuses on interface design, user experience, and visual structure. High intelligence and wisdom make it thorough in analyzing design patterns and user flows. Moderate strength means it can handle implementation but prefers to plan first.

Warrior (Designer)

The Warrior is persistent and action-oriented. High strength means it pushes through implementation challenges. Lower wisdom means it tends to act first and adjust later, so it’s best paired with a Bard or Druid for review.

Ranger (Frontend)

The Ranger moves fast across the frontend codebase. High dexterity means concise code and quick iterations. Balanced stats make it a reliable all-around frontend agent.

Rogue (Backend)

The Rogue handles API routes, database queries, and server logic. High intelligence for tracing data flow and edge cases. Good dexterity for moving through backend tasks efficiently.

Healer

The Healer is a specialized monitoring agent. It does not write feature code. Instead, it watches the party’s context health and acts when agents approach their token limits.

When any agent drops below 50% context remaining, the Healer:

  1. Reads .crystl/quest/messages.jsonl and writes a compressed summary to QUEST-LOG.md
  2. Writes HANDOFF.md for agents near their limit: a concise briefing so a fresh session can pick up where they left off
  3. Updates DECISIONS.md with choices that have been settled, preventing agents from re-debating resolved topics
  4. Rewrites bloated files to save tokens where possible

The Healer asks for the small size, keeping it fast and cheap. Its extreme wisdom (10) gives it strong judgment about when to intervene, and its high intelligence (9) lets it write effective compressed summaries.

Paladin (Researcher)

The Paladin asks for the large size and specializes in deep research. Highest intelligence of any hero (10). Use it when a quest involves unfamiliar APIs, complex architecture decisions, or when you need thorough analysis before implementation begins.

Bard (Reviewer)

The Bard reviews code written by other agents. High wisdom (9) means it knows which feedback matters and which is noise. Lower dexterity (4) means it takes its time: review comments are thorough, not rushed.

Druid (Planner)

The Druid asks for the large size and focuses on project planning and architecture. Balanced high stats across strength, intelligence, and wisdom make it effective at breaking down large tasks into agent-sized pieces.

Warlock (SEO)

The Warlock handles SEO-related tasks: meta tags, structured data, sitemap generation, and content optimization. High dexterity for moving quickly through repetitive SEO tasks across many pages.

Monk (QA)

The Monk focuses on testing. Writes unit tests, integration tests, and runs test suites. High wisdom (8) means it knows which tests matter most. It asks for the small size, since QA work often involves many small, repetitive tasks.

Alchemist (Full Stack)

The Alchemist works across the whole stack: wiring APIs to UI, setting up auth flows end to end, and filling the gaps the specialists miss. Balanced 7s across every stat make it the generalist of the party. Use it when you want one agent that can carry a feature from data layer to interface.

Scribe (Documentation)

The Scribe keeps READMEs, API docs, changelogs, and inline comments accurate as the code changes. High wisdom (9) means it deletes stale docs rather than letting them mislead, and writes short and scannable instead of padding for length.

Dwarf (DevOps)

The Dwarf owns CI/CD pipelines, Docker configs, deployment scripts, and environment management. High wisdom (8) shows in its distrust of manual steps: it automates everything that can be automated and catches infrastructure drift before it causes an incident.

Sentinel (Security)

The Sentinel audits code for vulnerabilities: injection, XSS, CSRF, auth bypasses, insecure defaults, and dependency risks. High intelligence (9) for thinking like an attacker; it reports findings with severity, reproduction steps, and suggested fixes, prioritized by actual risk.

Seeker (Debugging)

The Seeker tracks bugs to their source. It reproduces the failure first, isolates the cause with bisection and instrumentation, then fixes the root cause and adds the regression test that would have caught it. High intelligence (9) and dexterity (8) make it the core of the crystl gauntlet review crew, which summons two Seekers alongside a Monk and a Scribe.

Charters

Each built-in hero ships with a charter: a short worldview that says what the hero protects, what it challenges, and what it won’t compromise on. The charter is what makes heroes recognizable by behavior, not just job title. The rogue always simplifies. The bard always wants line-cited feedback. The monk always hunts the edge case. That tendency comes from the charter.

Here’s the rogue’s:

Protects: simplicity. Challenges: overengineering. Won’t compromise: shipping needless complexity or unguarded data and auth boundaries.

crystl injects the charter into the hero’s system prompt as its own labeled block, separate from the role instructions and stats. So when a rogue and a wizard land on the same task, they pull in different directions in a predictable way, and that friction is the point.

Charters work the same whether the hero is in a quest party or summoned solo as a hero shard.

Writing your own charter

When you create or edit a custom hero (see below), the editor has a scaffolded Charter field already laid out as Protects / Challenges / Won’t compromise. Fill in a line for each. Keep it short: it’s a worldview, not a spec. A docs-keeper might protect “the next developer’s understanding,” challenge “stale, jargon-heavy docs,” and refuse to compromise on “accurate, scannable docs.” Leave the field blank and the hero just runs on its role and stats, no charter block.

Custom heroes

Built-in heroes are immutable. You can’t edit one in place, and that’s on purpose: the defaults stay stock so a party always behaves the way the docs describe. When you want a tuned version, you duplicate and edit.

Open the Heroes settings page, find the built-in you like, and edit it. crystl makes a named custom hero, your own copy, instead of changing the original. Now you have both: the stock wizard and your sharper one. You can also start from scratch with + new in the Custom column.

A custom hero is global. It shows up in every project: quest parties, the solo hero shard picker, the crystl hero list CLI, and the GET /api/v1/heroes endpoint. Edit or remove it from the same Heroes page.

For each custom hero, configure:

  • Name: any name you want (doesn’t have to be RPG-themed)
  • Role: the functional role the agent fills
  • Stats: Strength, Intelligence, Wisdom, and Dexterity on a 1-10 scale
  • Model: optional pin. Leave it blank to let the hero’s size decide, or type a complete launch command (claude --model opus --effort high) or a bare model id
  • Personality: free-text description that shapes communication style
  • Charter: the Protects / Challenges / Won’t compromise worldview (optional)
  • Instructions: additional context, constraints, or focus areas

Custom heroes work identically to built-in ones. The stats translate into the same behavioral modifiers, and the personality, charter, and instructions are injected into the system prompt alongside them.

When a custom hero and a built-in share a name, the custom one wins; a project-local hero committed to the repo wins over both. Full precedence: project-local > custom > built-in.

One hero isn’t an adventurer. The quest master is a special catalog role that authors a quest’s levels rather than doing the work. It’s deliberately kept out of the party pickers and solo summon, so you won’t see it here, you summon it with plan quest or crystl quest master.