TRENDSHIFT 일간 #17 · 2026-06-09

k-skill 딥다이브
— 한국 서비스 95개를 AI 에이전트에게 시키는 '스킬 모음집'

k-skill은 SRT·KTX 예매, 로또 확인, 당근·쿠팡 검색, 미세먼지·날씨 조회, 법령 검색, 정부 공공데이터까지 — 한국 일상의 귀찮은 작업 95개를 Claude Code 같은 AI 에이전트가 바로 수행하도록 패키징한 'Agent Skill' 모음집입니다. 글로벌 LLM이 모르는 한국 특화 서비스(코레일·KRX·NEIS·공공데이터포털 등)의 접근 방법을 SKILL.md 문서 + 실행 코드로 표준화해, 에이전트가 그 레시피만 읽으면 즉시 일을 처리합니다. 무거운 SDK 대신 직접 HTTP 호출 · 키 은닉 프록시 · 공식 MCP를 상황에 맞게 쓰는 경량 설계가 핵심입니다. (NomaDamas/k-skill · Node.js+Python 모노레포 · MIT 라이선스)
목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리 구조 해부
  6. 학습 포인트
  7. 하드웨어 / 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

한 문장으로 — 이게 뭐 하는 물건인가

"한국 서비스 95개를 AI 에이전트가 대신 처리하게 해주는 사용 설명서 묶음"입니다. 우리가 쓰는 코레일·당근마켓·쿠팡·정부24·홈택스 같은 서비스는 전부 한국어이고, 공식 API가 없거나 인증이 까다롭습니다. ChatGPT·Claude 같은 글로벌 LLM은 이런 한국 특화 서비스를 "어떻게 다뤄야 하는지"를 모릅니다. k-skill은 각 서비스마다 "이 사이트는 이렇게 접근하면 된다"는 레시피를 문서(SKILL.md)와 코드로 만들어 에이전트에게 쥐여 줍니다. 그러면 에이전트가 그 문서를 읽고 직접 명령어를 실행해 일을 끝냅니다.

이름 'k-skill'은 'Korea(한국) + skill(스킬)'입니다. 핵심은 한국 특화 + Agent Skills 표준 + 경량 실행이라는 조합입니다. 만든 곳은 한국 AI 오픈소스 그룹 NomaDamas(RAG 평가 프레임워크 AutoRAG로 유명)이고, 라이선스는 MIT(누구나 자유 사용)입니다. Claude Code 사용자는 명령 한 줄(/plugin install)로 95개 스킬을 통째로 설치할 수 있습니다.

핵심 비유

"AI 에이전트 = 똑똑하지만 한국이 처음인 외국인 비서 / k-skill = 그 비서에게 준 '한국 생활 메뉴얼 95장'"

아주 유능한 외국인 비서를 새로 고용했다고 합시다. 영어 문서 정리, 코딩, 번역은 척척 해냅니다. 그런데 "SRT 예매해줘", "오늘 미세먼지 어때?", "당근에서 중고 자전거 찾아줘"라고 하면 막힙니다. 코레일 앱이 어떻게 생겼는지, 미세먼지 데이터를 어디서 받는지 모르니까요.

k-skill은 이 비서에게 "SRT는 이 사이트에서 이렇게, 미세먼지는 이 공공데이터에서 이렇게 가져온다"는 메뉴얼 95장을 한 번에 건네주는 것입니다. 비서는 이제 그 메뉴얼만 펼쳐 보고 한국 서비스를 막힘없이 처리합니다. 새 서비스가 생기면 메뉴얼 한 장만 더 끼워 넣으면 됩니다.

용어
Agent Skill (에이전트 스킬)
AI 에이전트에게 "특정 작업을 어떻게 하는지" 알려주는 표준화된 지식 묶음. Anthropic이 정한 형식으로, 폴더 하나에 SKILL.md라는 설명 파일을 넣는 게 핵심이다. 에이전트는 사용자의 요청에 맞는 스킬을 골라 그 문서를 읽고, 안에 적힌 절차·명령어를 그대로 실행한다. k-skill은 이 표준을 따른 95개 스킬의 모음이다.
용어
SKILL.md
스킬 한 개의 핵심 설명 파일. 맨 위에 frontmatter(이름·설명·카테고리 등을 적는 머리말)가 오고, 그 아래 Markdown으로 "무엇을 하는 스킬인지 / 언제 쓰는지 / 어떤 명령을 실행하는지 / 완료 조건은 무엇인지"를 적는다. 에이전트가 읽는 "작업 매뉴얼" 그 자체다.

2왜 주목받는가

트렌딩 이유 · 경쟁 방식 대비 장점

2026년 들어 Claude Code·Codex·Gemini CLI 같은 에이전트형 도구가 대중화되면서, "스킬(skill)"이 가장 뜨거운 키워드가 됐습니다. TrendShift 트렌딩 상위권이 온통 '-skill' 레포로 채워질 정도입니다. 그 흐름 속에서 k-skill은 "한국인이라면 무조건 한 번은 쓸 일이 생긴다"는 명확한 타깃과, 95개라는 압도적 규모로 한국 AI 커뮤니티에서 화제가 됐습니다.

다른 접근 방식과의 비교

항목직접 API 코딩브라우저 자동화(스크래핑)k-skill
준비 작업서비스마다 SDK·키 발급DOM 선택자 일일이 분석스킬 설치 한 줄
한국 서비스 지원거의 없음(영어권 위주)가능하나 깨지기 쉬움95개 사전 패키징
유지보수내가 다 떠안음사이트 바뀌면 깨짐커뮤니티가 함께 수선
키 관리내 코드에 노출 위험해당 없음프록시가 서버에 은닉
에이전트 연동직접 연결 코드 작성별도 글루 코드표준 스킬이라 자동 인식
안전장치직접 설계없음결제·인증 가드레일 내장

핵심 차별점 셋

차별점 ①

"한국 특화" — 글로벌 LLM의 사각지대를 정조준

코레일·KRX·NEIS·공공데이터포털·당근·쿠팡처럼 한국어이고 비표준이며 공식 API가 빈약한 서비스는 글로벌 에이전트가 가장 못 다루는 영역입니다. k-skill은 바로 이 빈틈을 95개 레시피로 메웁니다. "외국 도구로는 안 되던 한국 일"을 되게 만든 것이 인기 비결입니다.

차별점 ②

"무거운 SDK 대신 경량 레시피" — 복붙 가능한 실행 코드

k-skill은 두꺼운 클라이언트 라이브러리를 강요하지 않습니다. 각 SKILL.md에 에이전트가 그대로 실행할 bash·curl·python 블록이 들어 있어, 읽는 즉시 작동합니다. 의존성도 의도적으로 최소(핵심 npm 패키지는 의존성 0개, Node 내장 fetch만 사용)라 가볍고 깨질 일이 적습니다.

차별점 ③

"키 은닉 프록시" — API 키 없이도 공공데이터 사용

공공데이터포털 API는 키 발급이 번거롭습니다. k-skill은 k-skill-proxy라는 중계 서버를 두어, upstream API 키를 서버에만 숨기고 사용자는 키 없이 HTTP만 호출하게 합니다. "키 없이 미세먼지·날씨·지하철 도착 정보를 바로 받는" 경험은 다른 스킬 모음집에 없는 강점입니다.

설계가 주는 이점
"공식 MCP → 프록시 → 직접 호출" 3단 우선순위

k-skill은 서비스마다 가장 안정적인 통로를 고릅니다. ① 공식 MCP 서버가 있으면 그것을, ② API 키가 필요하면 프록시를, ③ 공개 endpoint면 사용자 컴퓨터에서 직접 호출합니다. 화면 스크래핑(브라우저 자동화)은 최후의 수단입니다. 덕분에 사이트가 조금 바뀌어도 잘 안 깨지고, 속도도 빠릅니다.

3기술 스택 전체 지도

모노레포 · 4가지 스킬 구현 유형 · 프록시 인프라를 각각 뜯어본다

k-skill은 단일 언어 프로젝트가 아니라 Node.js(주력)와 Python이 한 저장소에 공존하는 다언어 모노레포입니다. 루트 package.jsonnpm workspaces로 묶여 있고, 릴리스는 @changesets/cli로 자동화됩니다. 런타임 의존성은 의도적으로 최소화되어 있어, 프록시 서버만 fastify 하나에 의존하고 나머지 npm 스킬 패키지는 의존성 0개로 Node 18 내장 fetch만 씁니다.

전체 기술 구성

레이어기술역할
스킬 표준Anthropic Agent Skills (SKILL.md + YAML frontmatter)모든 스킬의 공통 포맷
주력 언어Node.js ≥ 18 (npm workspaces)스킬 패키지·프록시 구현
보조 언어Python 3 (표준 라이브러리 위주)scripts/ 의 단발 실행 스킬
프록시 서버Fastify 5 + Google Cloud RunAPI 키 은닉·중계(50+ 라우트)
비밀 관리GCP Secret Manager + WIF(OIDC)upstream 키를 서버에만 보관
릴리스 자동화Changesets(npm) · release-please(Python)버전 bump·자동 publish
CI/CDGitHub Actionslint·test·프록시 자동 배포
배포 채널Claude Code 플러그인 · skills CLI · Manus.ai3가지 설치 경로

스킬은 4가지 방식 중 하나로 구현된다

k-skill의 진짜 기술적 묘미는 "스킬마다 구현 방식이 다르다"는 점입니다. 가장 단순한 건 문서만 있는 스킬이고, 복잡한 건 별도 npm 패키지나 프록시 라우트를 갖습니다.

유형구현 위치동작 방식예시 스킬
SKILL.md 전용스킬 폴더 1개에이전트가 문서의 bash/python을 직접 실행srt-booking, kakaotalk-mac
npm 패키지packages/*Node 라이브러리를 설치해 호출lotto-results(k-lotto)
프록시 경유k-skill-proxy키 은닉 서버에 HTTP 요청fine-dust, seoul-subway
Python 스크립트scripts/*.py표준 라이브러리 스크립트 실행korean-spell-check, sillok
용어
모노레포 (Monorepo) · npm workspaces
여러 패키지를 하나의 저장소에서 함께 개발하는 방식. npm workspaces는 npm 내장 기능으로, packages/ 아래 여러 패키지를 한 번에 설치·관리하게 해준다. k-skill은 스킬 문서 95개 + npm 패키지 24개 + Python 스크립트를 한 저장소에 모아, 스킬끼리 공유 규칙(검증·릴리스)을 통일한다.
용어
프록시 서버 (Proxy) · API 키 은닉
사용자와 진짜 데이터 제공처(upstream) 사이에 끼어 요청을 대신 중계하는 서버. k-skill-proxy는 공공데이터포털 같은 곳의 API 키를 서버 안에만 숨기고, 사용자에게는 키 없는 깔끔한 주소(/v1/fine-dust/report)만 노출한다. 키 발급의 번거로움을 없애고, 키 유출도 막는다.
용어
Changesets · OIDC trusted publishing
Changesets는 모노레포에서 "어떤 패키지를 얼마나 올릴지"를 작은 메모 파일로 적어두면, 봇이 버전 올림 PR을 만들고 병합 시 자동으로 npm에 배포해주는 도구다. OIDC trusted publishing은 npm 토큰을 저장하지 않고 GitHub의 신원만으로 안전하게 배포하는 최신 방식이다.

4아키텍처 심화 분석

"사용자 한마디가 어떻게 한국 서비스 호출이 되는가" — 요청 흐름

k-skill의 동작을 한 문장으로 줄이면 이렇습니다. "에이전트가 요청에 맞는 SKILL.md를 골라 읽고, 그 안에 적힌 가장 안정적인 통로(직접 HTTP / 프록시 / MCP)로 한국 서비스를 호출한다." 무거운 미들웨어가 없는 대신, 각 스킬 문서가 "어디로 어떻게 호출하라"는 라우팅 지식을 품고 있는 구조입니다.

① 전체 요청 흐름 — 4갈래 분기

사용자: "오늘 강남 미세먼지 어때?" │ ▼ [1] 에이전트(Claude Code 등)가 스킬 선택 └ description을 보고 'fine-dust-location' 스킬 매칭 │ ▼ [2] SKILL.md 읽기 → "이 작업은 이렇게 하라" │ ▼ [3] 가장 안정적인 통로로 분기 ──────────────────────┐ │ │ ├─(a) 직접 HTTP : 공개 endpoint면 내 PC에서 호출 ├─(b) k-skill-proxy: API 키 필요하면 프록시 경유 ├─(c) 공식 MCP : MCP 서버 있으면 그쪽 호출 └─(d) Chrome MCP : 로그인 필요·최후의 수단 │ ▼ [4] upstream(공공데이터포털 / KRX / NEIS / 카카오 …) │ ▼ [5] 결과를 사람이 읽기 좋게 정리해 답변

여기서 가장 중요한 설계 원칙은 "키가 필요할 때만 프록시"입니다. 공개 endpoint(예: 부동산 실거래가)는 사용자 컴퓨터에서 직접 호출하고, 공공데이터포털처럼 키가 있어야만 열리는 곳만 프록시를 거칩니다. 유료·개인 계정 API는 프록시 금지입니다. 이 규칙이 프록시 서버의 부하와 책임 범위를 좁게 유지합니다.

② k-skill-proxy — 키 은닉 중계 서버

k-skill-proxy는 Fastify 기반 단일 서버로 Google Cloud Run(asia-northeast1, 서울 근처)에 떠 있습니다. 50개 이상의 /v1/... 라우트를 노출하며, 각 라우트는 upstream별 모듈(airkorea.js, krx-stock.js, kakao-map.js 등)로 분리돼 있습니다. 보안을 위해 허용 목록(allowlist)으로 호출 가능한 upstream 함수를 제한합니다.

k-skill-proxy.nomadamas.org (Cloud Run) 사용자 PC ┌──────────────────────────────────────┐ curl ──────────────▶│ /v1/fine-dust/report → airkorea.js │ (키 없음) │ /v1/seoul-subway/arrival → seoul.js │──▶ 공공데이터포털 │ /v1/korean-stock/... → krx-stock.js │ (서버 키 사용) │ /v1/kakao-map/search → kakao-map.js │──▶ 카카오 API │ ▲ allowlist로 허용 함수만 통과 │ │ ▲ 키는 GCP Secret Manager에만 보관 │ └──────────────────────────────────────┘
// allowlist 예시 — 허용된 upstream 함수만 통과시킨다
const ALLOWED_AIRKOREA_ROUTES = new Map([
  ["MsrstnInfoInqireSvc", new Set([
    "getMsrstnList", "getNearbyMsrstnList", "getTMStdrCrdnt",
  ])],
  ["ArpltnInforInqireSvc", new Set([
    "getMsrstnAcctoRltmMesureDnsty", "getCtprvnRltmMesureDnsty",
  ])],
]);
// 목록에 없는 함수 호출은 거부 → upstream 키 오남용 차단

③ npm 패키지형 스킬 — 직접 HTML/JSON 파싱

로또 확인(lotto-results)은 k-lotto라는 npm 패키지로 구현됩니다. 의존성 없이 Node 내장 fetch만으로 동행복권 공식 endpoint를 직접 호출합니다. 파싱 로직은 별도 파일로 분리하고, 실제 HTML/JSON 샘플을 fixture로 두어 node --test로 회귀 테스트합니다.

// packages/k-lotto/src/index.js (요지)
const LATEST_URL = "https://www.dhlottery.co.kr/lt645/result";
const DETAIL_URL = "https://www.dhlottery.co.kr/lt645/selectPstLt645InfoNew.do";

async function getLatestRound() {
  const html = await fetchText(LATEST_URL);
  return extractLatestRoundFromHtml(html);   // HTML에서 최신 회차 추출
}
async function getDetailResult(round) {
  const url = new URL(DETAIL_URL);
  url.searchParams.set("srchLtEpsd", String(round));
  return normalize(await fetchJson(url.toString())); // 공식 JSON endpoint
}

④ SKILL.md는 "실행 가능한 문서"다

가장 핵심적인 발상입니다. SKILL.md 안에는 설명뿐 아니라 에이전트가 그대로 복붙해 실행할 명령 블록이 들어 있습니다. 로또 스킬의 경우:

# 0단계: 없으면 전역 설치 (다른 구현으로 우회 금지)
npm install -g k-lotto
export NODE_PATH="$(npm root -g)"

# 1단계: 최신 회차 조회
node - <<'JS'
const lotto = require("k-lotto");
lotto.getLatestRound().then((r) => console.log(r));
JS
설계가 주는 이점
"문서 = 코드"라는 단순함의 위력

스킬이 무거운 런타임 없이 "읽으면 바로 실행되는 문서"이기 때문에, ① 새 스킬 추가가 폴더+문서 하나로 끝나고 ② 에이전트 종류(Claude·Codex·Gemini)를 가리지 않으며 ③ 사람이 직접 읽고 검증하기도 쉽습니다. 각 SKILL.md는 Done when(완료 조건)·Failure modes(실패 모드)까지 명시해, 에이전트가 "성공했는지"를 스스로 판단하게 합니다.

반드시 짚을 점
안전 가드레일이 문서 수준에 박혀 있다

예매·금융·정부 스킬은 위험이 큽니다. k-skill은 SKILL.md frontmatter와 본문에 "결제까지 자동화 금지 / 비밀번호를 채팅창에 직접 받지 말 것 / CAPTCHA·로그인은 사람이 직접" 같은 경계를 명시합니다. 비밀은 KSKILL_<서비스>_<항목> 환경변수 → 에이전트 vault → ~/.config/k-skill/secrets.env(권한 0600) 순으로 찾고, 없으면 사용자에게 물어봅니다. 심지어 "깃허브 스타도 에이전트가 자동으로 누르지 말고 사용자 동의 후에"라고 못박아, 에이전트의 자율 행동을 제한합니다.

5디렉토리 구조 해부

95개 스킬 폴더 + 공유 인프라가 어떻게 배치돼 있나

저장소 루트에는 스킬 폴더 95개가 평면적으로 나열되고, 그와 별개로 공유 인프라(packages/, scripts/, docs/, .claude-plugin/)가 있습니다. 별도 레지스트리 파일 없이 "최상위에 SKILL.md를 가진 폴더 = 스킬"로 자동 발견하는 구조라, 폴더만 추가하면 곧 스킬이 됩니다.

k-skill/ ├── README.md ← 95개 스킬 표(33KB) ├── CONTRIBUTING.md / AGENTS.md / CLAUDE.md ← 기여·에이전트 규칙 ├── LICENSE (MIT) ├── package.json ← npm workspaces 루트(lint/test/ci 스크립트) ├── .claude-plugin/ │ ├── plugin.json ← Claude Code 플러그인(95개 skills 배열, 2026-06-16 기준) │ └── marketplace.json ← 마켓플레이스 정의 ├── .changeset/ ← Changesets 릴리스 자동화 ├── .github/workflows/ ← CI + Cloud Run 자동배포 │ ├── srt-booking/ ┐ ├── ktx-booking/ │ ← 스킬 폴더 95개 (각각 SKILL.md 1개, ├── lotto-results/ │ 필요 시 scripts/ references/ data/ 동봉) ├── daangn-cars-search/ │ ├── fine-dust-location/ ┘ │ ├── packages/ ← npm 패키지형 구현 (24개 워크스페이스) │ ├── k-skill-proxy/ ← ★ 핵심 인프라: Fastify 키 은닉 프록시 │ ├── k-lotto/ ← 로또 라이브러리(의존성 0) │ └── daiso-product-search/ toss-securities/ ... │ ├── scripts/ ← Python/JS 단발 구현 + test_ 짝 (~70파일) │ ├── fine_dust.py ktx_booking.py │ └── korean_spell_check.py sillok_search.py ... │ ├── docs/ │ ├── adding-a-skill.md ← 새 스킬 추가 캐논 가이드 │ ├── security-and-secrets.md releasing.md roadmap.md │ └── features/<skill>.md ← 스킬별 상세 가이드 ├── tools/k-skill-qa-bot/ └── legacy/ ← 지원 중단 스킬 보관소

주목할 점은 같은 스킬이라도 구현은 세 곳에 흩어질 수 있다는 것입니다. 예컨대 미세먼지 스킬은 ① 루트의 fine-dust-location/SKILL.md(에이전트가 읽는 매뉴얼), ② scripts/fine_dust.py(좌표→측정소 변환 등 실행 코드), ③ k-skill-proxy/v1/fine-dust/report 라우트(키 은닉 중계)로 구성됩니다. "문서·실행·인프라"가 역할별로 분리된 설계입니다.

용어
plugin.json · marketplace.json
Claude Code 플러그인 매니페스트. plugin.json은 이 플러그인이 제공하는 스킬 목록(95개)을 적고, marketplace.json은 "이 저장소를 플러그인 마켓으로 등록"하는 정의다. 사용자가 /plugin install k-skill를 치면 이 파일들을 읽어 95개 스킬을 한 번에 설치한다. 이 매니페스트는 generate:plugin-manifest 스크립트로 자동 생성된다.

6학습 포인트

기술별로 — 여기서 무엇을 배울 수 있나 + 실습 아이디어

① Agent Skills 표준 — "AI에게 일을 가르치는 법"

k-skill은 Anthropic Agent Skills 표준(SKILL.md frontmatter)의 대규모 실전 교본입니다. 95개 스킬을 비교하며 읽으면, 좋은 스킬 description(에이전트가 정확히 골라내게 하는 문구), When to use / When not to use의 경계 설정, Done when·Failure modes로 완료/실패를 정의하는 법을 익힐 수 있습니다.

실습: srt-bookinglotto-results의 SKILL.md를 나란히 열고, frontmatter 필드와 본문 섹션 구조가 어떻게 같고 다른지 표로 정리해 보세요. 내가 만들 스킬의 템플릿이 됩니다.

② 키 은닉 프록시 아키텍처 — 보안 설계

k-skill-proxy를 파면 "민감한 키를 클라이언트에 노출하지 않는" 실전 패턴을 배웁니다. Fastify 라우팅, allowlist로 호출 범위 제한, GCP Secret Manager, Cloud Run 배포, /health 스모크 테스트까지 — 작은 코드베이스에 보안 프록시의 정석이 담겨 있습니다.

실습: 무료 공개 API(예: 환율) 하나를 골라, 키를 서버에만 두고 /v1/rate로 중계하는 미니 Fastify 프록시를 직접 만들어 보세요. allowlist도 흉내 내 봅니다.

③ site-agnostic discovery — 안정적인 데이터 통로 찾기

k-skill의 기여 가이드는 "화면 구조를 감으로 고정하지 말라"고 강조합니다. 공식 API → 공개 JSON → RSS/sitemap → 모바일 페이지 순으로 안정적인 입구를 먼저 찾고, 화면 스크래핑은 최후로 미룹니다. 이 방법론은 모든 크롤링·자동화 작업에 그대로 전이됩니다.

실습: 자주 쓰는 한국 사이트 하나를 골라, 개발자 도구 Network 탭으로 "화면을 그리는 데 쓰이는 숨은 JSON endpoint"를 찾아보세요. 선택자 대신 그 endpoint를 호출하는 게 왜 더 안전한지 체감합니다.

④ 모노레포 릴리스 자동화 — Changesets / CI

npm 패키지 24개를 어떻게 일관되게 버전 올리고 배포하는지(Changesets), 프록시가 main 병합 시 어떻게 자동 재배포되는지(GitHub Actions + WIF) 살펴보면, 오픈소스 운영의 자동화 파이프라인을 통째로 배웁니다.

실습: .changeset/ 폴더의 메모 파일 하나를 열어보고, 그게 어떻게 "Version Packages" PR과 npm publish로 이어지는지 docs/releasing.md로 흐름을 따라가 보세요.

7하드웨어 / 시스템 요구사항

내 컴퓨터로 돌릴 수 있을까
항목요구사항
에이전트Claude Code(권장) · Codex · OpenCode 등 Agent Skills 지원 도구
Node.js18 이상(engines 명시). npm 패키지형 스킬 실행에 필요
PythonPython 3 — scripts/ 스킬 실행 시(표준 라이브러리 위주, 일부는 pip install 안내)
OSmacOS · Windows · Linux. 단 kakaotalk-mac 등 일부는 macOS 전용
네트워크대부분 외부 서비스 호출 → 인터넷 필수
메모리/CPU스킬 자체는 매우 가벼움(문서+경량 스크립트) — 사양 부담 거의 없음
계정/키(일부)SRT·토스증권·DART 등 "로그인 필요" 스킬은 본인 계정·발급 키 필요
브라우저(일부)catchtable-sniper 등은 Chrome MCP + 로그인 세션 필요
주의
스킬은 가볍지만, '인증·결제'가 들어가면 책임은 사용자에게

k-skill 자체는 사양을 거의 안 탑니다. 진짜 주의할 건 로그인·결제·개인정보가 얽힌 스킬입니다. 비밀번호는 채팅창에 직접 넣지 말고 환경변수/시크릿 파일로 관리하고, 예매·송금 같은 비가역 작업은 "결제 직전 사람이 확인"하는 흐름을 지켜야 합니다. 공공/유료 API는 호출 한도·요금이 있으니 본인 키 사용 시 사용량도 챙기세요.

8직접 해볼 수 있는 실습 과제

난이도별 — 손으로 익히는 것이 최고의 학습

🟢 입문 Lv.1 · 20분

플러그인 설치하고 첫 스킬 써보기

Claude Code에서 /plugin marketplace add NomaDamas/k-skill/plugin install k-skill@k-skill로 설치한 뒤, /k-skill:lotto-results로 최신 로또 당첨 번호를 조회해 보세요. 키도 로그인도 필요 없는 스킬부터 시작하는 게 핵심입니다.

🟢 입문 Lv.2 · 40분

SKILL.md 한 편 정독하기

fine-dust-location/SKILL.md를 열어 frontmatter, When to use, Workflow, Failure modes를 한 줄씩 읽어보세요. 그리고 실제로 미세먼지를 조회해 본 뒤, "문서에 적힌 절차"와 "에이전트가 실제로 한 일"이 어떻게 맞아떨어지는지 비교합니다.

🟡 중급 Lv.3 · 반나절

나만의 한국 서비스 스킬 만들기

docs/adding-a-skill.md를 따라, 좋아하는 한국 공개 서비스(예: 특정 도서관 신착도서, 동네 행사 정보)를 위한 새 스킬 폴더와 SKILL.md를 작성해 보세요. site-agnostic discovery로 공개 endpoint를 먼저 찾고, 실행 블록과 실패 모드를 채웁니다.

🟡 중급 Lv.4 · 하루

키 은닉 미니 프록시 구축

k-skill-proxy의 라우트 하나(예: fine-dust)를 본떠, 무료 공개 API를 키 없이 중계하는 Fastify 프록시를 직접 만들고 로컬에서 띄워 보세요. allowlist로 허용 함수를 제한하고, /health 엔드포인트와 환경변수 기반 키 주입까지 흉내 냅니다.

🔴 고급 Lv.5 · 주말 프로젝트

스킬 검증 CI + Changesets 릴리스 흉내 내기

k-skill의 validate-skills.sh를 참고해, "모든 폴더에 SKILL.md가 있고 name이 폴더명과 일치하는지" 검사하는 검증 스크립트를 짜 보세요. 그런 다음 작은 npm 패키지에 Changesets를 붙여 버전 bump → publish(dry-run)까지 자동화 파이프라인을 경험합니다.

9관련 기술 심화 학습 로드맵

4주 계획 — 스킬 사용자에서 스킬 제작자·운영자까지
주차주제학습 내용
1주차Agent Skills 기초SKILL.md 구조·frontmatter, Claude Code 플러그인 설치/호출, 키 없는 스킬 10개 실사용
2주차스킬 제작adding-a-skill.md 정독, site-agnostic discovery로 endpoint 찾기, 나만의 스킬 1~2개 작성
3주차백엔드·프록시Fastify 라우팅, allowlist 보안, 환경변수/시크릿 관리, Cloud Run 배포 개념, MCP 연동 이해
4주차모노레포 운영npm workspaces, Changesets/release-please 릴리스 자동화, GitHub Actions CI, 검증 스크립트 작성
학습 순서 팁

처음부터 프록시·CI 같은 인프라로 가지 마세요. "SKILL.md 한 편을 읽고 쓰는" 1~2주차가 가장 중요합니다. 스킬이 결국 "에이전트가 읽는 잘 쓰인 매뉴얼"임을 체득하면, 나머지(프록시·릴리스)는 일반적인 백엔드·DevOps 지식의 응용일 뿐입니다. 좋은 description 한 줄을 쓰는 감각이 핵심 자산입니다.

10핵심 키워드 사전

이 프로젝트에서 마주칠 용어 총정리
용어
frontmatter (프론트매터)
Markdown 파일 맨 위에 ---로 감싸 적는 메타데이터 머리말. SKILL.md에서는 name(폴더명과 정확히 일치해야 함)·description(에이전트가 스킬을 고르는 기준)·license·metadata(category·locale·phase)를 적는다. CI가 이 필드들을 강제 검증한다.
용어
MCP (Model Context Protocol)
AI 모델이 외부 도구·데이터에 표준 방식으로 연결되게 하는 프로토콜. k-skill은 공식 MCP 서버가 있는 서비스(예: 마이리얼트립 여행)는 화면 스크래핑 대신 그 MCP를 직접 호출한다. "공식 통로가 있으면 그걸 쓴다"는 안정성 우선 원칙의 실현.
용어
site-agnostic discovery
사이트 화면 구조에 의존하지 말고, 안정적인 데이터 입구를 단계적으로 탐색하는 방법론. 공식 API → 공개 JSON → RSS/sitemap → 모바일 페이지 순으로 찾고, 화면 선택자(스크래핑)는 최후로 미룬다. HTTP 성공만으로 완료로 보지 않고 차단·빈응답·로그인벽을 별도 실패 모드로 분리한다.
용어
allowlist (허용 목록)
"이것들만 허용"하고 나머지는 모두 막는 보안 방식(반대는 blocklist). k-skill-proxy는 호출 가능한 upstream 함수를 allowlist로 못박아, 프록시를 통한 API 키 오남용을 차단한다. 기본은 거부, 명시된 것만 통과시키는 안전한 기본값(secure default)의 사례.
용어
Cloud Run · WIF(Workload Identity Federation)
Cloud Run은 컨테이너를 서버 관리 없이 자동 확장 실행하는 구글 클라우드 서비스다. WIF는 비밀 키 파일 없이 GitHub Actions 같은 외부 워크플로가 신원만으로 GCP에 인증하게 하는 방식이다. k-skill-proxy는 main 병합 시 WIF로 인증해 자동 빌드·배포된다.
용어
phase (v1 / v1.5)
스킬의 성숙도 단계. v1은 안정적으로 동작하는 스킬, v1.5는 기능을 추가하는 중인 스킬을 뜻한다. frontmatter의 metadata.phase에 적어, 사용자와 기여자가 "이 스킬을 믿고 써도 되는지"를 가늠하게 한다.
용어
thin wrapper (얇은 래퍼)
기존 외부 도구/프로젝트를 거의 그대로 감싸 최소한의 연결만 더한 스킬. k-skill의 korean-jangbu-for·korean-privacy-terms가 예로, upstream의 Apache-2.0 라이선스 파일을 함께 동봉해 출처와 라이선스를 명확히 한다.

11참고 링크

공식 저장소부터 설치·기여 가이드까지

공식 — 깃허브 NomaDamas/k-skill · 만든 그룹 NomaDamas(AutoRAG 제작) · 라이선스 MIT

설치 — Claude Code: /plugin marketplace add NomaDamas/k-skill/plugin install k-skill@k-skill · 범용 CLI: npx --yes skills add NomaDamas/k-skill --all -g · Manus.ai: .skill 번들 드래그-드롭. 설치 후 k-skill-setup으로 인증 셋업.

기여·문서 — 저장소의 CONTRIBUTING.md(한국어 소통, PR은 dev 브랜치) · docs/adding-a-skill.md(새 스킬 추가 가이드) · docs/security-and-secrets.md(비밀 관리) · docs/releasing.md(릴리스 자동화).

관련 배경 — Anthropic Agent Skills 개념 · Model Context Protocol(MCP) · 공공데이터포털(여러 스킬의 upstream).