8 specialist developer agents for backend (TypeScript), DevOps, frontend, design, UI implementation, QA (backend + frontend), and SRE. Dispatch when you need deep technology expertise.
The marsai-dev-team plugin provides 8 specialized developer agents. Use them via Task tool with subagent_type:.
See CLAUDE.md and marsai:using-marsai for canonical workflow requirements and ORCHESTRATOR principle. This skill introduces dev-team-specific agents.
Remember: Follow the ORCHESTRATOR principle from marsai:using-marsai. Dispatch agents to handle complexity; don't operate tools directly.
<block_condition>
If any condition applies, STOP and ask user.
always pause and report blocker for:
| Decision Type | Examples | Action |
|---|---|---|
| Technology Stack | TypeScript variant for new service | STOP. Check existing patterns. Ask user. |
| Architecture | Monolith vs microservices | STOP. This is a business decision. Ask user. |
| Infrastructure | Cloud provider choice | STOP. Check existing infrastructure. Ask user. |
| Testing Strategy | Unit vs E2E vs both | STOP. Check QA requirements. Ask user. |
You CANNOT make technology decisions autonomously. STOP and ask.
See shared-patterns/shared-anti-rationalization.md for universal anti-rationalizations (including Specialist Dispatch section).
Self-sufficiency bias check: If you're tempted to implement directly, ask:
If any answer is yes → You MUST DISPATCH the specialist. This is NON-NEGOTIABLE.
| Severity | Criteria | Examples |
|---|---|---|
| CRITICAL | Wrong agent dispatched, security risk | Backend agent for frontend task, skipped security review |
| HIGH | Missing specialist dispatch, sequential reviewers | Implemented directly without agent, reviewers run one-by-one |
| MEDIUM | Suboptimal agent selection, missing context | Used general agent when specialist exists |
| LOW | Documentation gaps, minor dispatch issues | Missing agent context, unclear prompt |
Report all severities. CRITICAL = immediate correction. HIGH = fix before continuing. MEDIUM = note for next dispatch. LOW = document.
See shared-patterns/shared-anti-rationalization.md for universal anti-rationalizations (including Specialist Dispatch section and Universal section).
<cannot_skip>
These requirements are NON-NEGOTIABLE:
| Requirement | Why It Cannot Be Waived |
|---|---|
| Dispatch to specialist | Specialists have standards loading, you don't |
| 8-gate development cycle | Gates prevent quality regressions |
| Parallel reviewer dispatch | Sequential review = 3x slower, same cost |
| TDD in Gate 0 | Test-first ensures testability |
| User approval in Gate 9 | Only users can approve completion |
User cannot override these. Time pressure cannot override these. "Simple task" cannot override these.
See shared-patterns/shared-pressure-resistance.md for universal pressure scenarios (including Combined Pressure Scenarios and Emergency Response).
Critical Reminder:
See shared-patterns/shared-pressure-resistance.md → Emergency Response section for the complete protocol.
Emergency Dispatch Template:
Task tool:
subagent_type: "marsai:backend-engineer-typescript"
prompt: "URGENT PRODUCTION INCIDENT: [brief context]. [Your specific request]"
IMPORTANT: Specialist dispatch takes 5-10 minutes, not hours. This is NON-NEGOTIABLE even under CEO pressure.
See shared-patterns/shared-pressure-resistance.md → Combined Pressure Scenarios section.
<dispatch_required agent="{specialist}"> Use Task tool to dispatch appropriate specialist based on technology need. </dispatch_required>
| Agent | Specializations | Use When |
|---|---|---|
marsai:backend-engineer-typescript | TypeScript/Node.js, Express/Fastify/NestJS, Prisma/TypeORM, async patterns, Jest/Vitest | TS backends, JS→TS migration, NestJS design, full-stack TS |
marsai:devops-engineer | Docker/Compose, Terraform/Helm, cloud infra, secrets management | Containerization, local dev setup, IaC provisioning, Helm charts |
marsai:frontend-bff-engineer-typescript | Next.js API Routes BFF, Clean/Hexagonal Architecture, DDD patterns, Inversify DI, repository pattern | BFF layer, Clean Architecture, DDD domains, API orchestration |
marsai:frontend-designer | Bold typography, color systems, animations, unexpected layouts, textures/gradients | Landing pages, portfolios, distinctive dashboards, design systems |
marsai:ui-engineer | Wireframe-to-code, Design System compliance, UX criteria satisfaction, UI states implementation | Implementing from product-designer specs (ux-criteria.md, user-flows.md, wireframes/) |
marsai:qa-analyst | Test strategy, coverage analysis, API testing, integration/chaos testing | Backend test planning, coverage gaps, quality gates |
marsai:qa-analyst-frontend | Vitest, Testing Library, axe-core, Playwright, Lighthouse, Core Web Vitals, snapshot testing | Frontend test planning, accessibility, visual, E2E, performance testing |
marsai:sre | Structured logging, tracing, health checks, observability | Logging validation, tracing setup, health endpoint verification |
Dispatch template:
Task tool:
subagent_type: "marsai:{agent-name}"
prompt: "{Your specific request with context}"
Frontend Agent Selection:
marsai:frontend-designer = visual aesthetics, design specifications (no code)marsai:frontend-bff-engineer-typescript = business logic/architecture, BFF layermarsai:ui-engineer = implementing UI from product-designer specs (ux-criteria.md, user-flows.md, wireframes/)When to use marsai:ui-engineer:
Use marsai:ui-engineer when product-designer outputs exist in docs/pre-dev/{feature}/. The marsai:ui-engineer specializes in translating design specifications into production code while ensuring all UX criteria are satisfied.
Both can be used together: Get developer specialist guidance during design, then run general reviewers before merge.
If you need multiple specialists (e.g., backend engineer + DevOps engineer), dispatch in parallel (single message, multiple Task calls):
✅ CORRECT:
Task #1: marsai:backend-engineer-typescript
Task #2: marsai:devops-engineer
(Both run in parallel)
❌ WRONG:
Task #1: marsai:backend-engineer-typescript
(Wait for response)
Task #2: marsai:devops-engineer
(Sequential = 2x slower)
Remember:
"I need a TypeScript service. Let me dispatch
marsai:backend-engineer-typescriptto design it."
"I'll manually read TypeScript best practices and design the service myself."
Agents: See "9 Developer Specialists" table above.
Skills: marsai:using-dev-team (this), marsai:dev-cycle (8-gate backend workflow), marsai:dev-cycle-frontend (9-gate frontend workflow), marsai:dev-refactor (backend/general codebase analysis), marsai:dev-refactor-frontend (frontend codebase analysis)
Commands: /marsai:dev-cycle (backend tasks), /marsai:dev-cycle-frontend (frontend tasks), /marsai:dev-refactor (analyze backend/general codebase), /marsai:dev-refactor-frontend (analyze frontend codebase), /marsai:dev-status, /marsai:dev-cancel, /marsai:dev-report
Note: Missing agents? Check .claude-plugin/marketplace.json for marsai-dev-team plugin.
All workflows converge to the 8-gate development cycle:
| Workflow | Entry Point | Output | Then |
|---|---|---|---|
| New Feature | /marsai:pre-dev-feature "description" | docs/pre-dev/{feature}/tasks.md | → /marsai:dev-cycle tasks.md |
| Direct Tasks | /marsai:dev-cycle tasks.md | — | Execute 8 gates directly |
| Refactoring | /marsai:dev-refactor | docs/marsai:dev-refactor/{timestamp}/tasks.md | → /marsai:dev-cycle tasks.md |
| Frontend Refactoring | /marsai:dev-refactor-frontend | docs/marsai:dev-refactor-frontend/{timestamp}/tasks.md | → /marsai:dev-cycle-frontend tasks.md |
8-Gate Backend Development Cycle:
| Gate | Focus | Agent(s) |
|---|---|---|
| 0: Implementation | TDD: RED→GREEN→REFACTOR | marsai:backend-engineer-*, marsai:frontend-bff-engineer-typescript, marsai:ui-engineer |
| 1: DevOps | Dockerfile, docker-compose, .env | marsai:devops-engineer |
| 2: SRE | Health checks, logging, tracing | marsai:sre |
| 3: Unit Testing | Unit tests, coverage ≥85% | marsai:qa-analyst |
| 4: Integration Testing | Integration tests (write per unit, execute at end) | marsai:qa-analyst |
| 5: Chaos Testing | Chaos tests (write per unit, execute at end) | marsai:qa-analyst |
| 6: Review | 7 reviewers IN PARALLEL | marsai:code-reviewer, marsai:business-logic-reviewer, marsai:security-reviewer, marsai:test-reviewer, marsai:nil-safety-reviewer, marsai:consequences-reviewer, marsai:dead-code-reviewer |
| 7: Validation | User approval: APPROVED/REJECTED | User decision |
Gate 0 Agent Selection for Frontend:
docs/pre-dev/{feature}/ux-criteria.md exists → use marsai:ui-engineermarsai:frontend-bff-engineer-typescriptKey Principle: Backend follows the 8-gate process. Frontend follows the 9-gate process.
Use /marsai:dev-cycle-frontend for frontend-specific development:
| Gate | Focus | Agent(s) |
|---|---|---|
| 0: Implementation | TDD: RED→GREEN→REFACTOR | marsai:frontend-engineer, marsai:ui-engineer, marsai:frontend-bff-engineer-typescript |
| 1: DevOps | Dockerfile, docker-compose, .env | marsai:devops-engineer |
| 2: Accessibility | WCAG 2.1 AA, axe-core, keyboard nav | marsai:qa-analyst-frontend |
| 3: Unit Testing | Vitest + Testing Library, ≥85% | marsai:qa-analyst-frontend |
| 4: Visual Testing | Snapshots, states, responsive | marsai:qa-analyst-frontend |
| 5: E2E Testing | Playwright, cross-browser, user flows | marsai:qa-analyst-frontend |
| 6: Performance | Core Web Vitals, Lighthouse > 90 | marsai:qa-analyst-frontend |
| 7: Review | 7 reviewers IN PARALLEL | marsai:code-reviewer, marsai:business-logic-reviewer, marsai:security-reviewer, marsai:test-reviewer, marsai:nil-safety-reviewer, marsai:consequences-reviewer, marsai:dead-code-reviewer |
| 8: Validation | User approval: APPROVED/REJECTED | User decision |
Backend → Frontend Handoff: When backend dev cycle completes, it produces a handoff with endpoints, types, and contracts. The frontend dev cycle consumes this handoff to verify E2E tests exercise the correct API endpoints.
| Step | Command | Output |
|---|---|---|
| 1. Backend | /marsai:dev-cycle tasks.md | Backend code + handoff (endpoints, contracts) |
| 2. Frontend | /marsai:dev-cycle-frontend tasks-frontend.md | Frontend code consuming backend endpoints |
Dispatch based on your need: