donation-place-search

Use when the user asks where to donate, 기부처 조회, or donation place recommendations by Korean location and category. Recommend recipients with best-effort 1365 verification-assist links and never execute donations.

Skill file

Preview skill file
---
name: donation-place-search
description: Use when the user asks where to donate, 기부처 조회, or donation place recommendations by Korean location and category. Recommend recipients with best-effort 1365 verification-assist links and never execute donations.
license: MIT
metadata:
  category: utility
  locale: ko-KR
  phase: v1
---

# 기부처 조회 / Donation Place Search

## What this skill does

사용자가 “어디에 기부하면 좋을지”, “서울 아동 기부처”, “동물보호 기부처 추천”처럼 묻는 경우 **장소와 카테고리 기준으로 기부처 후보를 추천**한다.

- 기부를 대신 실행하지 않는다.
- 결제, 개인정보 입력, 자동 후원 신청은 하지 않는다.
- 추천은 의사결정 보조이며, 최종 기부 전 공식 페이지와 1365 기부포털에서 최신 등록·모금기간·기부금영수증 가능 여부를 확인한다.
- 위치는 사용자가 제공한 행정구역/동네/랜드마크 텍스트만 사용한다. 자동 위치 추적을 하지 않는다.

## When to use

- “기부처 조회해줘”
- “서울 마포구에서 동물보호 기부할 만한 곳 추천해줘”
- “부산 노인 복지 기부처 알려줘”
- “아동/재난 분야 기부처 비교해줘”
- “어디에 기부하는 곳이 좋을지 장소와 카테고리별로 추천해줘”

## Inputs

- `location`: 선택. 예: `서울 마포구`, `부산 해운대구`, `제주`, `온라인`
- `category`: 선택. 예: `아동`, `동물보호`, `환경`, `재난 구호`, `장애`, `노인`, `생계`, `의료`, `해외구호`
- `limit`: 선택. 기본 5개

위치나 카테고리가 없으면 보수적으로 `전국`·`일반/종합` 후보와 1365 공식 확인 보조 링크를 제공한다. 비대화형 자동화에서는 임의로 좁히지 말고 “입력 없음”을 명시한다.

## Public access path discovered

### Primary official verification surface

- Legacy `https://www.nanumkorea.go.kr/` currently returns a notice that 1365 기부포털 has moved/integrated into 1365 자원봉사.
- The notice links to `https://www.1365.go.kr/dntn/main.do`.
- The skill therefore uses `https://www.1365.go.kr/dntn/main.do` as the official public verification entry point.

### Search-link strategy

1365 pages can be slow or unavailable to headless HTTP clients, so the package does not depend on brittle screen scraping. It builds a best-effort official-entry/search-assist link with the user’s location/category keywords, then ranks a curated fallback list locally. The package does not assert that 1365 has already verified each returned candidate:

```js
const { recommendDonationPlaces } = require("donation-place-search");

const result = recommendDonationPlaces({
  location: "서울 마포구",
  category: "동물",
  limit: 3
});

console.log(result.items);
console.log(result.officialSearchUrl);
```

The returned `officialSearchUrl` is a best-effort verification assist: open it as an official 1365 entry point, then confirm current registration and campaign status before giving the final answer.

## Workflow

1. Extract `location`, `category`, and optional `limit` from the user request.
2. Run the helper:

```bash
node - <<'NODE'
const {
  recommendDonationPlaces,
  formatDonationRecommendationReport
} = require("donation-place-search");

const result = recommendDonationPlaces({
  location: "서울 마포구",
  category: "동물",
  limit: 3
});

console.log(formatDonationRecommendationReport(result));
NODE
```

3. Open or cite the returned best-effort 1365 verification-assist URL for latest verification when fresh browsing is available.
4. Summarize 3–5 candidates, including:
   - 기부처명
   - 분야/카테고리
   - 지역 일치 여부 또는 전국 단위 여부
   - 왜 맞는지 한 줄
   - 공식 홈페이지
   - 1365 확인 보조 링크
5. Add a caution that campaign status, donation receipt eligibility, and designated-use options must be checked on official pages before donating.

## Output fields

The npm helper returns:

```json
{
  "location": { "raw": "서울 마포구", "province": "서울", "district": "마포구" },
  "category": "animals",
  "items": [
    {
      "name": "동물권행동 카라",
      "categories": ["animals"],
      "coverage": "local",
      "homepageUrl": "https://www.ekara.org/",
      "officialSearchUrl": "https://www.1365.go.kr/dntn/main.do?...",
      "match": { "category": true, "local": true, "nationwide": false }
    }
  ],
  "officialSearchUrl": "https://www.1365.go.kr/dntn/main.do?...",
  "meta": { "source": "curated-fallback-plus-1365-search-assist" }
}
```

## Done when

- 장소/카테고리 조건을 반영해 후보를 3–5개 이내로 정리했다.
- 각 후보마다 공식 홈페이지 또는 1365 확인 보조 링크를 제공했다.
- 최종 기부 전 등록 상태, 모금 기간, 기부금영수증 가능 여부를 확인하라고 안내했다.
- 자동 결제/후원 신청을 시도하지 않았다.

## Failure modes

- 1365 사이트가 느리거나 headless HTTP에서 timeout/empty page를 반환할 수 있다. 이 경우 확인 보조 URL과 후보 홈페이지를 제공하고 “최신 상태는 직접 확인 필요”라고 명시한다.
- 위치 문자열이 행정구역으로 파싱되지 않으면 전국 후보 위주로 제안한다.
- 지역·카테고리 모두 정확히 맞는 후보가 없으면 전국 단위 후보를 fallback으로 보여준다.
- 특정 단체의 모금 캠페인, 지정기부 가능 여부, 기부금영수증 처리는 수시로 바뀌므로 package 내 curated 설명만으로 확정하지 않는다.
- 로그인, 결제, CAPTCHA, 후원 신청서 제출은 자동화하지 않는다.

## Notes

- 이 스킬은 read-only 추천/조회 스킬이다.
- 기부는 금전 의사결정이므로 최신 공식 근거를 우선한다.
- 공개 표면만 사용하므로 `k-skill-proxy`와 API key가 필요 없다.

Source

Creator's repository · nomadamas/k-skill

View on GitHub

License: MIT

Security

Security checks in progress
Results will appear here once audits complete
What this skill can do
Reads your filesConnects to the internetRuns code on your machine
Checked by 3 independent security firms
Does it try to trick the AI?Not yet checkedPending · Gen Agent Trust Hub
Does it sneak in hidden code?Not yet checkedPending · Socket
Does it have known bugs?Not yet checkedPending · Snyk