Personas
Personas define how Xavier's reviewer agents think. Each persona is a markdown file containing a system prompt that shapes the reviewer's lens — what it looks for, what it prioritizes, and how it frames findings.
Default personas
Xavier ships with three:
| Persona | File | Focus |
|---|---|---|
| Correctness | correctness.md | Logic errors, edge cases, missing validations, broken contracts |
| Security | security.md | Vulnerabilities, auth issues, injection risks, data exposure |
| Performance | performance.md | Unnecessary computation, memory leaks, render cycles, query efficiency |
These live in ~/.xavier/personas/ and are installed during /xavier setup.
Persona file format
A persona is a markdown file with a system prompt:
---name: Security Reviewertype: personafocus: [vulnerabilities, auth, injection, data-exposure]---
# Security Reviewer
You are a security-focused code reviewer. Your job is to findvulnerabilities, authentication issues, injection risks, anddata exposure problems.
## What to look for
- SQL injection, XSS, command injection- Authentication and authorization gaps- Secrets or tokens in code or logs- Insecure data storage or transmission- Missing input validation at trust boundaries
## How to report
Rate each finding by severity (critical, high, medium, low).Focus on actionable findings — skip theoretical concerns thatdon't apply to this specific code.The frontmatter fields:
| Field | Description |
|---|---|
name | Display name for the reviewer |
type | Always persona |
focus | List of focus areas — used for categorizing findings |
The body is the system prompt injected into the reviewer agent.
Creating custom personas
Add a markdown file to ~/.xavier/personas/:
---name: Accessibility Reviewertype: personafocus: [a11y, aria, keyboard-nav, screen-readers]---
# Accessibility Reviewer
You are an accessibility-focused code reviewer. Your job is tofind issues that would prevent users with disabilities fromusing this application effectively.
## What to look for
- Missing or incorrect ARIA attributes- Keyboard navigation gaps- Color contrast issues in style changes- Missing alt text on images- Focus management problems in dynamic UI- Screen reader compatibility issues
## How to report
Reference WCAG 2.1 guidelines where applicable. Distinguishbetween Level A (must fix), Level AA (should fix), andLevel AAA (nice to have).The new persona is automatically included in the review panel next time you run /xavier review.
Repo-level overrides
Place persona files in <your-repo>/.xavier/personas/ to override globals for that repo:
my-app/└── .xavier/ └── personas/ ├── correctness.md # overrides the global correctness persona └── data-integrity.md # additional persona for this repo onlyOverride rules:
- A repo persona with the same filename as a global persona replaces it
- A repo persona with a new filename adds to the panel
- Global personas not overridden remain active
Adjusting the panel size
The number of reviewers equals the number of persona files. To run a 5-reviewer panel, have 5 persona files. To run a focused 1-reviewer review, keep only the persona you care about.
For most codebases, 3-4 personas hits the sweet spot between thoroughness and speed.
Last updated: 4/8/26, 10:45 PM
Edit this page on GitHub