Systematically diagnose and fix infrastructure, database, or runtime errors in project environments.

Install

mkdir -p .claude/skills/troubleshoot && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16494" && unzip -o skill.zip -d .claude/skills/troubleshoot && rm skill.zip

Installs to .claude/skills/troubleshoot

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

>
1 chars · catalog descriptionno explicit “when” trigger
Intermediate

Key capabilities

  • Categorize errors based on keywords
  • Inspect infrastructure status for Docker, Ollama, Python LLM, and Spring Boot
  • Provide solutions for common MySQL connection failures
  • Offer solutions for Ollama connection failures
  • Address Python LLM server startup failures
  • Resolve Spring Boot to Python LLM connection issues

How it works

The skill diagnoses errors by categorizing them based on keywords, then checks the status of relevant infrastructure components like Docker, Ollama, Python LLM, and Spring Boot, and provides targeted solutions.

Inputs & outputs

You give it
Error message or a request to troubleshoot
You get back
Diagnosis of the error, steps to check infrastructure, and category-specific solutions

When to use troubleshoot

  • Troubleshoot MySQL connection
  • Debug server startup
  • Fix infrastructure errors

About this skill

트러블슈팅

프로젝트 실행 중 오류를 진단하고 해결하는 스킬이다.

진단 순서

Step 1: 에러 분류

에러 메시지를 읽고 다음 중 어디에 해당하는지 판단한다:

카테고리키워드확인 대상
MySQL 연결Can't connect to MySQL, Connection refused :3307Docker 컨테이너
Ollama 연결Connection refused :11434, ollamaOllama 서버
Python LLM 연결Connection refused :8000, LLM 서버Python 서버
Spring Boot 기동ApplicationContextException, BeanCreationapplication.yml, 의존성
JPA/HibernateSQLSyntaxError, ConstraintViolationEntity, DDL
응답 품질중국어 출력, 빈 응답, 깨진 텍스트시스템 프롬프트, 필터링

Step 2: 인프라 상태 점검

# 1. Docker MySQL
docker-compose ps
docker-compose logs --tail=20

# 2. Ollama
curl http://localhost:11434/api/tags

# 3. Python LLM 서버
curl http://localhost:8000/health

# 4. Spring Boot
curl http://localhost:8080/actuator/health  # actuator 설정 시

Step 3: 카테고리별 해결

자주 발생하는 오류

MySQL 연결 실패

증상: Can't connect to MySQL server on 'localhost'

확인:

docker-compose ps           # 컨테이너 실행 상태
docker-compose up -d        # 중지됐으면 시작
docker-compose logs mysql   # MySQL 로그 확인

원인 & 해결:

  • 컨테이너 미실행 → docker-compose up -d
  • 포트 충돌 → netstat -an | grep 3307 확인
  • 인증 오류 → .env 파일의 MYSQL_USER, MYSQL_PASSWORD 확인

Ollama 연결 실패

증상: Connection refused :11434

확인:

ollama list                 # 설치된 모델 확인
ollama serve                # 서버 시작
ollama pull qwen2.5:7b      # 모델 없으면 다운로드

원인 & 해결:

  • Ollama 미실행 → ollama serve
  • 모델 미설치 → ollama pull qwen2.5:7b
  • GPU 메모리 부족 → 더 작은 모델 사용 또는 OLLAMA_NUM_GPU=0

Python LLM 서버 기동 실패

증상: FastAPI 서버가 시작되지 않음

확인:

cd python-llm
.venv/Scripts/python -c "import fastapi; print('OK')"   # 의존성 확인
.venv/Scripts/python -c "from config import get_settings; print(get_settings())"  # 설정 확인

원인 & 해결:

  • 가상환경 미활성화 → .venv\Scripts\activate
  • 의존성 미설치 → pip install -r requirements.txt
  • MySQL 연결 실패 → Docker 컨테이너 먼저 시작
  • ChromaDB 초기화 실패 → USE_VECTOR_SEARCH=False로 비활성화 후 확인

Spring Boot ↔ Python 연결 실패

증상: LLM 서버를 사용할 수 없습니다 (503)

확인:

curl -X POST http://localhost:8000/infer/medical \
  -H "Content-Type: application/json" \
  -d '{"query": "테스트"}'

원인 & 해결:

  • Python 서버 미실행 → 실행 순서: MySQL → Ollama → Python → Spring Boot
  • URL 불일치 → application.ymlllm.service.url 확인
  • 타임아웃 → llm.service.timeout.read 값 증가

중국어/깨진 텍스트 출력

증상: LLM 응답에 중국어, 한자, 특수 토큰이 포함됨

원인 & 해결:

  • 시스템 프롬프트 미적용 → app.py의 시스템 프롬프트 확인
  • 필터링 미동작 → response_cleaner.pyclean_llm_response() 확인
  • 모델 문제 → qwen2.5:7b 등 한국어 지원 모델로 변경

JPA Entity 불일치

증상: SQLSyntaxErrorException, 컬럼 not found

확인:

# H2 테스트 DB는 자동 생성이므로 문제 없음
# MySQL은 ddl-auto: update이므로 새 컬럼은 추가되지만 리네이밍은 안 됨

원인 & 해결:

  • 컬럼명 변경 → 마이그레이션 SQL 필요 (/db-migration 스킬 사용)
  • 테이블명 변경 → ALTER TABLE RENAME 필요
  • FK 제약조건 → 자식 테이블 데이터 먼저 정리

실행 순서 체크리스트

문제가 복합적일 때, 전체 스택을 순서대로 점검한다:

  1. Docker MySQL 실행 (docker-compose up -d)
  2. MySQL 접속 확인 (docker exec -it llm-db mysql -u llm_admin -p)
  3. Ollama 서버 실행 (ollama serve)
  4. Ollama 모델 확인 (ollama listqwen2.5:7b, nomic-embed-text)
  5. Python 가상환경 활성화 + 서버 시작 (uvicorn app:app --port 8000)
  6. Python 헬스체크 (curl http://localhost:8000/health)
  7. Spring Boot 실행 (./gradlew bootRun)
  8. 프론트엔드 접속 (http://localhost:8080)

참고 문서

  • doc/TROUBLESHOOTING.md — 기존 트러블슈팅 이력 (확인 후 중복 방지)
  • doc/SETUP_OLLAMA.md — Ollama 설치/연동 상세
  • 새로운 이슈 해결 시 doc/TROUBLESHOOTING.md에 추가한다

When not to use it

  • When the error is not related to connectivity, infrastructure, or runtime issues
  • When the error message does not contain identifiable keywords
  • When the user does not want to check logs or service health

Limitations

  • Relies on predefined error categories and keywords
  • Assumes specific infrastructure components (MySQL, Ollama, Python LLM, Spring Boot)
  • Solutions are based on common causes

How it compares

This skill offers a structured, step-by-step approach to troubleshooting common system errors by categorizing them and checking specific infrastructure components, which is more efficient than general debugging.

Compared to similar skills

troubleshoot side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
troubleshoot (this skill)05moCautionIntermediate
debug-cluster29moReviewIntermediate
railway-deployment17moReviewIntermediate
doctor02moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry