11 KiB
11 KiB
name, description, trigger, skip_when
| name | description | trigger | skip_when |
|---|---|---|---|
| writing-code | Developer agent selection matrix - helps identify the best developer specialist based on technology stack, domain, and requirements. | - Starting implementation work - Need to choose between multiple developer agents - Technology stack determines agent choice | - Already know which agent to use → dispatch directly - Not implementation work → use other skills |
Writing Code - Developer Agent Selection
Purpose
This skill helps you identify and dispatch the most appropriate developer agent from the ring-dev-team plugin based on the task requirements.
Available Developer Agents
| Agent | Specialization | Best For |
|---|---|---|
ring-dev-team:backend-engineer |
Language-agnostic backend (adapts to any language) | Unknown stack, polyglot systems, API design across languages |
ring-dev-team:backend-engineer-golang |
Go, APIs, microservices, databases, message queues | Go backend services, REST/gRPC APIs, database design, multi-tenancy |
ring-dev-team:backend-engineer-typescript |
TypeScript/Node.js, Express, Fastify, Prisma | Node.js backend, TypeScript APIs, full-stack TypeScript projects |
ring-dev-team:backend-engineer-python |
Python, FastAPI, Django, SQLAlchemy, Celery | Python backend, ML services, data pipelines, FastAPI/Django APIs |
ring-dev-team:frontend-engineer |
React, Next.js, TypeScript, state management | UI components, dashboards, forms, client-side logic |
ring-dev-team:frontend-engineer-typescript |
TypeScript-first React/Next.js, type-safe state | Type-heavy frontends, complex state, full-stack TypeScript |
ring-dev-team:frontend-designer |
Visual design, typography, UI aesthetics | Landing pages, marketing sites, design systems, distinctive interfaces |
ring-dev-team:devops-engineer |
CI/CD, Docker, Kubernetes, Terraform, IaC | Pipelines, containerization, infrastructure, deployment |
ring-dev-team:qa-analyst |
Test strategy, E2E, performance testing | Test plans, automation frameworks, quality gates |
ring-dev-team:sre |
Monitoring, observability, reliability | Alerting, SLOs, incident response, performance |
Decision Matrix
By Technology Stack
Backend work?
├── Go/Golang code?
│ └── Yes → backend-engineer-golang
├── TypeScript/Node.js backend?
│ └── Yes → backend-engineer-typescript
├── Python backend (FastAPI/Django)?
│ └── Yes → backend-engineer-python
├── Unknown/multiple languages?
│ └── Yes → backend-engineer (language-agnostic)
└── Frontend work?
├── React/Next.js?
│ ├── TypeScript-heavy with complex state?
│ │ └── Yes → frontend-engineer-typescript
│ ├── Visual design/UI aesthetics focus?
│ │ └── Yes → frontend-designer
│ └── Component logic/functionality focus?
│ └── Yes → frontend-engineer
├── Infrastructure/CI-CD/Docker?
│ └── Yes → devops-engineer
├── Testing/QA/Automation?
│ └── Yes → qa-analyst
└── Monitoring/Reliability/Performance?
└── Yes → sre
By Task Type
| Task | Primary Agent | Supporting Agent |
|---|---|---|
| Build REST API (Go) | backend-engineer-golang | qa-analyst (tests) |
| Build REST API (TypeScript) | backend-engineer-typescript | qa-analyst (tests) |
| Build REST API (Python) | backend-engineer-python | qa-analyst (tests) |
| Build REST API (unknown language) | backend-engineer | qa-analyst (tests) |
| Create UI component | frontend-engineer | qa-analyst (E2E) |
| Create type-safe UI component | frontend-engineer-typescript | qa-analyst (E2E) |
| Design landing page | frontend-designer | frontend-engineer (implementation) |
| Full-stack TypeScript feature | backend-engineer-typescript | frontend-engineer-typescript |
| Set up CI/CD | devops-engineer | sre (monitoring) |
| Write test suite | qa-analyst | - |
| Add monitoring | sre | devops-engineer (infra) |
| Database schema (Go) | backend-engineer-golang | - |
| Database schema (TypeScript) | backend-engineer-typescript | - |
| Database schema (Python) | backend-engineer-python | - |
| Deploy to K8s | devops-engineer | sre (observability) |
| Performance optimization | sre | backend-engineer-* |
Agent Dispatch Pattern
Single Agent Task
Task tool:
subagent_type: "ring-dev-team:backend-engineer-golang"
prompt: "Design and implement a REST API for user authentication with JWT tokens"
Multi-Agent Workflow
For complex features requiring multiple specialists:
Step 1: Backend API
Task tool → ring-dev-team:backend-engineer-golang
"Implement the user service with CRUD operations"
Step 2: Frontend Integration
Task tool → ring-dev-team:frontend-engineer
"Create React components to consume the user API"
Step 3: Testing
Task tool → ring-dev-team:qa-analyst
"Write E2E tests for the user registration flow"
Step 4: Deployment
Task tool → ring-dev-team:devops-engineer
"Create Kubernetes manifests and CI/CD pipeline"
Step 5: Observability
Task tool → ring-dev-team:sre
"Add monitoring, alerting, and SLO definitions"
Agent Capabilities Detail
backend-engineer
Technologies:
- Language-agnostic (adapts to Go, TypeScript, Python, Java, Rust, etc.)
- RESTful API design principles
- Database design (SQL and NoSQL)
- Message queues and event streaming
- Authentication and authorization patterns
Patterns:
- Clean Architecture / Hexagonal
- Repository pattern
- Dependency injection
- SOLID principles
- API design best practices
Best practices:
- Language-appropriate error handling
- Security best practices (OWASP)
- Scalability and performance
- Testing strategies
- Documentation standards
When to use:
- Codebase uses unknown or multiple languages
- Need language-agnostic architecture advice
- Polyglot systems requiring consistency
- Initial API design before language selection
backend-engineer-golang
Technologies:
- Go (Fiber, Gin, Echo frameworks)
- PostgreSQL, MongoDB, Redis
- RabbitMQ, Kafka
- gRPC, REST
- OAuth2, JWT, WorkOS
Patterns:
- Clean Architecture / Hexagonal
- Repository pattern
- Dependency injection
- Multi-tenancy (schema-per-tenant, row-level)
Best practices:
- Error handling (no panic in production)
- Context propagation
- Graceful shutdown
- Connection pooling
backend-engineer-typescript
Technologies:
- TypeScript, Node.js
- Express, Fastify, NestJS
- Prisma, TypeORM, Sequelize
- PostgreSQL, MongoDB, Redis
- Bull, BullMQ (job queues)
- JWT, Passport.js, OAuth2
Patterns:
- Layered architecture
- Dependency injection (NestJS, tsyringe)
- Repository pattern
- DTO validation (class-validator, Zod)
- Middleware patterns
Best practices:
- Strict TypeScript configuration
- Async/await error handling
- Type-safe database queries
- Request validation
- Graceful shutdown
- Logging and observability
backend-engineer-python
Technologies:
- Python 3.10+
- FastAPI, Django, Flask
- SQLAlchemy, Django ORM
- PostgreSQL, MongoDB, Redis
- Celery, RQ (task queues)
- Pydantic (validation)
- pytest, unittest
Patterns:
- MVC / MVT (Django)
- Dependency injection (FastAPI)
- Repository pattern
- Service layer pattern
- Type hints and validation
Best practices:
- Type hints everywhere
- Exception handling
- Virtual environments
- Async/await (asyncio)
- Database migrations (Alembic)
- API documentation (OpenAPI)
frontend-engineer
Technologies:
- React 18+, Next.js 14+
- TypeScript
- Tailwind CSS, Styled Components
- React Query, Zustand, Redux
- Jest, React Testing Library, Playwright
Patterns:
- Component composition
- Custom hooks
- Server components (Next.js)
- Optimistic updates
Best practices:
- Accessibility (WCAG 2.1)
- Performance (Core Web Vitals)
- Type safety
- Error boundaries
frontend-engineer-typescript
Technologies:
- TypeScript (strict mode)
- React 18+, Next.js 14+
- Zod, io-ts (runtime validation)
- tRPC (end-to-end type safety)
- TanStack Query (React Query)
- Zustand, Jotai (type-safe state)
- Vitest, Jest with type coverage
Patterns:
- Type-driven development
- Generic components with type constraints
- Discriminated unions for state
- Type-safe API clients
- Schema-driven forms
Best practices:
- No
anytypes (strict mode) - Type guards and narrowing
- Exhaustive switch statements
- Runtime validation at boundaries
- Type-safe routing
- Inference over explicit types
frontend-designer
Technologies:
- Figma, Sketch design systems
- Tailwind CSS, CSS-in-JS
- Typography systems (Google Fonts, custom fonts)
- Animation libraries (Framer Motion, GSAP)
- Color theory and accessibility tools
Patterns:
- Visual hierarchy
- Responsive design principles
- Design tokens
- Component variants
Best practices:
- Accessible color contrast (WCAG AA/AAA)
- Responsive typography scales
- Consistent spacing systems
- Performance-optimized assets
- Brand consistency
devops-engineer
Technologies:
- Docker, Docker Compose
- Kubernetes, Helm
- Terraform, Pulumi
- GitHub Actions, GitLab CI
- AWS, GCP, Azure
Patterns:
- GitOps
- Infrastructure as Code
- Blue-green / Canary deployments
- Secret management
Best practices:
- Immutable infrastructure
- Least privilege
- Automated rollbacks
- Cost optimization
qa-analyst
Technologies:
- Jest, Vitest, Go testing
- Playwright, Cypress
- k6, Artillery (load testing)
- Postman, Newman
Patterns:
- Test pyramid
- Page Object Model
- Data-driven testing
- Contract testing
Best practices:
- Shift-left testing
- Test isolation
- Deterministic tests
- CI integration
sre
Technologies:
- Prometheus, Grafana
- Datadog, New Relic
- PagerDuty, OpsGenie
- Jaeger, OpenTelemetry
Patterns:
- SLI/SLO/SLA definitions
- Error budgets
- Incident management
- Chaos engineering
Best practices:
- Alerting hygiene
- Runbooks
- Post-mortems
- Capacity planning
When NOT to Use Developer Agents
- Code review → Use
ring-default:code-reviewer(parallel with business-logic and security) - Planning/Design → Use
ring-default:brainstormingorring-default:write-plan - Debugging → Use
ring-default:systematic-debuggingskill - Architecture exploration → Use
ring-default:codebase-explorer
Integration with Ring Workflows
With TDD (test-driven-development)
1. Use qa-analyst to design test cases
2. Use appropriate developer agent to implement
3. Use qa-analyst to verify test coverage
With Code Review (requesting-code-review)
1. Use developer agent to implement
2. Use ring-default reviewers (parallel) to review
3. Use developer agent to address findings
With Pre-Dev Planning
1. Use pm-team skills for planning (PRD, TRD)
2. Use ring-default:write-plan for implementation plan
3. Use this skill to identify developer agents for each task
4. Dispatch agents per task with code review between
Remember
- Match agent to task - Don't use backend agent for frontend work
- Combine agents for full-stack - Complex features need multiple specialists
- Always review - Use code reviewers after implementation
- Follow skill workflows - TDD, systematic debugging, verification
- Document decisions - Agents can explain their choices