← 返回 Skills 市场
danielzhangreal

book anything

作者 DanielZhangReal · GitHub ↗ · v1.4.2 · MIT-0
cross-platform ✓ 安全检测通过
103
总下载
1
收藏
0
当前安装
3
版本数
在 OpenClaw 中安装
/install book-anything
功能描述
Searches for businesses (restaurants, salons, clinics, hotels) and books appointments via AI phone calls. Also cancels, reschedules, and makes merchant inqui...
使用说明 (SKILL.md)

Book Anything — Search + AI Phone Booking

Search for any business, get full details, and book via an AI-powered phone call — all through a REST API.

Base URL: https://api-v2.lifeclaw.agentese.ai

Quick Start

BASE_URL="https://api-v2.lifeclaw.agentese.ai"

# 1. Search
curl -X POST "$BASE_URL/skill/search" \
  -H "Authorization: Bearer $LIFECLAW_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "sushi near Shibuya", "location": "Tokyo"}'

# 2. Get details + phone_ref
curl -X POST "$BASE_URL/skill/detail" \
  -H "Authorization: Bearer $LIFECLAW_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Sushi Dai", "cid": "12345678901234567"}'

# 3. Book by phone (only if phone_ref is not null)
curl -X POST "$BASE_URL/skill/book/phone" \
  -H "Authorization: Bearer $LIFECLAW_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"phone_ref": "\x3Cphone_ref from step 2>", "call_plan": {"purpose": "Book a table", "merchant_name": "Sushi Dai", "date": "2026-04-10", "time": "12:00", "party_size": 2, "name": "Alex"}}'

# 4. Poll until status != "pending" (use task_id from step 3 response)
curl "$BASE_URL/skill/task/{task_id}" \
  -H "Authorization: Bearer $LIFECLAW_API_TOKEN"

When to Use

  • User asks to find a business (restaurant, salon, clinic, hotel, etc.)
  • User wants to book / reserve something by phone
  • User wants to cancel or reschedule an existing reservation
  • User wants to ask a merchant a question (hours, menu, dress code, etc.)
  • User needs business details (phone number, hours, address, reviews)

Authentication

All requests require Authorization: Bearer \x3Ctoken> header.

Get a token: Message @lifeclaw_ai_bot on Telegram:

/token_create \x3Cname>

Store the token as environment variable LIFECLAW_API_TOKEN. Token is shown once only — save it immediately. Lost tokens cannot be recovered; create a new one with /token_create \x3Cname>.


Workflow: New Booking

Follow steps 1–4 in order. Do NOT skip steps.

Step 1 — Search

POST {base_url}/skill/search
{"query": "sushi near Shibuya", "location": "Tokyo", "language": "en", "limit": 5}

Response: list of places with cid and maps_url.

Step 2 — Get Details

POST {base_url}/skill/detail
{"name": "Sushi Dai", "cid": "12345678901234567", "language": "en"}

Key response fields:

  • phone_ref — signed token for booking. If null, phone booking is NOT available. Check phone_ref_unavailable_reason.
  • detail.phone — merchant phone for display only
  • booking_url — online booking link (if available)

When phone_ref is null: Do NOT call /skill/book/phone. Show detail.phone and booking_url to the user instead.

Step 3 — Book by Phone

Only call this if phone_ref is not null.

POST {base_url}/skill/book/phone
{
  "phone_ref": "\x3Cphone_ref from Step 2>",
  "call_plan": {
    "purpose": "Book a table at Sushi Dai",
    "merchant_name": "Sushi Dai",
    "date": "2026-04-10",
    "time": "12:00",
    "party_size": 2,
    "name": "Alex",
    "contact_phone": "+6591234567"
  }
}

The action field determines what the server does (book, cancel, reschedule, inquiry). purpose inside call_plan is a natural-language prompt for the AI caller — it does NOT affect routing.

call_plan fields (new booking):

  • Required: purpose, merchant_name, date, time, party_size, name
  • Recommended: contact_phone (E.164) — auto-formatted for voice readability
  • Optional: special_requests (string array), predicted_qa (array of {question, answer}), fallback_instructions
  • Ignored: language — do not set, auto-inferred from merchant phone

Returns {"task_id": {id}, "status": "pending", "poll_url": "/skill/task/{id}"}.

Step 4 — Poll Result

GET {base_url}/skill/task/{task_id}

Poll every 10 seconds until top-level status is no longer "pending". Do NOT use increasing delays — use a fixed 10-second interval. Timeout after 5 minutes.

Two-layer status: Top-level status (pending / completed / failed) indicates whether the task is still running. Inner result.status indicates the booking outcome. Only stop polling when top-level status != "pending"; only treat the operation as successful when result.status == "confirmed".

Result interpretation:

result.status Meaning Action
confirmed Booking succeeded Show confirmation to user
pending Merchant hasn't confirmed yet Tell user to wait for callback
rejected Merchant refused Suggest alternatives
failed Call failed (no answer, etc.) Show merchant phone for manual action

Workflow: Cancel / Reschedule

Uses the same /skill/book/phone endpoint with booking_id instead of phone_ref. Server auto-fills merchant phone and original booking details.

Step 1 — Get Booking History

GET {base_url}/skill/bookings?status=confirmed

Step 2 — Make the Call

Use the id from Step 1 as booking_id.

Cancel:

POST {base_url}/skill/book/phone
{"action": "cancel", "booking_id": 3, "call_plan": {"purpose": "Cancel reservation at Sushi Dai"}}

Reschedule:

POST {base_url}/skill/book/phone
{"action": "reschedule", "booking_id": 3, "call_plan": {"purpose": "Reschedule reservation at Sushi Dai", "new_date": "2026-04-12", "new_time": "20:00"}}

Provide new_date and/or new_time — only include the fields that are changing. For example, to change only the time, omit new_date.

Poll with Step 4 from the new booking workflow.

Step 3 — Update Booking Record

After polling completes and result.status == "confirmed", update the record:

PATCH {base_url}/skill/bookings/{booking_id}
{"status": "cancelled"}          // for cancel
{"booking_time": "2026-04-12 20:00"}  // for reschedule

Important: Booking records are client-managed. The server does NOT auto-update them based on call outcomes — you must call PATCH to write back the confirmed result.


Workflow: Inquiry

For general questions (hours, menu, dress code, parking) — no booking involved.

POST {base_url}/skill/book/phone
{"action": "inquiry", "phone_ref": "\x3Cphone_ref from /skill/detail>", "call_plan": {"purpose": "Ask about opening hours and dress code"}}

Poll with Step 4. Answer is in result.summary. No booking record is created.


Other Endpoints

  • Check balance: GET {base_url}/skill/balance
  • Booking history: GET {base_url}/skill/bookings?status=confirmed&limit=10

Edge Cases

  • phone_ref is null: Do NOT call /skill/book/phone. Show phone + booking_url instead.
  • Insufficient points (402): Response includes topup_url — direct user to top up.
  • Phone call fails: Show merchant phone for manual calling. Suggest booking_url if available.
  • No search results: Suggest broadening query or different location.
  • Polling > 5 min: Task likely timed out.

Privacy & Data Handling

This skill sends user-provided data (name, phone number, party size, special requests) to the LifeClaw API (api-v2.lifeclaw.agentese.ai) to perform bookings on the user's behalf. This data is:

  • Used solely to complete the requested booking via phone call or online reservation
  • Not shared with third parties beyond the merchant being called
  • Not used for advertising or profiling
  • Retained only as booking records accessible to the token owner

API tokens are scoped to the creating user and can be revoked at any time via @lifeclaw_ai_bot with /token_revoke \x3Cname>.

For questions about data handling, contact: https://t.me/agenteseAI

API Reference

See references/api.md for complete request/response schemas and error codes.

安全使用建议
This skill is internally consistent with its stated purpose, but it relies entirely on an external service you must trust. Before installing: (1) Confirm you trust https://api-v2.lifeclaw.agentese.ai and the LifeClaw operator (the token provider is a Telegram bot). (2) Understand that bookings will send personal data (name, contact phone, possibly special requests) and that the service will place real phone calls on your behalf; check privacy, data retention, and whether calls are recorded. (3) Be aware of pricing (phone calls are billed by the minute) and potential costs on your account. (4) Store the LIFECLAW_API_TOKEN securely, use a dedicated token/account if possible, and know how to revoke/rotate it (via the Telegram bot). (5) Because there is no code to inspect, you cannot audit the backend behavior — treat this as a network-exposing integration and limit use if you have sensitive requirements. If you need higher assurance, request the service's privacy/security documentation or use a sandbox/dummy token first.
功能分析
Type: OpenClaw Skill Name: book-anything Version: 1.4.2 The skill provides a legitimate interface for searching businesses and making AI-powered phone bookings via the LifeClaw API (api-v2.lifeclaw.agentese.ai). It requires a user-provided API token (LIFECLAW_API_TOKEN) and handles standard booking data such as names and phone numbers as expected for its stated purpose. The documentation in SKILL.md and references/api.md is thorough, providing clear operational constraints for the AI agent without any evidence of malicious intent, unauthorized data exfiltration, or harmful prompt injection.
能力评估
Purpose & Capability
Name/description (book restaurants, salons, etc. via AI phone calls) align with the runtime instructions and required environment variable. Requiring a LIFECLAW_API_TOKEN is appropriate for a third‑party booking API; no unrelated credentials or system binaries are requested.
Instruction Scope
SKILL.md is instruction-only and tells the agent to call the LifeClaw REST API (search, detail, book/phone, poll results). That matches the stated purpose, but the instructions explicitly require sending user-supplied PII (name, contact_phone, booking details) to the external service and will initiate phone calls. The skill also instructs getting tokens via a Telegram bot. There are no instructions to read local files or secrets beyond the declared LIFECLAW_API_TOKEN.
Install Mechanism
No install spec or code is included (instruction-only), so the skill writes nothing to disk and does not pull external binaries. This is the lowest install risk.
Credentials
Only a single credential (LIFECLAW_API_TOKEN) is required and is the primary credential used for Authorization header. No additional unrelated environment variables or config paths are requested. The token will be sent to the documented LifeClaw API endpoint as expected.
Persistence & Privilege
always is false (no forced inclusion) and model invocation is allowed (default). The skill does not request elevated system persistence or modify other skills' configs. Autonomous invocation is normal here and not combined with other privilege red flags.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install book-anything
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /book-anything 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.4.2
- Added Clawdbot metadata block, including emoji and environment variable requirements, to support platform integration. - Clarified required environment variable (`LIFECLAW_API_TOKEN`) in metadata for improved setup guidance. - No changes to core functionality or API workflows.
v1.4.1
- Added explicit homepage and credentials block, specifying environment variable usage for authentication. - Updated version to 1.4.1. - Clarified token storage: use environment variable `LIFECLAW_API_TOKEN` (config file option removed). - Credentials guidance now references updated Telegram instructions. - No breaking changes to endpoints or core functionality.
v1.4.0
- Added support for AI-powered phone bookings, cancellations, reschedules, and merchant inquiries for any business using a standardized API workflow. - The AI phone caller now automatically matches the merchant's language; the skill supports business interactions in any language. - Improved API workflows: clear, step-by-step instructions for searching, booking, polling task status, and updating booking records. - Enhanced error handling for edge cases (insufficient points, phone booking not available, polling timeouts). - Option to make general merchant inquiries (non-booking) by phone. - Documentation expanded with sample payloads, guidance for managing API tokens, and details for working with booking history and account balance.
元数据
Slug book-anything
版本 1.4.2
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 3
常见问题

book anything 是什么?

Searches for businesses (restaurants, salons, clinics, hotels) and books appointments via AI phone calls. Also cancels, reschedules, and makes merchant inqui... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 103 次。

如何安装 book anything?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install book-anything」即可一键安装,无需额外配置。

book anything 是免费的吗?

是的,book anything 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

book anything 支持哪些平台?

book anything 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 book anything?

由 DanielZhangReal(@danielzhangreal)开发并维护,当前版本 v1.4.2。

💬 留言讨论