| 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 Setup
Purpose
์ ์ฒด k-skill ์ค์น๊ฐ ๋๋ ๋ค, ๊ณตํต ํ์ ์์
์ ์ฒ๋ฆฌํ๋ค.
- credential ํ๋ณด (์์ด์ ํธ vault ๋๋ ๊ธฐ๋ณธ secrets.env)
- ๋ฐํ์ ํ๊ฒฝ๋ณ์ ํ์ธ
- ์ ํ ์ฌํญ: ์ฃผ๊ธฐ์ ์ธ ์
๋ฐ์ดํธ ํ์ธ ์๋ํ
- ์ ํ ์ฌํญ: GitHub star ์ฌ๋ถ ํ์ธ ๋ฐ ๋์ ์ ์คํ
์ด ์คํฌ์ ๊ธฐ๋ณธ ์ ์ฑ
:
- ์ํฌ๋ฆฟ์ด ์์ผ๋ฉด ํ์ํ ๊ฐ ์ด๋ฆ์ ์ฌ์ฉ์์๊ฒ ์ ํํ ์๋ ค์ค๋ค
- credential resolution order์ ๋ฐ๋ผ ํ๋ณดํ๋ค
- ํ์ํ ํจํค์ง๊ฐ ์์ผ๋ฉด ๋์ฒด ๊ตฌํ์ ์ฐพ๊ธฐ๋ณด๋ค ์ ์ญ ์ค์น๋ฅผ ๋จผ์ ์๋ํ๋ค
cron, launchd, schtasks, gh ๊ฐ์ ์ง์์ฑ/์ธ๋ถ ์ํ ๋ณ๊ฒฝ์ ์๋์ผ๋ก ํ์ง ๋ง๊ณ ๋จผ์ ์ฌ์ฉ์ ๋์๋ฅผ ๋ฐ๋๋ค
- GitHub star๋ ์ฌ์ฉ์๊ฐ ๋ช
์์ ์ผ๋ก ๋์ํ์ ๋๋ง ์คํํ๋ค
Credential resolution order
๋ชจ๋ credential-bearing ์คํฌ์ ์๋ ์ฐ์ ์์๋ฅผ ๋ฐ๋ฅธ๋ค.
- ์ด๋ฏธ ํ๊ฒฝ๋ณ์์ ์์ผ๋ฉด ๊ทธ๋๋ก ์ฌ์ฉํ๋ค.
- ์์ด์ ํธ๊ฐ ์์ฒด secret vault(1Password CLI, Bitwarden CLI, macOS Keychain ๋ฑ)๋ฅผ ์ฌ์ฉ ์ค์ด๋ฉด ๊ฑฐ๊ธฐ์ ๊บผ๋ด ํ๊ฒฝ๋ณ์๋ก ์ฃผ์
ํด๋ ๋๋ค.
~/.config/k-skill/secrets.env (๊ธฐ๋ณธ fallback) โ plain dotenv ํ์ผ, ํผ๋ฏธ์
0600.
- ์๋ฌด๊ฒ๋ ์์ผ๋ฉด ์ ์ ์๊ฒ ๋ฌผ์ด์ 2 ๋๋ 3์ ์ ์ฅํ๋ค.
๊ธฐ๋ณธ ๊ฒฝ๋ก์ ์ ์ฅํ๋ ๊ฒ์ fallback์ผ ๋ฟ, ๊ฐ์ ๊ฐ ์๋๋ค.
Standard file location
- secrets file (๊ธฐ๋ณธ fallback):
~/.config/k-skill/secrets.env
Install
์ด ์คํฌ์ k-skill ์ ์ฒด ์คํฌ ์ค์น๊ฐ ๋๋ ๋ค ์คํํ๋ ๊ฒ์ ๊ธฐ๋ณธ์ผ๋ก ํ๋ค.
์:
npx --yes skills add <owner/repo> --all -g
์ค์น๊ฐ ๋๋๋ฉด ์ด ์คํฌ์ ํธ์ถํด ์๋ setup ๋จ๊ณ๋ฅผ ์ด์ด๊ฐ๋ค.
Setup steps
1. Create the default secrets file (if no vault is in use)
์์ด์ ํธ๊ฐ ์์ฒด 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
KSKILL_EV_CHARGER_API_KEY=replace-me
KSKILL_BUILDING_REGISTER_API_KEY=replace-me
KSKILL_RISS_API_KEY=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)๋ฅผ ๊ทธ๋๋ก ์ด๋ค. ์ ๊ธฐ์ฐจ ์ถฉ์ ์์ ๊ฑด์ถ๋ฌผ๋์ฅ ํ์ ๋ถ ์กฐํ๋ ๊ฐ์ ๊ธฐ๋ณธ hosted path๋ฅผ ์ด๋ค. ๋ณ๋ 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 ๋ฅผ ์ฑ์ด๋ค.
์ ๊ธฐ์ฐจ ์ถฉ์ ์ ์กฐํ๋ k-skill-proxy์ /v1/ev-charger/infoยท/v1/ev-charger/status๋ฅผ ํธ์ถํ๋ฏ๋ก ์ผ๋ฐ ์ฌ์ฉ์๋ ํค๊ฐ ํ์ ์๋ค. --direct์์๋ง KSKILL_EV_CHARGER_API_KEY ๋๋ DATA_GO_KR_API_KEY๋ฅผ ์ฌ์ฉํ๊ณ , ๋ฐ์ดํฐ์
15076352 ํ์ฉ์ ์ฒญ์ ๋ณ๋๋ก ํด์ผ ํ๋ค(์๋์น์ธ).
๊ฑด์ถ๋ฌผ๋์ฅ ํ์ ๋ถ ์กฐํ๋ k-skill-proxy์ /v1/building-register/title์ ํธ์ถํ๋ฏ๋ก ์ผ๋ฐ ์ฌ์ฉ์๋ ํค๊ฐ ํ์ ์๋ค. ์ฃผ์ ์
๋ ฅ์ ๊ฐ์ proxy์ Kakao geocode๋ฅผ ๋จผ์ ์ฌ์ฉํ๋ค. --direct์์๋ง KSKILL_BUILDING_REGISTER_API_KEY ๋๋ DATA_GO_KR_API_KEY๋ฅผ ์ฌ์ฉํ๊ณ ๋ฐ์ดํฐ์
15134735 ํ์ฉ์ ์ฒญ์ ๋ณ๋๋ก ํด์ผ ํ๋ค(์๋์น์ธ).
KERIS/RISS ํ์ ์๋ฃ ๊ฒ์์ RISS ๊ฒ์ API๊ฐ ๊ธฐ๊ด ์ ์ฉ ํค๋ฅผ ์๊ตฌํด k-skill-proxy๋ฅผ ๊ฑฐ์น์ง ์๋๋ค. ์ฌ์ฉ์๊ฐ ์ง์ ๋ฐ๊ธ๋ฐ์ KSKILL_RISS_API_KEY(ํธํ RISS_API_KEY)๋ฅผ ์ค์ ํด ์๋ฅ๋ฅผ ํธ์ถํ๋ค. RISS ํค๋ ๋น์๋ฆฌ ๊ธฐ๊ด/๋ํ์๋ง ๋ฐ๊ธ๋๋ฉฐ RISS ๊ฒ์์๋ DATA_GO_KR_API_KEY๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค.
ํ๊ตญ ํนํ ์ ๋ณด ๊ฒ์์ KIPRIS Plus Open API ๊ฒฝ๋ก๋ฅผ ์ธ ๋ KIPRIS_PLUS_API_KEY ๋ฅผ ์ฑ์ด๋ค. helper๋ ์ด ๊ฐ์ ์ฝ์ด ์ค์ ์์ฒญ์์ ServiceKey ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ก ๋ณด๋ธ๋ค. ๊ณต๊ณต๋ฐ์ดํฐํฌํธ์์ ๋ณต์ฌํ percent-encoded key๋ ๊ทธ๋๋ก ๋ฃ์ด๋ ๋๋ค.
Missing secret response template
์ธ์ฆ ์คํฌ์์ ๊ฐ์ด ๋น ์ก์ ๋๋ credential resolution order์ ๋ฐ๋ผ ํ๋ณดํ๋ค.
ํ์ํ ๊ฐ ์:
- SRT:
KSKILL_SRT_ID, KSKILL_SRT_PASSWORD
- KTX:
KSKILL_KTX_ID, KSKILL_KTX_PASSWORD
- ์์ฐํด์๋ฆผ ๋น ๊ฐ์ค ์กฐํ:
KSKILL_FORESTTRIP_ID, KSKILL_FORESTTRIP_PASSWORD
- ํ๊ตญ ๋ฒ๋ น ๊ฒ์: ์ฌ์ฉ์ ์ํฌ๋ฆฟ ๋ถํ์ (๊ธฐ๋ณธ hosted proxy ์ฌ์ฉ, ์ด์์๋ง
LAW_OC)
- ํ๊ตญ ๋ถ๋์ฐ ์ค๊ฑฐ๋๊ฐ ์กฐํ: ์ฌ์ฉ์ ์ํฌ๋ฆฟ ๋ถํ์ (๊ธฐ๋ณธ hosted proxy ์ฌ์ฉ)
- ํ๊ตญ ํนํ ์ ๋ณด ๊ฒ์:
KIPRIS_PLUS_API_KEY
- ํ๊ตญ ์ฃผ์ ์ ๋ณด ์กฐํ: ์ฌ์ฉ์ ์ํฌ๋ฆฟ ๋ถํ์ (๊ธฐ๋ณธ hosted proxy ์ฌ์ฉ, ์ด์์๋ง
KRX_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 ์๋ฒ๋ง)
- ์ฐฝ์
์งํฅ์ K-Startup ์กฐํ: ์ฌ์ฉ์ ์ํฌ๋ฆฟ ๋ถํ์ (
DATA_GO_KR_API_KEY๋ proxy ์๋ฒ๋ง; --direct ํธ์ถ ๋๋ง KSKILL_KSTARTUP_API_KEY)
- ์ ๊ธฐ์ฐจ ์ถฉ์ ์ ์์นยท์ํ ์กฐํ: ์ฌ์ฉ์ ์ํฌ๋ฆฟ ๋ถํ์ (hosted proxy ์ฌ์ฉ;
--direct ๋๋ง KSKILL_EV_CHARGER_API_KEY ๋๋ DATA_GO_KR_API_KEY)
- ๊ฑด์ถ๋ฌผ๋์ฅ ํ์ ๋ถ ์กฐํ: ์ฌ์ฉ์ ์ํฌ๋ฆฟ ๋ถํ์ (hosted proxy ์ฌ์ฉ;
--direct ๋๋ง KSKILL_BUILDING_REGISTER_API_KEY ๋๋ DATA_GO_KR_API_KEY)
- KERIS/RISS ํ์ ์๋ฃ ๊ฒ์: ์ฌ์ฉ์ ๋ณธ์ธ
KSKILL_RISS_API_KEY(ํธํ RISS_API_KEY) ํ์ (RISS ๊ฒ์ API๋ ๋น์๋ฆฌ ๊ธฐ๊ด/๋ํ ์ ์ฉ ํค๋ก ์ง์ ํธ์ถ, proxy ๋ฏธ์ฌ์ฉ)
- ๊ทผ์ฒ ๊ฐ์ฅ ์ผ ์ฃผ์ ์ ์ฐพ๊ธฐ: ์ฌ์ฉ์ ์ํฌ๋ฆฟ ๋ถํ์ (๊ธฐ๋ณธ hosted proxy ์ฌ์ฉ)
- ์์ธ ์งํ์ฒ : ์ฌ์ฉ์ ์ํฌ๋ฆฟ ๋ถํ์ (๊ธฐ๋ณธ hosted proxy ์ฌ์ฉ, ์ด์์๋ง
SEOUL_OPEN_API_KEY)
- ์์ธ ์ค์๊ฐ ํผ์ก๋: ์ฌ์ฉ์ ์ํฌ๋ฆฟ ๋ถํ์ (๊ธฐ๋ณธ hosted proxy ์ฌ์ฉ, ์ด์์๋ง
SEOUL_OPEN_API_KEY)
- ํ๊ตญ ๋ ์จ: ์ฌ์ฉ์ ์ํฌ๋ฆฟ ๋ถํ์ (๊ธฐ๋ณธ hosted proxy ์ฌ์ฉ, ์ด์์๋ง
KMA_OPEN_API_KEY)
- ์ฌ์ฉ์ ์์น ๋ฏธ์ธ๋จผ์ง ์กฐํ:
KSKILL_PROXY_BASE_URL ๋๋ AIR_KOREA_OPEN_API_KEY
์ํฌ๋ฆฟ์ด ๋น์ด ์๋ค๋ ์ด์ ๋ก ๋ค๋ฅธ ์๋น์ค๋ ๋น๊ณต์ ์ฐํ ๊ฒฝ๋ก๋ฅผ ์๋ ์ ํํ์ง ์๋๋ค.
2. Verify runtime environment
์ด ์คํฌ์ SKILL.md ๋จ์ผ ํ์ผ๋ก ์ค์น๋ ์ ์์ผ๋ฏ๋ก ๋ณ๋ ์คํฌ๋ฆฝํธ ํ์ผ์ ์์กดํ์ง ์๊ณ ์๋ ๊ฒ์ฆ์ ์ง์ ์คํํ๋ค.
secrets_file="$HOME/.config/k-skill/secrets.env"
if [ ! -f "$secrets_file" ]; then
echo "missing secrets file: $secrets_file"
echo "next steps:"
echo " 1. create ~/.config/k-skill/secrets.env with your credentials"
echo " 2. chmod 0600 ~/.config/k-skill/secrets.env"
else
perms=$(stat -f '%Lp' "$secrets_file" 2>/dev/null || stat -c '%a' "$secrets_file" 2>/dev/null)
if [ "$perms" != "600" ]; then
echo "insecure permissions on $secrets_file: $perms (expected 600)"
echo "run: chmod 0600 $secrets_file"
else
echo "k-skill setup looks usable"
fi
fi
repo ์ ์ฒด๋ฅผ clone๋ฐ์ ๊ฒฝ์ฐ์๋ ๊ฐ์ ๊ฒ์ฆ์ bash scripts/check-setup.sh ๋ก ์คํํด๋ ๋๋ค.
3. Offer scheduled update checks
setup์ด ๋๋๋ฉด ์ฌ์ฉ์์๊ฒ ์ฃผ๊ธฐ์ ์ธ ์
๋ฐ์ดํธ ํ์ธ ์๋ํ๋ฅผ ์ํ๋์ง ๋จผ์ ๋ฌป๋๋ค. ์ํ์ง ์์ผ๋ฉด ๊ฑด๋๋ด๋ค.
๊ธฐ๋ณธ ์ ์ฑ
:
- ์๋ ์ค์น๊ฐ ์๋๋ผ
์
๋ฐ์ดํธ ํ์ธ ๋ง ๊ธฐ๋ณธ์ผ๋ก ์ ์ํ๋ค
- ์ง์์ฑ ์๋ ์์คํ
๋ณ๊ฒฝ(
crontab, launchd, schtasks)์ ๋์ ์์ด ์ ์ฉํ์ง ์๋๋ค
- ๊ธฐ๋ณธ ํ์ธ ๋ช
๋ น์
npx --yes skills check
- ์ฌ์ฉ์๊ฐ ๋ช
์์ ์ผ๋ก
์๋ ์
๋ฐ์ดํธ ๋ฅผ ์ํ ๋๋ง npx --yes skills update ๊ธฐ๋ฐ ์ค์ผ์ค์ ๋ณ๋๋ก ์ ์ํ๋ค
- ์ฃผ์:
skills CLI ๋ฒ์ ์ ๋ฐ๋ผ check์ -g ๊ฐ์ ์ต์
์ ๋ถ์ด๋ฉด ํ์ธ์ ๋์ด ์ค์น๋ณธ์ ๋ฎ์ด์ธ ์ ์๋ค. ์๋ํ ์คํฌ๋ฆฝํธ์๋ ์ต์
์๋ npx --yes skills check ๋ง ์ฌ์ฉํ๊ณ , ์ค์ ์
๋ฐ์ดํธ ์ ์ฉ์ ์ฌ์ฉ์๊ฐ ๊ฒํ ํ ์ง์ ์คํํ๋๋ก ์๋ดํ๋ค
macOS / Linux ์์:
mkdir -p ~/.config/k-skill/bin ~/.config/k-skill/logs
cat > ~/.config/k-skill/bin/check-skill-updates.sh <<'EOF'
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.log
4. Offer GitHub starring with explicit consent
setup ๋ง์ง๋ง์๋ ๋ค์์ฒ๋ผ ์งง๊ฒ ๋ฌป๋๋ค.
k-skill ์ ์ฅ์(NomaDamas/k-skill)์ GitHub star๋ฅผ ๋๋ฌ๋๋ฆด๊น์?
์ํ์๋ฉด `gh` ๋ก ๋ฐ๋ก ์ฒ๋ฆฌํ๊ณ , ์ํ์ง ์์ผ๋ฉด ๊ฑด๋๋๋๋ค.
๊ท์น:
- ์ฌ์ฉ์๊ฐ ๋ช
์์ ์ผ๋ก ๋์ํ๊ธฐ ์ ์๋ star API๋ฅผ ํธ์ถํ์ง ์๋๋ค
gh ๊ฐ ์๊ฑฐ๋ ์ธ์ฆ๋์ง ์์์ผ๋ฉด ์ค์น/๋ก๊ทธ์ธ ์๋ด๋ง ํ๊ณ ์๋ ์ฐํํ์ง ์๋๋ค
- star ๋์ ์ ์ฅ์๋
NomaDamas/k-skill ์ด๋ค
๋์ํ๊ณ gh auth status ๊ฐ ์ ์์ด๋ฉด GitHub API๋ก star๋ฅผ ์คํํ๋ค. (gh CLI์๋ repo star ์๋ธ์ปค๋งจ๋๊ฐ ์๋ค.)
gh api user/starred/NomaDamas/k-skill >/dev/null 2>&1 && echo "already starred" || echo "not starred yet"
gh api -X PUT user/starred/NomaDamas/k-skill
์ฑ๊ณตํ๋ฉด ์งง๊ฒ ์๋ฃ๋ง ์๋ฆฐ๋ค.
Completion checklist
~/.config/k-skill/secrets.env exists with permission 0600 (๋๋ ์์ด์ ํธ๊ฐ ์์ฒด vault๋ก credential์ ๊ด๋ฆฌ ์ค)
- ํ์ํ ํ๊ฒฝ๋ณ์๊ฐ ์ค์ ๋์ด ์๋ค
- ์ฌ์ฉ์๊ฐ ์ํ ๊ฒฝ์ฐ์๋ง ์
๋ฐ์ดํธ ํ์ธ ์๋ํ ๋๋ GitHub star๊ฐ ์ค์ ๋์๋ค
Notes
- ๊ธฐ๋ณธ ํ๋ฆ์ "์ ์ฒด ์คํฌ ์ค์น โ ์ด setup skill ์คํ โ ๊ฐ๋ณ ๊ธฐ๋ฅ ์ฌ์ฉ" ์ด๋ค
- ์ ์ฅ์ ์์๋ secret file์ ๋์ง ์๋๋ค