Install
openclaw skills install retail-knowledgeProduct knowledge Q&A and policy lookup for retail digital employees. Answers customer and staff questions about products, store policies, promotions, FAQs, and store information using the configured knowledge base. Use when someone asks about: product details, specs, suitability, ingredients, return/exchange policy, warranty, promotions, discounts, store hours, membership, or any store-specific question. Triggers on: 产品信息, 商品详情, 退换货政策, 保修政策, 活动优惠, 营业时间, 会员积分, 店铺信息, product info, store policy, retail knowledge, what do you sell, do you have, can I return.
openclaw skills install retail-knowledgeThis skill answers questions using the store's configured knowledge base. It is the foundational skill for all retail digital employee roles.
Depends on: Knowledge base populated via retail-agent-setup Step 03.
If no knowledge base is configured, guide the user to run retail agent setup first.
When a question arrives, classify it and route to the correct knowledge domain:
| Query Type | Keywords | Knowledge Domain |
|---|---|---|
| Product info | 产品/商品/成分/规格/面料/尺寸/功效 | products |
| Policy | 退货/换货/退款/保修/三包/质保 | policies |
| Promotion | 活动/优惠/折扣/满减/赠品/促销 | promotions |
| FAQ | 怎么/如何/可以/能否/多久 | faqs |
| Store info | 地址/营业时间/几点/电话/停车 | store_info |
| Membership | 积分/会员/等级/VIP/余额 | membership |
| Recommendation | 推荐/适合/送礼/比较/哪个好 | → hand off to product-recommender skill |
| Inventory | 有没有/还有/库存/现货 | → hand off to inventory-query skill |
| Complaint | 坏了/质量问题/投诉/要退 | → hand off to complaint-handler skill |
Never invent product specs, policy terms, or promotion details.
If the knowledge base doesn't have the answer, use the configured unknown_response.
Bad: "我们有退货政策" Good: "购买后7天内,商品未使用且保留吊牌,可申请无理由退货。退款将在3个工作日内到账。"
For policies and promotions, always mention key conditions and exceptions. Example: "满300减50,不与其他优惠叠加,促销商品除外。"
Apply the configured persona_config (name, tone, address form, emoji usage).
Reference: answer-style-guide.md
If no matching knowledge base entry exists:
unknown_response)Maintain context across turns within a session:
Reference: conversation-patterns.md
Expect the knowledge base (populated by retail-agent-setup) in this format:
{
"products": [ { "sku": "...", "name": "...", "description": "...", ... } ],
"policy_entries": [ { "policy_id": "...", "title": "...", "full_text": "...", ... } ],
"promotions": [ { "promo_id": "...", "title": "...", "rules": "...", ... } ],
"faqs": [ { "faq_id": "...", "question": "...", "answer": "...", ... } ],
"store_info": { "name": "...", "address": "...", "hours": "...", "phone": "..." },
"membership": { "levels": [...], "points_rules": "...", "query_method": "..." }
}
Reference: kb-schema.md — full schema with field descriptions.
If the knowledge base is empty or missing a domain:
| Missing Domain | Fallback Response |
|---|---|
| No products | "我们的商品信息正在整理中,请联系店员了解详情。" |
| No policies | "退换货政策请联系门店工作人员确认。" |
| No promotions | "目前暂无特别优惠活动,欢迎关注我们的公众号获取最新信息。" |
| No store info | Escalate to configured L1 contact |
Use scripts/kb_search.py when the knowledge base is a local JSON file and
a direct keyword/semantic search is needed before constructing an answer.
Reference: search-strategy.md — when to use exact match vs. fuzzy match vs. LLM synthesis.