mcpField
P
pay-and-book

pay-and-book

github.com/justintravala其他054 次安装23 周前更新
代码仓库

关于 pay-and-book

pay-and-book 是供 Agent 完成酒店预订的协调技能,串联酒店搜索、钱包状态检查、付款与预订。它按顺序调用相关技能,并要求用户选择酒店、确认充值和付款。

主要功能

  1. 01协调酒店搜索与预订技能
  2. 02检查钱包认证和 USDC 余额
  3. 03按需展示房间价格方案
  4. 04要求用户选择酒店并确认付款
  5. 05汇总预订和交易信息

适用场景

  1. 01使用 USDC 预订酒店
  2. 02预订前检查钱包余额
  3. 03预订前比较房间方案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/justintravala/travel-skills --skill pay-and-book

安装后在 Claude Code 中输入/pay-and-book确认已加载。

详细介绍

支付并预订

端到端编排技能,将酒店搜索和链上支付整合为一个流程。这是一项元技能——它本身不会运行任何命令,而是按正确顺序协调其他技能。

适用场景

当用户希望一次性完成整个预订流程时,使用此技能:

  • “帮我预订下周末东京的酒店,用 USDC 支付”
  • “帮我找一家巴黎的四星级酒店,5 月 1 日至 5 日入住,用我的钱包预订”
  • “我需要一间涩谷附近的酒店,住 3 晚,整个流程都帮我处理”

如果用户明确希望逐步控制流程,请使用单项技能(search-hotel、book-hotel 等)。

完整流程

按顺序执行以下步骤。只有在某个步骤的前置条件已满足时,才跳过该步骤。

步骤 1:搜索酒店

使用 search-hotel 技能。向用户展示排名靠前的结果,并询问他们想选哪一家。不要替他们做决定。

步骤 2:(可选)展示房型选项

如果用户想查看某家特定酒店的不同价位方案,请使用 search-room 技能。否则,使用 search-hotel 返回的默认 packageId 即可。

步骤 3:确认钱包已准备就绪

身份验证前,检查当前状态:

npx awal@latest balance

分为三种情况:

  • 未通过身份验证 → 运行 coinbase/agentic-wallet-skills 中的 authenticate-wallet 技能。向用户询问电子邮箱;awal 会发送一次性密码(OTP)。
  • 已通过身份验证,但 USDC 少于预订总额 → 运行 fund 技能。计算资金缺口(booking_total - current_balance + small buffer),并告知用户需要充值多少。
  • 已通过身份验证且 USDC 充足 → 跳至步骤 4。
步骤 4:最终确认并预订

使用 book-hotel 技能。该技能会处理 x402 支付和确认。

步骤 5:总结

向用户简洁地回顾预订信息,包括预订 ID、支付总额(USDC)、交易哈希和取消截止时间。

决策树

User asks to book a hotel autonomously
  │
  ├─ Has destination + dates?
  │    No → ask once, gather both
  │    Yes ↓
  │
  ├─ search-hotel skill → present results
  │
  ├─ User picked a hotel?
  │    No → wait for choice
  │    Yes ↓
  │
  ├─ User wants to see other rate plans?
  │    Yes → search-room skill
  │    No ↓ (use default packageId)
  │
  ├─ Wallet authenticated?
  │    No → authenticate-wallet skill
  │    Yes ↓
  │
  ├─ USDC balance >= total + 5%?
  │    No → fund skill
  │    Yes ↓
  │
  ├─ User confirmed total + guest details?
  │    No → ask for guest details, summarize, confirm
  │    Yes ↓
  │
  └─ book-hotel skill (x402 pay) → confirm + recap

示例会话

User: Find me a hotel in Tokyo May 1-5 and book it with USDC

Agent: [search-hotel skill]
  → Presents 5 hotels

User: Book the Park Hyatt

Agent: [check wallet] → not authenticated
  → "Need to log in first. What email?"

User: [email protected]

Agent: [authenticate-wallet skill] → email OTP
User: OTP code is 123456
Agent: [authenticate-wallet completes]
  → "Logged in. Wallet balance: 0 USDC."
  → "You'll need 1,800 USDC for this booking. Want to fund the wallet?"

User: Yes, fund 2000

Agent: [fund skill] → onramp link
  → User completes onramp
  → "Wallet now has 2000 USDC."
  → "Ready to book Park Hyatt Tokyo, May 1-5, 1,800 USDC.
     What name/email for the guest?"

User: Nguyen Van A, [email protected]

Agent: → "Booking summary: ... Confirm? (yes/no)"
User: yes
Agent: [book-hotel skill — awal x402 pay]
  → "✅ Booked! BK_2026_05_001, paid 1,800 USDC, tx 0xabc..."

重要规则

  • 绝不要跳过用户选择环节。 即使搜索只返回一个显而易见的结果,也要展示给用户并等待确认。
  • 绝不要自动充值。 调用 fund 技能前务必征求用户同意——充值涉及用户的外部支付。
  • 绝不要自动付款。 最后的 book-hotel 步骤始终会展示摘要,并等待用户明确同意。
  • 如有任何信息不明确,请暂停并询问:日期、入住人数、酒店选择、住客信息或充值金额。
  • 用户可以在任何步骤中途更改要求(例如“其实,给我看看其他日期”)。请从相关的前置步骤重新开始。

引用的技能(必须已安装)

技能来源用途
search-hotel此软件包查找酒店
search-room此软件包(可选)查看价位方案
book-hotel此软件包x402 支付和预订
authenticate-walletcoinbase/agentic-wallet-skills通过电子邮箱 OTP 登录
fundcoinbase/agentic-wallet-skills通过 Coinbase Onramp 充值 USDC

如果未安装任何 Coinbase 技能,请告知用户:

此流程还需要 Coinbase 钱包技能。请使用以下命令安装:

npx skills add coinbase/agentic-wallet-skills

评论

支持 Markdown