@nomadamas/k-skill 0.2.3 → 0.2.5
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.
- package/package.json +1 -1
- package/skills/k-skill-cleaner/instruction.md +1 -1
- package/skills/k-skill-setup/instruction.md +114 -157
- package/skills/k-skill-setup/skill.json +2 -2
- package/skills/kakao-bar-nearby/instruction.md +73 -31
- package/skills/kakao-bar-nearby/skill.json +4 -2
- package/skills/seoul-weather-risk/instruction.md +111 -0
- package/skills/seoul-weather-risk/references/admin-dong-place-map.json +1 -0
- package/skills/seoul-weather-risk/scripts/seoul_weather_risk.py +503 -0
- package/skills/seoul-weather-risk/skill.json +9 -0
- package/skills/store-longevity-radar/instruction.md +7 -3
- package/skills/store-longevity-radar/scripts/__pycache__/store_longevity_download.cpython-312.pyc +0 -0
- package/skills/store-longevity-radar/scripts/store_longevity_download.py +136 -0
- package/skills/store-longevity-radar/scripts/store_longevity_radar.py +1 -51
- package/skills/toss-securities/instruction.md +9 -34
- package/skills/toss-securities/references/TRADEMARK-LEGAL-STATEMENT.md +1 -1
- package/skills/toss-securities/skill.json +2 -2
- package/skills/yebigun-training/instruction.md +1 -1
- package/skills/catchtable-sniper/instruction.md +0 -270
- package/skills/catchtable-sniper/references/TRADEMARK-LEGAL-STATEMENT.md +0 -9
- package/skills/catchtable-sniper/skill.json +0 -9
- package/skills/hipass-receipt/instruction.md +0 -97
- package/skills/hipass-receipt/references/TRADEMARK-LEGAL-STATEMENT.md +0 -9
- package/skills/hipass-receipt/skill.json +0 -10
- package/skills/used-car-price-search/instruction.md +0 -109
- package/skills/used-car-price-search/references/TRADEMARK-LEGAL-STATEMENT.md +0 -9
- package/skills/used-car-price-search/skill.json +0 -8
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
# 하이패스 영수증 발급
|
|
2
|
-
|
|
3
|
-
## What this skill does
|
|
4
|
-
|
|
5
|
-
공식 하이패스 홈페이지(`https://www.hipass.co.kr`)에서 **이미 로그인된 브라우저 세션**을 재사용해:
|
|
6
|
-
|
|
7
|
-
- 사용내역 조회
|
|
8
|
-
- 특정 행 선택
|
|
9
|
-
- 영수증 팝업/출력 화면 진입
|
|
10
|
-
- 세션 만료 감지 후 재로그인 안내
|
|
11
|
-
|
|
12
|
-
까지를 반자동으로 돕는다.
|
|
13
|
-
|
|
14
|
-
## Hard limits
|
|
15
|
-
|
|
16
|
-
- **로그인은 반드시 사용자가 직접 해야 한다.**
|
|
17
|
-
- 이 스킬은 **로그인된 세션에서만** 동작한다.
|
|
18
|
-
- ID/PW, 인증코드, OTP, 공동인증서 절차를 자동 입력하지 않는다.
|
|
19
|
-
- `JSESSIONID` 쿠키만 저장해 장시간 재사용하는 방식은 지원하지 않는다.
|
|
20
|
-
- 권장 세션 형태는 **Playwright persistent context** 또는 Chrome `user-data-dir` / remote-debugging 재사용이다.
|
|
21
|
-
- **세션이 만료되면 즉시 중단하고 다시 로그인**해야 한다.
|
|
22
|
-
|
|
23
|
-
## Why this design
|
|
24
|
-
|
|
25
|
-
현재 공개 페이지 기준으로:
|
|
26
|
-
|
|
27
|
-
- 로그인 페이지와 메인 페이지에 `session_time=1200` 이 노출된다.
|
|
28
|
-
- 세션 연장은 `/comm/sessionCheck.do`
|
|
29
|
-
- 세션 종료는 `/comm//sessionout.do`
|
|
30
|
-
- 미로그인/세션 종료 보호 응답은 `mgs_type 11/12` 후 `/comm/lginpg.do` 로 이동한다.
|
|
31
|
-
- 사용내역 조회는 `/usepculr/InitUsePculrTabSearch.do` → `hpForm` submit → `/usepculr/UsePculrTabSearchList.do` 흐름이다.
|
|
32
|
-
- 영수증은 `/usepculr/UsePculrReceiptPrint.do` 팝업 진입으로 이어진다.
|
|
33
|
-
|
|
34
|
-
즉 v1은 **“로그인된 Chrome 세션 재사용”** 이 가장 현실적이다.
|
|
35
|
-
|
|
36
|
-
## Prerequisites
|
|
37
|
-
|
|
38
|
-
- macOS 또는 Chrome 실행 가능한 환경
|
|
39
|
-
- `npm install hipass-receipt` 또는 이 레포에서 `npm install` (`playwright-core` 포함)
|
|
40
|
-
- Chrome 원격 디버깅 포트 사용 가능
|
|
41
|
-
- 사용자가 직접 하이패스 로그인 가능
|
|
42
|
-
|
|
43
|
-
## Workflow
|
|
44
|
-
|
|
45
|
-
### 1. 전용 Chrome 프로필로 로그인 브라우저를 띄운다
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
hipass-receipt chrome-command --profile-dir "$HOME/.cache/k-skill/hipass-chrome" --debugging-port 9222
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
위 명령이 출력한 Chrome 실행문으로 브라우저를 띄운 뒤, 사용자가 직접 `https://www.hipass.co.kr/comm/lginpg.do` 에 로그인한다.
|
|
52
|
-
|
|
53
|
-
### 2. 사용내역을 조회한다
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
hipass-receipt list \
|
|
57
|
-
--cdp-url http://127.0.0.1:9222 \
|
|
58
|
-
--start-date 2026-04-01 \
|
|
59
|
-
--end-date 2026-04-07 \
|
|
60
|
-
--page-size 30
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
- 카드사/암호화 카드번호를 알고 있으면 `--encrypted-card-number` 등으로 더 좁힐 수 있다.
|
|
64
|
-
- `--encrypted-card-number` 는 CLI의 기존 `--ecd-no` 별칭이다.
|
|
65
|
-
- 결과 JSON에서 `rowIndex` 를 확인한다.
|
|
66
|
-
|
|
67
|
-
### 3. 특정 row의 영수증 팝업을 연다
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
hipass-receipt receipt \
|
|
71
|
-
--cdp-url http://127.0.0.1:9222 \
|
|
72
|
-
--start-date 2026-04-01 \
|
|
73
|
-
--end-date 2026-04-07 \
|
|
74
|
-
--row-index 1
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
- 선택한 행의 `영수증`/`출력` control 을 클릭한다.
|
|
78
|
-
- 팝업이 열리면 URL/title 을 반환한다.
|
|
79
|
-
|
|
80
|
-
## Response policy
|
|
81
|
-
|
|
82
|
-
- “로그인 필수”, “세션 만료 시 재로그인 필요”를 항상 명확히 적는다.
|
|
83
|
-
- 하이패스 계정 비밀번호를 받아 저장하거나 새 env var를 만들지 않는다.
|
|
84
|
-
- 세션이 만료됐으면 즉시 실패시키고 `/comm/lginpg.do` 재로그인만 안내한다.
|
|
85
|
-
- v1 범위를 넘어서는 완전 무인 로그인 유지/백그라운드 재인증은 약속하지 않는다.
|
|
86
|
-
|
|
87
|
-
## Verification
|
|
88
|
-
|
|
89
|
-
- 자동 검증: fixture 기반 query/parser/session-detection 테스트
|
|
90
|
-
- smoke 검증: `hipass-receipt fixture-demo --fixture ...`
|
|
91
|
-
- 최종 실서비스 검증: **로그인된 세션으로 수동 smoke test**
|
|
92
|
-
|
|
93
|
-
## Done when
|
|
94
|
-
|
|
95
|
-
- 로그인된 세션으로 사용내역 조회가 가능하다.
|
|
96
|
-
- 특정 row를 선택해 영수증 팝업 진입을 시도할 수 있다.
|
|
97
|
-
- 세션 종료 응답을 감지하면 재로그인을 요구한다.
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# 상표 사용 법적 고지 — `hipass-receipt`
|
|
2
|
-
|
|
3
|
-
이 스킬에서 `하이패스` 및 `Hi-Pass` 명칭은 통행료 사용내역·영수증 조회의 **대상 공식 서비스**를 식별하기 위해 사용한다. k-skill의 출처나 운영주체를 하이패스 운영기관으로 표시하려는 사용이 아니다.
|
|
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조)와 대법원 [2011다18802](https://www.law.go.kr/LSW/precInfoP.do?precSeq=167457), [2019후10418](https://law.go.kr/LSW/precInfoP.do?mode=0&precSeq=230725) 판결에 따라 실제 거래계에서 출처표시로 기능하는지는 표시 태양과 사용 경위 등을 종합해 판단해야 한다.
|
|
6
|
-
|
|
7
|
-
따라서 이 명칭은 필요한 범위의 평문으로만 사용하고, 별도 근거 없이 로고, 공식·제휴·후원·인증·파트너 표현을 사용하지 않는다. 각 상표의 권리는 해당 권리자에게 있다. 이 문서는 저작권, 데이터베이스권, 부정경쟁방지법, 약관·계약, 개인정보 또는 접근 방식의 적법성을 판단하지 않는다.
|
|
8
|
-
|
|
9
|
-
전체 검토: [제3자 상표의 기능 설명·호환 대상 표시 검토](https://github.com/NomaDamas/k-skill/blob/dev/docs/legal/trademark-use-review.md)
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "hipass-receipt",
|
|
3
|
-
"description": "공식 하이패스 홈페이지에서 사용자가 직접 로그인한 Chrome 세션을 재사용해 사용내역 조회와 영수증 팝업 진입을 돕는다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.",
|
|
4
|
-
"profiles": [
|
|
5
|
-
"vault",
|
|
6
|
-
"browser",
|
|
7
|
-
"action:account"
|
|
8
|
-
],
|
|
9
|
-
"frontmatter": "name: hipass-receipt\ndescription: 공식 하이패스 홈페이지에서 사용자가 직접 로그인한 Chrome 세션을 재사용해 사용내역 조회와 영수증 팝업 진입을 돕는다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.\nlicense: MIT\nmetadata:\n category: transport\n locale: ko-KR\n phase: v1"
|
|
10
|
-
}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
# Used Car Price Search
|
|
2
|
-
|
|
3
|
-
## What this skill does
|
|
4
|
-
|
|
5
|
-
한국의 대표 렌터카 업체를 먼저 비교하고, 현재는 **가장 기술적으로 구현이 쉬운 공급자**로 확인된 `SK렌터카 다이렉트 타고BUY`를 사용해 중고차 가격을 조회한다.
|
|
6
|
-
|
|
7
|
-
- 한국의 주요 렌터카 업체로 `SK렌터카`, `롯데렌탈(롯데오토옥션)`, `레드캡렌터카`를 먼저 확인한다.
|
|
8
|
-
- 각 업체의 공개 표면에서 **직접 API 제공 여부**, 웹 크롤링 난이도, 기존 **MCP / Skill** 존재 여부를 먼저 점검한다.
|
|
9
|
-
- 이 저장소와 현재 세션에는 중고차 가격 조회용 전용 **MCP** 나 **Skill** 이 없으므로 새 스킬이 직접 조회를 담당한다.
|
|
10
|
-
- 최종 선택 공급자는 `https://www.skdirect.co.kr/tb` 이다.
|
|
11
|
-
- 이 페이지는 로그인 없이 열리고, HTML 안의 `__NEXT_DATA__` 에 현재 inventory snapshot 이 들어 있어 반복 조회가 쉽다.
|
|
12
|
-
- 결과는 **월 렌트료**와 **인수가**를 함께 보여 준다.
|
|
13
|
-
|
|
14
|
-
## Provider survey
|
|
15
|
-
|
|
16
|
-
| 업체 | 점검 결과 | v1 채택 여부 |
|
|
17
|
-
| --- | --- | --- |
|
|
18
|
-
| SK렌터카 다이렉트 `타고BUY` | `https://www.skdirect.co.kr/tb` 공개 HTML 에 `__NEXT_DATA__` inventory snapshot 포함. 로그인/세션 없이 반복 조회 가능. 별도 공개 API 문서는 못 찾았지만 SSR 데이터 추출이 가장 단순함. | 채택 |
|
|
19
|
-
| 롯데렌탈 / 롯데오토옥션 | `https://www.lotteautoauction.net/hp/pub/cmm/viewMain.do` 공개 진입점은 열리지만, 일반 매물 검색은 legacy `.do` 흐름 중심이고 공개 목록 계약이 불명확했다. 추정 목록 URL은 404/에러 페이지가 섞여 v1 공급자로는 불안정했다. | 미채택 |
|
|
20
|
-
| 레드캡렌터카 | 공식 진입점이 `https://biz.redcap.co.kr/rent/` business portal 로 이어졌고, 공개 중고차 inventory 검색 표면이나 직접 API를 확인하지 못했다. | 미채택 |
|
|
21
|
-
|
|
22
|
-
## When to use
|
|
23
|
-
|
|
24
|
-
- "아반떼 중고차 가격 봐줘"
|
|
25
|
-
- "SK렌터카 타고BUY에 K3 얼마야?"
|
|
26
|
-
- "캐스퍼 인수가/월 렌트료 같이 알려줘"
|
|
27
|
-
- "중고차 시세를 렌터카 업체 기준으로 보고 싶어"
|
|
28
|
-
|
|
29
|
-
## When not to use
|
|
30
|
-
|
|
31
|
-
- 실제 구매/계약/상담 신청까지 자동화해야 하는 경우
|
|
32
|
-
- 특정 VIN/성능기록부/사고이력 원문까지 강제해야 하는 경우
|
|
33
|
-
- 여러 업체 통합 최저가 비교가 필요한 경우
|
|
34
|
-
|
|
35
|
-
## Prerequisites
|
|
36
|
-
|
|
37
|
-
- 인터넷 연결
|
|
38
|
-
- `node` 18+
|
|
39
|
-
- `used-car-price-search` package 또는 동일 로직
|
|
40
|
-
|
|
41
|
-
## Required inputs
|
|
42
|
-
|
|
43
|
-
### 1. Ask the car model/keyword first if it is missing
|
|
44
|
-
|
|
45
|
-
차종 키워드가 없으면 먼저 물어본다.
|
|
46
|
-
|
|
47
|
-
- 권장 질문: `어떤 차종을 찾을까요? 예: 아반떼, K3, 캐스퍼`
|
|
48
|
-
- 너무 넓으면: `제조사나 차종을 조금 더 구체적으로 알려주세요. 예: 현대 아반떼, 기아 K3`
|
|
49
|
-
|
|
50
|
-
## Official surface used in v1
|
|
51
|
-
|
|
52
|
-
- SK direct used-car inventory page: `https://www.skdirect.co.kr/tb`
|
|
53
|
-
|
|
54
|
-
## Workflow
|
|
55
|
-
|
|
56
|
-
1. 차종 키워드가 없으면 먼저 질문한다.
|
|
57
|
-
2. `SK렌터카`, `롯데렌탈`, `레드캡렌터카` 비교 결과를 짧게 기억하고, 현재 공급자는 `SK렌터카 다이렉트 타고BUY` 임을 유지한다.
|
|
58
|
-
3. `https://www.skdirect.co.kr/tb` HTML 을 가져온다.
|
|
59
|
-
4. HTML 의 `__NEXT_DATA__` JSON 에서 `carListProd` inventory snapshot 을 읽는다.
|
|
60
|
-
5. 차종 키워드로 inventory 를 필터링한다.
|
|
61
|
-
6. 상위 결과에서 `인수가`, `월 렌트료`, `연식`, `주행거리`, `연료`, `변속기`를 정리한다.
|
|
62
|
-
7. 같은 차종이라도 재고가 수시로 바뀔 수 있으므로 snapshot 기준 응답임을 짧게 알린다.
|
|
63
|
-
|
|
64
|
-
## Node.js example
|
|
65
|
-
|
|
66
|
-
```js
|
|
67
|
-
const { lookupUsedCarPrices } = require("used-car-price-search")
|
|
68
|
-
|
|
69
|
-
async function main() {
|
|
70
|
-
const result = await lookupUsedCarPrices("아반떼", { limit: 5 })
|
|
71
|
-
|
|
72
|
-
console.log({
|
|
73
|
-
provider: result.provider,
|
|
74
|
-
matchedCount: result.matchedCount,
|
|
75
|
-
summary: result.summary,
|
|
76
|
-
items: result.items
|
|
77
|
-
})
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
main().catch((error) => {
|
|
81
|
-
console.error(error)
|
|
82
|
-
process.exitCode = 1
|
|
83
|
-
})
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## Respond conservatively
|
|
87
|
-
|
|
88
|
-
응답은 아래 순서로 짧게 정리한다.
|
|
89
|
-
|
|
90
|
-
- 공급자: `SK렌터카 다이렉트 타고BUY`
|
|
91
|
-
- 차종 키워드
|
|
92
|
-
- 매칭된 차량 수
|
|
93
|
-
- 인수가 범위
|
|
94
|
-
- 월 렌트료 범위
|
|
95
|
-
- 대표 차량 2~5개
|
|
96
|
-
- `공개 inventory snapshot 기준이라 실시간 재고/가격은 바뀔 수 있다`는 안내
|
|
97
|
-
|
|
98
|
-
## Done when
|
|
99
|
-
|
|
100
|
-
- 주요 렌터카 업체 비교와 공급자 선택 이유를 설명했다.
|
|
101
|
-
- 차종 키워드 기준으로 결과를 최소 1건 이상 또는 보수적 빈 결과로 반환했다.
|
|
102
|
-
- 결과에 `인수가` 와 `월 렌트료` 를 함께 담았다.
|
|
103
|
-
- 라이브 검증에서 **최소 10회 이상** 반복 조회가 가능함을 확인했다.
|
|
104
|
-
|
|
105
|
-
## Failure modes
|
|
106
|
-
|
|
107
|
-
- 공개 inventory snapshot 은 페이지 갱신 타이밍에 따라 달라질 수 있다.
|
|
108
|
-
- 별도 공개 API 문서는 찾지 못했으므로 v1 은 HTML 내 `__NEXT_DATA__` 의 안정성에 의존한다.
|
|
109
|
-
- 특정 차종 키워드가 너무 넓으면 유사 모델이 함께 섞일 수 있다.
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# 상표 사용 법적 고지 — `used-car-price-search`
|
|
2
|
-
|
|
3
|
-
이 스킬에서 `SK렌터카` 명칭은 중고차 재고·가격·인수가 조회의 **대상 판매·렌터카 서비스**를 식별하기 위해 사용한다. k-skill의 출처를 SK렌터카 운영사로 표시하려는 사용이 아니다.
|
|
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조)와 대법원 [2011다18802](https://www.law.go.kr/LSW/precInfoP.do?precSeq=167457), [2019후10418](https://law.go.kr/LSW/precInfoP.do?mode=0&precSeq=230725) 판결에 따라 실제 거래계에서 출처표시로 기능하는지는 표시 태양과 사용 경위 등을 종합해 판단해야 한다.
|
|
6
|
-
|
|
7
|
-
따라서 이 명칭은 필요한 범위의 평문으로만 사용하고, 별도 근거 없이 로고, 공식·제휴·후원·인증·파트너 표현을 사용하지 않는다. 각 상표의 권리는 해당 권리자에게 있다. 이 문서는 차량정보의 저작권·데이터베이스권, 매매·렌탈 계약, 약관·계약, 소비자보호 또는 접근 방식의 적법성을 판단하지 않는다.
|
|
8
|
-
|
|
9
|
-
전체 검토: [제3자 상표의 기능 설명·호환 대상 표시 검토](https://github.com/NomaDamas/k-skill/blob/dev/docs/legal/trademark-use-review.md)
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "used-car-price-search",
|
|
3
|
-
"description": "주요 한국 렌터카 업체를 비교한 뒤 SK렌터카 다이렉트 타고BUY inventory snapshot 으로 중고차 가격/인수가를 조회한다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.",
|
|
4
|
-
"profiles": [
|
|
5
|
-
"action:commerce"
|
|
6
|
-
],
|
|
7
|
-
"frontmatter": "name: used-car-price-search\ndescription: 주요 한국 렌터카 업체를 비교한 뒤 SK렌터카 다이렉트 타고BUY inventory snapshot 으로 중고차 가격/인수가를 조회한다. 돌쇠에서는 공식 표면을 통한 후속 액션까지 진행한다.\nlicense: MIT\nmetadata:\n category: automotive\n locale: ko-KR\n phase: v1"
|
|
8
|
-
}
|