skills/peach-db-query/SKILL.md
개발 DB에 SQL을 직접 실행하여 데이터를 조회하는 스킬. "DB 확인", "데이터 조회", "테이블 조회", "SQL 실행", "데이터 검증" 키워드로 트리거. AI 에이전트가 백엔드/프론트엔드 개발 중 개발 DB 데이터를 즉시 확인할 때 사용.
npx skillsauth add peachsolution/peach-harness peach-db-queryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
개발 DB 데이터 확인 전문가. 백엔드/프론트엔드 개발 및 테스트 중 실제 DB 데이터를 즉시 확인하여 개발 진행을 돕는다.
⚠️ DML — 직접 실행이 필요합니다
─────────────────────
SQL: UPDATE [테이블] SET status = 'A' WHERE [테이블]_seq = 42;
대상: [테이블] 테이블
조건: PK 단건 (WHERE [테이블]_seq = 42)
확인용 SELECT:
SELECT * FROM [테이블] WHERE [테이블]_seq = 42;
실행 방법:
PGPASSWORD='[pw]' psql -h [host] -p [port] -U [user] -d [db] -c "위 SQL"
─────────────────────
/peach-db-migrate 스킬을 사용하세요."env.local.yml 또는 env.dev.yml 접속 정보만 사용env.prod.yml DATABASE_URL 사용 절대 금지PostgreSQL (psql)
| OS | 전략 | 명령 |
|----|------|------|
| macOS | brew 직접 설치 (Docker 불필요) | brew install libpq + PATH 등록 |
| Linux | 패키지 매니저 | apt-get install -y postgresql-client |
| Windows | Docker fallback | docker run --rm postgres:16 psql ... |
MySQL (mysql)
| OS | 전략 | 명령 |
|----|------|------|
| macOS | brew 직접 설치 (Docker 불필요) | brew install mysql-client + PATH 등록 |
| Linux | 패키지 매니저 | apt-get install -y mysql-client |
| Windows | Docker fallback | docker run --rm mysql:8 mysql ... |
macOS에서 Docker 사용 금지 — brew가 훨씬 빠르고 이후에도 재사용 가능. Docker 이미지 최초 다운로드는 postgres:16 ~300MB, mysql:8 ~500MB로 불필요한 대기가 발생한다. 설치 상세 절차 및 PATH 설정 → cli-설치-가이드.md
uname -s # Darwin=macOS / Linux / MINGW64_NT=Windows
macOS — CLI 직접 설치 (강력 권장, Docker 사용 금지)
# psql 확인
which psql && psql --version || echo "psql 없음"
# mysql 확인
which mysql && mysql --version || echo "mysql 없음"
psql 없음 → 사용자에게 설치 승인 요청 후 자동 실행:
brew install libpq
echo 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
# 현재 세션 즉시 적용
export PATH="/opt/homebrew/opt/libpq/bin:$PATH"
psql --version # 설치 확인
libpq keg-only 주의: brew가 libpq를 keg-only로 설치하므로 반드시 PATH에 추가해야 함. PATH 추가 없이
psql실행 시 "command not found" 발생.~/.zshrc등록으로 영구 적용 +export명령으로 현재 세션 즉시 적용.
mysql 없음 → 사용자에게 설치 승인 요청 후 자동 실행:
brew install mysql-client
echo 'export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"
mysql --version # 설치 확인
Linux (Ubuntu/Debian) — 패키지 매니저로 설치
sudo apt-get install -y postgresql-client # PostgreSQL
sudo apt-get install -y mysql-client # MySQL
Windows (Git Bash) — Docker fallback (CLI 설치 불가 환경 전용)
Docker fallback은 Windows 전용. macOS/Linux는 CLI 설치가 간단하므로 Docker 사용 금지.
# Docker 설치 확인 (선행 필수)
docker --version && echo "Docker 사용 가능" || echo "Docker 없음 — CLI 직접 설치 필요"
PostgreSQL (Docker):
# URL의 특수문자는 인코딩 유지 (env.local.yml의 URL 그대로 사용)
docker run --rm postgres:16 psql \
"postgresql://[user]:[encoded_password]@[host]:[port]/[dbname]" \
-c "[SQL]" 2>/dev/null
MySQL (Docker):
# -p'password' — 특수문자 포함 시 반드시 따옴표로 감싸기
docker run --rm mysql:8 mysql \
-h [host] -P [port] -u [user] -p'[password]' [dbname] \
-e "[SQL]" 2>/dev/null
주의:
2>/dev/null은 Docker pull 진행 메시지를 숨긴다. 최초 실행 시 이미지 다운로드(postgres:16 ~300MB, mysql:8 ~500MB)가 발생할 수 있다. 이후 실행은 캐시로 1~2초 내 시작된다.
Node/Java 프로젝트 — env.yml에서 DATABASE_URL 탐지:
grep "DATABASE_URL" api/src/environments/env.local.yml 2>/dev/null || \
grep "DATABASE_URL" api/env.local.yml 2>/dev/null
postgresql:// → PostgreSQL 모드mysql:// → MySQL 모드PHP 프로젝트 — conf.php에서 db_ 변수 탐지:*
# 우선 탐색 경로
grep "db_host\|db_port\|db_dbname\|db_user\|db_password\|db_division" src/cfg/conf.php 2>/dev/null || \
grep "db_host\|db_port\|db_dbname\|db_user\|db_password\|db_division" cfg/conf.php 2>/dev/null || \
# fallback: 전체 탐색
find . -name "conf.php" | xargs grep -l "db_host" 2>/dev/null | head -1 | \
xargs grep "db_host\|db_port\|db_dbname\|db_user\|db_password\|db_division" 2>/dev/null
db_division = 'pdo' 또는 'mysqli' → MySQL 모드db_division = 'postgresql' → PostgreSQL 모드DATABASE_URL에서 host, port, user, password, dbname 추출.
예시 URL 파싱:
postgresql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}
→ host={DB_HOST}, port={DB_PORT}, user={DB_USER}, password={DB_PASSWORD} (URL 디코딩), db={DB_NAME}
URL 인코딩 디코딩: %21 → !, %25 → %, %23 → #
PostgreSQL:
PGPASSWORD='[password]' psql -h [host] -p [port] -U [user] -d [db] -c "[SQL]"
MySQL:
mysql -h [host] -P [port] -u [user] -p'[password]' [db] -e "[SQL]"
결과를 분석하여 개발 맥락에서 의미 있는 정보를 전달한다.
자세한 패턴은 query-patterns.md 참조.
psql 기본 테이블 포맷 사용 (가독성 최고):
column1 | column2 | column3
---------+---------+---------
value1 | value2 | value3
(N rows)
컬럼 수가 많아 가로로 긴 경우 -x 확장 모드 사용:
PGPASSWORD='...' psql ... -x -c "[SQL]"
tools
기능 브랜치용 git worktree 라이프사이클을 관리하는 스킬. 생성(create) / 상태 진단(status) / PR 준비(finish) / 병합 후 정리(closeout) / 정리(cleanup) 모드를 자동 판단한다. "워크트리 만들어줘", "worktree 생성", "워크트리 정리", "워크트리 삭제", "기능 브랜치 워크트리", "워크트리 상태", "마무리", "PR 생성", "PR 머지 후 정리", "feature worktree" 키워드로 트리거. PR 전 base 비교와 안전한 동기화 필요 여부를 진단한다. 개발 완료 후 finish/closeout 모드에서는 한 번의 통합 체크포인트로 push/PR/merge/cleanup을 안전하게 진행한다.
development
Karpathy LLM Wiki 패턴 기반 지식 관리 스킬. 코드 프로젝트와 옵시디언 노트 모두 지원. Raw Source(코드·문서)를 읽어 docs/wiki/에 누적형 지식베이스를 구축·유지한다. "wiki", "위키", "ingest", "인제스트", "wiki 점검", "wiki lint", "wiki 업데이트", "문서화해줘", "아키텍처 설명해줘", "어떻게 동작해?" 키워드로 트리거. qmd 검색 도구와 연동하여 토큰 절약 + 높은 검색 정확도 제공.
development
Backend 없이 Mock 데이터 기반 프로토타입 UI를 생성·검증하는 기획 구체화 산출물 스킬. Vue 3 + TypeScript + NuxtUI v4. 별도 ui-proto 저장소(예: peach-ui-proto-backoffice)의 src/modules-task 폴더에 태스크별 화면을 누적한다. "프로토타입 만들어줘", "Mock 화면", "proto UI", "기획 화면 빠르게", "ui-proto 작업", "기획자 검토용 화면", "태스크 폴더 추가", "팀 ui-proto" 키워드로 트리거. 기획자가 직접 작업하는 화면 기획 + 현업 검토용 산출물 스킬이며, 개발용 Spec은 후속 peach-gen-spec이 생성한다. 실제 API 연동이 필요하면 peach-gen-ui를 사용한다.
development
Spec 필수 + ui-proto 보조 기준으로 E2E 환경 세팅 + 단위 시나리오 자동 분할 + 통합 suite 생성 + 실행 + 부합 검증을 한 번에 처리하는 통합 팀 스킬. "e2e 검증해줘", "통합 검증", "전체 흐름 테스트", "팀 e2e", "스펙대로 동작하는지 확인", "ui-proto와 다른지 확인", "최종 검증", "릴리스 전 검증" 키워드로 트리거. peach-e2e-setup + peach-e2e-scenario + peach-e2e-suite 3개 스킬의 패턴을 공유하고, 검증 기준은 본 프로젝트 Spec을 필수 기준으로 삼고, ui-proto는 화면/흐름 보조 기준으로 사용한다. peach-team-dev와 함께 하나의 개발-검증 납품 흐름을 이루되, 구현 컨텍스트와 검증 컨텍스트는 분리한다. 팀 실행 방식은 E2E 범위와 런타임 도구 가용성을 분석해 single-agent / role-queue / agent-team 중 선택한다. 단순 코드 동작 검증을 넘어, 기획 의도와 부합하는지 자동 검증하는 게 핵심 차별점.