Read TikTok via API v2: your profile and video list. Posting is approval-gated and not shipped. Trigger phrases: tiktok, my tiktok, tiktok profile, tiktok videos.
npx skills add https://github.com/Anil-matcha/awesome-muse-connectors --skill tiktok
Read TikTok through the TikTok API v2: the authorized user's profile and their video list with view/like/comment counts. Approval-gated platform, read-only by design: TikTok requires app review and approval before API access works at all, and most apps cannot post videos without additional TikTok approval. This connector therefore ships only auth, me, and videos. There is no video-post command, and posting must never be claimed to work until a live call against an approved app proves it. Reach for this when the user wants to look at their TikTok profile or video stats from chat.
All commands go through bin/tiktok.py (read-only):
bin/tiktok.py auth # verify the OAuth token
bin/tiktok.py me # authorized user's profile
bin/tiktok.py videos --limit 20 # list the user's videos with stats
bin/tiktok.py videos --limit 20 --cursor CURSOR # next page
tiktok (credential is collected as custom.tiktok)credentials.request_api_access); the runtime performs the token exchange/refresh and hands the CLI a fresh Bearer tokenuser.info.basic, video.list. Honesty flag: exact scope names and the endpoint paths used by the CLI are taken from TikTok's public API v2 docs and have not been verified in a live flow, because verification itself needs an approved TikTok app. Treat them as provisional until a live call succeeds.open.tiktokapis.combin/tiktok.py authvideos uses cursor pagination; TikTok caps max_count per page, so pass --cursor from the previous call's output to keep walking.bin/tiktok.py). Do not print, log, or transmit the token.Draft: written from TikTok's public API v2 docs; scope names and paths unconfirmed because verification needs an approved TikTok app.
Take anil-matcha/tiktok from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.