Skip to content

Specialist Agents

edikt ships 18 specialist agent templates covering domain review and implementation. This guide explains what agents are, how routing works, how they interact with rule packs, and how model selection works per phase.

What agents are

Specialist agents are Claude subagents with a defined domain focus. Each agent has:

  • A description: field that tells Claude when to activate it
  • Domain expertise scoped to one area (database, security, frontend, etc.)
  • Constraints that keep it from straying outside its domain

Agents don't replace Claude — they add specialist focus. Claude is the engineer running the session. Agents are the specialists who review plans and code, and implement self-contained tasks in their domain.

Two types of agents

Advisory agents (read-only) — review plans and code, return findings with severity levels. They never write files. This keeps invocations fast and non-destructive.

Implementation agents (read and write) — both review AND implement. Claude delegates self-contained implementation tasks to them.

TypeAgents
Advisoryarchitect, dba, security, api, sre, platform, docs, pm, ux, data, performance, compliance, seo, gtm
Implementationbackend, frontend, qa, mobile

The 18 agents

Always installed

AgentDomain
architectSystem design, ADRs, component boundaries, architectural trade-offs
docsDocumentation accuracy, gap detection, runbooks
qaTesting strategy, test writing, coverage

Common (most projects)

AgentDomain
sreReliability, observability, deployment, infrastructure
securityOWASP, auth patterns, secret management, threat modeling
pmProduct requirements, prioritization, user stories
apiAPI contracts, versioning, breaking changes, documentation

Stack-triggered

AgentTriggered by
backendGo, TypeScript, Python, PHP, Ruby, Java, Rust
frontendTypeScript + React/Vue/Angular/Svelte/Next.js
dbaGo, Python, Java (database-heavy stacks)
uxReact, Next.js, Vue, Angular, Svelte, React Native, Flutter
platformDocker, Kubernetes, Terraform
mobileReact Native, Flutter, Swift, Kotlin
seoNext.js, web content projects
gtmWeb content projects
dataData pipeline projects

Optional (add with /edikt:agents add {slug})

AgentDomain
performancePerformance bottlenecks, profiling, optimization
complianceHIPAA, PCI, SOC2, GDPR

How routing works

Claude routes to agents using their description: field. Each description includes trigger conditions:

yaml
# dba agent description
description: "Reviews and implements database schema, migrations,
  queries, and data modeling. Use proactively when migration or
  schema files are modified."

When Claude sees you working on a migration file, it reads this description and delegates to the dba agent.

Three routing paths:

Auto-routing — Claude reads file context and the agent descriptions, delegates when there's a match.

Command routing — edikt's commands route to the right specialists automatically:

You sayWhat happens
"review this"/edikt:review detects changed file domains, routes to matching agents
"audit the codebase"/edikt:sdlc:audit routes to security and sre agents
"create a plan"/edikt:sdlc:plan assigns reviewers to each phase based on domain
"generate spec artifacts"/edikt:sdlc:artifacts routes each artifact to its domain specialist

Direct delegation — ask by name: "have the dba review this migration"

Plan pre-flight review

When you run /edikt:sdlc:plan, edikt scans the plan content for domain signals and invokes the relevant advisors before execution begins:

Plan mentions...Agent invoked
SQL, migration, schema, indexdba
docker, terraform, helm, k8splatform, sre
auth, JWT, payment, token, RBACsecurity
API, endpoint, REST, webhookapi
bounded context, hexagonal, layerarchitect
performance, cache, latencyperformance

Each advisor reviews only their domain and returns findings before you start building.

Post-implementation review

/edikt:review classifies changed files by domain and routes the diff to the relevant agents:

Changed filesAgent invoked
*.sql, migration*, schema*dba
Dockerfile*, docker-compose*, *.tf, helm/*sre
*auth*, *jwt*, *payment*, *token*security
*route*, *handler*, *controller*, *api*api
*cache*, *perf*, *optimize*performance

How agents work with rule packs

Agents and rule packs serve different purposes and work at different levels:

Rule packsAgents
WhenEvery file, every sessionWhen the task matches their domain
HowLoaded into context automaticallySpawned as subagents with isolated context
WhatStatic coding standardsDynamic specialist review
LanguageLanguage-specific (go.md, typescript.md)Language-agnostic (dba reviews any SQL)

They work together: the Go rule pack teaches Claude Go patterns. The backend agent reviews whether those patterns were applied correctly. The rule pack prevents violations. The agent catches what the rules missed.

Example: Your Go rule pack says "always wrap errors with context." Your backend agent reviews a PR and catches a bare return err — even though the rule told Claude not to do this, the agent catches it in review.

Severity model

All advisory agents use the same three-level model:

LevelMeaning
CriticalMust address before shipping — data loss, security breach, broken contract
WarningShould fix, not blocking
OKDomain looks healthy

Critical findings trigger quality gates that block progression. See Quality Gates.

Model selection — per phase, not per agent

Agents don't have a fixed model. No model: field exists in any agent template. The model is determined by what's being done and how complex it is — assigned at the plan phase level.

When you create a plan, each phase includes a complexity assessment and suggested model:

Phase 1: Multi-tenant schema design
  Complexity: High — architecture decision with security implications
  Suggested model: opus
  Reviewers: architect, dba, security

Phase 3: CRUD handler implementation
  Complexity: Medium
  Suggested model: sonnet
  Reviewers: backend, api

Complexity-to-model mapping:

TaskComplexitySuggested model
Architecture/design decisionsHighopus
Complex implementation (domain logic, state machines)Highopus or sonnet
Standard implementation (CRUD, handlers, tests)Mediumsonnet
Mechanical tasks (formatting, docs, simple tests)Lowhaiku or sonnet
Critical review (security, schema, API contracts)Highopus
Routine review (formatting, naming, small fixes)Lowsonnet or haiku

When agents run outside a plan (ad-hoc review, direct delegation), Claude uses its default model from the main conversation.

Managing agents

Full agent roster: /agents

List installed agents:

/edikt:agents

Add an optional agent:

/edikt:agents add performance
/edikt:agents add compliance

Get recommendations for your stack:

/edikt:agents suggest

Command reference: /edikt:agents

Adding custom agents

Create a file in .claude/agents/my-agent.md:

yaml
---
name: my-domain-expert
description: "Reviews X for Y. Use proactively when Z files are modified."
tools:
  - Read
  - Grep
  - Glob
---

You are a {domain} specialist with deep knowledge of...

Add <!-- edikt:custom --> to the file or list it in .edikt/config.yaml under agents.custom to prevent /edikt:upgrade from overwriting it.

Agent memory

Two agents have persistent memory across sessions:

  • dba — accumulates schema knowledge, migration history, query patterns
  • security — accumulates threat model context, past findings, auth decisions

Memory stores at .claude/agent-memory/{agent-name}/ and loads automatically. The dba agent remembers your schema decisions from last week.

To add memory to any agent, add memory: project to its frontmatter.

Released under the Elastic License 2.0. Free to use, not for resale.