This 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 TypeKeywordsKnowledge DomainProduct info产品/商品/成分/规格/面料/尺寸/功效productsPolicy退货/换货/退款/保修/三包/质保policiesPromotion活动/优惠/折扣/满减/赠品/促销promotionsFAQ怎么/如何/可以/能否/多久faqsStore info地址/营业时间/几点/电话/停车store_infoMembership积分/会员/等级/VIP/余额membershipRecommendation推荐/适合/送礼/比较/哪个好→ hand off to product-recommender skillInventory有没有/还有/库存/现货→ hand off to inventory-query skillComplaint坏了/质量问题/投诉/要退→ 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:
json
{
"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 DomainFallback ResponseNo products"我们的商品信息正在整理中,请联系店员了解详情。"No policies"退换货政策请联系门店工作人员确认。"No promotions"目前暂无特别优惠活动,欢迎关注我们的公众号获取最新信息。"No store infoEscalate 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.