K-skill olive-young-search

upstream daiso CLI를 사용해 올리브영 매장 검색, 상품 검색, 재고 확인을 조회한다.

install
source · Clone the upstream repo
git clone https://github.com/NomaDamas/k-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NomaDamas/k-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/olive-young-search" ~/.claude/skills/nomadamas-k-skill-olive-young-search && rm -rf "$T"
manifest: olive-young-search/SKILL.md
source content

Olive Young Search

What this skill does

upstream 원본

hmmhmmhm/daiso-mcp
와 npm package
daiso
를 그대로 사용해 올리브영 매장 검색, 상품 검색, 재고 확인 흐름을 안내한다.

이 저장소는 원본 MCP 서버 코드를 vendoring 하지 않는다. 대신 MCP 서버를 Claude Code에 직접 설치하지 않고 CLI 형태로 먼저 확인하는 경로를 기본값으로 둔다.

핵심 조회 경로:

  • 매장 검색:
    /api/oliveyoung/stores
  • 상품 검색:
    /api/oliveyoung/products
  • 재고 확인:
    /api/oliveyoung/inventory
  • health check:
    npx --yes daiso health

When to use

  • "명동 근처 올리브영 매장 찾아줘"
  • "올리브영 선크림 어떤 거 있나 보여줘"
  • "명동 근처 올리브영에서 선크림 재고 확인해줘"
  • "올리브영 검색용 CLI 붙여줘"

When not to use

  • 로그인, 주문, 장바구니, 결제 자동화
  • 올리브영 계정/세션이 필요한 private 기능
  • upstream 서버 코드를 이 저장소 안에 복사해서 유지하려는 경우

Prerequisites

  • 인터넷 연결
  • node
    20 권장 (
    hmmhmmhm/daiso-mcp
    2026-04-05 기준
    engines.node
    >=20 <21
    )
  • npx
    또는
    npm
  • 필요하면
    git

Node 22에서도 로컬 smoke test는 성공했지만

EBADENGINE
경고가 보여서, 안정 경로는 Node 20 LTS 로 본다.

Preferred setup: CLI first, not direct MCP install

가장 빠른 경로는 MCP 연결부터 하지 않고 upstream CLI로 공개 endpoint를 확인하는 것이다.

npx --yes daiso health
npx --yes daiso get /api/oliveyoung/stores --keyword 명동 --limit 5 --json
npx --yes daiso get /api/oliveyoung/products --keyword 선크림 --size 5 --json
npx --yes daiso get /api/oliveyoung/inventory --keyword 선크림 --storeKeyword 명동 --size 5 --json

반복 사용이면 전역 설치도 가능하다.

npm install -g daiso
export NODE_PATH="$(npm root -g)"
daiso health

Fallback: clone the original repository and run the same CLI locally

public endpoint 재시도나 버전 고정이 필요하면 원본 저장소를 clone 해서 build 결과물

dist/bin.js
node
로 직접 실행한다. clone checkout 안에서는
npx daiso ...
Permission denied
로 실패할 수 있으므로, local fallback은 아래 경로를 기본으로 둔다.

git clone https://github.com/hmmhmmhm/daiso-mcp.git
cd daiso-mcp
npm install
npm run build
node dist/bin.js health
node dist/bin.js get /api/oliveyoung/stores --keyword 명동 --limit 5 --json
node dist/bin.js get /api/oliveyoung/products --keyword 선크림 --size 5 --json
node dist/bin.js get /api/oliveyoung/inventory --keyword 선크림 --storeKeyword 명동 --size 5 --json

즉, 이 스킬의 기본 원칙은 원본

hmmhmmhm/daiso-mcp
를 설치/실행해서 쓰고,
k-skill
에는 가이드만 추가하는 것
이다.

Required inputs

1. Store or area keyword first when place context is missing

  • 권장 질문:
    어느 지역/매장을 기준으로 볼까요? 예: 명동, 강남역, 성수
  • 재고 질문인데 지역이 없으면 먼저 지역/매장 키워드를 받는다.

2. Product keyword first when inventory is requested

  • 권장 질문:
    찾을 상품 키워드도 알려주세요. 예: 선크림, 립밤, 마스크팩
  • 상품 종류를 묻는 경우에도 키워드를 너무 넓게 받지 않는다.

Workflow

1. Check server health

npx --yes daiso health

2. Resolve nearby stores

npx --yes daiso get /api/oliveyoung/stores --keyword 명동 --limit 5 --json

매장 후보가 여러 개면 상위 2~3개만 요약하고 다시 확인받는다.

3. Resolve product candidates

npx --yes daiso get /api/oliveyoung/products --keyword 선크림 --size 5 --json

상품 후보가 많으면

goodsNumber
, 가격, 이미지 URL,
inStock
여부를 함께 짧게 정리한다.

4. Check inventory for the chosen area/store keyword

npx --yes daiso get /api/oliveyoung/inventory --keyword 선크림 --storeKeyword 명동 --size 5 --json

응답의

inventory.products[].storeInventory.stores[]
안에서 다음 값을 우선 본다.

  • stockLabel
  • remainQuantity
  • stockStatus
  • storeName

5. Respond conservatively

최종 응답은 아래 순서로 짧게 정리한다.

  • 기준 지역/매장 키워드
  • 상위 매장 후보
  • 상품 후보 또는 선택 상품
  • 재고 있는 매장 / 품절 / 미판매 구분
  • 필요하면
    imageUrl
    참고 링크
  • 공개 endpoint 특성상 재고는 실시간 100% 보장값이 아니므로 방문 직전 재확인을 권장

Done when

  • hmmhmmhm/daiso-mcp
    원본 repo와
    daiso
    CLI 사용 경로를 명시했다.
  • MCP 서버를 직접 설치하는 대신 CLI first 흐름을 제시했다.
  • 매장 검색 → 상품 검색 → 재고 확인 순서를 따랐다.
  • /api/oliveyoung/stores
    ,
    /api/oliveyoung/products
    ,
    /api/oliveyoung/inventory
    중 필요한 호출을 실제로 안내했다.
  • 재고 결과를 매장별
    stockLabel
    중심으로 요약했다.

Failure modes

  • public endpoint는 upstream 내부 수집 경로(Zyte 의존) 사정으로 간헐적인 5xx/503을 줄 수 있다.
  • 지역 키워드가 너무 넓으면 멀리 떨어진 동명이점 매장이 섞일 수 있다.
  • 인기 상품은 검색 결과가 많아 상위 몇 개만 먼저 확인받는 편이 안전하다.
  • 재고 수량은 시점 차이로 실제 방문 시 달라질 수 있다.

Notes

  • 원본 프로젝트:
    https://github.com/hmmhmmhm/daiso-mcp
  • npm package:
    https://www.npmjs.com/package/daiso
  • 이 저장소는 upstream 코드를 vendoring 하지 않고 skill/docs만 유지한다.