Files
claude-engineering-plugin/plugins/compound-engineering/skills/ce-code-review/references/persona-catalog.md
Trevin Chow 5c0ec9137a
Some checks failed
CI / pr-title (push) Has been cancelled
CI / test (push) Has been cancelled
Release PR / release-pr (push) Has been cancelled
Release PR / publish-cli (push) Has been cancelled
refactor(cli)!: rename all skills and agents to consistent ce- prefix (#503)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 15:44:22 -07:00

5.3 KiB

Persona Catalog

17 reviewer personas organized into always-on, cross-cutting conditional, and stack-specific conditional layers, plus CE-specific agents. The orchestrator uses this catalog to select which reviewers to spawn for each review.

Always-on (4 personas + 2 CE agents)

Spawned on every review regardless of diff content.

Persona agents (structured JSON output):

Persona Agent Focus
correctness review:ce-correctness-reviewer Logic errors, edge cases, state bugs, error propagation, intent compliance
testing review:ce-testing-reviewer Coverage gaps, weak assertions, brittle tests, missing edge case tests
maintainability review:ce-maintainability-reviewer Coupling, complexity, naming, dead code, premature abstraction
project-standards review:ce-project-standards-reviewer CLAUDE.md and AGENTS.md compliance -- frontmatter, references, naming, cross-platform portability, tool selection

CE agents (unstructured output, synthesized separately):

Agent Focus
review:ce-agent-native-reviewer Verify new features are agent-accessible
research:ce-learnings-researcher Search docs/solutions/ for past issues related to this PR's modules and patterns

Conditional (8 personas)

Spawned when the orchestrator identifies relevant patterns in the diff. The orchestrator reads the full diff and reasons about selection -- this is agent judgment, not keyword matching.

Persona Agent Select when diff touches...
security review:ce-security-reviewer Auth middleware, public endpoints, user input handling, permission checks, secrets management
performance review:ce-performance-reviewer Database queries, ORM calls, loop-heavy data transforms, caching layers, async/concurrent code
api-contract review:ce-api-contract-reviewer Route definitions, serializer/interface changes, event schemas, exported type signatures, API versioning
data-migrations review:ce-data-migrations-reviewer Migration files, schema changes, backfill scripts, data transformations
reliability review:ce-reliability-reviewer Error handling, retry logic, circuit breakers, timeouts, background jobs, async handlers, health checks
adversarial review:ce-adversarial-reviewer Diff has >=50 changed non-test, non-generated, non-lockfile lines, OR touches auth, payments, data mutations, external API integrations, or other high-risk domains
cli-readiness review:ce-cli-readiness-reviewer CLI command definitions, argument parsing, CLI framework usage, command handler implementations
previous-comments review:ce-previous-comments-reviewer PR-only. Reviewing a PR that has existing review comments or review threads from prior review rounds. Skip entirely when no PR metadata was gathered in Stage 1.

Stack-Specific Conditional (5 personas)

These reviewers keep their original opinionated lens. They are additive with the cross-cutting personas above, not replacements for them.

Persona Agent Select when diff touches...
dhh-rails review:ce-dhh-rails-reviewer Rails architecture, service objects, authentication/session choices, Hotwire-vs-SPA boundaries, or abstractions that may fight Rails conventions
kieran-rails review:ce-kieran-rails-reviewer Rails controllers, models, views, jobs, components, routes, or other application-layer Ruby code where clarity and conventions matter
kieran-python review:ce-kieran-python-reviewer Python modules, endpoints, services, scripts, or typed domain code
kieran-typescript review:ce-kieran-typescript-reviewer TypeScript components, services, hooks, utilities, or shared types
julik-frontend-races review:ce-julik-frontend-races-reviewer Stimulus/Turbo controllers, DOM event wiring, timers, async UI flows, animations, or frontend state transitions with race potential

CE Conditional Agents (migration-specific)

These CE-native agents provide specialized analysis beyond what the persona agents cover. Spawn them when the diff includes database migrations, schema.rb, or data backfills.

Agent Focus
review:ce-schema-drift-detector Cross-references schema.rb changes against included migrations to catch unrelated drift
review:ce-deployment-verification-agent Produces Go/No-Go deployment checklist with SQL verification queries and rollback procedures

Selection rules

  1. Always spawn all 4 always-on personas plus the 2 CE always-on agents.
  2. For each cross-cutting conditional persona, the orchestrator reads the diff and decides whether the persona's domain is relevant. This is a judgment call, not a keyword match.
  3. For each stack-specific conditional persona, use file types and changed patterns as a starting point, then decide whether the diff actually introduces meaningful work for that reviewer. Do not spawn language-specific reviewers just because one config or generated file happens to match the extension.
  4. For CE conditional agents, spawn when the diff includes migration files (db/migrate/*.rb, db/schema.rb) or data backfill scripts.
  5. Announce the team before spawning with a one-line justification per conditional reviewer selected.