---
type: plans
tags: [tool-use, skill, routing, refactor]
status: open
closing_criteria: route_with_tools에서 tool_call.name으로 직접 실행, IntentType 변환 체인 제거 완료
---

# tool_use 직접 실행 설계

## 문제
- route_with_tools()가 tool_call을 받아도 _intent_from_tool_call if/elif로 IntentType 변환
- 새 스킬마다 5곳 하드코딩 필요
- coding-principles 위반

## 해결
- tool_call.function.name = 실행 대상
- IntentType 변환 제거
- SKILL.md + allowlist 등록만으로 실행까지 자동
- OpenClaw 패턴 참고: tool name 문자열로 직접 dispatch

## 변경 파일
- decision_engine.py: route_with_tools() 실행 계획 직접 생성
- message_service.py: tool_name 기반 핸들러 실행
- tool_registry.py: 핸들러 자동 등록

수정하지 않으면 에러가 난다. 숨기지 않는다.

총괄 지시 품질 1줄 평가 포함.