Back to Plate

Persona Catalog

.agents/skills/ce-review/references/persona-catalog.md

53.0.55.5 KB
Original Source

Persona Catalog

16 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):

PersonaAgentFocus
correctnesscompound-engineering:review:correctness-reviewerLogic errors, edge cases, state bugs, error propagation, intent compliance
testingcompound-engineering:review:testing-reviewerCoverage gaps, weak assertions, brittle tests, missing edge case tests
maintainabilitycompound-engineering:review:maintainability-reviewerCoupling, complexity, naming, dead code, premature abstraction
project-standardscompound-engineering:review:project-standards-reviewerCLAUDE.md and AGENTS.md compliance -- frontmatter, references, naming, cross-platform portability, tool selection

CE agents (unstructured output, synthesized separately):

AgentFocus
compound-engineering:review:agent-native-reviewerVerify new features are agent-accessible
compound-engineering:research:learnings-researcherSearch docs/solutions/ for past issues related to this PR's modules and patterns

Conditional (7 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.

PersonaAgentSelect when diff touches...
securitycompound-engineering:review:security-reviewerAuth middleware, public endpoints, user input handling, permission checks, secrets management
performancecompound-engineering:review:performance-reviewerDatabase queries, ORM calls, loop-heavy data transforms, caching layers, async/concurrent code
api-contractcompound-engineering:review:api-contract-reviewerRoute definitions, serializer/interface changes, event schemas, exported type signatures, API versioning
data-migrationscompound-engineering:review:data-migrations-reviewerMigration files, schema changes, backfill scripts, data transformations
reliabilitycompound-engineering:review:reliability-reviewerError handling, retry logic, circuit breakers, timeouts, background jobs, async handlers, health checks
adversarialcompound-engineering:review:adversarial-reviewerDiff has >=50 changed non-test, non-generated, non-lockfile lines, OR touches auth, payments, data mutations, external API integrations, or other high-risk domains
previous-commentscompound-engineering:review:previous-comments-reviewerReviewing a PR that has existing review comments or review threads from prior review rounds

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.

PersonaAgentSelect when diff touches...
dhh-railscompound-engineering:review:dhh-rails-reviewerRails architecture, service objects, authentication/session choices, Hotwire-vs-SPA boundaries, or abstractions that may fight Rails conventions
kieran-railscompound-engineering:review:kieran-rails-reviewerRails controllers, models, views, jobs, components, routes, or other application-layer Ruby code where clarity and conventions matter
kieran-pythoncompound-engineering:review:kieran-python-reviewerPython modules, endpoints, services, scripts, or typed domain code
kieran-typescriptcompound-engineering:review:kieran-typescript-reviewerTypeScript components, services, hooks, utilities, or shared types
julik-frontend-racescompound-engineering:review:julik-frontend-races-reviewerStimulus/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.

AgentFocus
compound-engineering:review:schema-drift-detectorCross-references schema.rb changes against included migrations to catch unrelated drift
compound-engineering:review:deployment-verification-agentProduces 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.