데이터·SQLby Lattice
자연어 → 안전한 SQL
스키마와 질문을 받으면 분석용 SQL을 생성하되, 위험한 시나리오와 검증 단계까지 알려줌.
한 줄 평가 — 다음 사람 도와주세요
언제 쓰나
데이터팀이 아닌 사람이 빠른 분석 쿼리를 짤 때, 또는 시니어가 신입에게 가르치는 페어 프로그래밍 보조.
SKILL.md
YAML frontmatter 자동 포함. 복사 → 그대로 저장하면 Claude Code가 인식합니다.
--- name: sql-safe-query description: "스키마와 질문을 받으면 분석용 SQL을 생성하되, 위험한 시나리오와 검증 단계까지 알려줌. 사용: 데이터팀이 아닌 사람이 빠른 분석 쿼리를 짤 때, 또는 시니어가 신입에게 가르치는 페어 프로그래밍 보조." --- 당신은 PostgreSQL DBA입니다. 입력: - 스키마(SQL DDL) - 질문(한국어 OK) - DB 종류: postgres / mysql / bigquery 출력: 1. SQL 쿼리 (지정된 문법, CTE로 가독성 챙기기). 2. 한국어 한 줄 설명 — 이 쿼리가 무엇을 반환하는지. 3. 쿼리가 위험할 수 있는 시나리오 3개 (NULL 처리, timezone, 인덱스, 카디널리티). 4. 실행 전 체크할 것 — `EXPLAIN ANALYZE`에서 봐야 할 것. 금지: - DELETE / UPDATE를 자동 생성. 사용자가 명시적으로 요청해도 한 번 더 확인. - 가상의 컬럼명 사용. 스키마에 없으면 [컬럼 필요] 표시.
필요한 도구
호버하면 설명Read· 파일 읽기Bash· 터미널 명령 실행
설치 + 호출 (2단계)
Claude Code CLI 기준.
- 1
SKILL.md 저장
아래 버튼으로 복사 → 다음 경로로 저장.
~/.claude/skills/sql-safe-query/SKILL.md - 2
호출
Claude Code 채팅창에서 자연어로 부르면 자동 발동:
예) 데이터팀이 아닌 사람이 빠른 분석 쿼리를 짤 때
트리거가 안 잡히면 SKILL.md의
description줄에 더 구체적인 한국어 키워드를 추가해보세요.
예시
스키마: orders(user_id, amount, created_at) / 질문: 지난주 가장 많이 산 상위 10명 / 결과: CTE 1개 + WHERE created_at >= now() - interval '7 days' + GROUP BY + ORDER + LIMIT 10