pancake-skills

Review·Scanned 2/18/2026

This skill provides a Bash-based client to interact with the Pancake Platform API (https://pages.fm) for pages, conversations, messages, customers, statistics, uploads, and chat plugin operations. It reads USER_ACCESS_TOKEN and PAGE_ACCESS_TOKEN, runs bash scripts/pancake.sh, and makes HTTP requests to https://pages.fm/api/....

from clawhub.ai·vcfadc33·132.7 KB·0 installs
Scanned from 1.0.0 at cfadc33 · Transparency log ↗
$ vett add clawhub.ai/suminhthanh/pancake-skillsReview findings below

pancake-skills

Claude Code skill for interacting with the Pancake Platform API - a multi-channel sales management platform.

Installation

Copy the skill directory to your Claude skills folder:

cp -r pancake-skills ~/.claude/skills/

Environment Variables

Required

VariableDescriptionHow to obtain
USER_ACCESS_TOKENPersonal access token (90-day validity)Account → Personal Settings
PAGE_ACCESS_TOKENPage access token (no expiration)Page Settings → Tools

Optional

VariableDefaultDescription
PANCAKE_BASE_URLhttps://pages.fmOverride API base URL
CONFIRM_WRITE-Set to YES to allow write operations

Quick Start

List your pages

export USER_ACCESS_TOKEN="your_token"
bash scripts/pancake.sh pages-list

List conversations

export PAGE_ACCESS_TOKEN="your_page_token"
bash scripts/pancake.sh conversations-list 123456789

Send a message

export PAGE_ACCESS_TOKEN="your_page_token"
export CONFIRM_WRITE=YES

echo '{"action":"reply_inbox","message":"Hello!"}' | \
  bash scripts/pancake.sh messages-send 123456789 conversation_id

Available Commands

Pages

CommandDescription
pages-listList all pages
pages-generate-token PAGE_IDGenerate page access token

Conversations

CommandDescription
conversations-list PAGE_ID [QUERY]List conversations
conversations-tag PAGE_ID CONV_IDAdd/remove tag (stdin: JSON)
conversations-assign PAGE_ID CONV_IDAssign staff (stdin: JSON)
conversations-read PAGE_ID CONV_IDMark as read
conversations-unread PAGE_ID CONV_IDMark as unread

Messages

CommandDescription
messages-list PAGE_ID CONV_ID [COUNT]Get messages
messages-send PAGE_ID CONV_IDSend message (stdin: JSON)

Customers

CommandDescription
customers-list PAGE_ID SINCE UNTIL PAGE [SIZE] [ORDER]List customers
customers-update PAGE_ID CUST_IDUpdate customer (stdin: JSON)
customers-add-note PAGE_ID CUST_IDAdd note (stdin: JSON)
customers-update-note PAGE_ID CUST_IDUpdate note (stdin: JSON)
customers-delete-note PAGE_ID CUST_IDDelete note (stdin: JSON)

Statistics

CommandDescription
stats-campaigns PAGE_ID SINCE UNTILAds campaign stats
stats-ads PAGE_ID SINCE UNTIL TYPEAds stats (by_id/by_time)
stats-engagement PAGE_ID DATE_RANGE [BY_HOUR]Engagement stats
stats-page PAGE_ID SINCE UNTILPage stats
stats-tags PAGE_ID SINCE UNTILTag stats
stats-users PAGE_ID DATE_RANGEUser stats
stats-new-customers PAGE_ID DATE_RANGE [GROUP]New customer stats

Tags, Posts, Users

CommandDescription
tags-list PAGE_IDList all tags
posts-list PAGE_ID SINCE UNTIL PAGE SIZE [TYPE]List posts
users-list PAGE_IDList staff
users-round-robin PAGE_IDUpdate round robin (stdin: JSON)

Other

CommandDescription
call-logs PAGE_ID SIP_ID PAGE SIZE [SINCE] [UNTIL]Get call logs
export-ads-conversations PAGE_ID SINCE UNTIL [OFFSET]Export ads conversations
upload PAGE_ID FILE_PATHUpload media
chat-plugin-send PAGE_IDSend chat plugin message (stdin: JSON)
chat-plugin-messages PAGE_ID CONV_ID [OFFSET]Get chat plugin messages

Message Types

Inbox Message

{
  "action": "reply_inbox",
  "message": "Your text message"
}

Inbox with Attachment

{
  "action": "reply_inbox",
  "content_ids": ["content_id_from_upload"]
}

Important: message and content_ids are mutually exclusive. Do not send both.

Reply to Comment

{
  "action": "reply_comment",
  "message_id": "comment_id",
  "message": "Your reply"
}

Private Reply

{
  "action": "private_replies",
  "post_id": "post_id",
  "message_id": "comment_id",
  "message": "Your private message"
}

Safety Features

  • Write Protection: All write operations require CONFIRM_WRITE=YES
  • Token Security: Tokens are URL-encoded automatically
  • Validation: Clear error messages for missing required parameters

API Reference

Full OpenAPI specification is available at references/openapi-pancake.yaml.

License

MIT


Tiếng Việt

Giới thiệu

Claude Code skill để tương tác với Pancake Platform API - nền tảng quản lý bán hàng đa kênh.

Cài đặt

Copy thư mục skill vào folder skills của Claude:

cp -r pancake-skills ~/.claude/skills/

Biến môi trường

Bắt buộc

BiếnMô tảCách lấy
USER_ACCESS_TOKENToken cá nhân (hiệu lực 90 ngày)Account → Personal Settings
PAGE_ACCESS_TOKENToken của page (không hết hạn)Page Settings → Tools

Tuỳ chọn

BiếnMặc địnhMô tả
PANCAKE_BASE_URLhttps://pages.fmGhi đè URL API
CONFIRM_WRITE-Đặt YES để cho phép thao tác ghi

Bắt đầu nhanh

Liệt kê pages

export USER_ACCESS_TOKEN="token_của_bạn"
bash scripts/pancake.sh pages-list

Liệt kê conversations

export PAGE_ACCESS_TOKEN="token_page_của_bạn"
bash scripts/pancake.sh conversations-list 123456789

Gửi tin nhắn

export PAGE_ACCESS_TOKEN="token_page_của_bạn"
export CONFIRM_WRITE=YES

echo '{"action":"reply_inbox","message":"Xin chào!"}' | \
  bash scripts/pancake.sh messages-send 123456789 conversation_id

Các lệnh có sẵn

Pages

LệnhMô tả
pages-listLiệt kê tất cả pages
pages-generate-token PAGE_IDTạo page access token

Conversations

LệnhMô tả
conversations-list PAGE_ID [QUERY]Liệt kê conversations
conversations-tag PAGE_ID CONV_IDThêm/xóa tag (stdin: JSON)
conversations-assign PAGE_ID CONV_IDGán nhân viên (stdin: JSON)
conversations-read PAGE_ID CONV_IDĐánh dấu đã đọc
conversations-unread PAGE_ID CONV_IDĐánh dấu chưa đọc

Messages

LệnhMô tả
messages-list PAGE_ID CONV_ID [COUNT]Lấy tin nhắn
messages-send PAGE_ID CONV_IDGửi tin nhắn (stdin: JSON)

Customers

LệnhMô tả
customers-list PAGE_ID SINCE UNTIL PAGE [SIZE] [ORDER]Liệt kê khách hàng
customers-update PAGE_ID CUST_IDCập nhật khách hàng (stdin: JSON)
customers-add-note PAGE_ID CUST_IDThêm ghi chú (stdin: JSON)
customers-update-note PAGE_ID CUST_IDSửa ghi chú (stdin: JSON)
customers-delete-note PAGE_ID CUST_IDXóa ghi chú (stdin: JSON)

Statistics

LệnhMô tả
stats-campaigns PAGE_ID SINCE UNTILThống kê chiến dịch quảng cáo
stats-ads PAGE_ID SINCE UNTIL TYPEThống kê quảng cáo (by_id/by_time)
stats-engagement PAGE_ID DATE_RANGE [BY_HOUR]Thống kê tương tác
stats-page PAGE_ID SINCE UNTILThống kê page
stats-tags PAGE_ID SINCE UNTILThống kê tags
stats-users PAGE_ID DATE_RANGEThống kê users
stats-new-customers PAGE_ID DATE_RANGE [GROUP]Thống kê khách hàng mới

Tags, Posts, Users

LệnhMô tả
tags-list PAGE_IDLiệt kê tất cả tags
posts-list PAGE_ID SINCE UNTIL PAGE SIZE [TYPE]Liệt kê bài viết
users-list PAGE_IDLiệt kê nhân viên
users-round-robin PAGE_IDCập nhật round robin (stdin: JSON)

Khác

LệnhMô tả
call-logs PAGE_ID SIP_ID PAGE SIZE [SINCE] [UNTIL]Lấy lịch sử cuộc gọi
export-ads-conversations PAGE_ID SINCE UNTIL [OFFSET]Export conversations từ ads
upload PAGE_ID FILE_PATHUpload media
chat-plugin-send PAGE_IDGửi tin nhắn chat plugin (stdin: JSON)
chat-plugin-messages PAGE_ID CONV_ID [OFFSET]Lấy tin nhắn chat plugin

Các loại tin nhắn

Tin nhắn Inbox

{
  "action": "reply_inbox",
  "message": "Nội dung tin nhắn"
}

Inbox với Attachment

{
  "action": "reply_inbox",
  "content_ids": ["content_id_từ_upload"]
}

Quan trọng: messagecontent_idsMUTUALLY EXCLUSIVE - không được gửi cả hai cùng lúc.

Trả lời Comment

{
  "action": "reply_comment",
  "message_id": "comment_id",
  "message": "Nội dung trả lời"
}

Private Reply

{
  "action": "private_replies",
  "post_id": "post_id",
  "message_id": "comment_id",
  "message": "Tin nhắn riêng tư"
}

Tính năng an toàn

  • Bảo vệ ghi: Tất cả thao tác ghi yêu cầu CONFIRM_WRITE=YES
  • Bảo mật token: Token được URL-encode tự động
  • Xác thực: Thông báo lỗi rõ ràng khi thiếu tham số bắt buộc

Tham chiếu API

Xem đầy đủ OpenAPI specification tại references/openapi-pancake.yaml.