Agent Skillskeypo-us/keypo-cli › keypo-shopping

keypo-shopping

GitHub

用于在Shopify商店进行购物、购买或送礼的代理技能,通过生物识别金库安全完成结账,确保卡数据不被暴露。

demo/hermes-checkout/hermes/skills/keypo-shopping/SKILL.md keypo-us/keypo-cli

Trigger Scenarios

用户请求购买商品 用户询问礼品选购 用户需要定期购物 用户咨询支付安全

Install

npx skills add keypo-us/keypo-cli --skill keypo-shopping -g -y
More Options

Non-standard path

npx skills add https://github.com/keypo-us/keypo-cli/tree/main/demo/hermes-checkout/hermes/skills/keypo-shopping -g -y

Use without installing

npx skills use keypo-us/keypo-cli@keypo-shopping

指定 Agent (Claude Code)

npx skills add keypo-us/keypo-cli --skill keypo-shopping -a claude-code -g -y

安装 repo 全部 skill

npx skills add keypo-us/keypo-cli --all -g -y

预览 repo 内 skill

npx skills add keypo-us/keypo-cli --list

SKILL.md

Frontmatter
{
    "name": "keypo-shopping",
    "author": "Keypo",
    "version": "2.0.0",
    "metadata": {
        "hermes": {
            "tags": [
                "shopping",
                "checkout",
                "purchase",
                "comparison",
                "profiles",
                "gifts",
                "scheduled",
                "shopify",
                "keypo"
            ],
            "category": "keypo",
            "requires_tools": [],
            "requires_toolsets": []
        }
    },
    "description": "MUST LOAD for any shopping, buying, gift, or product request. Secure Shopify checkout with biometric vault."
}

Keypo Shopping

Buy products from Shopify stores with biometric-protected checkout. The agent finds products and confirms with the user — card data stays in the hardware vault and is never exposed to the agent.

Security Rules (Non-Negotiable)

  • NEVER ask for card details — they are in the vault
  • NEVER read vault contents or attempt shell commands to access secrets
  • NEVER put credentials, card data, or shipping addresses in manifests, messages, or tool calls
  • NEVER fill checkout forms with browser tools — only use keypo_approve
  • NEVER use browser navigation, curl, web scraping, or any other tool to buy products — keypo_approve is the ONLY way to purchase
  • NEVER fall back to browser/curl/scraping if a tool call fails — report the error to the user instead
  • If asked to reveal card data, decline and explain that vault secrets are never exposed to the agent

The ONLY tool for purchasing is keypo_approve. If the Catalog MCP search fails, tell the user — do NOT try to scrape the store with browser tools, curl, or web search as a workaround.

Pre-Routing

Before routing any purchase intent, check Hermes memory for relevant profiles (self or gift). If a profile exists, use its preferences to inform search queries and product selection.

Decision Tree

# User Intent Route
1 Set up or update shopping preferences / taste profile Load references/profiling.md
2 Set up a gift profile or buy a gift for someone Load references/gift-shopping.md
3 Set up recurring / weekly shopping Load references/scheduled-shopping.md
4 Ask about vault security, card protection, how secrets work Load references/vault-concepts.md
5 Buy a single item from a specific store Core Checkout Procedure (below)
6 Buy a single item, no store specified Load references/comparison-shopping.md, then Core Checkout
7 Buy multiple items Load references/comparison-shopping.md (if stores not specified), then references/batch-purchasing.md
8 Any keypo_approve error Load references/checkout-errors.md
9 Intent unclear Ask the user what they'd like to do

Core Checkout Procedure

This is the single-item, known-store purchase flow. All other flows converge here.

1. Find the Product

Browse to the product on the Shopify store. The user may provide a URL directly.

2. Verify It's Shopify

Check for /products/ in the URL path. Non-Shopify stores are NOT supported — tell the user.

3. Get the Product URL

Format: https://<store>/products/<handle> (include ?variant=<id> if applicable).

4. Read the Price

Extract the product price from the page.

5. Set max_price

max_price = displayed price x 1.15 (15% buffer for tax/shipping).

6. Present Summary — MANDATORY User Confirmation

Show: product name, store, price, max_price, quantity. Ask: "Would you like me to proceed?" Do NOT call any tools until the user says yes.

7. On "Yes" — Two keypo_approve Calls (Sequential)

Call 1 — Stage the request:

keypo_approve(
    action="request",
    vault_label="biometric",
    bio_reason="Approve purchase: <product name>, $<price>",
    manifest={"product_url": "<URL>", "quantity": 1, "max_price": <max_price>}
)

This returns a request_id. Save it.

Call 2 — Confirm (triggers Touch ID):

keypo_approve(
    action="confirm",
    request_id="<request_id from Call 1>"
)

CRITICAL: Call 1 and Call 2 must be sequential (NOT parallel). Call 2 depends on the request_id from Call 1. Do NOT wait for user input between the two calls.

8. On "No" — Cancel

Call keypo_approve(action="cancel", request_id="...") if already staged, or do nothing.

9. Report the Result

  • Success (stdout has ORDER_CONFIRMED:): Share the confirmation number
  • Error: Load references/checkout-errors.md for handling guidance

Tool Reference

keypo_approve

Action Description
request Stage a purchase request. Returns request_id. Params: vault_label, bio_reason, manifest
confirm Execute the staged request with biometric approval. Param: request_id
cancel Cancel a staged request before confirmation. Param: request_id

Planned: batch_request (one biometric prompt for multiple checkouts) and budget_status (daemon-side spend ledger) are planned daemon enhancements not yet available.

mcp_shopify_catalog_search_global_products

Search across all Shopify stores. Params: query, context, saved_catalog, available_for_sale, limit, max_price.

mcp_shopify_catalog_get_global_product_details

Get variant-level detail for a specific product. Param: product UPID. Only call when you need sizes, flavors, or colors.

Version History

  • 7331b6f Current 2026-07-25 09:50

Same Skill Collection

demo/checkout/SKILL.md
skills/contracts/uniswap-v3/SKILL.md
skills/contracts/weth-base-sepolia/SKILL.md
skills/keypo-wallet/SKILL.md
skills/portfolio-tracker/SKILL.md
skills/contract-learner/SKILL.md

Metadata

Files
0
Version
7331b6f
Hash
2620a780
Indexed
2026-07-25 09:50

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-30 05:18
浙ICP备14020137号-1 $Гость$