Specialist agents

The .claude/agents/ roster of focused Claude Code subagents — what each owns and when to delegate.

The monorepo ships a roster of specialist agents under .claude/agents/ — focused Claude Code subagents, each owning one component or cross-cutting concern. They're how work is delegated: the main session hands a scoped task to the agent that owns that surface, and that agent knows its component's conventions, deploy path, and contracts cold.

This is distinct from two other "agent" ideas in the project:

  • BusyBro's specialist lens — the silent per-question persona BusyBro picks (shown in its — BusyBro · {emoji} {label} signature). It mirrors most of this roster but is an answer-style, not a delegatable worker.
  • Per-service BusyBro agents — reusable busybro_agents personas you link to a service group (Settings → Services → Agents) through the service_group_agents join. The group's primary agent tailors how BusyBro reasons about that service's traffic; see BusyBro specialist agents.

The agents below are the workers. Each maps to a Warp tab (component = tab = session) and keeps a running journal at notes/journal/<component>.md.

Component specialists

AgentOwnsUse it when
iosios/ — BusymateHelper (NEPacketTunnelProvider VPN + MITM capture, hand-rolled SupabaseClient, RealtimeSubscriber)Swift/Xcode work, device install/launch, log diagnosis, a TestFlight ship
dashboardweb/dashboard/ — the Next.js + shadcn capture viewer (feed, workspace tabs, filters, Devices/Services/Domains panels, realtime, auth)Any dashboard UI/state/realtime work; keeps MCP + docs + version in sync
proxyweb/proxy-server/ — the Node/TS Charles-style MITM proxy for non-iOS clients; owns the canonical TrafficLogEntry shape + the source enum + Realtime controlCapture, CA/leaf, ingest, or control-channel (breakpoint-continue, resend) work
supabasesupabase/ — the schema source of truth (migrations, RLS, Realtime triggers) and Edge Functions (ingest, device-pair, snapshot, push-notify, github-webhook, telegram-bot, busybro-bot, ask, mcp)Any schema change (it fans out to every component) or Edge Function work
mcpThe MCP server (supabase/functions/mcp/index.ts) — the JSON-RPC tool surface that must mirror every dashboard read/write (full parity)Adding/changing a tool, or when the dashboard gains a capability the MCP doesn't expose yet
docsdocs/ content tree (rendered at docs.busymate.net) + the web/docs siteWhenever a feature ships so the docs cover it, or to fix nav _meta.json
cdpcli/cdp-connector/ — the bmc CLI (local Chrome DevTools Protocol capture that streams decrypted traffic into the same feed)bmc commands/flags, Chrome launch, ingest, or connector releases

Cross-cutting specialists

AgentScopeUse it when
securityThreat monitoring + serious security fixes across the whole monorepo (auth/RLS gaps, service-role exposure, open-proxy / flood / DoS, SSRF, secret handling, MCP tool safety, ingest abuse). Owns security/Before a ship, after a feature lands, or on any "is this safe?" concern. Drives the fix in the owning component
performanceProject-wide UX + DB + network optimization (Core Web Vitals/INP/CLS, bundle size, re-render storms; Postgres slow queries/indexes/RLS-initplan/N+1; proxy throughput, pg-streamer buffer pressure, payload size, Realtime fan-out cost). Owns performance/Any "make it faster / why is this slow?" work. Golden rule: measure → fix → re-measure
component-syncVerifies + restores cross-component sync — runs the contract audit, finds gaps between api/ws/mcp/dashboard/docs/proxy/cdp/iOS, and closes themBefore any ship, after a feature lands, or when asked "are the components in sync?"
ui-designerVisual/UX design for the web surfaces (dashboard, docs, status) within the existing shadcn/ui + Tailwind language — design systems, typography/spacing/color, accessibility (WCAG AA), responsive layout, pixel polish"Improve the UX / make this look better / design a component"

See also