以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。
编程
Cliento Booker
试用Register Cliento booking pages via URL, check availability, and execute actual service bookings. Use when the user asks to book a haircut, reserve a service,...
它能做什么
You manage a persistent list of Cliento booking pages, check their availability, and execute actual bookings for the user. You maintain state using files located relative to your workspace: .
技能文档
Cliento Booker Skill
You manage a persistent list of Cliento booking pages, check their availability, and execute actual bookings for the user.
You maintain state using files located relative to your workspace: ./.cliento/stores.json.
Note: Calendar cross-referencing capabilities require you to be equipped with a separate, external calendar access tool.
Core Workflow
You execute up to 6 core actions depending on the user's request. Crucially: you must use the scripts/cliento.py tool instead of raw curl commands to prevent bash injection vectors when handling PII data.
Handling the Empty State
If ./.cliento/stores.json does not exist or is empty when the user asks to check availability, inform them that no stores are registered. Ask them to provide the public URL of a Cliento booking page to get started.
Action 1: Registering a Store
When the user provides a Cliento URL to register:
- Verify the URL is safe, then fetch the raw HTML by executing
python3 scripts/cliento.py register. - Parse the embedded Next.js JSON (inside ``) to extract the Company ID, available services, and barbers.
- Present the list to the user and ask them to select a service, a barber (or "Any"), and provide a memorable alias.
- Save the new store object to
./.cliento/stores.json.
Action 2 & 3: Checking Availability
When the user asks for an appointment:
- Read
./.cliento/stores.jsonto extract the saved store parameters. - Determine the target date range.
- Fetch the available slots via the script:
python3 scripts/cliento.py slots [resource_id]. - Calendar Cross-Reference: If you have access to a calendar tool, pull the user's schedule. Filter out Cliento slots that overlap with busy blocks, factoring in travel time requested by the user.
- Present the available time slots to the user.
Action 4: Reserving a Slot
To reserve a time slot (temporarily held for ~5 minutes):
- Execute the reservation POST request using the
slotKeyvia the script:python3 scripts/cliento.py reserve. - Parse the returned
cbUuid. Present the reservation details (expiration time, service, price) to the user. - Inform the user this is only a temporary hold and proceed immediately to Action 5.
Action 5: User Booking Preferences
Before finalizing, verify the user's contact details by checking the workspace USER.md file.
- If
USER.mddoes not contain them, ask the user for their First Name, Last Name, Phone Number (international format), and Email. - Ask if they want to permanently save these new details in
USER.mdfor future use. Only save them if the user explicitly agrees. - Ask if the user wants to include an optional note to the service provider.
Action 6: Confirming a Booking
Executing this action will finalize a live booking. Always ask the user if they are ready to proceed before doing this.
- Execute the confirmation POST sequence to finalize the booking using the script:
python3 scripts/cliento.py confirm "" "" "" "" "" "" - If the API returned that a Pin is required, the script output will notify you and you must ask the user for the pin, then append it to the args.
- Inform the user when the booking is successfully complete and
"emailConfirmSent": trueis verified.
Stores Format Example
./.cliento/stores.json:
[
{
"alias": "Barber",
"url": "https://cliento.com/business/barber-and-friends-1697/",
"company_id": "5qdvTnEGaI1BRv42GeTMUC",
"service_id": 33003,
"resource_id": null
}
]
Limitations & Disclaimer
- Slot reservation holds the time temporarily (~5 minutes).
- Fully automated booking is only supported for stores using the "NoPin" confirmation method.
- This skill interacts with undocumented, reverse-engineered API endpoints and may break at any time.
相关技能
诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。
从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。
在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。
把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。
编写、调试与调优 Playwright 测试,涵盖定位器策略、追踪诊断与 CI 友好的超时配置。
patello 的更多技能
浏览全部技能解析 Avanza 交易 CSV,计算 TWRR 与 Modified Dietz 收益率,并在本地 SQLite 数据库中跟踪组合持仓。
Fetch real-time SL (Stockholm public transport) departures and deviation information using a Python CLI tool. Use when checking departures, querying transit delays, or saving favorite sites and routes for quick status checks.
Process bank transaction CSV exports (Nordea, ICA), auto-categorize transactions using configurable rules, manage transaction links, and generate analytical database views.
Guides users through configuring OpenClaw, Nginx, and GitHub Actions to establish a secure, autonomous GitHub integration pipeline.
Log and track daily calorie intake, macronutrients, body weight, and waist measurements locally in a SQLite database. Provides granular statistics, weekly averages, and future calorie budgets.
Interact with the USDA FoodData Central (FDC) API to search for foods and retrieve detailed nutritional information. Use when the user asks to look up food n...