troubleshoot
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.zipInstalls 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.
>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
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 :3307 | Docker 컨테이너 |
| Ollama 연결 | Connection refused :11434, ollama | Ollama 서버 |
| Python LLM 연결 | Connection refused :8000, LLM 서버 | Python 서버 |
| Spring Boot 기동 | ApplicationContextException, BeanCreation | application.yml, 의존성 |
| JPA/Hibernate | SQLSyntaxError, ConstraintViolation | Entity, 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.yml의llm.service.url확인 - 타임아웃 →
llm.service.timeout.read값 증가
중국어/깨진 텍스트 출력
증상: LLM 응답에 중국어, 한자, 특수 토큰이 포함됨
원인 & 해결:
- 시스템 프롬프트 미적용 →
app.py의 시스템 프롬프트 확인 - 필터링 미동작 →
response_cleaner.py의clean_llm_response()확인 - 모델 문제 →
qwen2.5:7b등 한국어 지원 모델로 변경
JPA Entity 불일치
증상: SQLSyntaxErrorException, 컬럼 not found
확인:
# H2 테스트 DB는 자동 생성이므로 문제 없음
# MySQL은 ddl-auto: update이므로 새 컬럼은 추가되지만 리네이밍은 안 됨
원인 & 해결:
- 컬럼명 변경 → 마이그레이션 SQL 필요 (
/db-migration스킬 사용) - 테이블명 변경 →
ALTER TABLE RENAME필요 - FK 제약조건 → 자식 테이블 데이터 먼저 정리
실행 순서 체크리스트
문제가 복합적일 때, 전체 스택을 순서대로 점검한다:
- Docker MySQL 실행 (
docker-compose up -d) - MySQL 접속 확인 (
docker exec -it llm-db mysql -u llm_admin -p) - Ollama 서버 실행 (
ollama serve) - Ollama 모델 확인 (
ollama list→qwen2.5:7b,nomic-embed-text) - Python 가상환경 활성화 + 서버 시작 (
uvicorn app:app --port 8000) - Python 헬스체크 (
curl http://localhost:8000/health) - Spring Boot 실행 (
./gradlew bootRun) - 프론트엔드 접속 (
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.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| troubleshoot (this skill) | 0 | 5mo | Caution | Intermediate |
| debug-cluster | 2 | 9mo | Review | Intermediate |
| railway-deployment | 1 | 7mo | Review | Intermediate |
| doctor | 0 | 2mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
debug-cluster
openshift
Provides systematic debugging approaches for HyperShift hosted-cluster issues. Auto-applies when debugging cluster problems, investigating stuck deletions, or troubleshooting control plane issues.
railway-deployment
davila7
Manage Railway deployments - view logs, redeploy, restart, or remove deployments. Use for deployment lifecycle (remove, stop, redeploy, restart), deployment visibility (list, status, history), and troubleshooting (logs, errors, failures, crashes). NOT for deleting services - use railway-environment skill with isDeleted for that.
doctor
louisphamdev
**SKILL** — Doctor Agent diagnostic & self-healing toolkit for Turing OS. Use when: diagnosing errors, fixing system issues, checking Docker/container health, querying known issues database, running self-healing scripts, tracking fix metrics, or generating GitHub issues. Triggers: "doctor", "diagnos
staticphp-build-troubleshooting
crazywhalecc
Diagnose StaticPHP v3 failures. Use when investigating build, compile, linker, download, doctor, environment, CI, smoke-test, terminal output, spc.output.log, spc.shell.log, config.log, CMake logs, or user-provided error snippets from StaticPHP commands.
eweser-docker-debug
eweser
>
bazel-build-optimization
wshobson
Optimize Bazel builds for large-scale monorepos. Use when configuring Bazel, implementing remote execution, or optimizing build performance for enterprise codebases.