Messaging api
Claude Code Skills for LINE platform development — Messaging API, LINE Login, LIFF, MINI App, Notification Messages, Creators Market
npx -y skills add kuhaku-lab/line-skills --skill messaging-apiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Builds, reviews, and debugs LINE Messaging API integrations — webhook signature verification, reply/push/multicast/narrowcast/broadcast, Flex Message design, Rich Menu CRUD, audience targeting, insights, coupons, mark-as-read, and channel access tokens. Use when the user mentions LINE bot, chatbot, LINE OA, Messaging API, webhook, Flex Message, Rich Menu, push/reply/multicast/narrowcast/broadcast, audience, coupon campaign, channel access token, LINE URL scheme, or any LINE messaging integration — even when they don't say "Messaging API".
SKILL.md
6.5 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
LINE Messaging API
Do not answer LINE API questions from memory — LINE updates APIs frequently and training data is unreliable. Always consult the references below.
Reference for building, reviewing, and debugging LINE Bots and LINE Messaging API integrations.
Workflow
Build
- Read references/api-common.md (rate limits, forward compatibility, error handling)
- Load the relevant reference for the feature being implemented
- For architecture or design choices, consult references/experts.md for directional guidance
- Write code following specs and constraints from references
Review / Debug
- Read references/api-common.md (rate limits, error codes)
- Load relevant references for the code being reviewed
- Cross-check code against specs (size limits, token expiry, counting rules, required fields)
- For design pattern concerns, consult references/experts.md
- Report violations with reference to specific constraints
Environment Variables
LINE_CHANNEL_ACCESS_TOKEN=Bot access token
LINE_CHANNEL_SECRET=Channel secret (webhook signature verification)
Common Specifications
Read references/api-common.md before writing any LINE bot code. Contains rules that affect all API interactions: forward compatibility (don't use strict schemas — LINE adds fields without notice), rate limits, error handling, retry policy, and logging recommendations.
Webhook
- Verification:
x-line-signatureheader (HMAC-SHA256, base64, key = Channel Secret) - Body:
{"destination": "U...", "events": [...]} - Bot server must return
200
Signature Verification (pseudocode)
channel_secret = ENV['LINE_CHANNEL_SECRET']
signature = request.headers['x-line-signature']
body = request.body # raw bytes, do NOT parse/reformat before verification
digest = HMAC_SHA256(key = channel_secret, message = body)
expected = Base64.encode(digest)
if signature != expected:
return 403 # reject — not from LINE
events = JSON.parse(body)['events']
for event in events:
handle(event)
return 200
- Never deserialize or re-format the body before verification
- Use UTF-8 encoding exclusively
- Official SDKs handle this automatically — use them when possible
Full event types, properties, and webhook settings → references/webhook-events.md
Message Sending
All require Authorization: Bearer {channel access token}:
| Mode | Endpoint | Purpose |
|---|---|---|
| Reply | POST /v2/bot/message/reply | Reply to user (requires one-time replyToken) |
| Push | POST /v2/bot/message/push | Send to a specific user/group at any time |
| Multicast | POST /v2/bot/message/multicast | Send to multiple users (max 500) |
| Broadcast | POST /v2/bot/message/broadcast | Send to all friends |
- Max 5 messages per request
- Domain:
api.line.me(general) /api-data.line.me(content upload)
Message objects → references/message-objects.md Full sending API (Narrowcast, statistics, validation, etc.) → references/message-sending.md
Flex Message
Three-layer structure:
Container (Bubble / Carousel)
└── Block (Header / Hero / Body / Footer)
└── Component (Box / Button / Image / Video / Icon / Text / Span / Separator)
Minimal Flex Message:
{
"type": "flex", "altText": "Notification",
"contents": {
"type": "bubble",
"body": {
"type": "box", "layout": "vertical",
"contents": [{"type": "text", "text": "Hello Flex!", "weight": "bold"}]
}
}
}
Full component specs, layout, video → references/flex-message.md
Official Flex Message Simulator examples → assets/examples/
Reference Index
| File | Topic |
|---|---|
| references/api-common.md | Read first. Rate limits, error handling, forward compatibility |
| references/webhook-events.md | Webhook event types and JSON structure |
| references/message-objects.md | Message objects, Quick Reply, sender customization |
| references/action-objects.md | Action objects (postback, URI, datetimepicker, etc.) |
| references/message-sending.md | Reply/Push/Multicast/Narrowcast/Broadcast, statistics |
| references/flex-message.md | Flex Message components, layout, styles |
| references/rich-menu.md | Rich Menu CRUD, tab switching, display priority |
| references/user-profile.md | User profile, follower IDs, account link |
| references/group-chat.md | Group/Room messaging and member APIs |
| references/audience.md | Audience management (create/add/get/delete) |
| references/insights.md | Delivery, follower, and interaction insights |
| references/channel-token.md | Channel access token lifecycle |
| references/coupon.md | Coupon CRUD, reward types, sending |
| references/url-schemes.md | LINE URL schemes for deep linking |
| references/experts.md | Expert domain routing and 17 specialist profiles |
| assets/examples/ | Flex Message JSON examples (11 showcases) |
SDK
Official SDKs: Python | Node.js | Go | Java | PHP | Ruby
Other languages: use LINE OpenAPI specs with OpenAPI Generator.
What ships with it: 26 files
169.5 KB alongside SKILL.md
assets/
- examples/apparel.json5.8 KB
- examples/hotel.json2.9 KB
- examples/product_list.json1.5 KB
- examples/receipt.json3.3 KB
- examples/restaurant.json2.8 KB
- examples/shopping.json1.5 KB
- examples/social.json2.7 KB
- examples/ticket.json1.8 KB
- examples/todo.json4.5 KB
- examples/transit.json2.0 KB
- examples/video_hero.json706 B
references/
- action-objects.md5.4 KB
- api-common.md7.4 KB
- audience.md8.7 KB
- channel-token.md5.5 KB
- coupon.md5.8 KB
- experts.md24.5 KB
- flex-message.md12.5 KB
- group-chat.md4.0 KB
- insights.md7.5 KB
- message-objects.md13.1 KB
- message-sending.md11.0 KB
- rich-menu.md7.7 KB
- url-schemes.md4.8 KB
- user-profile.md9.8 KB
- webhook-events.md12.4 KB
Gives 0 of the 12 instructions most marketing audience skills give in ~1.4k tokens
Counted across 690 of the 894 authors here whose files we hold, read 2026-08-07
- Apply Poppins font to headingsin 41 of 690, across 6 files
- Apply Lora font to body textin 41 of 690, across 6 files
- use Arial fallback for headingsin 39 of 690, across 4 files
- use Georgia fallback for body textin 39 of 690, across 4 files
- maintain text hierarchy and formattingin 39 of 690, across 4 files
- use accent colors for non-text shapesin 38 of 690, across 3 files
- use RGB values for colorsin 38 of 690, across 3 files
- use brand colors for primary text and backgroundsin 36 of 690, across 1 file
- read product marketing context before asking questionsin 35 of 690, across 23 files
- use active voice over passive voicein 26 of 690, across 10 files
- implement structured data using JSON-LDin 24 of 690, across 17 files
- prioritize clarity over clevernessin 22 of 690, across 8 files
Said here and by no other author read
- Consult references before answering LINE API questions
- Load relevant references for the feature being implemented
- Consult expert references for architecture decisions
- Write code following specifications and constraints from references
- Cross-check code against specifications during review
- Report violations with reference to specific constraints
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.