@nomadamas/k-skill 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/package.json +1 -1
  2. package/skills/bok-ecos-stats/instruction.md +1 -1
  3. package/skills/bunjang-search/references/DISCLAIMER.md +23 -0
  4. package/skills/corporate-registration-consulting/instruction.md +9 -0
  5. package/skills/coupang-product-search/references/DISCLAIMER.md +23 -0
  6. package/skills/daangn-cars-search/references/DISCLAIMER.md +23 -0
  7. package/skills/daangn-jobs-search/references/DISCLAIMER.md +23 -0
  8. package/skills/daangn-realty-search/references/DISCLAIMER.md +23 -0
  9. package/skills/daangn-used-goods-search/references/DISCLAIMER.md +23 -0
  10. package/skills/daishin-report-search/references/DISCLAIMER.md +23 -0
  11. package/skills/daiso-product-search/references/DISCLAIMER.md +23 -0
  12. package/skills/danawa-price-search/references/DISCLAIMER.md +23 -0
  13. package/skills/delivery-tracking/references/DISCLAIMER.md +23 -0
  14. package/skills/express-bus-booking/references/DISCLAIMER.md +23 -0
  15. package/skills/fine-dust-location/skill.json +1 -7
  16. package/skills/flight-ticket-search/references/DISCLAIMER.md +23 -0
  17. package/skills/foresttrip-vacancy/references/DISCLAIMER.md +23 -0
  18. package/skills/intercity-bus-booking/references/DISCLAIMER.md +23 -0
  19. package/skills/iros-registry-automation/instruction.md +7 -0
  20. package/skills/job-posting-match/references/DISCLAIMER.md +23 -0
  21. package/skills/jobkorea-talent-search/references/DISCLAIMER.md +23 -0
  22. package/skills/k-skill-setup/skill.json +1 -7
  23. package/skills/kakao-bar-nearby/references/DISCLAIMER.md +15 -0
  24. package/skills/kakao-map/references/DISCLAIMER.md +15 -0
  25. package/skills/kakaotalk-mac/references/DISCLAIMER.md +15 -0
  26. package/skills/kbl-results/references/DISCLAIMER.md +13 -0
  27. package/skills/kbo-results/references/DISCLAIMER.md +13 -0
  28. package/skills/keris-academic-search/references/DISCLAIMER.md +13 -0
  29. package/skills/keris-academic-search/references/TRADEMARK-LEGAL-STATEMENT.md +7 -0
  30. package/skills/kleague-results/references/DISCLAIMER.md +13 -0
  31. package/skills/kopis-performance-search/references/DISCLAIMER.md +13 -0
  32. package/skills/kopis-performance-search/references/TRADEMARK-LEGAL-STATEMENT.md +7 -0
  33. package/skills/kopis-performance-search/skill.json +3 -4
  34. package/skills/korean-cinema-search/references/DISCLAIMER.md +13 -0
  35. package/skills/korean-jangbu-for/instruction.md +9 -0
  36. package/skills/korean-stock-search/references/DISCLAIMER.md +14 -0
  37. package/skills/korean-stock-search/references/TRADEMARK-LEGAL-STATEMENT.md +7 -0
  38. package/skills/korean-transit-route/references/DISCLAIMER.md +13 -0
  39. package/skills/ktx-booking/references/DISCLAIMER.md +14 -0
  40. package/skills/ktx-booking/skill.json +1 -15
  41. package/skills/lck-analytics/references/DISCLAIMER.md +13 -0
  42. package/skills/lotto-results/references/DISCLAIMER.md +13 -0
  43. package/skills/market-kurly-search/references/DISCLAIMER.md +13 -0
  44. package/skills/mfds-drug-safety/instruction.md +2 -0
  45. package/skills/myrealtrip-search/instruction.md +3 -1
  46. package/skills/myrealtrip-search/references/DISCLAIMER.md +13 -0
  47. package/skills/myrealtrip-search/scripts/myrealtrip_mcp.py +30 -8
  48. package/skills/myrealtrip-search/scripts/test_myrealtrip_mcp.py +62 -0
  49. package/skills/naming-house/instruction.md +5 -2
  50. package/skills/naver-ad-performance/references/DISCLAIMER.md +13 -0
  51. package/skills/naver-blog-research/references/DISCLAIMER.md +13 -0
  52. package/skills/naver-news-search/references/DISCLAIMER.md +13 -0
  53. package/skills/naver-shopping-search/references/DISCLAIMER.md +13 -0
  54. package/skills/nhis-care-checkup-search/instruction.md +2 -0
  55. package/skills/ohou-today-deal/references/DISCLAIMER.md +13 -0
  56. package/skills/olive-young-search/references/DISCLAIMER.md +13 -0
  57. package/skills/popbill/references/DISCLAIMER.md +13 -0
  58. package/skills/saramin-talent-search/references/DISCLAIMER.md +13 -0
  59. package/skills/srt-booking/references/DISCLAIMER.md +13 -0
  60. package/skills/srt-booking/skill.json +1 -11
  61. package/skills/store-longevity-radar/scripts/__pycache__/store_longevity_download.cpython-312.pyc +0 -0
  62. package/skills/ticket-availability/references/DISCLAIMER.md +13 -0
  63. package/skills/{toss-securities → toss-investment}/instruction.md +1 -1
  64. package/skills/toss-investment/references/DISCLAIMER.md +14 -0
  65. package/skills/{toss-securities → toss-investment}/references/TRADEMARK-LEGAL-STATEMENT.md +1 -1
  66. package/skills/{toss-securities → toss-investment}/skill.json +2 -2
  67. package/skills/local-election-candidate-search/instruction.md +0 -77
  68. package/skills/local-election-candidate-search/skill.json +0 -8
  69. package/skills/lovebug-report/instruction.md +0 -185
  70. package/skills/lovebug-report/skill.json +0 -9
  71. package/skills/yebigun-training/instruction.md +0 -177
  72. package/skills/yebigun-training/skill.json +0 -10
@@ -0,0 +1,13 @@
1
+ # DISCLAIMER — `ohou-today-deal`
2
+
3
+ 이 스킬은 오늘의집 또는 판매자의 공식 기능 또는 공식 지원 도구가 아니며, 공식 제휴·후원·승인·인증 또는 협업한 사실이 전혀 없습니다. 상표와 서비스명은 상품·특가 조회 기능과 대상을 설명하기 위해서만 사용합니다.
4
+
5
+ 대법원 2005. 6. 10. 선고 [2005도1637 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=83920)(소니용 리모컨 사건)은 기능 설명용 표장과 출처표시를 구별했습니다. [상표법 제2조](https://www.law.go.kr/법령/상표법/제2조), [제89조](https://www.law.go.kr/법령/상표법/제89조), [제90조](https://www.law.go.kr/법령/상표법/제90조), [제108조](https://www.law.go.kr/법령/상표법/제108조)에 따른 출처 혼동 판단은 별도입니다.
6
+
7
+ 대법원 2022. 5. 12. 선고 [2021도1533 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=221765)은 공개정보 수집만으로 곧바로 [정보통신망법 제48조](https://www.law.go.kr/법령/정보통신망이용촉진및정보보호등에관한법률/제48조) 위반이 되는 것은 아닌 사정을 제시했지만, [저작권법 제93조](https://www.law.go.kr/법령/저작권법/제93조)의 상품·리뷰 DB 권리와 [형법 제314조 제2항](https://www.law.go.kr/법령/형법/제314조)은 별도입니다.
8
+
9
+ - 공개 상품정보 자동 수집은 반드시 개인의 정보 조회용으로만 사용합니다.
10
+ - 조직적·대량 크롤링, 상품·리뷰 DB 구축·재판매, 이미지·상세설명 원본 재배포를 하지 않습니다.
11
+ - bot control·접근통제·차단·rate limit을 우회하거나 정상 영업을 방해하지 않습니다.
12
+
13
+ 이 문서는 적법성을 보증하는 법률 자문이 아닙니다.
@@ -0,0 +1,13 @@
1
+ # DISCLAIMER — `olive-young-search`
2
+
3
+ 이 스킬은 CJ올리브영·올리브영 또는 판매자의 공식 기능 또는 공식 지원 도구가 아니며, 공식 제휴·후원·승인·인증 또는 협업한 사실이 전혀 없습니다. 상표와 서비스명은 매장·상품·재고 조회 기능과 대상을 설명하기 위해서만 사용합니다.
4
+
5
+ 대법원 2005. 6. 10. 선고 [2005도1637 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=83920)(소니용 리모컨 사건)은 기능 설명용 표장과 출처표시를 구별했습니다. [상표법 제2조](https://www.law.go.kr/법령/상표법/제2조), [제89조](https://www.law.go.kr/법령/상표법/제89조), [제90조](https://www.law.go.kr/법령/상표법/제90조), [제108조](https://www.law.go.kr/법령/상표법/제108조)에 따른 출처 혼동 판단은 별도입니다.
6
+
7
+ 대법원 2022. 5. 12. 선고 [2021도1533 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=221765)은 공개정보 수집만으로 곧바로 [정보통신망법 제48조](https://www.law.go.kr/법령/정보통신망이용촉진및정보보호등에관한법률/제48조) 위반이 되는 것은 아닌 사정을 제시했지만, [저작권법 제93조](https://www.law.go.kr/법령/저작권법/제93조)의 상품 DB 권리와 [형법 제314조 제2항](https://www.law.go.kr/법령/형법/제314조)은 별도입니다.
8
+
9
+ - 공개 상품·재고정보 자동 수집은 반드시 개인의 정보 조회용으로만 사용합니다.
10
+ - 조직적·대량 크롤링, 상품 DB 구축·재판매, 이미지·상세설명 원본 재배포를 하지 않습니다.
11
+ - 접근통제·CAPTCHA·차단·rate limit을 우회하거나 정상 영업을 방해하지 않습니다.
12
+
13
+ 이 문서는 적법성을 보증하는 법률 자문이 아닙니다.
@@ -0,0 +1,13 @@
1
+ # DISCLAIMER — `popbill`
2
+
3
+ 이 스킬은 팝빌 또는 관련 사업자의 공식 기능 또는 공식 지원 도구가 아니며, 공식 제휴·후원·승인·인증 또는 협업한 사실이 전혀 없습니다. 상표와 서비스명은 API 호환 기능과 대상을 설명하기 위해서만 사용합니다.
4
+
5
+ 대법원 2005. 6. 10. 선고 [2005도1637 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=83920)(소니용 리모컨 사건)은 기능 설명용 표장과 출처표시를 구별했습니다. [상표법 제2조](https://www.law.go.kr/법령/상표법/제2조), [제89조](https://www.law.go.kr/법령/상표법/제89조), [제90조](https://www.law.go.kr/법령/상표법/제90조), [제108조](https://www.law.go.kr/법령/상표법/제108조)에 따른 출처 혼동 판단은 별도입니다.
6
+
7
+ 대법원 2022. 5. 12. 선고 [2021도1533 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=221765)은 공개정보 접근에 관한 판단이며, 인증된 세금·계좌·메시지 데이터에 대한 권한을 부여하지 않습니다. 공개되어 누구나 얻을 수 있는 정보의 기계적 수집만으로 곧바로 [정보통신망법 제48조](https://www.law.go.kr/법령/정보통신망이용촉진및정보보호등에관한법률/제48조) 위반이 되는 것은 아니지만, API 계약·개인정보·[저작권법 제93조](https://www.law.go.kr/법령/저작권법/제93조)·[형법 제314조 제2항](https://www.law.go.kr/법령/형법/제314조)은 별도입니다.
8
+
9
+ - 공개정보 자동 수집 부분은 개인의 정보 조회용으로만 사용합니다. 비공개 사업 데이터는 본인 또는 정당한 권한을 받은 조직의 계정 범위에서만 처리합니다.
10
+ - 조직적 크롤링이나 세금문서·식별자·수신자 데이터의 별도 DB 구축·외부 공유를 하지 않습니다.
11
+ - 인증·quota·접근통제·차단을 우회하거나 서비스 장애·영업 방해를 일으키지 않습니다.
12
+
13
+ 이 문서는 적법성을 보증하는 법률 자문이 아닙니다.
@@ -0,0 +1,13 @@
1
+ # DISCLAIMER — `saramin-talent-search`
2
+
3
+ 이 스킬은 사람인 또는 채용서비스 운영사의 공식 기능 또는 공식 지원 도구가 아니며, 공식 제휴·후원·승인·인증 또는 협업한 사실이 전혀 없습니다. 상표와 서비스명은 인재 검색 기능과 호환 대상을 설명하기 위해서만 사용합니다.
4
+
5
+ 대법원 2005. 6. 10. 선고 [2005도1637 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=83920)(소니용 리모컨 사건)은 기능 설명용 표장과 출처표시를 구별했습니다. [상표법 제2조](https://www.law.go.kr/법령/상표법/제2조), [제89조](https://www.law.go.kr/법령/상표법/제89조), [제90조](https://www.law.go.kr/법령/상표법/제90조), [제108조](https://www.law.go.kr/법령/상표법/제108조)에 따른 출처 혼동 판단은 별도입니다.
6
+
7
+ 대법원 2022. 5. 12. 선고 [2021도1533 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=221765)은 공개정보 접근에 관한 판단이며, 인증된 후보자·이력서 개인정보에 대한 권한을 부여하지 않습니다. 공개되어 누구나 얻을 수 있는 정보의 기계적 수집만으로 곧바로 [정보통신망법 제48조](https://www.law.go.kr/법령/정보통신망이용촉진및정보보호등에관한법률/제48조) 위반이 되는 것은 아니지만, 개인정보·API 계약·[저작권법 제93조](https://www.law.go.kr/법령/저작권법/제93조)·[형법 제314조 제2항](https://www.law.go.kr/법령/형법/제314조)은 별도입니다.
8
+
9
+ - 공개정보 자동 수집 부분은 개인의 정보 조회용으로만 사용합니다. 후보자 데이터는 정당한 기업회원 권한과 채용 목적 범위에서만 일시 처리합니다.
10
+ - 조직적 크롤링, 후보자 DB 구축·외부 공유, 자동 지원·연락을 하지 않습니다.
11
+ - 인증·접근통제·차단·rate limit을 우회하거나 서비스 장애·영업 방해를 일으키지 않습니다.
12
+
13
+ 이 문서는 적법성을 보증하는 법률 자문이 아닙니다.
@@ -0,0 +1,13 @@
1
+ # DISCLAIMER — `srt-booking`
2
+
3
+ 이 스킬은 에스알·SRT 또는 철도 운영사의 공식 기능 또는 공식 지원 도구가 아니며, 공식 제휴·후원·승인·인증 또는 협업한 사실이 전혀 없습니다. 상표와 서비스명은 열차·좌석 조회 기능과 대상을 설명하기 위해서만 사용합니다.
4
+
5
+ 대법원 2005. 6. 10. 선고 [2005도1637 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=83920)(소니용 리모컨 사건)은 기능 설명용 표장과 출처표시를 구별했습니다. [상표법 제2조](https://www.law.go.kr/법령/상표법/제2조), [제89조](https://www.law.go.kr/법령/상표법/제89조), [제90조](https://www.law.go.kr/법령/상표법/제90조), [제108조](https://www.law.go.kr/법령/상표법/제108조)에 따른 출처 혼동 판단은 별도입니다.
6
+
7
+ 대법원 2022. 5. 12. 선고 [2021도1533 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=221765)은 공개정보 수집만으로 곧바로 [정보통신망법 제48조](https://www.law.go.kr/법령/정보통신망이용촉진및정보보호등에관한법률/제48조) 위반이 되는 것은 아닌 사정을 제시했지만, 철도 예매 자동화·접근통제 우회·반복 선점을 허용하지 않습니다. [저작권법 제93조](https://www.law.go.kr/법령/저작권법/제93조)과 [형법 제314조 제2항](https://www.law.go.kr/법령/형법/제314조)은 별도입니다.
8
+
9
+ - 공개 운행·좌석정보 자동 수집은 반드시 개인의 정보 조회용으로만 사용합니다.
10
+ - 매진 감시, 조직적·대량 크롤링, 반복 선점·예약·취소, 공격적 polling을 하지 않습니다.
11
+ - CAPTCHA·anti-bot·로그인·접근통제·rate limit·IP 차단을 우회하거나 정상 예매 영업을 방해하지 않습니다.
12
+
13
+ 이 문서는 적법성을 보증하는 법률 자문이 아닙니다.
@@ -4,15 +4,5 @@
4
4
  "profiles": [
5
5
  "lookup"
6
6
  ],
7
- "frontmatter": "name: srt-booking\ndescription: Read-only live SRT timetable and seat-availability lookup through the SRTrain search path. No login, reservation, payment, cancellation, exact seat selection, or automated monitoring.\nlicense: MIT\nmetadata:\n category: travel\n locale: ko-KR\n phase: v1",
8
- "bundle": [
9
- {
10
- "from": "scripts/srt_booking.py",
11
- "to": "scripts/srt_booking.py"
12
- },
13
- {
14
- "from": "scripts/srt_booking.py.lock",
15
- "to": "scripts/srt_booking.py.lock"
16
- }
17
- ]
7
+ "frontmatter": "name: srt-booking\ndescription: Read-only live SRT timetable and seat-availability lookup through the SRTrain search path. No login, reservation, payment, cancellation, exact seat selection, or automated monitoring.\nlicense: MIT\nmetadata:\n category: travel\n locale: ko-KR\n phase: v1"
18
8
  }
@@ -0,0 +1,13 @@
1
+ # DISCLAIMER — `ticket-availability`
2
+
3
+ 이 스킬은 YES24·인터파크·공연기획사·예매처의 공식 기능 또는 공식 지원 도구가 아니며, 공식 제휴·후원·승인·인증 또는 협업한 사실이 전혀 없습니다. 상표와 서비스명은 공연·좌석 조회 기능과 대상을 설명하기 위해서만 사용합니다.
4
+
5
+ 대법원 2005. 6. 10. 선고 [2005도1637 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=83920)(소니용 리모컨 사건)은 기능 설명용 표장과 출처표시를 구별했습니다. [상표법 제2조](https://www.law.go.kr/법령/상표법/제2조), [제89조](https://www.law.go.kr/법령/상표법/제89조), [제90조](https://www.law.go.kr/법령/상표법/제90조), [제108조](https://www.law.go.kr/법령/상표법/제108조)에 따른 출처 혼동 판단은 별도입니다.
6
+
7
+ 대법원 2022. 5. 12. 선고 [2021도1533 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=221765)은 공개정보 수집만으로 곧바로 [정보통신망법 제48조](https://www.law.go.kr/법령/정보통신망이용촉진및정보보호등에관한법률/제48조) 위반이 되는 것은 아닌 사정을 제시했지만, 좌석 선점·구매 자동화나 차단 우회를 허용하지 않습니다. [저작권법 제93조](https://www.law.go.kr/법령/저작권법/제93조)과 [형법 제314조 제2항](https://www.law.go.kr/법령/형법/제314조)은 별도입니다.
8
+
9
+ - 공개 일정·잔여석 자동 수집은 반드시 개인의 정보 조회용으로만 사용합니다.
10
+ - 조직적·대량 크롤링, 지속 감시, 별도 DB 구축, 반복 선점·자동 구매를 하지 않습니다.
11
+ - CAPTCHA·anti-bot·접근통제·차단·rate limit을 우회하거나 예매처의 정상 영업을 방해하지 않습니다.
12
+
13
+ 이 문서는 적법성을 보증하는 법률 자문이 아닙니다.
@@ -42,7 +42,7 @@ const {
42
42
  getPrices,
43
43
  listOfficialAccounts,
44
44
  getHoldings
45
- } = require("toss-securities");
45
+ } = require("toss-investment");
46
46
 
47
47
  async function main() {
48
48
  const prices = await getPrices(["005930", "AAPL"]);
@@ -0,0 +1,14 @@
1
+ # DISCLAIMER — `toss-investment`
2
+
3
+ 이 스킬은 토스증권 또는 금융기관의 공식 기능 또는 공식 지원 도구가 아니며, 공식 제휴·후원·승인·인증 또는 협업한 사실이 전혀 없습니다. 상표와 서비스명은 공식 API 호환 기능과 조회 대상을 설명하기 위해서만 사용합니다.
4
+
5
+ 대법원 2005. 6. 10. 선고 [2005도1637 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=83920)(소니용 리모컨 사건)은 기능 설명용 표장과 출처표시를 구별했습니다. [상표법 제2조](https://www.law.go.kr/법령/상표법/제2조), [제89조](https://www.law.go.kr/법령/상표법/제89조), [제90조](https://www.law.go.kr/법령/상표법/제90조), [제108조](https://www.law.go.kr/법령/상표법/제108조)에 따른 출처 혼동 판단은 별도입니다.
6
+
7
+ 대법원 2022. 5. 12. 선고 [2021도1533 판결](https://www.law.go.kr/LSW/precInfoP.do?precSeq=221765)은 공개정보 접근에 관한 판단이며, 인증된 계좌·보유자산 데이터에 대한 권한을 부여하지 않습니다. 공개되어 누구나 얻을 수 있는 정보의 기계적 수집만으로 곧바로 [정보통신망법 제48조](https://www.law.go.kr/법령/정보통신망이용촉진및정보보호등에관한법률/제48조) 위반이 되는 것은 아니지만, 금융정보·API 계약·[저작권법 제93조](https://www.law.go.kr/법령/저작권법/제93조)·[형법 제314조 제2항](https://www.law.go.kr/법령/형법/제314조)은 별도입니다.
8
+
9
+ - 공개 시세정보 자동 수집 부분은 개인의 정보 조회용으로만 사용합니다. 계좌 데이터는 본인의 정당한 OAuth 권한 범위에서만 조회합니다.
10
+ - 조직적·대량 크롤링, 계좌·보유자산 DB 구축·외부 공유를 하지 않습니다.
11
+ - 인증·quota·접근통제·차단을 우회하거나 서비스 장애·영업 방해를 일으키지 않습니다.
12
+ - 결과는 투자 권유·자문이나 수익 보장이 아닙니다.
13
+
14
+ 이 문서는 적법성을 보증하는 법률 자문이 아닙니다.
@@ -1,4 +1,4 @@
1
- # 상표 사용 법적 고지 — `toss-securities`
1
+ # 상표 사용 법적 고지 — `toss-investment`
2
2
 
3
3
  이 스킬에서 `토스증권` 및 `Toss Securities` 명칭은 계좌·보유주식·시세·주문 조회의 **대상 증권 서비스**를 식별하기 위해 사용한다. k-skill의 출처를 토스증권으로 표시하려는 사용이 아니다.
4
4
 
@@ -1,9 +1,9 @@
1
1
  {
2
- "name": "toss-securities",
2
+ "name": "toss-investment",
3
3
  "description": "토스증권 공식 Open API(OAuth2)로 계좌, 보유주식, 시세/종목/시장정보, 주문조회를 안전한 read-only 흐름으로 조회한다. 공식 credentials가 없거나 공식 API가 지원하지 않는 기능은 비공식 경로로 우회하지 않는다.",
4
4
  "profiles": [
5
5
  "vault",
6
6
  "action:account"
7
7
  ],
8
- "frontmatter": "name: toss-securities\ndescription: 토스증권 공식 Open API(OAuth2)로 계좌, 보유주식, 시세/종목/시장정보, 주문조회를 안전한 read-only 흐름으로 조회한다. 공식 credentials가 없거나 공식 API가 지원하지 않는 기능은 비공식 경로로 우회하지 않는다.\nlicense: MIT\nmetadata:\n category: finance\n locale: ko-KR\n phase: v1"
8
+ "frontmatter": "name: toss-investment\ndescription: 토스증권 공식 Open API(OAuth2)로 계좌, 보유주식, 시세/종목/시장정보, 주문조회를 안전한 read-only 흐름으로 조회한다. 공식 credentials가 없거나 공식 API가 지원하지 않는 기능은 비공식 경로로 우회하지 않는다.\nlicense: MIT\nmetadata:\n category: finance\n locale: ko-KR\n phase: v1"
9
9
  }
@@ -1,77 +0,0 @@
1
- # Local Election Candidate Search
2
-
3
- ## What this skill does
4
-
5
- 중앙선거관리위원회(NEC) 선거통계시스템의 공개 통합검색에서 후보자 이름을 조회하고, 지방선거 관련 후보자 이력만 기본으로 정리한다. 후보자명, 한자명, 생년월일/성별, 선거일, 선거명, 선거종류, 정당, 선거구, 득표, 직업, 학력, 경력 등을 반환한다.
6
-
7
- ## When to use
8
-
9
- - 사용자가 “지방선거 후보”, “시도지사 후보”, “기초의원 후보”, “교육감 후보” 등을 이름/지역/선거일 기준으로 찾아 달라고 할 때
10
- - 중앙선관위 선거통계시스템에서 공개된 후보자 이력을 확인해야 할 때
11
- - 동명이인이 있을 수 있어 후보자명 + 선거종류/지역/연도 필터가 필요한 때
12
-
13
- ## Public access path
14
-
15
- Chosen path: NEC integrated candidate search.
16
-
17
- - Entry page: `https://info.nec.go.kr/search/searchCandidate.xhtml`
18
- - Method: unauthenticated public `POST`
19
- - Required form field: `searchKeyword=<정확한 후보자 성명>`
20
- - Helper package: `local-election-candidate-search`
21
-
22
- Why this path: the visible NEC UI explicitly exposes candidate-name integrated search across recent and historical elections, and it returns the candidate result cards in server-rendered HTML. It is more stable than scraping per-election menu pages because it does not require selecting every city/town/constituency combo first.
23
-
24
- ## Workflow
25
-
26
- 1. Use the package CLI from this repository or installed workspace:
27
-
28
- ```bash
29
- npx local-election-candidate-search 오세훈 --election 시도지사 --region 서울 --limit 5
30
- ```
31
-
32
- 2. Narrow ambiguous/homonym results:
33
-
34
- ```bash
35
- npx local-election-candidate-search 김동연 --date 2014 --election 기초의원 --region 동작
36
- ```
37
-
38
- 3. Include non-local races only when the user asks for all NEC integrated-search matches:
39
-
40
- ```bash
41
- npx local-election-candidate-search 이재명 --all --limit 20
42
- ```
43
-
44
- ## Inputs
45
-
46
- - Candidate name: exact Korean name; required.
47
- - `--election`: one of `시도지사`, `기초단체장`, `광역의원`, `기초의원`, `광역비례`, `기초비례`, `교육감`.
48
- - `--date` / `--year`: `YYYY`, `YYYYMMDD`, or `YYYY.MM.DD`.
49
- - `--region`: free text filter against parsed district/region text.
50
- - `--limit`: max rows, capped at 100.
51
- - `--all`: include non-local election results.
52
-
53
- ## Outputs
54
-
55
- Return concise JSON. Each `items[]` row may include:
56
-
57
- - `name`, `hanja`, `birth_date`, `gender`
58
- - `election_date`, `election_name`, `election_code`, `election_type`
59
- - `party`, `district`, `votes`, `vote_share`, `elected`
60
- - `job`, `education`, `career[]`
61
- - upstream code fields such as `city_code`, `sgg_city_code`, `town_code`
62
-
63
- `summary.upstream_result_limit` shows the NEC row count requested before local client-side filters. Filtered searches request up to 100 upstream rows first, then apply exact-name matching, local/election/date/region filters, deduplication, and the final `--limit`.
64
-
65
- ## Failure modes
66
-
67
- - `no candidate results`: NEC returned no matching card or filters removed all matches.
68
- - `unexpected NEC search HTML`: upstream may be in maintenance, NetFunnel queue, login/blocked state, or markup changed.
69
- - `NEC search page was capped`: filtered results are based on the maximum fetched page and may require upstream pagination for exhaustive coverage.
70
- - Homonyms: the same name can appear across many elections; always show election date/type/district and apply user-provided filters.
71
- - Future elections: candidate registration data may be incomplete until NEC publishes it.
72
-
73
- ## Done when
74
-
75
- - Results are sourced from `info.nec.go.kr` public HTML.
76
- - Local-election filtering is applied unless the user requested `--all`.
77
- - Any warnings/failure modes are shown instead of silently claiming no results.
@@ -1,8 +0,0 @@
1
- {
2
- "name": "local-election-candidate-search",
3
- "description": "중앙선거관리위원회 선거통계시스템 공개 통합검색으로 한국 지방선거 후보자 정보를 이름/선거종류/지역 기준으로 조회한다.",
4
- "profiles": [
5
- "lookup"
6
- ],
7
- "frontmatter": "name: local-election-candidate-search\ndescription: 중앙선거관리위원회 선거통계시스템 공개 통합검색으로 한국 지방선거 후보자 정보를 이름/선거종류/지역 기준으로 조회한다.\nlicense: MIT\nmetadata:\n category: civic\n locale: ko-KR\n phase: v1"
8
- }
@@ -1,185 +0,0 @@
1
- # Lovebug Report
2
-
3
- ## What this skill does
4
-
5
- `러브버그.com`(`https://xn--2i0bt2q2wd1wb.com/`)의 공개 지도/제보 표면을 이용해 러브버그(붉은등우단털파리) 관련 지역 정보를 취득하고, 사용자가 제공한 현재 위치 좌표로 익명 제보를 제출한다.
6
-
7
- - 수도권 시·구별 러브버그 스코어와 최근 제보량을 조회한다.
8
- - 동/읍/면 단위 area snapshot을 함께 조회해 어느 동네 제보인지 좁힌다.
9
- - 사이트가 쓰는 익명 Supabase RPC 표면으로 제보를 보낸다.
10
- - 좌표가 선택한 구 밖이거나 정확도가 낮거나 오늘 이미 같은 익명 기기에서 제보한 경우 upstream 거절을 그대로 알린다.
11
-
12
- ## When to use
13
-
14
- - "우리 동네 러브버그 많아?"
15
- - "중랑구 러브버그 현황 알려줘"
16
- - "러브버그 지도에서 동안구 제보량 확인해줘"
17
- - "현재 위치로 러브버그 많다고 제보해줘"
18
-
19
- ## Prerequisites
20
-
21
- - 인터넷 연결
22
- - Node.js 18+
23
- - 이 저장소의 `lovebug-report` npm package 또는 동일 로직
24
- - 제보 제출 시: 사용자가 제공한 현재 좌표(`lng`, `lat`), GPS 정확도, 구 코드(`gu_code`), 안정적인 익명 device hash
25
-
26
- ## Public access path discovered
27
-
28
- ### Primary source: lovebug.com public map JSON
29
-
30
- - site: `https://xn--2i0bt2q2wd1wb.com/`
31
- - gu score: `GET https://xn--2i0bt2q2wd1wb.com/api/map/gu-score`
32
- - weekly report count: `GET https://xn--2i0bt2q2wd1wb.com/api/map/weekly-report-count`
33
- - cluster snapshot: `GET https://xn--2i0bt2q2wd1wb.com/api/map/clusters?level=sigungu&historicalYear=2026`
34
- - area snapshot: `GET https://xn--2i0bt2q2wd1wb.com/api/map/areas?historicalYear=2026&includePolygon=false`
35
- - boundary GeoJSON: `GET https://xn--2i0bt2q2wd1wb.com/api/map/boundaries?level=sigungu`
36
-
37
- Discovery result: the Next.js page loads these unauthenticated JSON endpoints directly. A live smoke on 2026-06-24 returned current `gu-score`, `weekly-report-count`, `clusters`, `areas`, and `boundaries` JSON.
38
-
39
- No `k-skill-proxy` route is used because these upstream surfaces are public and do not require an API key.
40
-
41
- ### Anonymous report surface
42
-
43
- The site bundle calls Supabase RPC `submit_anonymous_report` for logged-out reporting:
44
-
45
- ```http
46
- POST https://sewrbxfawkmusnyzjoab.supabase.co/rest/v1/rpc/submit_anonymous_report
47
- Content-Type: application/json
48
- apikey: <site anon key>
49
- Authorization: Bearer <site anon key>
50
- ```
51
-
52
- Body:
53
-
54
- ```json
55
- {
56
- "p_gu_code": "11070",
57
- "p_lng": 127.09,
58
- "p_lat": 37.59,
59
- "p_accuracy_m": 25,
60
- "p_level": 2,
61
- "p_device_hash": "stable-anonymous-device-id",
62
- "p_context": "street",
63
- "p_image_url": null,
64
- "p_indoor": false
65
- }
66
- ```
67
-
68
- Official level labels:
69
-
70
- | `p_level` | Label |
71
- | --- | --- |
72
- | `0` | 잠잠해요 |
73
- | `1` | 살짝 보임 |
74
- | `2` | 많아요 |
75
- | `3` | 매우 많아요 |
76
-
77
- Official context labels:
78
-
79
- | `p_context` | Label |
80
- | --- | --- |
81
- | `indoor` | 실내 |
82
- | `street` | 길거리 |
83
- | `park` | 공원 |
84
- | `transit` | 지하철·버스 |
85
- | `shop` | 상가 |
86
- | `other` | 기타 |
87
-
88
- ## Workflow
89
-
90
- ### 1. Resolve the region
91
-
92
- Use `searchLovebugRegions` first. It combines gu score and area snapshot rows.
93
-
94
- ```js
95
- const { searchLovebugRegions } = require("lovebug-report")
96
-
97
- const result = await searchLovebugRegions({
98
- query: "중랑",
99
- includeAreas: true,
100
- limit: 5
101
- })
102
-
103
- console.log(result.items)
104
- ```
105
-
106
- CLI:
107
-
108
- ```bash
109
- node packages/lovebug-report/src/cli.js search --query 중랑 --include-areas
110
- node packages/lovebug-report/src/cli.js list --limit 10
111
- node packages/lovebug-report/src/cli.js find --query 동안
112
- ```
113
-
114
- Returned gu fields include:
115
-
116
- - `gu_code`, `gu_name`, `sido`
117
- - `score`, `score_label`, `level`, `level_label`, `advisory`
118
- - `counts.report`, `counts.report_24h`, `counts.spotted`, `counts.quiet`, `counts.low`, `counts.medium`, `counts.high`
119
- - `coordinates`
120
- - `areas[]` when `includeAreas` is enabled
121
-
122
- ### 2. Answer conservatively
123
-
124
- State that the score is based on recent lovebug.com user reports, not government-certified pest density.
125
-
126
- Good answer shape:
127
-
128
- - 지역: `중랑구`
129
- - 러브버그 스코어: `77` / `엄청 많아요, 조심!`
130
- - 최근 제보: `14일 439건`, `24시간 105건`
131
- - 동네 detail: area rows that matched the query
132
- - 출처: `러브버그.com 공개 지도 JSON`
133
-
134
- ### 3. Submit a report only when required inputs are known
135
-
136
- Do not invent coordinates or device hash. If the user asks to report but the automation environment has no current location, state that `lng`, `lat`, and GPS accuracy are required.
137
-
138
- ```js
139
- const { reportLovebug } = require("lovebug-report")
140
-
141
- await reportLovebug({
142
- guCode: "11070",
143
- level: "많아요",
144
- context: "길거리",
145
- lng: 127.09,
146
- lat: 37.59,
147
- accuracyM: 25,
148
- deviceHash: "stable-anonymous-device-id"
149
- })
150
- ```
151
-
152
- CLI:
153
-
154
- ```bash
155
- node packages/lovebug-report/src/cli.js report \
156
- --gu-code 11070 \
157
- --level 많아요 \
158
- --context 길거리 \
159
- --lng 127.09 \
160
- --lat 37.59 \
161
- --accuracy 25 \
162
- --device-hash stable-anonymous-device-id
163
- ```
164
-
165
- ## Done when
166
-
167
- - Region status was fetched from `러브버그.com` public JSON.
168
- - Region ambiguity was resolved with `gu_code`/`gu_name` when needed.
169
- - Report submission used real current coordinates and the upstream RPC returned success.
170
- - Source URL and user-report nature were disclosed.
171
-
172
- ## Failure modes
173
-
174
- - `ANON_DAILY_DUPLICATE`: the same anonymous device already reported that region today.
175
- - `OUTSIDE_GU_AREA`: supplied coordinates are outside `p_gu_code`.
176
- - `ACCURACY_TOO_LOW`: GPS accuracy is too low for the upstream validation.
177
- - Public Next.js/Supabase bundle keys, routes, table names, or RPC names can change.
178
- - The map is user-report-based and can lag or be noisy.
179
- - The site may add stricter rate limits, bot checks, login requirements, or image-upload restrictions.
180
-
181
- ## Notes
182
-
183
- - No login, CAPTCHA bypass, queue bypass, or privileged workflow automation.
184
- - No `k-skill-proxy` because upstream is public and keyless from the user's machine.
185
- - Image upload is not handled by this skill; pass `imageUrl` only when a site-compatible image URL already exists.
@@ -1,9 +0,0 @@
1
- {
2
- "name": "lovebug-report",
3
- "description": "러브버그.com 공개 지도 표면으로 수도권 시·구별 러브버그 출몰 지수·동네별 제보 현황을 조회하고, 사용자가 제공한 현재 좌표로 익명 러브버그 제보를 제출한다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.",
4
- "profiles": [
5
- "proxy",
6
- "action:submission"
7
- ],
8
- "frontmatter": "name: lovebug-report\ndescription: 러브버그.com 공개 지도 표면으로 수도권 시·구별 러브버그 출몰 지수·동네별 제보 현황을 조회하고, 사용자가 제공한 현재 좌표로 익명 러브버그 제보를 제출한다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.\nlicense: MIT\nmetadata:\n category: local-info\n locale: ko-KR\n phase: v1"
9
- }