con un clic
k-skill-setup
After installing the full k-skill bundle, configure and verify the shared cross-platform setup, then optionally wire update checks and GitHub starring with explicit user consent.
Menรบ
After installing the full k-skill bundle, configure and verify the shared cross-platform setup, then optionally wire update checks and GitHub starring with explicit user consent.
AI๊ฐ ์ด ํฐ๊ฐ ๋๋ ํ๊ตญ์ด ๊ธ์ ์์ฐ์ค๋ฌ์ด ์ฌ๋ ๊ธ๋ก ๊ณ ์น๋ค. ๋ฒ์ญ์ฒด, AI ์ํฌ์ด, ๊ณผ๋ํ ๋ช ์ฌํยทํผ๋, 3์ ๋ฒ์น, ๊ณผ์ฅ๋ ์์ ๋ถ์ฌ, ๋ง๋ฌด๋ฆฌ ์ํฌ๊ตฌ, ์ฑ๋ด ์์ฌ, ์คํยท๊ณก์ ๋ฐ์ดํ ๊ฐ์ ํ๊ตญ์ด ํน์ ์ AI ํ์ ์ ์ฌ๊ฐ๋(S1/S2/S3)๋ก ๋ถ๋ฅํด ์ก์๋ด๊ณ ์๋ฏธ๋ ๋ณด์กดํ๋ฉด์ ๋ค์ ์ด๋ค. ๋ชฉํ ๊ธ์์๋ฅผ ํจ๊ป ์ฃผ๋ฉด(์: "1000์๋ก", length=1000) ๊ทธ ๋ถ๋์ ๋ง์ถฐ ๋๋ฆฌ๊ฑฐ๋ ์ค์ธ๋ค. "AI ํฐ ์ ๋๊ฒ", "์ฌ๋์ด ์ด ๊ฒ์ฒ๋ผ", "์์ฐ์ค๋ฝ๊ฒ ๋ค๋ฌ์ด์ค", "๋ฒ์ญ์ฒด ๊ณ ์ณ์ค", "์ด์ํ ๊ฑฐ ๊ณ ์ณ์ค", "N์๋ก ๋ง์ถฐ์" ๊ฐ์ ์์ฒญ์ ์ฌ์ฉ.
์ฌ์ ์๋ฑ๋ก๋ฒํธ ํ๋๋ก "์ด ์ฌ์ ์, ์ค์ ๋ฌธ์ ์๋"๋ฅผ ํ์ธํ๋ค โ ๊ตญ์ธ์ฒญ ์ฌ์ ์๋ฑ๋ก ์ํยท๊ตญ๋ฏผ์ฐ๊ธ ๊ฐ์ ์ฌ์ ์ฅยท๊ตญ์ธ ์ฒด๋ฉ ๋ช ๋จยท๊ธ์ต์ ๋ฒ์ธ๊ฐ์ยท์กฐ๋ฌ์ฒญ ๋ถ์ ๋น์ ์ฌยท์ง๋ฐฉํ์ ์ธํ๊ฐ ์์ ์ํ๋ฅผ ๋ฌด๋ฃ ๊ณต๊ณต ๋ฐ์ดํฐ๋ก ๊ต์ฐจ ์กฐํํด ์ฌ์ค๋ง ๋ณ๋ ฌํ๋ ์ค์ฌ ๋ฆฌํฌํธ(์ ์ยท๋ฑ๊ธยท์ํ ํ์ ์์).
๊ธ์ต์์ํ ๊ธฐ์ ๊ธฐ๋ณธ์ ๋ณด(๋ฒ์ธ ๊ฐ์)๋ฅผ ๊ณต๊ณต๋ฐ์ดํฐํฌํธ API(k-skill-proxy ๊ฒฝ์ )๋ก ์กฐํํ๋ค. ๋ฒ์ธ๋ช ์ผ๋ก ๋ํ์ยท์ค๋ฆฝ์ผยท์ ์ข ๋ฑ ๋ฒ์ธ ๊ฐ์๋ฅผ ํ์ธํ๊ณ , ์๋ต์ ์ฌ์ ์๋ฒํธ๊ฐ ์์ผ๋ฉด ์ ๋ ฅ ๋ฒํธ์ ๊ต์ฐจ๊ฒ์ฆํ๋ค.
์กฐ๋ฌ์ฒญ ๋๋ผ์ฅํฐ ๋ถ์ ๋น์ ์ฌ์ ์ฒด์ ๋ณด๋ฅผ ๊ณต๊ณต๋ฐ์ดํฐํฌํธ API(k-skill-proxy ๊ฒฝ์ )๋ก ์กฐํํ๋ค. ์ฌ์ ์๋ฑ๋ก๋ฒํธ ์ ํ ์ผ์น๋ก ์กฐํ์์ ํ์ฌ ์ ํจํ ์ ์ฐฐ์ฐธ๊ฐ์๊ฒฉ ์ ํ(๋ถ์ ๋น์ ์ฌ)์ ๊ธฐ๊ฐยท์ ์ฌ๊ธฐ๊ดยท๊ทผ๊ฑฐ๋ฒ๋ฅ ์ ํ์ธํ๋ค.
๊ตญ๋ฏผ์ฐ๊ธ๊ณต๋จ ๊ตญ๋ฏผ์ฐ๊ธ ๊ฐ์ ์ฌ์ ์ฅ ๋ด์ญ์ ๊ณต๊ณต๋ฐ์ดํฐํฌํธ API(k-skill-proxy ๊ฒฝ์ )๋ก ์กฐํํ๋ค. ์ฌ์ ์ฅ๋ช ์ผ๋ก ๊ฐ์ ์์ยท๋น์ ๊ณ ์ง๊ธ์กยท์๋ณ ์ทจ๋/์์ค ์ถ์ด๋ฅผ ํ์ธํด ๊ทธ ํ์ฌ์ ์ง์ ๊ท๋ชจ์ ๋ณํ๋ฅผ ๋ณธ๋ค.
Search Korean statutes, articles, precedents, interpretations, and local ordinances via k-skill-proxy. Use when the user asks for Korean law/article/precedent lookups.
| name | k-skill-setup |
| description | After installing the full k-skill bundle, configure and verify the shared cross-platform setup, then optionally wire update checks and GitHub starring with explicit user consent. |
| license | MIT |
| metadata | {"category":"setup","locale":"ko-KR","phase":"v1"} |
์ ์ฒด k-skill ์ค์น๊ฐ ๋๋ ๋ค, ๊ณตํต ํ์ ์์
์ ์ฒ๋ฆฌํ๋ค.
์ด ์คํฌ์ ๊ธฐ๋ณธ ์ ์ฑ :
cron, launchd, schtasks, gh ๊ฐ์ ์ง์์ฑ/์ธ๋ถ ์ํ ๋ณ๊ฒฝ์ ์๋์ผ๋ก ํ์ง ๋ง๊ณ ๋จผ์ ์ฌ์ฉ์ ๋์๋ฅผ ๋ฐ๋๋ค๋ชจ๋ credential-bearing ์คํฌ์ ์๋ ์ฐ์ ์์๋ฅผ ๋ฐ๋ฅธ๋ค.
~/.config/k-skill/secrets.env (๊ธฐ๋ณธ fallback) โ plain dotenv ํ์ผ, ํผ๋ฏธ์
0600.๊ธฐ๋ณธ ๊ฒฝ๋ก์ ์ ์ฅํ๋ ๊ฒ์ fallback์ผ ๋ฟ, ๊ฐ์ ๊ฐ ์๋๋ค.
~/.config/k-skill/secrets.env์ด ์คํฌ์ k-skill ์ ์ฒด ์คํฌ ์ค์น๊ฐ ๋๋ ๋ค ์คํํ๋ ๊ฒ์ ๊ธฐ๋ณธ์ผ๋ก ํ๋ค.
์:
npx --yes skills add <owner/repo> --all -g
์ค์น๊ฐ ๋๋๋ฉด ์ด ์คํฌ์ ํธ์ถํด ์๋ setup ๋จ๊ณ๋ฅผ ์ด์ด๊ฐ๋ค.
์์ด์ ํธ๊ฐ ์์ฒด 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
KSKILL_FORESTTRIP_ID=replace-me
KSKILL_FORESTTRIP_PASSWORD=replace-me
LAW_OC=replace-me
KIPRIS_PLUS_API_KEY=replace-me
AIR_KOREA_OPEN_API_KEY=replace-me
KSKILL_PROXY_BASE_URL=
EOF
chmod 0600 ~/.config/k-skill/secrets.env
์ ์ ์๊ฒ ๋ฌผ์ด์ ์ค์ ๊ฐ์ ์ฑ์ด๋ค.
์์ธ ์งํ์ฒ ๋์ฐฉ์ ๋ณด, ์์ธ ์ค์๊ฐ ํผ์ก๋ ์กฐํ, ์์ธ ๋ฐ๋ฆ์ด ์ค์๊ฐ ๋์ฌ์ ์กฐํ, ํ๊ตญ ๋ ์จ, ๋ฏธ์ธ๋จผ์ง, ํ๊ฐ ์์, ์ฃผ์ ์ ๊ฐ๊ฒฉ, ์ํ์ฐ๋ ๊ธฐ ๋ฐฐ์ถ์ ๋ณด ์กฐํ, ํ๊ต ๊ธ์ ์๋จ ์กฐํ, ์์ฝํ ์์ ์ฒดํฌ, ์ํ ์์ ์ฒดํฌ๋ KSKILL_PROXY_BASE_URL ์ ๋น์ ๋๋ฉด ๊ธฐ๋ณธ hosted path(k-skill-proxy.nomadamas.org)๋ฅผ ๊ทธ๋๋ก ์ด๋ค. ๋ณ๋ self-host proxy๋ฅผ ์ธ ๋๋ง KSKILL_PROXY_BASE_URL ์ ์ฑ์ด๋ค.
ํ๊ตญ ๋ฒ๋ น ๊ฒ์์ ๊ธฐ๋ณธ hosted proxy(k-skill-proxy.nomadamas.org)์ /v1/korean-law/... endpoint๋ฅผ ๊ฒฝ์ ํ๋ฏ๋ก ์ฌ์ฉ์ ์ชฝ LAW_OC ๊ฐ ๋ถํ์ํ๋ค. self-host proxy ์ด์์๋ง ์๋ฒ ํ๊ฒฝ๋ณ์ LAW_OC ๋ฅผ ์ฑ์ด๋ค(๋ฌด๋ฃ ๋ฐ๊ธ: https://open.law.go.kr).
ํ๊ตญ ๋ถ๋์ฐ ์ค๊ฑฐ๋๊ฐ ์กฐํ๋ ๊ธฐ๋ณธ hosted proxy(k-skill-proxy.nomadamas.org)๋ฅผ ๊ฒฝ์ ํ๋ฏ๋ก ์ฌ์ฉ์ ์ชฝ DATA_GO_KR_API_KEY ๊ฐ ๋ถํ์ํ๋ค.
ํ๊ตญ ์ฃผ์ ์ ๋ณด ์กฐํ๋ ๊ธฐ๋ณธ hosted proxy(k-skill-proxy.nomadamas.org)๋ฅผ ๊ฒฝ์ ํ๋ฏ๋ก ์ฌ์ฉ์ ์ชฝ KRX_API_KEY ๊ฐ ๋ถํ์ํ๋ค. self-host proxy ์ด์์๋ง ์๋ฒ ํ๊ฒฝ๋ณ์ KRX_API_KEY ๋ฅผ ์ฌ์ฉํ๋ค.
๋์๊ด ๋์ ์กฐํ๋ ๊ธฐ๋ณธ hosted proxy(k-skill-proxy.nomadamas.org)๋ฅผ ๊ฒฝ์ ํ๋ฏ๋ก ์ฌ์ฉ์ ์ชฝ DATA4LIBRARY_AUTH_KEY ๊ฐ ๋ถํ์ํ๋ค. self-host proxy ์ด์์๋ง ์๋ฒ ํ๊ฒฝ๋ณ์ DATA4LIBRARY_AUTH_KEY ๋ฅผ ์ฌ์ฉํ๋ค.
์ํ์ฐ๋ ๊ธฐ ๋ฐฐ์ถ์ ๋ณด ์กฐํ๋ k-skill-proxy์ /v1/household-waste/info ๋ผ์ฐํธ๋ฅผ ํธ์ถํ๊ณ , serviceKey(DATA_GO_KR_API_KEY)๋ proxy ์๋ฒ์์ ์ฃผ์
/๊ด๋ฆฌํ๋ฏ๋ก ์ฌ์ฉ์ ์ชฝ DATA_GO_KR_API_KEY ๊ฐ ๋ถํ์ํ๋ค.
ํ๊ต ๊ธ์ ์๋จ ์กฐํ๋ k-skill-proxy์ /v1/neis/school-searchยท/v1/neis/school-meal์ ํธ์ถํ๊ณ , KEDU_INFO_KEY๋ ํ๋ก์ ์๋ฒ์๋ง ๋๋ฏ๋ก ์ฌ์ฉ์ ์ชฝ์ ๋ ํ์๊ฐ ์๋ค.
๋์๊ด ๋์ ์กฐํ๋ k-skill-proxy์ /v1/data4library/* ๋ผ์ฐํธ๋ฅผ ํธ์ถํ๊ณ , DATA4LIBRARY_AUTH_KEY๋ ํ๋ก์ ์๋ฒ์๋ง ๋๋ฏ๋ก ์ฌ์ฉ์ ์ชฝ์ ๋ ํ์๊ฐ ์๋ค.
๊ทผ์ฒ ๊ฐ์ฅ ์ผ ์ฃผ์ ์ ์ฐพ๊ธฐ๋ ๊ธฐ๋ณธ hosted proxy๋ฅผ ๊ฒฝ์ ํ๋ฏ๋ก ์ฌ์ฉ์ ์ชฝ OPINET_API_KEY ๊ฐ ๋ถํ์ํ๋ค.
์์ฝํ ์์ ์ฒดํฌ๋ k-skill-proxy์ /v1/mfds/drug-safety/lookup ๋ผ์ฐํธ๋ฅผ ํธ์ถํ๊ณ , DATA_GO_KR_API_KEY ๋ ํ๋ก์ ์๋ฒ์์๋ง ์ฃผ์
/๊ด๋ฆฌํ๋ฏ๋ก ์ฌ์ฉ์ ์ชฝ์ ๋ ํ์๊ฐ ์๋ค.
์ํ ์์ ์ฒดํฌ๋ k-skill-proxy์ /v1/mfds/food-safety/search ๋ผ์ฐํธ๋ฅผ ํธ์ถํ๊ณ , DATA_GO_KR_API_KEY ๋ฐ ์ ํ์ FOODSAFETYKOREA_API_KEY ๋ ํ๋ก์ ์๋ฒ์์๋ง ์ฃผ์
/๊ด๋ฆฌํ๋ฏ๋ก ์ฌ์ฉ์ ์ชฝ์ ๋ ํ์๊ฐ ์๋ค.
์ฐฝ์
์งํฅ์ K-Startup ์กฐํ๋ k-skill-proxy์ /v1/kstartup/* ๋ผ์ฐํธ๋ฅผ ํธ์ถํ๊ณ , ServiceKey(DATA_GO_KR_API_KEY)๋ ํ๋ก์ ์๋ฒ์์๋ง ์ฃผ์
/๊ด๋ฆฌํ๋ฏ๋ก ์ผ๋ฐ ์กฐํ๋ ์ฌ์ฉ์ ์ชฝ์ ํค๊ฐ ํ์ ์๋ค. --direct ํธ์ถ์ ์ธ ๋๋ง KSKILL_KSTARTUP_API_KEY ๋ฅผ ์ฑ์ด๋ค.
ํ๊ตญ ํนํ ์ ๋ณด ๊ฒ์์ KIPRIS Plus Open API ๊ฒฝ๋ก๋ฅผ ์ธ ๋ KIPRIS_PLUS_API_KEY ๋ฅผ ์ฑ์ด๋ค. helper๋ ์ด ๊ฐ์ ์ฝ์ด ์ค์ ์์ฒญ์์ ServiceKey ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ก ๋ณด๋ธ๋ค. ๊ณต๊ณต๋ฐ์ดํฐํฌํธ์์ ๋ณต์ฌํ percent-encoded key๋ ๊ทธ๋๋ก ๋ฃ์ด๋ ๋๋ค.
์ธ์ฆ ์คํฌ์์ ๊ฐ์ด ๋น ์ก์ ๋๋ credential resolution order์ ๋ฐ๋ผ ํ๋ณดํ๋ค.
ํ์ํ ๊ฐ ์:
KSKILL_SRT_ID, KSKILL_SRT_PASSWORDKSKILL_KTX_ID, KSKILL_KTX_PASSWORDKSKILL_FORESTTRIP_ID, KSKILL_FORESTTRIP_PASSWORDLAW_OC)KIPRIS_PLUS_API_KEYKRX_API_KEY)serviceKey๋ proxy ์๋ฒ ์ฃผ์
, ํธ์ถ ์ pageNo=1ยทnumOfRows=100 ํ์)KEDU_INFO_KEY๋ proxy ์๋ฒ๋ง)DATA4LIBRARY_AUTH_KEY๋ proxy ์๋ฒ๋ง)DATA_GO_KR_API_KEY๋ proxy ์๋ฒ๋ง)DATA_GO_KR_API_KEY์ ์ ํ์ FOODSAFETYKOREA_API_KEY๋ proxy ์๋ฒ๋ง)DATA_GO_KR_API_KEY๋ proxy ์๋ฒ๋ง; --direct ํธ์ถ ๋๋ง KSKILL_KSTARTUP_API_KEY)SEOUL_OPEN_API_KEY)SEOUL_OPEN_API_KEY)KMA_OPEN_API_KEY)KSKILL_PROXY_BASE_URL ๋๋ AIR_KOREA_OPEN_API_KEY์ํฌ๋ฆฟ์ด ๋น์ด ์๋ค๋ ์ด์ ๋ก ๋ค๋ฅธ ์๋น์ค๋ ๋น๊ณต์ ์ฐํ ๊ฒฝ๋ก๋ฅผ ์๋ ์ ํํ์ง ์๋๋ค.
bash scripts/check-setup.sh
setup์ด ๋๋๋ฉด ์ฌ์ฉ์์๊ฒ ์ฃผ๊ธฐ์ ์ธ ์ ๋ฐ์ดํธ ํ์ธ ์๋ํ๋ฅผ ์ํ๋์ง ๋จผ์ ๋ฌป๋๋ค. ์ํ์ง ์์ผ๋ฉด ๊ฑด๋๋ด๋ค.
๊ธฐ๋ณธ ์ ์ฑ :
์
๋ฐ์ดํธ ํ์ธ ๋ง ๊ธฐ๋ณธ์ผ๋ก ์ ์ํ๋คcrontab, launchd, schtasks)์ ๋์ ์์ด ์ ์ฉํ์ง ์๋๋คnpx --yes skills check์๋ ์
๋ฐ์ดํธ ๋ฅผ ์ํ ๋๋ง npx --yes skills update ๊ธฐ๋ฐ ์ค์ผ์ค์ ๋ณ๋๋ก ์ ์ํ๋คmacOS / Linux ์์:
mkdir -p ~/.config/k-skill/bin ~/.config/k-skill/logs
cat > ~/.config/k-skill/bin/check-skill-updates.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
mkdir -p "$HOME/.config/k-skill/logs"
{
date '+[%Y-%m-%d %H:%M:%S]'
npx --yes skills check
printf '\n'
} >> "$HOME/.config/k-skill/logs/skills-check.log" 2>&1
EOF
chmod +x ~/.config/k-skill/bin/check-skill-updates.sh
(crontab -l 2>/dev/null; echo "0 9 * * * $HOME/.config/k-skill/bin/check-skill-updates.sh") | crontab -
Windows ์์:
New-Item -ItemType Directory -Force "$HOME/.config/k-skill/bin" | Out-Null
New-Item -ItemType Directory -Force "$HOME/.config/k-skill/logs" | Out-Null
@'
npx --yes skills check >> "$HOME/.config/k-skill/logs/skills-check.log" 2>&1
'@ | Set-Content "$HOME/.config/k-skill/bin/check-skill-updates.cmd"
schtasks /Create /SC DAILY /TN "k-skill-update-check" /TR "\"$HOME/.config/k-skill/bin/check-skill-updates.cmd\"" /ST 09:00 /F
์ค์ ํ์๋ ๋ก๊ทธ ์์น๋ฅผ ์งง๊ฒ ์๋ ค์ค๋ค:
~/.config/k-skill/logs/skills-check.logsetup ๋ง์ง๋ง์๋ ๋ค์์ฒ๋ผ ์งง๊ฒ ๋ฌป๋๋ค.
k-skill ์ ์ฅ์(NomaDamas/k-skill)์ GitHub star๋ฅผ ๋๋ฌ๋๋ฆด๊น์?
์ํ์๋ฉด `gh` ๋ก ๋ฐ๋ก ์ฒ๋ฆฌํ๊ณ , ์ํ์ง ์์ผ๋ฉด ๊ฑด๋๋๋๋ค.
๊ท์น:
gh repo star ๋ฅผ ์คํํ์ง ์๋๋คgh ๊ฐ ์๊ฑฐ๋ ์ธ์ฆ๋์ง ์์์ผ๋ฉด ์ค์น/๋ก๊ทธ์ธ ์๋ด๋ง ํ๊ณ ์๋ ์ฐํํ์ง ์๋๋คNomaDamas/k-skill ์ด๋ค๋์ํ๊ณ gh auth status ๊ฐ ์ ์์ด๋ฉด:
gh repo star NomaDamas/k-skill
์ฑ๊ณตํ๋ฉด ์งง๊ฒ ์๋ฃ๋ง ์๋ฆฐ๋ค.
~/.config/k-skill/secrets.env exists with permission 0600 (๋๋ ์์ด์ ํธ๊ฐ ์์ฒด vault๋ก credential์ ๊ด๋ฆฌ ์ค)