Tech Decision - 기술 의사결정 깊이 탐색
기술적 의사결정을 체계적으로 분석하고 종합적인 결론을 도출하는 스킬.
핵심 원칙
두괄식 결과물: 모든 보고서는 결론을 먼저 제시하고, 그 다음에 근거를 제공한다.
사용 시나리오
- 라이브러리/프레임워크 선택 (React vs Vue, Prisma vs TypeORM)
- 아키텍처 패턴 결정 (Monolith vs Microservices, REST vs GraphQL)
- 구현 방식 선택 (Server-side vs Client-side, Polling vs WebSocket)
- 기술 스택 결정 (언어, 데이터베이스, 인프라 등)
의사결정 워크플로우
Phase 1: 문제 정의
의사결정 주제와 맥락을 명확히 한다:
- 주제 파악: 무엇을 결정해야 하는가?
- 옵션 식별: 비교할 선택지들은 무엇인가?
- 평가 기준 수립: 어떤 기준으로 평가할 것인가?
- 성능, 학습 곡선, 생태계, 유지보수성, 비용 등
- 프로젝트 특성에 맞는 기준 우선순위 설정
- 상세 기준은
references/evaluation-criteria.md참조
Phase 2: 병렬 정보 수집
여러 소스에서 동시에 정보를 수집한다. 반드시 병렬로 실행:
┌─────────────────────────────────────────────────────────────┐
│ 동시 실행 (Task tool로 병렬 실행) │
├─────────────────────────────────────────────────────────────┤
│ 1. codebase-explorer agent │
│ → 기존 코드베이스 분석, 현재 패턴/제약사항 파악 │
│ │
│ 2. docs-researcher agent │
│ → 공식 문서, 가이드, best practices 리서치 │
│ │
│ 3. Skill: dev-scan │
│ → 커뮤니티 의견 수집 (Reddit, HN, Dev.to, Lobsters) │
│ │
│ 4. Skill: agent-council │
│ → 다양한 AI 전문가 관점 수집 │
│ │
│ 5. [선택] Context7 MCP │
│ → 라이브러리별 최신 문서 조회 │
└─────────────────────────────────────────────────────────────┘
실행 방법:
# Agents는 Task tool로 병렬 실행
Task codebase-explorer: "분석할 주제와 컨텍스트"
Task docs-researcher: "리서치할 기술/라이브러리"
# 기존 스킬은 Skill tool로 호출
Skill: dev-scan (커뮤니티 의견)
Skill: agent-council (전문가 관점)
Phase 3: 종합 분석
수집된 정보를 바탕으로 tradeoff-analyzer agent를 실행:
- 각 옵션별 pros/cons 정리
- 평가 기준별 점수화
- 충돌하는 의견 정리
- 신뢰도 평가 (출처 기반)
Phase 4: 최종 보고서 생성
decision-synthesizer agent로 두괄식 종합 보고서 작성 (상세 템플릿: references/report-template.md):
# 기술 의사결정 보고서: [주제]
## 결론 (Executive Summary)
**추천: [Option X]**
[1-2문장 핵심 이유]
## 평가 기준 및 가중치
| 기준 | 가중치 | 설명 |
|------|--------|------|
| 성능 | 30% | ... |
| 학습곡선 | 20% | ... |
## 옵션별 분석
### Option A: [이름]
**장점:**
- [장점 1] (출처: 공식 문서)
- [장점 2] (출처: Reddit r/webdev)
**단점:**
- [단점 1] (출처: HN 토론)
**적합한 경우:** [시나리오]
### Option B: [이름]
...
## 종합 비교
| 기준 | Option A | Option B | Option C |
|------|----------|----------|----------|
| 성능 | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ |
| 학습곡선 | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
| **총점** | **X점** | **Y점** | **Z점** |
## 추천 근거
1. [핵심 근거 1 with 출처]
2. [핵심 근거 2 with 출처]
3. [핵심 근거 3 with 출처]
## 리스크 및 주의사항
- [주의점 1]
- [주의점 2]
## 참고 출처
- [출처 목록]
활용하는 리소스
Agents (이 플러그인)
| Agent | 역할 |
|-------|------|
| codebase-explorer | 기존 코드베이스 분석, 패턴/제약사항 파악 |
| docs-researcher | 공식 문서, 가이드, best practices 리서치 |
| tradeoff-analyzer | 옵션별 pros/cons 정리, 비교 분석 |
| decision-synthesizer | 두괄식 최종 보고서 생성 |
기존 스킬 (Skill tool로 호출)
| Skill | 용도 | 호출 방법 |
|-------|------|-----------|
| dev-scan | Reddit, HN, Dev.to 등 커뮤니티 의견 | Skill: dev-scan |
| agent-council | 다양한 AI 전문가 관점 수집 | Skill: agent-council |
MCP (선택적)
- Context7: 라이브러리별 최신 공식 문서 조회
빠른 실행 가이드
1. 간단한 비교 (A vs B)
사용자: "React vs Vue 뭐가 나을까?"
실행:
1. Task docs-researcher + Task codebase-explorer (병렬)
2. Skill: dev-scan
3. Task tradeoff-analyzer
4. Task decision-synthesizer
2. 깊은 분석 (복잡한 의사결정)
사용자: "우리 프로젝트에 상태관리 라이브러리 뭘 쓸지 고민이야"
실행:
1. Task codebase-explorer (현재 상태 분석)
2. 병렬 실행:
- Task docs-researcher (Redux, Zustand, Jotai, Recoil 등)
- Skill: dev-scan
- Skill: agent-council
3. Task tradeoff-analyzer
4. Task decision-synthesizer
3. 아키텍처 결정
사용자: "모놀리스 vs 마이크로서비스 어떻게 해야 할까?"
실행:
1. Task codebase-explorer (현재 규모/복잡도 분석)
2. 병렬 실행:
- Task docs-researcher (각 아키텍처 best practices)
- Skill: agent-council (아키텍트 관점)
3. Task tradeoff-analyzer (팀 규모, 배포 복잡도 등 고려)
4. Task decision-synthesizer
주의사항
- 컨텍스트 제공: 프로젝트 특성, 팀 규모, 기존 기술 스택 등 맥락 정보가 많을수록 정확한 분석 가능
- 평가 기준 확인: 사용자에게 중요한 기준이 무엇인지 먼저 확인
- 신뢰도 표시: 출처가 불분명하거나 오래된 정보는 명시
- 결론 먼저: 항상 두괄식으로 결론부터 제시
추가 리소스
참고 파일
references/report-template.md- 상세 보고서 템플릿references/evaluation-criteria.md- 평가 기준 가이드