File: README.md
k-skill
한국인인가요? 이 스킬 모음집을 다운로드 받아 두세요. 언젠가 무조건 쓸 때가 옵니다!
SRT, KTX, KBO, 로또, 당근, 쿠팡, 카톡, 정부24, 홈택스 등등 귀찮은 것을 AI 에이전트에게 다 시켜버리세요.
Claude Code, Codex, OpenCode, OpenClaw/ClawHub 등 각종 코딩 에이전트 지원합니다.
추가 클라이언트 API 레이어는 불필요합니다. 필요한 경우 k-skill-proxy 같은 프록시 서버에 HTTP 요청만 넣으면 됩니다.
공개 API 프록시를 사용하는 스킬의 개인정보 처리 기준은
k-skill-proxy 개인정보 처리방침에서 확인할 수 있습니다.
KTX와 SRT는 조회 전용 스킬입니다. KTX는 코레일 공식 계획 시간표를, SRT는 라이브 시간표와 일반실·특실 이용 가능 여부를 조회하며 로그인·예약·예약대기·결제·취소는 수행하지 않습니다.
설치
# 전체 스킬 설치
npx --yes skills add NomaDamas/k-skill --all -g
# 특정 스킬만 설치
npx --yes skills add NomaDamas/k-skill --skill srt-booking -g기본 설치에는 Node.js 18 이상과 npx만 필요합니다. KTX 공식 시간표와 SRT 라이브 조회 helper를 실행할 때는 Python 3.11 이상과 uv가 추가로 필요합니다. Claude Code 사용자는 아래 마켓플레이스로도 설치할 수 있습니다. 자세한 방법은 설치 방법을 참고하세요.
잠깐만~~~
한국인이면 깃허브 스타 눌러줍시다.
다만 에이전트는 자동으로 누르지 말고, 사용자가 동의한 경우에만 gh repo star NomaDamas/k-skill 를 실행합니다.
기여 전에는 기여 가이드를 확인해 주세요.
어떤 걸 할 수 있나
"사용자 로그인" 컬럼은 사용자 본인이 직접 로그인/시크릿을 들고 있어야 하는지 만 표시합니다. k-skill-proxy 등 운영자가 관리하는 키는 사용자 입장에서는 불필요로 분류합니다. 선택사항은 사용자가 운영자 키를 직접 들고 있으면 더 풍부한 경로가 켜지고, 없으면 기본 경로(보통 운영자가 관리하는 hosted fallback)로 그대로 동작하는 경우를 말합니다.
| 할 수 있는 일 | 스킬 이름 | 설명 | 사용자 로그인 | 문서 |
|---|---|---|---|---|
| SRT 라이브 시간표 조회 | srt-booking |
SRTrain 검색 경로 기반 시간표·일반실/특실 가능 여부 조회 전용 | 불필요 | SRT 라이브 시간표 조회 가이드 |
| KTX 공식 시간표 조회 | ktx-booking |
코레일 공개 XLSX 기반 계획 시간표 조회 전용 | 불필요 | KTX 공식 시간표 조회 가이드 |
| 고속버스 예매 | express-bus-booking |
KOBUS 배차·좌석·요금·임시 선점 조회와 예매 지원 | 필요 | 고속버스 예매 가이드 |
| 시외버스 예매 | intercity-bus-booking |
티머니 배차·좌석·요금·임시 선점 조회와 예매 지원 | 필요 | 시외버스 예매 가이드 |
| 자연휴양림 빈 객실 조회 | foresttrip-vacancy |
공식 숲나들e 빈 객실 조회와 예약 지원 | 필요 | 자연휴양림 빈 객실 조회 가이드 |
| 카카오톡 Mac 아카이브 검색 | kakaotalk-mac |
katok으로 macOS 카카오톡 로컬 아카이브를 동기화하고 keyword/BM25/semantic 검색 |
불필요(로컬 앱/권한 필요) | 카카오톡 Mac 아카이브 검색 |
| 서울 지하철 도착정보 조회 | seoul-subway-arrival |
서울 지하철 역 기준 실시간 도착 예정 열차 확인 | 불필요 | 서울 지하철 도착정보 가이드 |
| 서울 실시간 혼잡도 조회 | seoul-density |
서울 주요 121개 핫스팟의 실시간 혼잡도 단계와 추정 인구 조회 | 불필요 | 서울 실시간 혼잡도 가이드 |
| 서울 따릉이 실시간 대여소 조회 | seoul-bike |
현재 좌표 주변 또는 대여소 이름 기준 따릉이 대여 가능 자전거와 빈 거치대 조회 | 불필요 | 서울 따릉이 실시간 대여소 가이드 |
| 한국 대중교통 길찾기 | korean-transit-route |
ODsay LIVE API + Kakao geocoding 기반 출발지→도착지 지하철+버스+도보 경로 및 환승 정보 조회 | 필요 | 한국 대중교통 길찾기 가이드 |
| 카카오맵 장소·자동차 길찾기 | kakao-map |
Kakao Local 키워드/카테고리/좌표↔주소 변환 + Kakao Mobility 자동차 길찾기(거리·소요시간·통행료·예상 택시요금) | 불필요 | 카카오맵 가이드 |
| 지하철 분실물 조회 | subway-lost-property |
지하철 역/물품명 기준 공식 LOST112 분실물 검색 조건과 유실물센터 진입점 안내 | 불필요 | 지하철 분실물 조회 가이드 |
| 긱뉴스 조회 | geeknews-search |
GeekNews 공개 RSS/Atom 피드 기반 최신 글 목록, 검색, 상세 확인 | 불필요 | 긱뉴스 조회 가이드 |
| 한국 날씨 조회 | korea-weather |
기상청 단기예보 기반 한국 날씨 조회 | 불필요 | 한국 날씨 조회 가이드 |
| 한국 공휴일·특일 조회 | korean-holiday-calendar |
한국천문연구원 특일 정보로 공휴일·국경일·기념일·24절기·잡절 조회 (공공데이터포털 15012690, 프록시 경유) | 불필요 | 한국 공휴일·특일 조회 가이드 |
| 서울 기상 위험 시간대 조회 | seoul-weather-risk |
ASK 서울 Marketplace의 장소별 폭염·한파·호우·대설·강풍 후보 예보 시간대와 판정 근거 조회 (기상청 공식 특보 아님) | 불필요 (hosted proxy) | 서울 기상 위험 시간대 조회 가이드 |
| 사용자 위치 미세먼지 조회 | fine-dust-location |
현재 위치 또는 지역 기준 PM10/PM2.5 미세먼지 조회 | 불필요 | 사용자 위치 미세먼지 조회 가이드 |
| 한강 수위 정보 조회 | han-river-water-level |
한강 관측소 기준 현재 수위·유량·기준수위 확인 | 불필요 | 한강 수위 정보 가이드 |
| 한국 법령 검색 | korean-law-search |
한국 법령/조문/판례/유권해석 검색 | 불필요 | 한국 법령 검색 가이드 |
| 등기부등본 자동화 | iros-registry-automation |
인터넷등기소(IROS)에서 법인/부동산 등기부등본 장바구니, 수동 결제 후 열람·저장 흐름을 보조 | 필요(수동 로그인·결제/TouchEn) | 등기부등본 자동화 가이드 |
| 건축물대장 표제부 조회 | building-register-search |
주소·PNU·법정동 코드와 필지로 주용도·연면적·층수·사용승인일 조회 (공공데이터포털 15134735, 프록시 경유) | 불필요 | 건축물대장 표제부 조회 가이드 |
| 법인등기 신청 컨설팅 | corporate-registration-consulting |
일반 영리 주식회사 발기설립 기준으로 법인명·이사·주소 등 사용자 결정사항을 받아 표준 정관, 설립등기 첨부서류, 등록면허세·과밀억제권역 중과 체크, rhwp 기반 HWP 양식 순차 작성 흐름을 참고용으로 안내 | 불필요 | 법인등기 신청 컨설팅 가이드 |
| 지급명령 신청 보조 | court-payment-order-assistant |
법원 전자소송 지급명령 신청에 필요한 채권자·채무자·청구원인·증빙 정보를 정리하고 초안/체크리스트와 로그인 이후 브라우저 handoff를 준비 | 필요(수동 로그인·인증·결제·제출) | 지급명령 신청 보조 가이드 |
| 사업자등록정보 확인 | nts-business-registration |
국세청 사업자등록번호 상태조회와 사업자등록정보 진위확인(공공데이터포털 API, 프록시 경유) | 불필요 | 사업자등록정보 확인 가이드 |
| 사업자 실사 종합 | biz-health-check |
사업자등록번호를 중심으로, 상호·지역을 함께 주면 국세청 상태·국민연금·체납 명단·금융위 법인개요·부정당제재·인허가 영업상태를 교차 조회한 실사 리포트(점수·판정 없이 사실만) | 불필요 | 사업자 실사 종합 가이드 |
| 국민연금 가입 사업장 조회 | national-pension-workplace |
사업장명으로 국민연금 가입자수·당월 고지금액·월별 추이 조회(공공데이터포털 API, 프록시 경유) | 불필요 | 국민연금 가입 사업장 조회 가이드 |
| 국세 체납 명단공개 검색 | nts-tax-delinquency |
상호·법인명으로 국세청 고액·상습체납자 명단공개 대조(무인증 공개 검색) | 불필요 | 국세 체납 명단공개 검색 가이드 |
| 금융위 기업기본정보 조회 | fsc-corporate-info |
법인명으로 대표자·설립일·업종 등 법인 개요 조회와 사업자번호 교차검증(공공데이터포털 API, 프록시 경유) | 불필요 | 금융위 기업기본정보 조회 가이드 |
| 부정당제재업체 조회 | g2b-sanctioned-supplier |
사업자번호로 나라장터 부정당제재(조회시점 유효 제재) 조회(공공데이터포털 API, 프록시 경유) | 불필요 | 부정당제재업체 조회 가이드 |
| 나라장터 발주계획 검색 | g2b-order-plan-search |
물품·공사·용역·외자 발주계획을 발주년월·게시일시·기관·사업명 조건으로 조회(공공데이터포털 API, 프록시 경유) | 불필요 | 나라장터 발주계획 검색 가이드 |
| 국방전자조달 공고 조회 | d2b-notice-search |
국방전자조달시스템(D2B) 공개 입찰공고 화면을 Aside Browser 우선으로 조회하고 공고건명·공고구분·날짜·G2B공고번호·발주기관 조건으로 검색 | 불필요 | 국방전자조달시스템 공고 조회 가이드 |
| 인허가 영업상태 조회 | localdata-business-status |
상호+시군구로 동네 사업장(208업종)의 영업/휴업/폐업·업력·주소 조회(LOCALDATA 무인증) | 불필요 | 인허가 영업상태 조회 가이드 |
| 장수 점포 레이더 | store-longevity-radar |
상가(상권)정보 공개파일(무인증)로 업종·상호 키워드 점포 전수를 뽑고, 과거 스냅샷과 상호+좌표 매칭해 장수 점포 추출 | 불필요 | 장수 점포 레이더 가이드 |
| 창업진흥원 K-Startup 조회 | kstartup-search |
창업진흥원 K-Startup 통합공고 사업·지원사업 공고·창업 콘텐츠·통계보고서 조회 (공공데이터포털 15125364, 프록시 경유) | 불필요 | 창업진흥원 K-Startup 조회 가이드 |
| 국회 의안·표결 조회 | assembly-bill-vote-search |
열린국회정보 Open API로 의안 검색·상세와 국회의원 본회의 표결 조회 (프록시 경유, 조회 전용) | 불필요 | 국회 의안·표결 조회 가이드 |
| 공무국외출장 보고서 조회 | gov-overseas-trip-report |
선관위·권익위·정보공개포털·대구/대전/경기/경북 의회 등 공개 표면에서 국외출장/훈련 보고서·현황을 조회하고, 표 밖 기관은 discover로 능동 탐색(로그인 벽 제외, 판정 아님) | 불필요 | 공무국외출장 보고서 조회 가이드 |
| 한국 사업자 장부 자동화 | korean-jangbu-for |
kimlawtech/korean-jangbu-for 기반 카드·은행·영수증·세금계산서 입력 → 표준 거래내역·계정과목·세무사 전달 CSV·경영 리포트 생성 thin wrapper |
선택사항(CODEF BYOK 자동 수집 시 필요) | 한국 사업자 장부 자동화 가이드 |
| 팝빌 업무 API | popbill |
팝빌 전자세금계산서·전자명세서·현금영수증·문자·카카오톡·팩스·휴폐업/기업정보·계좌조회·홈택스 수집을 로컬 BYOK 방식으로 호출 | 필요 | 팝빌 all-service API helper |
| 한국 개인정보처리방침·이용약관 자동 생성 | korean-privacy-terms |
Next.js 프로젝트에 개인정보보호법·약관규제법·전자상거래법 기반 개인정보처리방침/이용약관/쿠키 배너/동의 모달을 생성하는 kimlawtech/korean-privacy-terms (Apache-2.0) thin wrapper |
불필요 | 한국 개인정보처리방침·이용약관 자동 생성 가이드 |
| 한국 부동산 실거래가 조회 | real-estate-search |
아파트/오피스텔/빌라/단독주택 실거래가·전월세·지역코드 조회 | 불필요 | 한국 부동산 실거래가 조회 가이드 |
| 한국 주택 공시가격 조회 | housing-official-price |
realtyprice.kr 공개 웹 데이터 표면에서 공동주택·개별주택 정부 공시가격 이력을 직접 조회 (공식 문서화된 OpenAPI 아님) | 불필요 | 한국 주택 공시가격 조회 가이드 |
| 개별공시지가 조회 | gongsijiga-search |
realtyprice.kr 공개 API에서 지번 단위 개별공시지가(원/㎡) 다년도 추이·전년 대비 변동률 조회 | 불필요 | 개별공시지가 조회 가이드 |
| SH 청약·주택 공고문 조회 | sh-notice-search |
서울주택도시개발공사(SH) 공개 공고/공지 게시판을 직접 조회해 키워드·공고 종류별 목록, 상세 본문, 첨부 미리보기 메타데이터 확인 | 불필요 | SH 청약·주택 공고문 조회 가이드 |
| S2B 학교장터 공고 조회 | s2b-notice-search |
S2B 학교장터 공개 고객 공고/견적요청 화면을 브라우저 우선으로 조회하고 목록·상세 HTML fixture를 파싱 | 불필요 | S2B 학교장터 공고 조회 가이드 |
| LH 청약 공고문 조회 | lh-notice-search |
한국토지주택공사(LH) 임대/분양/주거복지(신혼희망타운)/토지/상가 공고를 지역·상태·공고유형·키워드로 조회하고 마감 여부를 KST 기준으로 표시 | 불필요 | LH 청약 공고문 조회 가이드 |
| 법원 경매 부동산 매각공고 조회 | court-auction-notice-search |
대법원경매정보(courtauction.go.kr) 부동산 매각공고를 매각기일·법원·기일/기간 입찰 조건으로 검색해 사건번호·용도·주소·감정평가액·최저매각가격을 펼치고, 사건번호로 직접 사건정보·물건내역·매각기일이력을 조회 | 불필요 | 법원 경매 부동산 매각공고 조회 가이드 |
| 기부처 조회 | donation-place-search |
지역·관심 분야 기준 기부처 후보 조회와 공식 후원 신청 지원 | 불필요 | 기부처 조회 가이드 |
| 장학금 검색 및 조회 | korean-scholarship-search |
한국장학재단·전국 대학교·재단·기업 장학 공고를 검색해 금액·자격·지원구간·링크를 정리하고 KST 기준 현재 날짜 마감 상태와 조건별 필터링까지 제공 | 불필요 | 장학금 검색 및 조회 가이드 |
| 생활쓰레기 배출정보 조회 | household-waste-info |
시군구 기준 생활쓰레기·음식물·재활용 배출요일·시간·장소·관리부서 확인 | 불필요 | 생활쓰레기 배출정보 조회 가이드 |
| 학교 급식 식단 조회 | k-schoollunch-menu |
교육청·학교명으로 NEIS 학교 검색·급식 식단 조회 | 불필요 | 학교 급식 식단 조회 가이드 |
| 도서관 도서 조회 | library-book-search |
도서관 정보나루 기반 도서 검색, 상세, 소장 도서관, 도서관별 소장 여부 조회 | 불필요 | 도서관 도서 조회 가이드 |
| KERIS/RISS 학술자료 검색 | keris-academic-search |
학위논문·국내외 학술논문·단행본·연구보고서·학술지 메타데이터와 원문 가능 표시 조회 | 사용자 RISS 키 (비영리 기관/대학 발급) | KERIS/RISS 학술자료 검색 가이드 |
| 의약품 안전 체크 | mfds-drug-safety |
식약처 e약은요·안전상비의약품 정보를 인터뷰-first 흐름으로 프록시 조회 | 불필요 | 의약품 안전 체크 가이드 |
| 식품 안전 체크 | mfds-food-safety |
식약처 부적합 식품·식품안전나라 회수 정보를 인터뷰-first 흐름으로 프록시 조회 | 불필요 | 식품 안전 체크 가이드 |
| 한국 주식 정보 조회 | korean-stock-search |
KRX 상장 종목 검색, 기본정보, 일별 시세 조회 | 불필요 | 한국 주식 정보 조회 가이드 |
| 금감원 DART 전자공시 조회 | k-dart |
공시검색, 기업개황, 재무제표, 배당, 증자/감자, 감사의견, 주요사항보고서 등 14개 endpoint | 필요 | 금감원 DART 전자공시 조회 가이드 |
| 잡코리아 인재검색 | jobkorea-talent-search |
잡코리아 기업회원 로그인 세션에서 마스킹 후보 정보를 읽고 유료 열람 전 shortlist 작성 | 필요 | 잡코리아 인재검색 가이드 |
| 사람인 인재풀 검색 | saramin-talent-search |
사람인 기업회원 인재풀에서 마스킹 후보 정보를 읽고 유료 열람 전 shortlist 작성 | 필요 | 사람인 인재풀 검색 가이드 |
| 이력서 기반 채용공고 매칭 | job-posting-match |
구직자의 이력서·희망조건을 바탕으로 잡코리아·사람인 공개 채용공고를 검색하고 적합도와 지원 전략 정리 | 불필요 | 이력서 기반 채용공고 매칭 가이드 |
| 대신증권 리포트 조회 | daishin-report-search |
GitHub Pages에 공개된 대신증권 리포트 HTML 미러에서 최신 리포트 목록, 원문, 설명 페이지, Rating/Target 표를 조회 | 불필요 | 대신증권 리포트 조회 가이드 |
| 국가데이터처 KOSIS 통계 조회 | kosis-stats |
국가데이터처가 운영하는 KOSIS(국가통계포털) Open API로 통계표 검색·메타·데이터·대용량 자료 조회 (조회 전용) | 일반 조회 불필요 (bigdata/--direct 필요) |
국가데이터처 KOSIS 통계 조회 가이드 |
| 한국은행 ECOS 경제통계 조회 | bok-ecos-stats |
한국은행 ECOS Open API로 기준금리·환율·소비자물가지수·통화량 시계열과 100대 핵심지표 조회 | 불필요 | 한국은행 ECOS 경제통계 조회 가이드 |
| 조선왕조실록 검색 | joseon-sillok-search |
조선왕조실록 키워드 검색과 왕별/연도별 필터, 기사 발췌 조회 | 불필요 | 조선왕조실록 검색 가이드 |
| 국가유산 검색·행사 조회 | korean-heritage-search |
국가유산청 공식 Open API로 국가유산 목록·상세정보·좌표와 월별 국가유산 활용 행사 조회 | 불필요 | 한국 국가유산 검색 가이드 |
| 한국 특허 정보 검색 | korean-patent-search |
한국 특허/실용신안 키워드 검색 및 출원번호 상세 조회 | 필요 | 한국 특허 정보 검색 가이드 |
| KR WHOIS 조회 | kr-whois-lookup |
공공데이터포털 WHOIS로 .kr/.한국 도메인·IP·AS 공개 등록정보 조회 (15094277, 프록시 경유) |
불필요 | KR WHOIS 조회 가이드 |
| 근처 가장 싼 주유소 찾기 | cheap-gas-nearby |
현재 위치 기준 근처 최저가 주유소 조회 | 불필요 | 근처 가장 싼 주유소 찾기 가이드 |
| 근처 공중화장실 찾기 | public-restroom-nearby |
현재 위치 기준 근처 공중화장실/개방화장실 조회 | 불필요 | 근처 공중화장실 찾기 가이드 |
| 근처 공영주차장 찾기 | parking-lot-search |
현재 위치 기준 근처 공영주차장 위치·요금·운영시간 조회 | 불필요 | 근처 공영주차장 찾기 가이드 |
| 전기차 충전소 위치·상태 조회 | ev-charger-nearby |
지역·충전소 기준 전기차 충전소 정보와 충전기 현재 상태 조회 (공공데이터포털 15076352, 프록시 경유) | 불필요 | 전기차 충전소 위치·상태 조회 가이드 |
| 전기차 보조금 현황 조회 | ev-subsidy-status |
지자체별 전기차 민간공고·접수·출고·출고잔여 대수와 모델별 보조금 조회 | 불필요 | 전기차 보조금 현황 조회 가이드 |
| 고속도로 교통량·소통·CCTV 조회 | highway-traffic-status |
한국도로공사·ITS 공개 API로 고속도로 구간별 실시간 속도/교통량/정체 등급과 CCTV 스트림 메타데이터 조회 | 불필요 | 고속도로 교통량·소통·CCTV 조회 가이드 |
| 근처 응급실 병상 상태 확인 | emergency-room-beds |
현재 위치 기준 가까운 응급실 운영·입원실/병상 운영 플래그와 갱신시각 조회 (정확한 잔여 병상 수/가동률은 공개 E-Gen nearby 목록에 없음) | 불필요 | 근처 응급실 병상 상태 확인 가이드 |
| 장기요양·건강검진기관 조회 | nhis-care-checkup-search |
국민건강보험공단 장기요양기관·건강검진기관 공개 후보 조회 (공공데이터포털 15059029·15154419, 프록시 경유) | 불필요 | 장기요양·건강검진기관 조회 가이드 |
| 한국 마라톤 일정 조회 | korean-marathon-schedule |
고러닝 공개 페이지와 대한철인3종협회 일정에서 마라톤·철인3종 대회 일정, 장소, 신청 마감일, 종목 조회 | 불필요 | 한국 마라톤 일정 조회 가이드 |
| KBO 경기 결과 조회 | kbo-results |
날짜별 KBO 경기 일정, 결과, 팀별 필터링 | 불필요 | KBO 결과 가이드 |
| KBL 경기 결과 조회 | kbl-results |
날짜별 KBL 경기 일정, 결과, 팀별 필터링, 현재 순위 확인 | 불필요 | KBL 경기 결과 가이드 |
| K리그 경기 결과 조회 | kleague-results |
날짜별 K리그1/K리그2 경기 결과, 팀별 필터링, 현재 순위 확인 | 불필요 | K리그 결과 가이드 |
| LCK 경기 분석 | lck-analytics |
LCK 경기 결과, 현재 순위, live turning point, 밴픽, 패치 메타, 팀 파워 레이팅 | 불필요 | LCK 경기 분석 가이드 |
| 토스증권 조회 | toss-investment |
토스증권 공식 Open API(OAuth2)로 계좌·보유주식·시세·주문조회 등 조회 전용 | 필요 | 토스증권 조회 가이드 |
| 공연 일정·잔여석 조회 | ticket-availability |
YES24·인터파크 공연의 회차별 일정과 등급별 잔여석 수를 단일 HTTP 호출로 조회 (조회 전용, 예매·결제 없음) | 불필요 | 공연 일정·잔여석 조회 가이드 |
| KOPIS 공연 조회 | kopis-performance-search |
KOPIS 공연·시설 목록과 상세 조회 (프록시 경유). 예매·결제는 공식 예매처 | 불필요 | KOPIS 공연 조회 가이드 |
| 로또 당첨 확인 | lotto-results |
로또 최신 회차, 특정 회차, 번호 대조 | 불필요 | 로또 결과 가이드 |
| HWP 문서 조회/변환 | hwp |
.hwp/.hwpx → Markdown/JSON 변환, 문서 비교, 양식 필드 추출, Markdown→HWPX 역변환 (kordoc 기반 read-only) |
불필요 | HWP 문서 처리 가이드 |
| HWP 문서 편집 | rhwp-edit |
.hwp 본문 텍스트 삽입/삭제, 표 생성, 셀 수정, replace-all (k-skill-rhwp CLI + @rhwp/core WASM, HWP 5.x round-trip) |
불필요 | HWP 문서 편집 가이드 |
| HWP 레이아웃·IR 디버깅 | rhwp-advanced |
업스트림 rhwp Rust CLI(export-svg --debug-overlay, dump, dump-pages, ir-diff, thumbnail, convert)로 HWP 레이아웃 진단·IR 덤프·버전 비교·썸네일 추출·배포용 문서 잠금 해제 |
불필요 | HWP 레이아웃·IR 디버깅 가이드 |
| 근처 술집 조회 | kakao-bar-nearby |
현재 위치 기준 영업 상태·메뉴·좌석·전화번호가 포함된 근처 술집 조회 | 불필요 | 근처 술집 조회 가이드 |
| 우편번호 검색 | zipcode-search |
주소 키워드로 우편번호 + 공식 영문주소 조회 | 불필요 | 우편번호 검색 가이드 |
| 다이소 상품 조회 | daiso-product-search |
다이소 매장별 상품 픽업 가능 여부 확인 (정확한 매장별 재고 수량은 다이소몰 보안 정책으로 2026-05-05 부터 차단됨) | 불필요 | 다이소 상품 조회 가이드 |
| 마켓컬리 상품 조회 | market-kurly-search |
마켓컬리 상품 검색, 현재 가격, 할인 여부, 품절 여부 조회 | 불필요 | 마켓컬리 상품 조회 가이드 |
| 올리브영 검색 | olive-young-search |
올리브영 매장·상품·재고 조회 | 불필요 | 올리브영 검색 가이드 |
| 영화관 검색 | korean-cinema-search |
CGV·메가박스·롯데시네마 영화관, 상영작, 시간표, 잔여석 조회 | 불필요 | 영화관 검색 가이드 |
| 올라포케 역삼 포케 | hola-poke-yeoksam |
올라포케 역삼점 메뉴, 매장 정보, 이벤트 참여 흐름 안내 | 불필요 | 올라포케 역삼 포케 가이드 |
| 마이리얼트립 MCP 검색 | myrealtrip-search |
공식 MCP 서버로 항공권, 숙소, 투어·티켓·액티비티 검색과 상세·옵션 확인 | 불필요 | 마이리얼트립 MCP 검색 가이드 |
| 항공권 가격 조회 | flight-ticket-search |
fast-flights 기반 Google Flights 공개 검색으로 항공권 후보, 예약 검색 링크, 날짜/월/연도별 최저가·평균가 비교 (조회 전용, 예매·결제 없음) |
불필요 | 항공권 가격 조회 가이드 |
| 택배 배송조회 | delivery-tracking |
CJ대한통운·우체국 송장 번호로 배송 상태 조회 | 불필요 | 택배 배송조회 가이드 |
| 쿠팡 상품 검색 | coupang-product-search |
쿠팡 상품 검색, 로켓배송 필터, 가격대 검색, 비교, 베스트, 골드박스 특가 조회 | 선택사항 (운영 키 있으면 로컬 HMAC 경로, 없으면 hosted fallback) | 쿠팡 상품 검색 가이드 |
| 오늘의집 오늘의딜 조회 | ohou-today-deal |
오늘의집 공개 오늘의딜 특가 상품의 할인율·가격·리뷰·링크 조회 | 불필요 | 오늘의집 오늘의딜 조회 가이드 |
| 번개장터 검색 | bunjang-search |
번개장터 검색, 상세조회, 선택적 찜/채팅, AI TOON export | 불필요 | 번개장터 검색 가이드 |
| 당근 중고거래 검색 | daangn-used-goods-search |
당근 중고거래 공개 웹 데이터 표면으로 키워드·지역 기반 매물 검색과 상세 조회 | 불필요 | 당근 중고거래 검색 가이드 |
| 당근부동산 검색 | daangn-realty-search |
당근부동산 공개 웹 데이터 표면으로 지역 기반 부동산 매물 검색과 상세 확인 | 불필요 | 당근부동산 검색 가이드 |
| 당근알바 검색 | daangn-jobs-search |
당근알바 공개 웹 데이터 표면으로 키워드·지역 기반 알바 공고 검색과 상세 조회 | 불필요 | 당근알바 검색 가이드 |
| 당근중고차 검색 | daangn-cars-search |
당근중고차 공개 웹 데이터 표면으로 지역·가격 조건 기반 차량 검색과 상세 조회 | 불필요 | 당근중고차 검색 가이드 |
| 한국어 맞춤법 검사 | korean-spell-check |
한국어 텍스트 맞춤법/문법 검사 및 교정안 정리 | 불필요 | 한국어 맞춤법 검사 가이드 |
| 네이버 블로그 리서치 | naver-blog-research |
네이버 블로그 검색, 원문 읽기, 이미지 다운로드, 한국어 콘텐츠 교차 검증 | 불필요 | 네이버 블로그 리서치 가이드 |
| 네이버 쇼핑 가격비교 | naver-shopping-search |
네이버 검색 Open API 우선, 공개 BFF JSON fallback으로 상품 후보·현재 노출가·판매처 링크 비교 | 불필요 | 네이버 쇼핑 가격비교 가이드 |
| 다나와 최저가 비교 | danawa-price-search |
다나와 공개 검색/가격비교 표면으로 상품 후보·쇼핑몰별 가격·배송비 포함 실구매가·카드 할인가·무이자 할부 비교 | 불필요 | 다나와 최저가 비교 가이드 |
| 네이버 뉴스 검색 | naver-news-search |
네이버 검색 Open API 뉴스 검색으로 기사 제목·요약·발행시각·원문/네이버 링크를 정리 | 불필요 | 네이버 뉴스 검색 가이드 |
| 한국일보 뉴스 조회 | hankookilbo-news |
한국일보 공식 원격 MCP 서버를 인증 없이 직접 호출해 편집 헤드라인·많이 본·꼼꼼히 본·최신·섹션별 추천·주제 검색·오늘의 운세를 기사 메타데이터로 조회 | 불필요 | 한국일보 뉴스 조회 가이드 |
| 네이버 검색광고 성과 조회 | naver-ad-performance |
네이버 검색광고 캠페인/광고그룹/키워드의 노출수·클릭수·광고비·CTR·CPC·전환수 조회, 연관키워드·월간 조회수 도구 (읽기 전용, 로컬 실행 전용) | 필요 | 네이버 검색광고 성과 조회 가이드 |
| 한국어 글자 수 세기 | korean-character-count |
한국어 텍스트의 글자 수·줄 수·UTF-8/NEIS byte 수를 결정론적으로 계산 | 불필요 | 한국어 글자 수 세기 가이드 |
| 한국어 유행어 글쓰기 | korean-slang-writing |
나무위키 유행어 기반 큐레이션 시드로 한국 유행어 후보 조회, 무드/문맥/safety 필터 및 나무위키 best-effort 요약으로 한국어 글을 유행어 느낌으로 작성 | 불필요 | 한국어 유행어 글쓰기 가이드 |
| 한국어 AI 윤문 | korean-humanizer |
AI가 쓴 티 나는 한국어 글을 번역체·AI 상투어·과장된 의의·줄표/이모지 등 흔적을 심각도(S1/S2/S3)로 분류해 의미는 보존하며 사람 글로 윤문, 목표 글자수도 맞춤 | 불필요 | 한국어 AI 윤문 가이드 |
| 한국 중세 국어풍 변환 | korean-middle-korean |
한국어 입력문을 중세국어풍 조사·어미·Hanja 힌트·성조점이 섞인 창작용 문체로 결정론적 변환 | 불필요 | 한국 중세 국어풍 변환 가이드 |
| 사주 운세 풀이 | saju-fortune |
생년월일시·성별·양력/음력 정보를 인터뷰로 확인한 뒤 사주팔자, 오행 분포, 연애운·재물운·직업운·건강운·궁합을 대화형으로 풀이 | 불필요 | 사주 운세 풀이 가이드 |
| 작명소 | naming-house |
생년월일시·성씨·후보 이름을 바탕으로 사주 오행, 성명학 획수, 발음 흐름 기준의 이름 추천/점수를 제공 | 불필요 | 작명소 가이드 |
| K-스킬 공통 설정 | k-skill-setup |
전체 k-skill 설치 후 credential 확보, 런타임 환경변수 확인, 선택적 업데이트 확인과 GitHub star 동의 흐름을 안내 | 불필요 | 공통 설정 가이드 |
| K-스킬 클리너 | k-skill-cleaner |
인터뷰와 코딩 에이전트별 트리거 횟수 통계를 합쳐 불필요한 K-스킬 삭제 후보를 추천 | 불필요 | K-스킬 클리너 가이드 |
Claude Code 플러그인으로 설치
Claude Code에서는 마켓플레이스로 전체 스킬을 한 번에 설치할 수 있습니다.
/plugin marketplace add NomaDamas/k-skill
/plugin install k-skill@k-skill설치하면 스킬이 /k-skill:<스킬 이름> 네임스페이스로 호출됩니다 (예: /k-skill:lotto-results). 개별 디렉토리를 직접 복사하는 수동 설치나 다른 에이전트 설치는 설치 방법을 참고하세요.
처음 시작하는 순서
- 설치 방법을 따라
k-skill전체 스킬을 먼저 설치합니다. - 설치가 끝나면
k-skill-setup스킬을 사용해 credential 확보와 환경변수 확인을 진행합니다. - 시크릿이 비어 있으면 공통 설정 가이드와 보안/시크릿 정책에 따라 credential resolution order로 확보합니다.
- Node/Python 패키지가 없으면 먼저 전역 설치를 기본으로 진행합니다.
- 각 기능 문서를 열어 입력값, 예시, 제한사항을 확인합니다.
문서
| 문서 | 설명 |
|---|---|
| 설치 방법 | 패키지 설치, 선택 설치, 로컬 테스트 방법 |
| 기여 가이드 | 외부 기여자를 위한 소통, PR 대상 브랜치, 스킬 문서, Changesets, 프록시 정책 |
| Manus.ai 에서 가져오기 | Manus.ai 에서 개별 스킬 폴더 URL 가져오기 또는 npm run build:manus-bundle 로 빌드한 .skill 파일을 드래그-드롭으로 업로드하는 방법 |
| 공통 설정 가이드 | credential resolution order, 기본 secrets 파일 준비 |
| 보안/시크릿 정책 | 인증 정보 저장 원칙, 금지 패턴, 표준 환경변수 이름 |
| k-skill 프록시 서버 가이드 | 무료 API를 프록시 서버로 바로 호출하는 방법 |
| 릴리스/배포 가이드 | npm Changesets, Python release-please, trusted publishing 운영 규칙 |
| 로드맵 | 현재 포함 기능과 다음 후보 |
| 출처/참고 표면 | 설계 시 참고한 공개 라이브러리와 공식 문서 |
포함된 기능
- SRT 라이브 시간표 조회
- KTX 공식 시간표 조회
- 고속버스 예매
- 시외버스 예매
- 자연휴양림 빈 객실 조회
- 카카오톡 Mac 아카이브 검색
- 서울 지하철 도착정보 조회
- 서울 실시간 혼잡도 조회
- 한국 대중교통 길찾기 가이드
- 카카오맵 가이드
- 지하철 분실물 조회 가이드
- 긱뉴스 조회 가이드
- 한국 날씨 조회 가이드
- 한국 공휴일·특일 조회 가이드
- 서울 기상 위험 시간대 조회 가이드
- 사용자 위치 미세먼지 조회
- 한강 수위 정보 가이드
- 한국 법령 검색 가이드
- 한국 개인정보처리방침·이용약관 자동 생성 가이드
- 사업자등록정보 확인 가이드
- 사업자 실사 종합 가이드
- 국민연금 가입 사업장 조회 가이드
- 국세 체납 명단공개 검색 가이드
- 금융위 기업기본정보 조회 가이드
- 부정당제재업체 조회 가이드
- 나라장터 발주계획 검색 가이드
- 국방전자조달시스템 공고 조회 가이드
- 인허가 영업상태 조회 가이드
- 장수 점포 레이더 가이드
- 창업진흥원 K-Startup 조회 가이드
- 국회 의안·표결 조회 가이드
- 한국 사업자 장부 자동화 가이드
- 팝빌 all-service API helper
- 한국 부동산 실거래가 조회 가이드
- 한국 주택 공시가격 조회 가이드
- 개별공시지가 조회 가이드
- LH 청약 공고문 조회 가이드
- SH 청약·주택 공고문 조회 가이드
- S2B 학교장터 공고 조회 가이드
- 법원 경매 부동산 매각공고 조회 가이드
- 장학금 검색 및 조회 가이드
- 생활쓰레기 배출정보 조회 가이드
- 학교 급식 식단 조회 가이드
- 도서관 도서 조회 가이드
- KERIS/RISS 학술자료 검색 가이드
- 기부처 조회 가이드
- 의약품 안전 체크 가이드
- 식품 안전 체크 가이드
- 한국 주식 정보 조회 가이드
- 국가데이터처 KOSIS 통계 조회 가이드
- 한국은행 ECOS 경제통계 조회 가이드
- 조선왕조실록 검색 가이드
- 한국 국가유산 검색 가이드
- 한국 특허 정보 검색 가이드
- KR WHOIS 조회 가이드
- 근처 가장 싼 주유소 찾기 가이드
- 근처 공중화장실 찾기 가이드
- 근처 공영주차장 찾기 가이드
- 전기차 충전소 위치·상태 조회 가이드
- 고속도로 교통량·소통·CCTV 조회 가이드
- 전기차 보조금 현황 조회 가이드
- 근처 응급실 병상 상태 확인 가이드
- 장기요양·건강검진기관 조회 가이드
- 한국 마라톤 일정 조회 가이드
- KBO 경기 결과 조회
- KBL 경기 결과 가이드
- K리그 경기 결과 조회
- LCK 경기 분석 가이드
- 토스증권 조회 가이드
- 대신증권 리포트 조회 가이드
- 공연 일정·잔여석 조회 가이드
- KOPIS 공연 조회 가이드
- 로또 당첨 확인
- 등기부등본 자동화 가이드
- 건축물대장 표제부 조회 가이드
- 법인등기 신청 컨설팅
- 지급명령 신청 보조 가이드
- HWP 문서 조회/변환
- HWP 문서 편집
- HWP 레이아웃·IR 디버깅
- 근처 술집 조회 가이드
- 우편번호 검색
- 다이소 상품 조회
- 마켓컬리 상품 조회 가이드
- 올리브영 검색 가이드
- 영화관 검색 가이드
- 올라포케 역삼 포케 가이드
- 마이리얼트립 MCP 검색 가이드
- 항공권 가격 조회 가이드
- 택배 배송조회
- 쿠팡 상품 검색
- 오늘의집 오늘의딜 조회
- 번개장터 검색 가이드
- 당근 중고거래 검색 가이드
- 당근부동산 검색 가이드
- 당근알바 검색 가이드
- 당근중고차 검색 가이드
- 한국어 맞춤법 검사 가이드
- 네이버 블로그 리서치 가이드
- 네이버 쇼핑 가격비교 가이드
- 다나와 최저가 비교 가이드
- 네이버 뉴스 검색 가이드
- 한국일보 뉴스 조회 가이드
- 한국어 글자 수 세기 가이드
- 한국어 유행어 글쓰기 가이드
- 한국어 AI 윤문 가이드
- 한국 중세 국어풍 변환 가이드
- 사주 운세 풀이 가이드
- 작명소 가이드
- K-스킬 공통 설정 가이드
- K-스킬 클리너 가이드
- 릴리스/배포 가이드
설치 기본 흐름은 "전체 스킬 설치 → k-skill-setup 실행 → 개별 기능 사용" 입니다.
라이선스
이 저장소의 기본 라이선스는 MIT입니다. 단, 프록시 서버 관련 디렉토리는 AGPL-3.0-only가 적용됩니다.
packages/k-skill-proxy/— AGPL-3.0-onlyinfra/k-skill-proxy-dashboard/— AGPL-3.0-only (프록시 모니터링 스택)
제3자 상표와 서비스명은 기능·조회 대상·호환 대상을 설명하기 위해서만 사용하며, 별도 명시가 없는 한 해당 권리자나 운영사의 공식 기능·지원·제휴·승인 또는 협업을 의미하지 않습니다. 공개정보 조회 기능은 개인적·비조직적 용도로만 사용하고, 대량·체계적 크롤링이나 접근통제 회피, 서비스 장애·영업 방해를 해서는 안 됩니다.
File: docs/features/bunjang-search.md
번개장터 검색 가이드
이 기능으로 할 수 있는 일
upstream bunjang-cli / pinion05/bunjangcli 를 사용해 번개장터 검색, 상세조회, 선택적 찜/채팅, 대량 수집, AI TOON export 를 처리한다.
search로 검색item get/item list로 상세조회favorite add/favorite remove/favorite list로 선택적 찜 관리chat list/chat start/chat send로 선택적 채팅--start-page,--pages,--max-items,--with-detail,--output으로 대량 수집--ai --output <directory>로 TOON chunk 저장
가장 중요한 규칙
이 기능은 upstream 원본을 그대로 쓴다.k-skill 안에 번개장터 수집기를 새로 넣지 않고, CLI first 문서/스킬만 유지한다.
즉 기본 경로는 아래다.
npx --yes bunjang-cli ...- 반복 사용이면
npm install bunjang-cli
먼저 필요한 것
- 인터넷 연결
node22+npx또는npm- 선택적으로 interactive TTY 터미널
2026-04-06 기준 npm view bunjang-cli version 은 0.2.1 이고, README 요구 사항은 Node.js 22+ 다.
가장 빠른 시작: npx CLI
npx --yes bunjang-cli --help
npx --yes bunjang-cli --json auth status
npx --yes bunjang-cli --json search "아이폰" --max-items 3 --sort date
npx --yes bunjang-cli --json item get 354957625반복 사용이면 전역 설치도 가능하다.
npm install bunjang-cli
export NODE_PATH="$(npm root -g)"
bunjang-cli --help로그인은 선택적 interactive 플로우
npx --yes bunjang-cli auth login
npx --yes bunjang-cli auth logout
npx --yes bunjang-cli --json auth statusauth login은 브라우저에서 로그인 후 터미널로 돌아와 Enter 를 눌러야 완료된다.- 즉 TTY / interactive 세션 이 아닌 환경에서는 로그인 완료 처리가 멈출 수 있다.
- 그래서 기본 문서는 검색/상세조회/대량 수집을 먼저 안내하고, 찜/채팅은 로그인된 경우에만 선택적으로 진행한다.
기본 흐름
1. 검색
npx --yes bunjang-cli search "아이폰"
npx --yes bunjang-cli search "아이폰" --price-min 500000 --price-max 1200000
npx --yes bunjang-cli search "아이폰" --sort date
npx --yes bunjang-cli --json search "아이폰" --max-items 5검색 결과에는 매입글/광고/악세서리 글이 섞이고, live search payload 에서는 location 이 noisy 하거나 description / status 가 빠질 수 있다. 그래서 검색 단계는 제목/가격 중심 1차 triage 로만 쓰고, 세부 판단은 상세조회 이후로 미룬다.
2. 상세조회
npx --yes bunjang-cli item get 354957625
npx --yes bunjang-cli --json item get 354957625
npx --yes bunjang-cli --json item list --ids 354957625,354801707상세에서는 price, description, location, category, status, sellerName, sellerReviewCount, favoriteCount, transportUsed 를 우선 본다. 즉 description / status / 믿을 만한 location 이 필요하면 반드시 item get 또는 --with-detail 이후 에만 판정한다.
3. 대량 수집
npx --yes bunjang-cli search "아이폰" \
--start-page 1 \
--pages 5 \
--max-items 50 \
--sort date \
--with-detail \
--output artifacts/bunjang-iphone.jsonexport 검증 시에는 결과 파일 존재 여부와 top-level items[] 안의 summary / detail / optional error 구조, item 별 sourcePage 또는 summary.raw.page 를 함께 확인한다.
4. AI TOON chunk
npx --yes bunjang-cli search "아이폰" \
--start-page 1 \
--pages 5 \
--max-items 50 \
--with-detail \
--ai \
--output artifacts/bunjang-iphone-ai--ai에서는--output이 디렉토리 여야 한다.- 결과는
items-1.toon같은 chunk 로 나뉜다. - 대량 후보를 여러 에이전트에게 분산 평가시키기 좋다.
5. 찜/채팅은 로그인 후에만
npx --yes bunjang-cli --json favorite list
npx --yes bunjang-cli --json favorite add 354957625
npx --yes bunjang-cli --json favorite remove 354957625
npx --yes bunjang-cli --json chat list
npx --yes bunjang-cli --json chat start 354957625 --message "안녕하세요"
npx --yes bunjang-cli --json chat send 84191651 --message "상품 상태 괜찮을까요?"favorite와chat은 로그인이 필요한 선택적 기능이다.- 기본 검색/분석 요청이라면 실행하지 않고 명령만 안내한다.
- 검증이 필요하면
favorite list로 세션을 먼저 확인한 뒤 add/remove 를 왕복 실행한다.
라이브 확인 메모
2026-04-06 기준 아래 흐름을 실제로 실행해 응답을 확인했다.
npx --yes bunjang-cli --help→ top-level commands (auth,search,item,chat,favorite,purchase) 확인npx --yes bunjang-cli --json auth status→authenticated: false,headfulLoginRequired: true확인npx --yes bunjang-cli --json search "아이폰" --max-items 1→items[0].id = 354957625,transportUsed = browser확인npx --yes bunjang-cli --json item get 354957625→description,location,sellerReviewCount,favoriteCount,transportUsed = api확인
같은 날짜에 search summary 는 title/price 중심 triage 용으로만 안전했고, status / description 은 summary 에서 안정적으로 오지 않았다. 그래서 문서에서는 상세 필드 의존 판단을 item get / --with-detail 뒤로 고정한다.
같은 날짜에 favorite list 는 로그인 브라우저를 띄운 뒤 터미널 Enter 를 기다렸다. 그래서 문서에서는 찜/채팅을 로그인 후 선택적으로만 실행 하도록 고정한다.
제한사항
- 로그인 없는 환경에서는 찜/채팅/구매 흐름을 바로 검증하기 어렵다.
- 검색 결과에는 매입글/광고/악세서리 노이즈가 섞일 수 있다.
- DOM/API 변경에 따라 browser transport 동작이 깨질 수 있다.
- 구매 자동 확정/결제는 다루지 않는다.
참고 링크
- npm package:
https://www.npmjs.com/package/bunjang-cli - upstream repo:
https://github.com/pinion05/bunjangcli
File: docs/features/cheap-gas-nearby.md
근처 가장 싼 주유소 찾기 가이드
이 기능으로 할 수 있는 일
- 현재 위치 기준 근처 최저가 주유소 검색
- 휘발유/경유 기준 nearby 가격 비교
- Opinet 공식 API(
aroundAll.do,detailById.do) 기반 요약 - 셀프 여부, 세차장, 경정비, 품질인증 여부까지 함께 정리
먼저 필요한 것
- 인터넷 연결
node18+cheap-gas-nearbypackage 또는 이 저장소 전체 설치
사용자 쪽에서 별도 OPINET_API_KEY 를 준비할 필요가 없다. 기본적으로 https://k-skill-proxy.nomadamas.org 프록시를 경유하며, upstream key는 proxy 서버에서만 주입한다.
가장 먼저 할 일
이 기능은 반드시 현재 위치를 먼저 물어본 뒤 실행합니다.
권장 질문 예시:
현재 위치를 알려주세요. 동네/역명/랜드마크/위도·경도 중 편한 형식으로 보내주시면 근처에서 가장 싼 주유소를 찾아볼게요.제품을 안 알려주면 보통 휘발유(B027) 기준으로 시작하고, 경유가 필요하면 D047 로 바꿉니다.
입력값
- 동네/상권:
강남,성수동,판교 - 역명/랜드마크:
서울역,강남역,코엑스 - 좌표:
37.55472, 126.97068 - 제품코드:
B027(휘발유),D047(경유)
위치 문자열은 Kakao Map anchor 검색으로 WGS84 좌표를 잡고, 내부적으로 KATEC 으로 변환해 Opinet nearby 검색에 사용합니다.
공식 표면
- Opinet 오픈 API 안내:
https://www.opinet.co.kr/user/custapi/openApiInfo.do - 반경 내 주유소:
https://www.opinet.co.kr/api/aroundAll.do - 주유소 상세정보(ID):
https://www.opinet.co.kr/api/detailById.do - 지역코드:
https://www.opinet.co.kr/api/areaCode.do - Kakao Map 모바일 검색:
https://m.map.kakao.com/actions/searchView - Kakao Map 장소 패널 JSON:
https://place-api.map.kakao.com/places/panel3/<confirmId>
Opinet nearby 검색의 핵심 파라미터:
x,y: 기준 위치 KATEC 좌표radius: 반경(m, 최대 5000)prodcd:B027,D047,B034,C004,K015sort=1: 가격순
기본 흐름
- 유저에게 현재 위치를 먼저 묻습니다.
- 위치 문자열을 받으면 Kakao Map으로 anchor 후보를 고르고 좌표를 확보합니다.
- 좌표를 WGS84 → KATEC 으로 변환합니다.
- Opinet
aroundAll.do를sort=1가격순으로 조회합니다. - 상위 후보는
detailById.do로 재조회해 주소/전화번호/편의시설을 보강합니다. - 가격순 상위 3~5개만 짧게 응답합니다.
Node.js 예시
const { searchCheapGasStationsByLocationQuery } = require("cheap-gas-nearby");
async function main() {
const result = await searchCheapGasStationsByLocationQuery("서울역", {
productCode: "B027",
radius: 1000,
limit: 3
});
for (const item of result.items) {
console.log(`${item.name}: ${item.price}원/L, ${item.distanceMeters}m, ${item.roadAddress}`);
}
}
main().catch((error) => {
console.error(error);
process.exitCode = 1;
});Offline smoke example
실제 키가 없는 환경에서도 패키지 동작은 fixture 기반으로 검증할 수 있습니다.
node --test packages/cheap-gas-nearby/test/index.test.js운영 팁
- 프록시 서버가 내려가 있거나 upstream key가 없으면 503 을 반환하므로 상태를 안내합니다.
- 서울역/강남처럼 넓은 질의는 anchor 위치가 흔들릴 수 있으니 필요하면 더 구체적인 역 출구/동 이름을 한 번 더 받습니다.
- 동일 가격이면 거리순으로 다시 정렬해 보여주는 편이 좋습니다.
- 결과가 너무 많으면 반경을
1000m또는2000m정도로 유지하는 편이 읽기 쉽습니다.
주의할 점
- Opinet Open API 인증키는 proxy 서버에서만 관리합니다. 사용자/client 쪽 secrets 파일에는 넣지 않습니다.
- Kakao Map anchor 검색은 위치 기준점만 잡기 위한 보조 단계이고, 최종 가격/순위 데이터는 Opinet을 기준으로 합니다.
- Opinet 응답의 좌표는 KATEC 이므로 WGS84와 혼동하면 안 됩니다.
File: docs/features/corporate-registration-consulting.md
법인등기 신청 컨설팅
corporate-registration-consulting은 일반 영리 주식회사 발기설립 등기를 처음 진행하는 사용자를 위해 저장된 HWP 양식 사본을 채우는 법인설립등기 준비 스킬이다. 모집설립은 일반적이지 않으므로 기본 플로우에서 제외한다.
핵심 원칙
- 런타임 지침은
corporate-registration-consulting/SKILL.md가 담당한다. - 실제 작성은 Markdown 초안이 아니라 저장된 HWP 양식 사본을 레포 밖 비공개 작업 디렉터리에 복사해 진행한다. 최종 산출물은 실제
.hwp사본이다. - 정관은
templates/attachment-hwp/standard-articles-startup-moj.hwp또는templates/attachment-hwp/articles-of-incorporation.hwp를 우선 사용한다. - 단순
replace-all은 shortcut일 뿐이며, 각 HWP의 상단·본문·표 셀·하단 날짜·서명/날인란을 한 장 한 장 순차 확인한다. - 자리표시자와 실제 사용자 입력값을 구분하고, 개인정보가 들어간 산출물은 레포에 커밋하지 않는다.
필수 문서와 양식
인터넷등기소/온라인법인설립시스템 제출 전 대조용 저장된 양식 경로와 공식 출처 대조는 corporate-registration-consulting/templates/official-form-sources.md, 제출 체크리스트는 corporate-registration-consulting/templates/incorporation-document-pack.md를 기준으로 한다.
반드시 포함할 항목:
- 주식회사설립등기신청서(발기설립):
templates/official/form-65-1-stock-company-incorporation-promoter.hwp - 정관, 주식발행사항 동의/상법 제291조 사항 증명정보, 주식인수증, 발기인회의사록, 주주명부, 조사보고서, 취임승낙서, 이사회의사록, 인감신고서, 위임장:
templates/attachment-hwp/*.hwp - 등록면허세 영수필확인서, 등기신청수수료 영수필확인서
- 등기이사 개인 인감증명서 또는 본인서명사실확인서
- 등기이사 주민등록초본/등본 등 주소 확인 증빙
- 주금납입/잔고증명
조건부로 명의개서대리인, 현물출자·재산인수 등 변태설립사항, 인허가 업종, 정관 공증·의사록 인증 필요 여부를 확인한다.
중점 확인
- 정관 제2조 목적에는 실제 사업 업태·종목을 채운다.
- 정관 맨 마지막 작성일자, 발기인 성명, 서명/기명날인, 여러 장 문서의 간인을 확인한다.
- 인감신고서 제출을 위해 실제 법인인감 도장을 준비하도록 안내한다.
- 등록면허세·지방교육세·과밀억제권역/대도시 중과는 지방세법 제28조 및 위택스/관할 지자체 결과를 기준으로 확인한다.
- 소프트웨어 업종은 조세특례제한법 제6조 등 감면/중과 제외 가능성을 체크하되 확정하지 않는다.
면책
이 기능은 참고용이며 법률·세무 자문, 법무사 대행이 아니다. 에이전트는 인터넷등기소/위택스 로그인, 전자서명, 세금 납부, 등기 제출, 사용자 사칭, 최종 법률 판단, 최종 세무 판단을 지원하지 않는다. 실제 제출은 사용자가 직접 수행하고 제출 전 관할 등기소·위택스/지자체·법무사·변호사·세무사 확인을 권한다.
File: docs/features/coupang-product-search.md
쿠팡 상품 검색
coupang-product-search는 k-skill-proxy의 공식 Coupang Partners API
프록시를 통해 상품을 조회한다. 로컬 MCP checkout이나 제3자 hosted fallback을
사용하지 않는다.
호출 경로
skill → k-skill-proxy /v1/coupang/products/search
→ 서버 보관 COUPANG_ACCESS_KEY/COUPANG_SECRET_KEY
→ Coupang Partners API /products/searchproxy 서버가 HMAC-SHA256 Authorization 헤더를 생성하므로 caller는 쿠팡
키를 볼 수도, 전달할 필요도 없다.
설정
프록시 운영 환경에 다음 두 변수를 설정한다.
COUPANG_ACCESS_KEY=...
COUPANG_SECRET_KEY=...둘 중 하나라도 없으면 endpoint는 503 upstream_not_configured를 반환한다.
키를 query string, shell argument, 문서, 로그에 넣지 않는다.
검색 API
BASE="${KSKILL_PROXY_BASE_URL:-https://k-skill-proxy.nomadamas.org}"
curl -fsS --get "${BASE}/v1/coupang/products/search" \
--data-urlencode 'keyword=무선청소기' \
--data-urlencode 'limit=10' \
--data-urlencode 'subId=k-skill'| query | 필수 | 설명 |
|---|---|---|
keyword 또는 q |
예 | 2~100자 |
limit |
아니오 | 1~10, 기본 10 |
subId |
아니오 | 제휴/호출 분석용 식별자 |
응답 items는 product_id, title, price, price_text, url,image_url, review_count, score, is_rocket, is_free_shipping을
제공한다. 가격과 배송 상태는 실시간으로 바뀔 수 있다.
답변 규칙
is_rocket으로 로켓배송 후보와 일반배송 후보를 구분한다.- 예산이 있으면
price를 기준으로 필터링한다. - 후보는 보통 3~5개로 요약한다.
- 상품 링크를 제공할 때 다음 고지를 함께 표시한다.
쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.
오류
400 bad_request: 검색어가 없거나 너무 짧다.503 upstream_not_configured: 프록시 키 미설정.502 upstream_forbidden: 쿠팡 API 키 또는 권한 거부.502 upstream_error/upstream_unavailable: 쿠팡 API 장애 또는 네트워크 오류.
오류를 임의의 scraping, 구형 MCP, 또는 다른 hosted endpoint로 우회하지 않는다.
출처
File: docs/features/court-auction-notice-search.md
법원 경매 부동산 매각공고 조회
대한민국 법원이 운영하는 공식 법원경매정보 사이트(courtauction.go.kr) 의 매각공고와 사건정보를 에이전트가 활용할 수 있는 JSON 형태로 변환해서 돌려준다.
참고용입니다. 실제 입찰 전에는 반드시 해당 법원의 원문 매각공고와 매각물건명세서를 직접 확인하세요. 본 스킬은 read-only이며, 입찰서 자동 작성·자동 제출은 지원하지 않습니다.
무엇을 할 수 있나
- ✅ Workflow A — 매각공고 브라우징: 매각기일·법원·기일/기간 입찰을 조건으로 매각공고 목록 → 그 공고 안의 사건번호·용도·주소·감정평가액·최저매각가격 펼치기
- ✅ Workflow B — 사건번호 직접 조회: 법원사무소코드 + 사건번호(
2024타경100001) → 사건정보·물건내역·매각기일별 이력·배당요구종기 - ✅ Workflow C — 부동산 물건 자유 조건검색: 지역·용도·가격대·면적·유찰횟수·매각기일 조건 → 물건 목록 JSON
- ✅ 법원사무소 코드(60+개) + 입찰구분 코드(기일입찰=
000331, 기간입찰=000332) + Workflow C용 대표 용도/지역 코드 변환 - ✅ 3-tier transport — direct HTTP 1차, platform-aware runtime browser fallback(macOS: Aside → BrowserOS → Chrome, 기타: BrowserOS → Aside → Chrome), 로컬 Playwright(
rebrowser-playwright/playwright-core) launch fallback - ✅ 안티봇 가드 — 호출 간 ≥2초 jitter, 세션당 호출 budget,
data.ipcheck === false즉시BLOCKEDthrow
무엇을 할 수 없나 (별도 follow-up 이슈)
- ❌ Workflow D 일별/월별 캘린더
- ❌ 매각물건 사진(전경/개황/내부) URL 노출
- ❌ 매각물건명세서·현황조사서·감정평가서 PDF 다운로드
- ❌ 동산(자동차·중기) 경매
차단(BLOCKED) 정책
courtauction.go.kr 은 자동화 호출에 매우 민감해서 빠른 연속 조회 시 IP가 약 1시간 차단됩니다. 본 스킬은 다음과 같이 보수적으로 동작합니다.
- 호출 간 최소 2초 + jitter 0~1초 대기 (override:
--min-delay-ms 3000) - 세션당 호출 budget 10회 (override:
--max-calls 5) data.ipcheck === false또는 응답 메시지에 "차단" 포함 시 →BLOCKED에러를 즉시 throw, 자동 재시도 금지 (차단 연장 위험)
차단되면 같은 IP에서 약 1시간을 기다려야 합니다. 그 사이에는 다른 IP 또는 사람이 직접 사이트에 접속해서 차단 해제 화면을 거칩니다.
CLI 사용
court-auction-notice-search -h
court-auction-notice-search codes courts --pretty | head -40
court-auction-notice-search codes bid-types --pretty
court-auction-notice-search codes usages --pretty
court-auction-notice-search codes regions --pretty
court-auction-notice-search notices --date 2026-04 --court-code B000210 --bid-type date --pretty
court-auction-notice-search search --sido 서울특별시 --sigungu 11680 --usage-large 건물 --usage-medium 21200 \
--price-min 100000000 --price-max 500000000 --sale-from 2026-05-01 --sale-to 2026-05-20 --pretty
court-auction-notice-search case --court-code B000210 --case-number "2024타경100001" --prettyNode.js 사용
const {
searchSaleNotices,
getSaleNoticeDetail,
getCaseByCaseNumber,
searchProperties
} = require("court-auction-notice-search");
const notices = await searchSaleNotices({
date: "2026-04", // 월 전체 조회. 일자 입력은 같은 월 조회 후 해당일만 필터링
courtCode: "B000210",
bidType: "date"
});
if (notices.items.length > 0) {
const detail = await getSaleNoticeDetail(notices.items[0]);
for (const item of detail.items) {
console.log(item.caseNumber, item.usage, item.address);
console.log(" 감정 ", item.appraisedPrice, "최저 ", item.minimumSalePrice);
}
}
const caseInfo = await getCaseByCaseNumber({
courtCode: "B000210",
caseNumber: "2024타경100001"
});
const properties = await searchProperties({
region: { sido: "서울특별시", sigungu: "11680", dong: "11680101" },
usage: { large: "건물" },
priceRange: { min: 100000000, max: 500000000 },
saleDate: { from: "2026-05-01", to: "2026-05-20" },
flbdCount: { min: 1 },
page: 1,
pageSize: 20
});사이트 내부 endpoint (직접 캡처한 것)
| 목적 | 메소드 + 경로 | request body |
|---|---|---|
| 매각공고 목록 | POST /pgj/pgj143/selectRletDspslPbanc.on |
{"dma_srchDspslPbanc":{"srchYmd","cortOfcCd","bidDvsCd","srchBtnYn":"Y"}} (srchYmd는 사이트 검색 버튼과 동일하게 YYYYMM) |
| 매각공고 상세 | POST /pgj/pgj143/selectRletDspslPbancDtl.on |
{"dma_srchGnrlPbanc":{"cortOfcCd","dspslDxdyYmd","jdbnCd",...}} |
| 사건 단건 | POST /pgj/pgj15A/selectAuctnCsSrchRslt.on |
{"dma_srchCsDtlInf":{"cortOfcCd","csNo"}} |
| 물건 자유 조건검색 | POST /pgj/pgjsearch/searchControllerMain.on |
canonical body captured via Playwright (scripts/capture-pgj151-submit.cjs); fixture at packages/court-auction-notice-search/test/fixtures/canonical-search-body.json. pageNo/pageSize/statNum 은 number, pageSize 는 upstream 드롭다운 값 10/20/50/100만 허용, notifyLoc 기본 "off". |
| 법원사무소 코드 | POST /pgj/pgjComm/selectCortOfcCdLst.on |
{} |
세션 cookie(JSESSIONID, WMONID)는 endpoint별 진입 화면을 먼저 열어 받아둡니다. 매각공고/상세는 GET /pgj/index.on?w2xPath=/pgj/ui/pgj100/PGJ143M01.xml&pgjId=143M01, 물건 자유 조건검색(Workflow C)은 GET /pgj/index.on?w2xPath=/pgj/ui/pgj100/PGJ151F00.xml&pgjId=151F00 으로 warmup 합니다.
브라우저 fallback 런타임
Workflow C direct HTTP가 WAF-style HTTP 400을 반환하거나, 명시적으로 fallbackOnBlocked:true 를 준 BLOCKED 응답일 때만 browser fallback을 쓴다. fallback 순서는 다음과 같다.
- runtime browser (기본
auto) —k-skill-browser-runtime으로 macOS에서는 Aside Browser REPL(aside repl), BrowserOS GUI CDP(http://127.0.0.1:9100), Chrome/Chromium CDP(http://127.0.0.1:9222) 순서로 fallback하고 기타 플랫폼에서는 BrowserOS를 먼저 시도한다.KSKILL_BROWSER_PROVIDER(auto/browseros/aside/chrome-cdp),KSKILL_BROWSEROS_CDP_URL,KSKILL_CHROME_CDP_URL,KSKILL_ASIDE_COMMAND,provider,cdpUrl로 조정할 수 있다. BrowserOS/Aside를 launch하거나 BrowserOS를 headless로 띄우지 않는다. - Local Playwright launch fallback — CDP endpoint가 닿지 않을 때만 이 패키지가 직접 소유하는 로컬 브라우저를
chromium.launch({ headless })로 띄운다. 이 로컬 브라우저는 패키지가 닫을 수 있다.
Runtime으로 붙은 BrowserOS/Aside/Chrome 세션은 사용자 소유이므로 fallback 종료 시 adapter 생성 page/context/tab만 정리하고 브라우저/프로필은 닫지 않는다. 로그인/CAPTCHA/payment/전자서명/irreversible 액션은 자동화하지 않는다.
설치
npm install court-auction-notice-search
# Runtime browser fallback 은 k-skill-browser-runtime regular dependency로 자동 설치된다.
# CDP가 unavailable일 때 로컬 launch fallback까지 쓰려면 (선택):
npm install rebrowser-playwright
# 또는
npm install playwright-core관련 이슈
- 이 패키지는 Issue #167 에서 출발했고, #184에서 Workflow C 자유 조건검색을 추가했습니다.
- 캘린더·물건 사진·PDF·동산 경매는 별도 follow-up 이슈로 분리되어 추적됩니다.
File: docs/features/daangn-cars-search.md
당근중고차 검색 가이드 (`daangn-cars-search`)
당근중고차 공개 웹 데이터 표면을 사용해 지역·키워드·가격 조건 기반 차량을 검색하고, 개별 차량 상세를 읽기 전용으로 확인하는 스킬입니다.
사용 시나리오
- "당근중고차 합정동 레이 찾아봐"
- "당근에서 천만원 이하 중고차 검색해줘"
- "이 당근 중고차 URL 상세 요약해줘"
구현 표면
브라우저 자동화, 로그인, 채팅, 문의, 구매 자동화를 사용하지 않습니다.
- 지역 해석:
https://www.daangn.com/kr/api/v1/regions/keyword?keyword=<지역명> - 검색:
https://www.daangn.com/kr/cars/?in=<지역명>-&onlyOnSale=1&_data=routes/kr.cars._index - 상세:
<차량 URL>?_data=routes%2Fkr.cars.%24car_post_id
로컬 실행
npx -y @nomadamas/k-skill@0 exec daangn-cars-search scripts/daangn_cars.py -- search "레이" --region "합정동" --limit 5
npx -y @nomadamas/k-skill@0 exec daangn-cars-search scripts/daangn_cars.py -- search --region "합정동" --price-max 10000000 --limit 5
npx -y @nomadamas/k-skill@0 exec daangn-cars-search scripts/daangn_cars.py -- detail "https://www.daangn.com/kr/cars/.../"지역 필터
지역명은 당근 region API로 내부 id를 해석한 뒤 in=<지역명>- 형태로 검색 URL에 넣습니다.
합정동 → 서울특별시 마포구 합정동, id=231 → in=합정동-231출력 해석
검색 결과는 title, price, price_text, region, status, driveDistance, carData, chatRoomCount, url을 우선 확인합니다. 차량 연식, 주행거리, 사고/정비 이력처럼 원문 의존도가 높은 정보는 상세 조회의 carPost 원문을 함께 확인합니다.
제한사항
- 공개 Remix
_dataroute 이름이나 JSON shape가 바뀌면 실패할 수 있습니다. - 문의, 시승 예약, 구매, 결제, 채팅 자동화는 실행하지 않습니다.
- 가격·판매 상태는 실시간으로 바뀔 수 있어 원문 URL을 함께 제시합니다.
File: docs/features/daangn-jobs-search.md
당근알바 검색 가이드 (`daangn-jobs-search`)
당근알바 공개 웹 데이터 표면을 사용해 키워드·지역 기반 알바 공고를 검색하고, 개별 공고 상세를 읽기 전용으로 확인하는 스킬입니다.
사용 시나리오
- "당근알바 합정동 카페 알바 찾아봐"
- "홍대 근처 주말 알바 검색해줘"
- "이 당근알바 공고 상세 요약해줘"
구현 표면
브라우저 자동화, 로그인, 채팅, 지원, 문의 자동화를 사용하지 않습니다.
- 지역 해석:
https://www.daangn.com/kr/api/v1/regions/keyword?keyword=<지역명> - 검색:
https://www.daangn.com/kr/jobs/?in=<지역명>-&search=<키워드>&_data=routes/kr.jobs._index - 상세:
<공고 URL>→jobs.daangn.com/job-posts/공개 HTML의 title/meta/JSON-LD(헬퍼는 legacy_data를 먼저 시도 후 빈 응답이면 HTML 메타로 fallback)
로컬 실행
npx -y @nomadamas/k-skill@0 exec daangn-jobs-search scripts/daangn_jobs.py -- search "카페" --region "합정동" --limit 5
npx -y @nomadamas/k-skill@0 exec daangn-jobs-search scripts/daangn_jobs.py -- detail "https://www.daangn.com/kr/jobs/.../"지역 필터
지역명은 당근 region API로 내부 id를 해석한 뒤 in=<지역명>- 형태로 검색 URL에 넣습니다.
합정동 → 서울특별시 마포구 합정동, id=231 → in=합정동-231출력 해석
검색 결과는 title, company, region, address, salary, salaryType, workDays, workTimeStart, workTimeEnd, closed, url을 우선 확인합니다. 상세 조회는 가능하면 jobPost 원문을 사용하고, 공개 _data가 빈 응답이면 HTML title/meta/JSON-LD를 근거로 정리합니다.
제한사항
- 공개 Remix
_dataroute 이름이나 JSON shape가 바뀌면 실패할 수 있습니다. - 마감·삭제·비공개 전환된 공고는 상세 조회가 실패할 수 있습니다.
- 지원, 채팅, 문의, 개인정보 제출 자동화는 범위 밖입니다.
File: docs/features/daangn-realty-search.md
당근부동산 검색 가이드 (`daangn-realty-search`)
당근부동산 공개 웹 데이터 표면을 사용해 지역 기반 부동산 매물 후보를 검색하고, 상세 페이지의 공개 메타를 읽기 전용으로 확인하는 스킬입니다.
사용 시나리오
- "당근부동산 합정동 월세 매물 찾아봐"
- "마포구 전세 후보 당근에서 봐줘"
- "이 당근부동산 URL 상세 요약해줘"
구현 표면
브라우저 자동화, 로그인, 채팅, 문의, 예약, 계약 자동화를 사용하지 않습니다.
- 지역 해석:
https://www.daangn.com/kr/api/v1/regions/keyword?keyword=<지역명> - 검색:
https://realty.daangn.com/map/{name1}/{name2}/{name3}의 SSRwindow.RELAY_STORE - 상세:
https://realty.daangn.com/articles/의application/ld+json및<title>
구버전 https://www.daangn.com/kr/realty/?_data=routes/kr.realty._index 표면은 2026-06 기준 HTTP 204 빈 응답으로 폐기되어 사용하지 않습니다.
로컬 실행
npx -y @nomadamas/k-skill@0 exec daangn-realty-search scripts/daangn_realty.py -- search --region "합정동" --limit 5
npx -y @nomadamas/k-skill@0 exec daangn-realty-search scripts/daangn_realty.py -- search --region "합정동" --sales-type "STORE,OFFICETEL" --trade-type "MONTH"
npx -y @nomadamas/k-skill@0 exec daangn-realty-search scripts/daangn_realty.py -- detail "https://realty.daangn.com/articles/..."지역 필터
지역명은 당근 region API로 name1/name2/name3를 해석한 뒤 지도 URL 경로에 넣습니다.
합정동 → 서울특별시 마포구 합정동 → /map/서울특별시/마포구/합정동출력 해석
검색 결과는 salesType, area_sqm, area_pyeong, trades, url, 상세 보강 시 title, address, floor_label을 우선 확인합니다. 부동산 판단에는 실시간 상태, 보증금/월세, 관리비, 면적, 중개/직거래 여부가 중요하므로 원본 URL을 함께 제시합니다.
제한사항
- 당근부동산 목록 JSON과
realty.daangn.com상세 HTML 구조 변경에 영향을 받습니다. - 문의, 방문 예약, 계약, 결제, 채팅은 실행하지 않습니다.
- 공고 내용은 실시간 상태와 달라질 수 있어 최종 판단 전 원문 확인이 필요합니다.