Agent Routing Skill
NestJS 백엔드 개발 요청을 분석하여 적절한 전문가 에이전트를 자동으로 선택하고 호출하는 라우팅 시스템입니다.
MCP Integration
ROUTING DECISION PROCESS:
├─ Sequential-Thinking MCP 호출 (복잡한 라우팅 결정)
│ ├─ 다중 키워드 감지 시 우선순위 결정
│ ├─ SEQUENTIAL vs PARALLEL 전략 선택
│ ├─ 복합 요청 분해 및 전문가 매핑
│ └─ 실행 순서 최적화
│
└─ 적용 시점:
├─ 2개 이상 도메인 감지 시
├─ 복합 요청 분석 시
└─ 실행 전략 결정 시
Triggers
- "백엔드", "backend", "서버", "server"
- "nestjs", "nest", "fastify"
- "redis", "캐시", "cache", "caching"
- "typeorm", "entity", "엔티티", "migration", "마이그레이션", "repository"
- "bullmq", "queue", "큐", "job", "worker", "background"
- "cqrs", "command", "query", "event", "saga"
- "microservice", "마이크로서비스", "rabbitmq", "grpc", "tcp"
- "test", "테스트", "jest", "suites", "automock", "e2e"
Routing Decision Tree
USER REQUEST ANALYSIS:
│
├─ KEYWORDS DETECTED → SELECT EXPERT
│
│ "redis" OR "캐시" OR "cache" OR "cache-manager"
│ └─ → redis-cache-expert
│
│ "typeorm" OR "entity" OR "migration" OR "repository" OR "database"
│ └─ → typeorm-expert
│
│ "bullmq" OR "queue" OR "큐" OR "job" OR "worker" OR "background"
│ └─ → bullmq-queue-expert
│
│ "cqrs" OR "command handler" OR "query handler" OR "event" OR "saga"
│ └─ → cqrs-expert
│
│ "microservice" OR "rabbitmq" OR "grpc" OR "tcp" OR "분산"
│ └─ → microservices-expert
│
│ "test" OR "테스트" OR "jest" OR "suites" OR "automock" OR "e2e"
│ └─ → suites-testing-expert
│
│ "fastify" OR "adapter" OR "plugin" OR "helmet" OR "cors"
│ └─ → nestjs-fastify-expert (DIRECT handling)
│
└─ EXECUTION STRATEGY
│
├─ SINGLE_EXPERT: One keyword domain detected
│ → Task(subagent_type="{expert-name}", prompt="{user_request}")
│
├─ SEQUENTIAL: Dependencies between domains
│ Example: "TypeORM 엔티티 만들고 테스트도 작성"
│ → typeorm-expert → suites-testing-expert
│
├─ PARALLEL: Independent domains
│ Example: "Redis 캐시랑 BullMQ 큐 둘 다 설정"
│ → [redis-cache-expert, bullmq-queue-expert] (병렬)
│
└─ DIRECT: Fastify core tasks
→ nestjs-fastify-expert handles directly
Expert Agent Reference
| Expert |
Subagent Type |
Domain |
Model |
| TypeORM |
typeorm-expert |
엔티티, 리포지토리, 마이그레이션, 트랜잭션 |
opus |
| Redis Cache |
redis-cache-expert |
Redis 캐싱, @nestjs/cache-manager |
opus |
| BullMQ Queue |
bullmq-queue-expert |
작업 큐, Producer/Consumer, Worker |
opus |
| CQRS |
cqrs-expert |
Command/Query/Event 분리, Saga |
opus |
| Microservices |
microservices-expert |
RabbitMQ, gRPC, TCP transport |
opus |
| Testing |
suites-testing-expert |
Suites(Automock), Jest, E2E 테스트 |
opus |
| Orchestrator |
nestjs-fastify-expert |
Fastify 어댑터, 플러그인, 오케스트레이션 |
opus |
Task Call Examples
Single Expert Call
// 사용자: "Redis 캐시 설정해줘"
Task(
subagent_type = "redis-cache-expert",
prompt = "NestJS 프로젝트에 Redis 캐시를 설정해주세요.
@nestjs/cache-manager와 cache-manager-redis-yet를 사용합니다.
TTL 설정과 캐시 인터셉터도 포함해주세요."
)
Sequential Expert Calls
// 사용자: "User 엔티티 만들고 CRUD 테스트도 작성해줘"
// Step 1: TypeORM 전문가로 엔티티 생성
Task(
subagent_type = "typeorm-expert",
prompt = "User 엔티티를 생성해주세요.
필드: id(uuid), email(unique), name, createdAt, updatedAt"
)
// Step 2: 테스트 전문가로 테스트 생성 (Step 1 결과 참조)
Task(
subagent_type = "suites-testing-expert",
prompt = "위에서 생성된 User 엔티티에 대한 CRUD 단위 테스트를 작성해주세요.
Suites를 사용하여 UserService를 테스트합니다."
)
Parallel Expert Calls
// 사용자: "BullMQ 큐랑 Redis 캐시 둘 다 설정해줘"
// 두 Task를 동시에 호출 (병렬 실행)
Task(
subagent_type = "bullmq-queue-expert",
prompt = "BullMQ 작업 큐를 설정해주세요. email-queue와 notification-queue 생성."
)
Task(
subagent_type = "redis-cache-expert",
prompt = "Redis 캐시를 설정해주세요. 기본 TTL 3600초."
)
Complex Request Patterns
| Request Pattern |
Execution |
Expert Sequence |
| "엔티티 만들고 테스트 작성" |
SEQUENTIAL |
typeorm → suites-testing |
| "마이크로서비스로 CQRS 적용" |
SEQUENTIAL |
cqrs → microservices |
| "캐시랑 큐 설정" |
PARALLEL |
[redis-cache, bullmq] |
| "Fastify 설정하고 Redis 추가" |
SEQUENTIAL |
nestjs-fastify(direct) → redis-cache |
| "전체 백엔드 아키텍처 설계" |
ORCHESTRATOR |
nestjs-fastify-expert가 조율 |
When to Use Each Strategy
SINGLE_EXPERT
- 한 가지 도메인만 관련된 명확한 요청
- 예: "TypeORM 마이그레이션 생성", "Jest 테스트 작성"
SEQUENTIAL
- 앞선 작업의 결과가 다음 작업에 필요한 경우
- 예: 엔티티 생성 → 테스트 작성 (엔티티 정의 필요)
PARALLEL
- 서로 독립적인 여러 설정 작업
- 예: 캐시 설정, 큐 설정 (서로 의존성 없음)
DIRECT (Orchestrator)
- Fastify 핵심 설정 (어댑터, 플러그인)
- 여러 전문가의 복합 조율이 필요한 대규모 작업
Integration with Orchestrator
nestjs-fastify-expert (오케스트레이터)는 이 라우팅 스킬의 정보를 참조하여:
- 사용자 요청의 키워드 분석
- 적절한 전문가 선택
- 실행 전략 결정 (SINGLE/SEQUENTIAL/PARALLEL/DIRECT)
- Task 호출 및 결과 통합
Best Practices
- 명확한 요청: 어떤 기술(Redis, TypeORM 등)을 사용할지 명시하면 정확한 라우팅
- 복합 요청 분리: "A하고 B해줘"보다 순서/관계 명시하면 더 정확
- 컨텍스트 제공: 기존 코드가 있다면 경로 제공
- 오케스트레이터 활용: 복잡한 아키텍처 설계는 nestjs-fastify-expert에게 전체 위임
1---2name: agent-routing3description: Agent Routing Skill4---5# Agent Routing Skill67NestJS 백엔드 개발 요청을 분석하여 적절한 전문가 에이전트를 자동으로 선택하고 호출하는 라우팅 시스템입니다.89## MCP Integration1011```12ROUTING DECISION PROCESS:13├─ Sequential-Thinking MCP 호출 (복잡한 라우팅 결정)14│ ├─ 다중 키워드 감지 시 우선순위 결정15│ ├─ SEQUENTIAL vs PARALLEL 전략 선택16│ ├─ 복합 요청 분해 및 전문가 매핑17│ └─ 실행 순서 최적화18│19└─ 적용 시점:20 ├─ 2개 이상 도메인 감지 시21 ├─ 복합 요청 분석 시22 └─ 실행 전략 결정 시23```2425---2627## Triggers2829- "백엔드", "backend", "서버", "server"30- "nestjs", "nest", "fastify"31- "redis", "캐시", "cache", "caching"32- "typeorm", "entity", "엔티티", "migration", "마이그레이션", "repository"33- "bullmq", "queue", "큐", "job", "worker", "background"34- "cqrs", "command", "query", "event", "saga"35- "microservice", "마이크로서비스", "rabbitmq", "grpc", "tcp"36- "test", "테스트", "jest", "suites", "automock", "e2e"3738---3940## Routing Decision Tree4142```43USER REQUEST ANALYSIS:44│45├─ KEYWORDS DETECTED → SELECT EXPERT46│47│ "redis" OR "캐시" OR "cache" OR "cache-manager"48│ └─ → redis-cache-expert49│50│ "typeorm" OR "entity" OR "migration" OR "repository" OR "database"51│ └─ → typeorm-expert52│53│ "bullmq" OR "queue" OR "큐" OR "job" OR "worker" OR "background"54│ └─ → bullmq-queue-expert55│56│ "cqrs" OR "command handler" OR "query handler" OR "event" OR "saga"57│ └─ → cqrs-expert58│59│ "microservice" OR "rabbitmq" OR "grpc" OR "tcp" OR "분산"60│ └─ → microservices-expert61│62│ "test" OR "테스트" OR "jest" OR "suites" OR "automock" OR "e2e"63│ └─ → suites-testing-expert64│65│ "fastify" OR "adapter" OR "plugin" OR "helmet" OR "cors"66│ └─ → nestjs-fastify-expert (DIRECT handling)67│68└─ EXECUTION STRATEGY69 │70 ├─ SINGLE_EXPERT: One keyword domain detected71 │ → Task(subagent_type="{expert-name}", prompt="{user_request}")72 │73 ├─ SEQUENTIAL: Dependencies between domains74 │ Example: "TypeORM 엔티티 만들고 테스트도 작성"75 │ → typeorm-expert → suites-testing-expert76 │77 ├─ PARALLEL: Independent domains78 │ Example: "Redis 캐시랑 BullMQ 큐 둘 다 설정"79 │ → [redis-cache-expert, bullmq-queue-expert] (병렬)80 │81 └─ DIRECT: Fastify core tasks82 → nestjs-fastify-expert handles directly83```8485---8687## Expert Agent Reference8889| Expert | Subagent Type | Domain | Model |90|--------|---------------|--------|-------|91| TypeORM | `typeorm-expert` | 엔티티, 리포지토리, 마이그레이션, 트랜잭션 | opus |92| Redis Cache | `redis-cache-expert` | Redis 캐싱, @nestjs/cache-manager | opus |93| BullMQ Queue | `bullmq-queue-expert` | 작업 큐, Producer/Consumer, Worker | opus |94| CQRS | `cqrs-expert` | Command/Query/Event 분리, Saga | opus |95| Microservices | `microservices-expert` | RabbitMQ, gRPC, TCP transport | opus |96| Testing | `suites-testing-expert` | Suites(Automock), Jest, E2E 테스트 | opus |97| Orchestrator | `nestjs-fastify-expert` | Fastify 어댑터, 플러그인, 오케스트레이션 | opus |9899---100101## Task Call Examples102103### Single Expert Call104105```106// 사용자: "Redis 캐시 설정해줘"107108Task(109 subagent_type = "redis-cache-expert",110 prompt = "NestJS 프로젝트에 Redis 캐시를 설정해주세요.111 @nestjs/cache-manager와 cache-manager-redis-yet를 사용합니다.112 TTL 설정과 캐시 인터셉터도 포함해주세요."113)114```115116### Sequential Expert Calls117118```119// 사용자: "User 엔티티 만들고 CRUD 테스트도 작성해줘"120121// Step 1: TypeORM 전문가로 엔티티 생성122Task(123 subagent_type = "typeorm-expert",124 prompt = "User 엔티티를 생성해주세요.125 필드: id(uuid), email(unique), name, createdAt, updatedAt"126)127128// Step 2: 테스트 전문가로 테스트 생성 (Step 1 결과 참조)129Task(130 subagent_type = "suites-testing-expert",131 prompt = "위에서 생성된 User 엔티티에 대한 CRUD 단위 테스트를 작성해주세요.132 Suites를 사용하여 UserService를 테스트합니다."133)134```135136### Parallel Expert Calls137138```139// 사용자: "BullMQ 큐랑 Redis 캐시 둘 다 설정해줘"140141// 두 Task를 동시에 호출 (병렬 실행)142Task(143 subagent_type = "bullmq-queue-expert",144 prompt = "BullMQ 작업 큐를 설정해주세요. email-queue와 notification-queue 생성."145)146147Task(148 subagent_type = "redis-cache-expert",149 prompt = "Redis 캐시를 설정해주세요. 기본 TTL 3600초."150)151```152153---154155## Complex Request Patterns156157| Request Pattern | Execution | Expert Sequence |158|-----------------|-----------|-----------------|159| "엔티티 만들고 테스트 작성" | SEQUENTIAL | typeorm → suites-testing |160| "마이크로서비스로 CQRS 적용" | SEQUENTIAL | cqrs → microservices |161| "캐시랑 큐 설정" | PARALLEL | [redis-cache, bullmq] |162| "Fastify 설정하고 Redis 추가" | SEQUENTIAL | nestjs-fastify(direct) → redis-cache |163| "전체 백엔드 아키텍처 설계" | ORCHESTRATOR | nestjs-fastify-expert가 조율 |164165---166167## When to Use Each Strategy168169### SINGLE_EXPERT170- 한 가지 도메인만 관련된 명확한 요청171- 예: "TypeORM 마이그레이션 생성", "Jest 테스트 작성"172173### SEQUENTIAL174- 앞선 작업의 결과가 다음 작업에 필요한 경우175- 예: 엔티티 생성 → 테스트 작성 (엔티티 정의 필요)176177### PARALLEL178- 서로 독립적인 여러 설정 작업179- 예: 캐시 설정, 큐 설정 (서로 의존성 없음)180181### DIRECT (Orchestrator)182- Fastify 핵심 설정 (어댑터, 플러그인)183- 여러 전문가의 복합 조율이 필요한 대규모 작업184185---186187## Integration with Orchestrator188189nestjs-fastify-expert (오케스트레이터)는 이 라우팅 스킬의 정보를 참조하여:1901911. 사용자 요청의 키워드 분석1922. 적절한 전문가 선택1933. 실행 전략 결정 (SINGLE/SEQUENTIAL/PARALLEL/DIRECT)1944. Task 호출 및 결과 통합195196---197198## Best Practices1992001. **명확한 요청**: 어떤 기술(Redis, TypeORM 등)을 사용할지 명시하면 정확한 라우팅2012. **복합 요청 분리**: "A하고 B해줘"보다 순서/관계 명시하면 더 정확2023. **컨텍스트 제공**: 기존 코드가 있다면 경로 제공2034. **오케스트레이터 활용**: 복잡한 아키텍처 설계는 nestjs-fastify-expert에게 전체 위임