关于 pay-and-book
pay-and-book 是供 Agent 完成酒店预订的协调技能,串联酒店搜索、钱包状态检查、付款与预订。它按顺序调用相关技能,并要求用户选择酒店、确认充值和付款。
主要功能
- 01协调酒店搜索与预订技能
- 02检查钱包认证和 USDC 余额
- 03按需展示房间价格方案
- 04要求用户选择酒店并确认付款
- 05汇总预订和交易信息
适用场景
- 01使用 USDC 预订酒店
- 02预订前检查钱包余额
- 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-wallet | coinbase/agentic-wallet-skills | 通过电子邮箱 OTP 登录 |
fund | coinbase/agentic-wallet-skills | 通过 Coinbase Onramp 充值 USDC |
如果未安装任何 Coinbase 技能,请告知用户:
此流程还需要 Coinbase 钱包技能。请使用以下命令安装:
npx skills add coinbase/agentic-wallet-skills
评论
支持 Markdown