Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

daiso-product-search

店舗名と商品キーワードをもとに、公式Daiso Mallの店舗・検索・在庫情報を使ってダイソー商品を検索します。特定の店舗でその商品が店頭受取対象として登録されているかどうかを確認できますが、2026年5月5日以降は公式の店舗別在庫数APIがブロックされているため、ブロックが解除されるまで店舗ごとの正確な在庫数は取得できません。

description の原文を見る

Look up Daiso products by store name and product keyword using official Daiso Mall store/search/stock surfaces. Reports whether a product is registered as pickup-eligible at a specific Daiso store; the official store-level pickup quantity API has been blocked since 2026-05-05, so exact per-store stock counts are unavailable while that block remains.

SKILL.md 本文

Daiso Product Search

このスキルが行うこと

ダイソーモール公式の検索/店舗/在庫サーフェースを使用して特定のダイソー店舗の商品在庫を確認します。

  • 公式店舗検索で店舗コードを検索します。
  • 公式商品検索で商品候補を検索します。
  • 公式店舗ピックアップ在庫サーフェースでその店舗の在庫を確認します。
  • ダイソーモールが店舗ピックアップ在庫サーフェースをUnauthorizedでブロックしている場合、そのブロック状態をそのまま報告し、セッション迂回は試みません。
  • 店舗ピックアップ在庫がブロックされている場合、公式ピックアップ可能店舗リスト(selPkupStr)を使用してその店舗に商品がピックアップ可能店舗として登録されているかどうかを確認し、pickupEligibilityで回答します。正確な数量はまだ不明です。
  • 公式サーフェースが店舗内の陳列位置を提供していない場合、在庫中心でのみ回答します。

使用場面

  • 「江南駅2号店でリドルショット受け取り可能ですか?」(受け取り可能性の確認)
  • 「この商品どの店舗で受け取り可能か確認してください」(受け取り可能店舗リスト)
  • 「ダイソー店舗名を言えば、その店舗で購入できるか見てください」
  • 公式店舗ピックアップ在庫APIが応答すれば数量まで、ブロックされていれば受け取り可能か不可か(yes/no)まで

使用しない場面

  • **「江南駅2号店にリドルショット何個ありますか?」**のように正確な在庫数量を保証する必要がある場合 — 2026-05-05以降、公式店舗ピックアップ在庫APIがUnauthorizedでブロックされており、数量を答えることができません。
  • 店舗名も商品名もない状態で直ちに在庫を特定する必要がある場合
  • 決済/注文/ピックアップ予約まで自動化する必要がある場合
  • 店舗内の陳列位置(aisle/陳列棚)を教える必要がある場合
  • 非公式クローリング・セッション迂回・アカウントログイン迂回結果を使用する必要がある場合

スコープと制限 (回答前に必読)

  • pickupStockretrievalStatus: "resolved"で応答すれば、正確な店舗ピックアップ在庫数量を提供できます。
  • pickupStockretrievalStatus: "blocked"の場合、数量はもう答えません。pickupEligibility.pickupEligibleでその店舗でピックアップ可能な商品か(yes/no)のみ答えます。
  • onlineStockreferenceOnly: trueダイソーモールオンラインストア在庫参考値であり、店舗在庫ではありません。店舗在庫と同様に特定しません。
  • ブロック迂回は試みません。

前提条件

  • インターネット接続
  • node 18以上
  • このリポジトリのdaiso-product-searchパッケージまたは同等のロジック

必須入力

1. 店舗名がない場合はまず尋ねます

店舗名がない場合は直ちに検索せず、まず尋ねます。

  • 推奨質問: どのダイソー店舗を確認しますか? 店舗名(例: 江南駅2号店)を教えてください。
  • 同様の店舗が複数ある場合: 候補店舗が複数あります。正確な店舗名を1つだけ選んでください。

2. 商品名またはキーワードがない場合も尋ねます

商品名/検索キーワードも必須です。

  • 推奨質問: 探す商品名や検索キーワードも教えてください。例: VT リドルショット 100
  • 範囲が広すぎる場合: 検索キーワードが広すぎます。ブランドや容量まで一緒に教えてください。

公式ダイソーモールサーフェース

  • store keyword catalog: https://www.daisomall.co.kr/api/ms/msg/selStrSrchKeyword
  • store search: https://www.daisomall.co.kr/api/ms/msg/selStr
  • store detail: https://www.daisomall.co.kr/api/dl/dla-api/selStrInfo
  • product search summary: https://www.daisomall.co.kr/ssn/search/Search
  • product search list: https://www.daisomall.co.kr/ssn/search/SearchGoods
  • product summary list: https://www.daisomall.co.kr/ssn/search/GoodsMummResult
  • store pickup stock: https://www.daisomall.co.kr/api/pd/pdh/selStrPkupStck
  • store pickup eligibility (pickup-capable stores for a product): https://www.daisomall.co.kr/api/ms/msg/selPkupStr
  • optional online stock cross-check: https://www.daisomall.co.kr/api/pdo/selOnlStck

ワークフロー

1. 店舗を解決する

公式店舗検索APIで店舗名をまず解決します。

const { searchStores } = require("daiso-product-search")

const storeResult = await searchStores("江南駅2号店", {
  limit: 5
})

console.log(storeResult.items)

店舗候補が複数ある場合は、上位2~3個のみ表示して再度確認します。

2. 商品を解決する

公式SearchGoodsサーフェースで商品候補を検索します。

const { searchProducts } = require("daiso-product-search")

const productResult = await searchProducts("VT リドルショット 100", {
  limit: 10
})

console.log(productResult.items)

商品候補が複数ある場合は、以下の優先順位で簡潔に整理します。

  • 正確に一致する名前
  • ブランド+容量/号数まで含まれている名前
  • レビュー数/検索スコアが高い候補
  • オンライン在庫の交差確認が必要な場合は、候補のonldPdNoを合わせて保存します

3. 店舗ピックアップ在庫を確認する

公式店舗ピックアップ在庫APIでその店舗の在庫を確認します。2026-05-05時点でこのエンドポイントがUnauthorizedでブロックされる可能性があるため、stock.retrievalStatus === "blocked"またはstock.status === "unavailable"の場合は、正確な店舗数量を特定しません。stock.statusは照会結果カテゴリであり、実際の在庫有無はstock.inStockまたはstock.inventoryStatusで判断します。

const { getStorePickupStock } = require("daiso-product-search")

const stock = await getStorePickupStock({
  pdNo: "1049275",
  strCd: "10224"
})

console.log(stock)
// 在庫切れ例: { status: "available", retrievalStatus: "resolved", inventoryStatus: "out_of_stock", quantity: 0, inStock: false }
// ブロック例: { status: "unavailable", retrievalStatus: "blocked", inventoryStatus: "unknown", reason: "unauthorized", quantity: null, inStock: null }

4. 在庫がブロックされている場合はピックアップ適格性にフォールバック

店舗ピックアップ在庫がUnauthorizedでブロックされている場合、公式ピックアップ可能店舗リストサーフェースを使用してその店舗がその商品のピックアップ可能店舗に含まれているかのみを確認できます。数量は不明ですが、「その店舗でこの商品を受け取りで購入できるか」は答えることができます。

const { getStorePickupEligibility } = require("daiso-product-search")

const eligibility = await getStorePickupEligibility({
  pdNo: "1049275",
  strCd: "10224",
  storeName: "江南駅2号店"
})

console.log(eligibility)

pickupEligibletrueならその店舗で受け取り可能、falseなら受け取り不可、nullなら確認不可です。falseは検索範囲が十分なときのみ確定値として解釈します。retrievalStatus: "insufficient_coverage"は店舗名/キーワードがないか、最初のページが全体結果をカバーしておらず不在を証明できなかったことを意味します。eligibleStoreCounteligibleStoresで他の候補店舗も一緒に表示できます。

5. 両方の名前が既に分かっている場合はエンドツーエンドヘルパーを使用

const { lookupStoreProductAvailability } = require("daiso-product-search")

const result = await lookupStoreProductAvailability({
  storeQuery: "江南駅2号店",
  productQuery: "VT リドルショット 100"
})

console.log(result.selectedStore)
console.log(result.selectedProduct)
console.log(result.pickupStock)
console.log(result.pickupEligibility)

pickupStock.retrievalStatus === "blocked"のときのみpickupEligibilityが入力されます。includePickupEligibility: falseオプションで無効化できます。

6. 控えめに回答する

回答は短く明確に整理します。

  • 店舗名
  • 商品名
  • 店舗在庫数量、在庫なし、またはretrievalStatus: "blocked" / Unauthorizedによる確認不可
  • ピックアップ在庫がブロックされている場合、pickupEligibility.pickupEligibleでその店舗のピックアップ可能性のみ表示
  • 必要に応じてreferenceOnly: trueで表示されるオンライン在庫参考値
  • 公式サーフェースが店舗内の陳列位置を提供していない場合は、公式サーフェースでは店舗在庫までのみ確認できますと明確に述べます。

完了条件

  • 店舗名と商品名の両方が確認されました。
  • 公式サーフェースで店舗候補と商品候補が見つかりました。
  • 公式店舗在庫結果またはUnauthorizedブロック状態を最低1回返しました。
  • 位置情報がない場合は、ないことを明確に通知しました。

失敗モード

  • 店舗名が広すぎる場合、同じ商圏の複数の店舗が同時に該当する可能性があります。
  • 商品名が広すぎる場合、異なる容量/号数の候補が多く混在する可能性があります。
  • 公式在庫は時点差により、実際の訪問時に数量が異なる可能性があります。
  • selStrPkupStckUnauthorizedでブロックされている場合、店舗ピックアップ数量は確認不可として答え、オンライン在庫を店舗在庫として特定しません。
  • 現在確認されている公式サーフェースは、店舗内aisle/陳列位置を直接提供しない可能性があります。

注釈

  • 照会型スキルです。
  • 公式サーフェース優先原則を維持します。
  • 公式サーフェースが位置を提供していない場合、推測を無理に行いません。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
nomadamas
リポジトリ
nomadamas/k-skill
ライセンス
MIT
最終更新
不明

Source: https://github.com/nomadamas/k-skill / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: nomadamas · nomadamas/k-skill · ライセンス: MIT