k-skill/docs/setup.md
Jeffrey (Dongkyu) Kim d18c8a5917 Keep hosted proxy setup guidance aligned for school-lunch follow-up
The approved PR #103 follow-up extends the setup-doc regression
coverage so it checks the hosted KSKILL_PROXY_BASE_URL guidance and
both household-waste + school-lunch setup entries, then updates the
guide text to match the shipped hosted-proxy behavior.

Constraint: Must stay within the approved PR #103 follow-up scope
Rejected: Broader setup-doc wording sweep across unrelated features | unnecessary for this approved follow-up
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Keep docs/setup.md and scripts/skill-docs.test.js aligned whenever hosted proxy coverage changes
Tested: node --test scripts/skill-docs.test.js
Tested: npm run lint
Tested: npm run typecheck
Tested: node --test packages/k-skill-proxy/test/server.test.js
Tested: bash scripts/validate-skills.sh
Tested: local buildServer(...).inject(...) smoke for /health and household-waste pagination
Not-tested: Live NEIS curl smoke with a real KEDU_INFO_KEY
2026-04-10 14:32:52 +09:00

5.3 KiB

공통 설정 가이드

k-skill 전체 스킬을 설치한 뒤, 인증 정보가 필요한 기능(SRT 예매, KTX 예매, 한국 법령 검색의 로컬 CLI/MCP 경로용 LAW_OC, self-host 프록시 운영용 서울 지하철 upstream key, 또는 배포 확인이 끝난 proxy URL 공유)이 있으면 이 절차를 진행하면 된다. 미세먼지, 한강 수위, 주유소 가격, 생활쓰레기 배출정보, 부동산 실거래가, 학교 급식 식단은 기본 hosted proxy를 쓰므로 사용자 쪽 키가 불필요하다.

Credential resolution order

모든 credential-bearing 스킬은 아래 우선순위를 따른다.

  1. 이미 환경변수에 있으면 그대로 사용한다.
  2. 에이전트가 자체 secret vault(1Password CLI, Bitwarden CLI, macOS Keychain 등)를 사용 중이면 거기서 꺼내 환경변수로 주입해도 된다.
  3. ~/.config/k-skill/secrets.env (기본 fallback) — plain dotenv 파일, 퍼미션 0600.
  4. 아무것도 없으면 유저에게 물어서 2 또는 3에 저장한다.

에이전트가 자체 vault를 사용 중이라면 기본 경로 설정을 건너뛰어도 된다.

기본 경로로 설정하기

에이전트가 별도 vault를 쓰지 않는 경우, 기본 fallback 파일을 만든다.

mkdir -p ~/.config/k-skill
cat > ~/.config/k-skill/secrets.env <<'EOF'
KSKILL_SRT_ID=replace-me
KSKILL_SRT_PASSWORD=replace-me
KSKILL_KTX_ID=replace-me
KSKILL_KTX_PASSWORD=replace-me
LAW_OC=replace-me
AIR_KOREA_OPEN_API_KEY=replace-me
KSKILL_PROXY_BASE_URL=https://your-proxy.example.com
EOF
chmod 0600 ~/.config/k-skill/secrets.env

실제 값을 채운다.

서울 지하철 도착정보는 hosted public route rollout 이 끝나기 전까지 KSKILL_PROXY_BASE_URL 을 self-host 또는 배포 확인이 끝난 proxy URL 로 채워야 한다. 미세먼지, 한강 수위, 주유소 가격, 생활쓰레기 배출정보, 학교 급식 식단은 KSKILL_PROXY_BASE_URL 을 비워 두면 기본 hosted path(k-skill-proxy.nomadamas.org)를 그대로 쓴다.

한국 법령 검색의 로컬 CLI/MCP 경로용 LAW_OCkorean-law-mcp 로컬 실행에 쓴다. 로컬 CLI/MCP 경로는 LAW_OC 를 채운 뒤 npm install -g korean-law-mcpkorean-law list 로 설치 상태를 확인한다.

remote MCP endpoint는 사용자 LAW_OC 없이 url만으로 연결한다. 다만 기존 korean-law-mcp 경로가 서비스 장애로 막히면 법망(https://api.beopmang.org) MCP/REST를 fallback으로 사용할 수 있다.

한국 부동산 실거래가 조회는 기본 hosted proxy(k-skill-proxy.nomadamas.org)를 경유하므로 사용자 쪽 DATA_GO_KR_API_KEY 가 불필요하다.

근처 가장 싼 주유소 찾기는 기본 hosted proxy(k-skill-proxy.nomadamas.org)를 경유하므로 사용자 쪽 OPINET_API_KEY 가 불필요하다.

생활쓰레기 배출정보 조회는 기본 hosted proxy(k-skill-proxy.nomadamas.org)를 경유하므로 사용자 쪽 DATA_GO_KR_API_KEY 가 불필요하다.

확인

bash scripts/check-setup.sh

시크릿이 없을 때의 기본 응답

인증이 필요한 스킬에서 값이 비어 있으면 credential resolution order에 따라 확보한다.

  • 어떤 값이 필요한지 정확한 변수 이름으로 알려주기
  • resolution order에 따라 유저에게 확보 방법 안내하기

기능별로 필요한 값

기능 필요한 값
SRT 예매 KSKILL_SRT_ID, KSKILL_SRT_PASSWORD
KTX 예매 KSKILL_KTX_ID, KSKILL_KTX_PASSWORD
한국 법령 검색 (로컬 CLI/MCP) LAW_OC
한국 법령 검색 (remote MCP endpoint) 사용자 시크릿 불필요 (url만 등록, 장애 시 법망 fallback 가능)
한국 부동산 실거래가 조회 사용자 시크릿 불필요 (기본 hosted proxy 사용)
근처 가장 싼 주유소 찾기 사용자 시크릿 불필요 (기본 hosted proxy 사용)
생활쓰레기 배출정보 조회 사용자 시크릿 불필요 (프록시에 DATA_GO_KR_API_KEY가 설정된 hosted/self-host 사용)
서울 지하철 도착정보 조회 self-host 또는 배포 확인이 끝난 KSKILL_PROXY_BASE_URL
사용자 위치 미세먼지 조회 KSKILL_PROXY_BASE_URL 또는 AIR_KOREA_OPEN_API_KEY
한강 수위 정보 조회 사용자 시크릿 불필요 (기본 hosted proxy 사용)
학교 급식 식단 조회 사용자 시크릿 불필요 (프록시에 KEDU_INFO_KEY가 설정된 hosted/self-host 사용)

다음에 볼 문서

설치 기본 흐름은 "전체 스킬 설치 → 개별 기능 사용" 이다.