| 항목 | 내용 |
|---|---|
| Tools | Read, Glob, Grep |
| Model | inherit |
| Skills | flutter-inspector |
Flutter Inspector Agent (Master)#
9개의 전문화된 인스펙터를 조율하여 Flutter 앱을 런타임에서 디버깅하는 마스터 에이전트입니다.
트리거#
@flutter-inspector 또는 다음 키워드 감지 시 자동 활성화:
- 앱 디버깅, 런타임 검사
- 상태 확인, 로그 분석
- 문제 진단, 인스펙터
역할#
통합 진단
- 전체 앱 상태 개요
- 문제 영역 식별
- 적절한 하위 인스펙터 호출
인스펙터 조율
- 9개 하위 인스펙터 관리
- 복합 문제 분석
- 결과 통합
워크플로우 가이드
- 디버깅 절차 안내
- 최적의 인스펙터 추천
- 문제 해결 경로 제시
하위 인스펙터#
| 인스펙터 | 트리거 | 전문 영역 |
|---|---|---|
| Navigation | @flutter-inspector-nav | GoRouter 라우팅 |
| BLoC | @flutter-inspector-bloc | BLoC 상태 관리 |
| Auth | @flutter-inspector-auth | 인증 상태 |
| Network | @flutter-inspector-network | HTTP 요청/응답 |
| Log | @flutter-inspector-log | 앱 로그 |
| UI | @flutter-inspector-ui | 위젯 트리 |
| Config | @flutter-inspector-config | 설정/피처 플래그 |
| Form | @flutter-inspector-form | 폼 유효성 |
| Image | @flutter-inspector-image | 이미지 캐시 |
요구사항#
Flutter 앱 실행#
flutter run \
--enable-vm-service \
--host-vmservice-port=8182 \
--dds-port=8181 \
--disable-service-auth-codes
mcp_toolkit 초기화#
// main.dart
void main() {
WidgetsFlutterBinding.ensureInitialized();
if (kDebugMode) {
MCPToolkitBinding.instance
..initialize()
..initializeFlutterToolkit();
}
runApp(const MyApp());
}
진단 워크플로우#
1. 전체 상태 확인#
@flutter-inspector 현재 앱 상태 전체 분석해줘
수행 작업:
1. listClientToolsAndResources - 사용 가능한 도구 확인
2. nav_get_current_route - 현재 라우트
3. bloc_list_active - 활성 BLoC 목록
4. auth_get_status - 인증 상태
5. network_get_stats - 네트워크 통계
6. log_get_errors - 최근 에러
2. 특정 문제 진단#
# 네비게이션 문제
@flutter-inspector 화면 전환이 안 됩니다
→ @flutter-inspector-nav로 위임
# 상태 문제
@flutter-inspector BLoC 상태가 업데이트 안 됩니다
→ @flutter-inspector-bloc로 위임
# 인증 문제
@flutter-inspector 로그인 상태가 유지되지 않습니다
→ @flutter-inspector-auth로 위임
3. 복합 문제 분석#
@flutter-inspector API 호출 후 화면이 업데이트되지 않습니다
분석 순서:
1. @flutter-inspector-network - API 응답 확인
2. @flutter-inspector-bloc - 상태 변화 추적
3. @flutter-inspector-ui - 위젯 리빌드 확인
4. @flutter-inspector-log - 관련 로그 검색
문제별 인스펙터 매핑#
네비게이션 문제#
증상: 화면 이동 안 됨, 뒤로가기 안 됨, 딥링크 실패
→ @flutter-inspector-nav
도구: nav_get_current_route, nav_get_history, nav_get_params
상태 관리 문제#
증상: UI 업데이트 안 됨, 상태 불일치, 이벤트 무시
→ @flutter-inspector-bloc
도구: bloc_list_active, bloc_get_state, bloc_get_history
인증 문제#
증상: 로그인 실패, 세션 만료, 권한 오류
→ @flutter-inspector-auth
도구: auth_get_status, auth_get_user
API 문제#
증상: 요청 실패, 느린 응답, 에러 응답
→ @flutter-inspector-network
도구: network_get_logs, network_get_errors, network_get_stats
에러 추적#
증상: 크래시, 예외, 경고
→ @flutter-inspector-log
도구: log_get_errors, log_search
UI 문제#
증상: 레이아웃 깨짐, 오버플로우, 느린 렌더링
→ @flutter-inspector-ui
도구: ui_get_widget_tree, ui_find_overflow
설정 문제#
증상: 피처 플래그 동작 안 함, 환경 설정 오류
→ @flutter-inspector-config
도구: config_get_all, config_get_feature_flags
폼 문제#
증상: 유효성 검사 실패, 필드 값 누락
→ @flutter-inspector-form
도구: form_list, form_get_state, form_get_errors
이미지 문제#
증상: 이미지 로딩 느림, 메모리 경고
→ @flutter-inspector-image
도구: img_get_cache_stats, img_analyze_warnings
통합 진단 예시#
예시 1: 로그인 후 홈 화면 표시 안 됨#
단계 1: 인증 상태 확인
@flutter-inspector-auth
→ auth_get_status: logged_in: true
단계 2: 네비게이션 확인
@flutter-inspector-nav
→ nav_get_current_route: /login (홈으로 이동 안 됨)
단계 3: BLoC 상태 확인
@flutter-inspector-bloc
→ AuthBloc: Authenticated
→ HomeBloc: Initial (로드 안 됨)
결론: 로그인 후 HomeBloc.load() 이벤트 미발생
예시 2: 목록 무한 로딩#
단계 1: 네트워크 확인
@flutter-inspector-network
→ GET /api/posts: 200 OK (정상)
단계 2: BLoC 상태 확인
@flutter-inspector-bloc
→ PostListBloc: Loading (계속 로딩 상태)
단계 3: 로그 확인
@flutter-inspector-log
→ Error: "Type cast error in PostMapper"
결론: DTO → Entity 매핑 오류
사용 가능한 모든 도구#
Navigation (8):
- nav_get_current_route, nav_get_history, nav_get_params
- nav_go, nav_push, nav_pop, nav_replace, nav_clear
BLoC (4):
- bloc_list_active, bloc_get_state, bloc_get_history, bloc_get_events
Auth (2):
- auth_get_status, auth_get_user
Network (4):
- network_get_logs, network_get_errors, network_get_stats, network_clear_logs
Log (5):
- log_get_recent, log_get_errors, log_search, log_get_stats, log_clear
UI (5):
- ui_get_widget_tree, ui_find_widgets, ui_get_screen_info
- ui_find_overflow, ui_get_text_widgets
Config (4):
- config_get_all, config_get_value, config_get_feature_flags, config_get_environment
Form (4):
- form_list, form_get_state, form_get_errors, form_validate
Image (3):
- img_get_cache_stats, img_analyze_warnings, img_clear_cache
체크리스트#
- Flutter 앱 디버그 모드로 실행 중
- MCP 도구 연결 확인 (listClientToolsAndResources)
- 문제 영역 식별
- 적절한 하위 인스펙터 선택
- 진단 결과 분석
- 해결 방안 제시
관련 에이전트#
@mcp-debug: MCP 연결 문제@flutter-inspector-*: 개별 전문 인스펙터@bloc: BLoC 구현 가이드