TikTok Audience Insights

Read your TikTok niche and audience from real data.

How to use it

  1. Hit Copy the whole skill.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit sergebulaev/tiktok-skills/.codex-marketplace/tiktok-skills/skills/tt-audience-insights#main ~/.claude/skills/tt-audience-insights

For one project only, change the path to .claude/skills/tt-audience-insights.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text70 lines
tt-audience-insights/SKILL.md70 lines4.5 KBpushed 13d agoRawView on GitHub

TikTok Audience Insights

Turn real TikTok data into a read on what is working: which videos in your niche are exploding and why, what a competitor is posting, and what your commenters keep saying. The read layer sees actual play counts and comments instead of guessing.

One honest limit: TikTok keeps the list of who liked a video private (only counts). The engagement signal here is commenters + video performance, which is where the niche's questions and objections live.

When to use

  • "What is trending in [niche] on TikTok / analyze this hashtag"
  • "What is [competitor] posting / analyze their profile"
  • "Read the comments on this video"
  • "Which sounds and hooks are working right now"

Not for writing a script (use tt-hook-scripter) or a caption (use tt-caption-writer).

Setup (optional)

The read layer uses Apify (no login). Free token at https://console.apify.com/account/integrations, set APIFY_TOKEN. Video scanning is about $1.70 per 1,000, comments about $0.50 per 1,000. No token? Paste the videos or comments and the skill runs the same analysis.

Input

  • A hashtag (niche scan), a profile (self or competitor), or a video URL (comments)
  • Optional: the goal (trend scan / competitor read / community management)

Output

  1. Niche pulse - top videos for the hashtag ranked by plays, the hooks and sounds behind the winners
  2. Competitor read - a profile's recent videos ranked, the pattern in their hits
  3. Comment read - what commenters keep asking, superfans, comments to reply to or pin
  4. Action list - the hook/sound/format to try, who to engage, which comment to answer on camera

Steps

  1. Pull the data. Niche: lib.ApifyClient().fetch_niche_videos(hashtag, max_items=20). Profile: fetch_profile_videos(username). Comments: fetch_video_comments(video_url). Falls back to pasted data if no token.
  2. Rank by performance. Sort by plays, then engagement rate (likes+comments over plays). Normalize against the author's follower count so a small creator's breakout is not buried under a big account.
  3. Extract the pattern. For the top videos, name the shared hook (first-second shape), the sound, the format (talking-head, text-overlay, skit), and the length. That is the repeatable part.
  4. Note the sounds. Recurring sounds across the top videos are a trend to ride; flag them for tt-trend-mapper.
  5. Read the comments. Cluster into questions, agreement, pushback. Recurring questions become video ideas (answer on camera); pinned/high-like comments show what the room cares about.
  6. Build the action list. Try-this (winning hook + sound), engage (specific commenters), answer-on-camera (a recurring question). Route to tt-hook-scripter / tt-caption-writer.
  7. Deliver the report in the Output shape, with the raw ranked videos attached.

What the read layer exposes

Method Returns
fetch_niche_videos(hashtag, max_items) top videos for a hashtag: text, plays, likes, comments, shares, author fans, sound
fetch_profile_videos(username, max_items) a profile's recent videos with the same fields
fetch_video_comments(video_url, max_items) comments (the engagement signal, since likers are private)

Hard rules

Global voice rules: see root SKILL.md Voice rules. Additional skill-specific rules:

  • Be honest that this reads commenters, not likers (TikTok keeps likers private). Do not imply a full liker roster.
  • Normalize by follower count before calling a video a winner, or you extract "big account" effects, not "good video" effects.
  • Never invent a video, a count, a sound, or a comment. If the data is thin, say so.
  • A pattern (hook or sound) is only a trend if it recurs across several top videos.

Related skills

  • tt-hook-scripter - script a video around the winning hook the data found
  • tt-trend-mapper - ride a sound or format the scan surfaced
  • tt-caption-writer - caption it
  • tt-content-planner - feed the winning patterns into a plan
1---
2name: tt-audience-insights
3description: "Read your TikTok niche and audience from real data. Scan a hashtag for top videos with plays, likes, and comments, see which hooks and sounds are working, pull a profile's videos (yours or a competitor's), and read the commenters on a video (TikTok hides likers, so commenters are the signal). Powered by Apify, no login. Triggers on \"what is trending on TikTok\", \"analyze this hashtag\", \"competitor videos\", \"read my comments\", \"which sounds are working\". Not for writing a script (use tt-hook-scripter)."
4---
5 
6# TikTok Audience Insights
7 
8Turn real TikTok data into a read on what is working: which videos in your niche are exploding and why, what a competitor is posting, and what your commenters keep saying. The read layer sees actual play counts and comments instead of guessing.
9 
10One honest limit: TikTok keeps the list of who **liked** a video private (only counts). The engagement signal here is **commenters + video performance**, which is where the niche's questions and objections live.
11 
12## When to use
13 
14- "What is trending in [niche] on TikTok / analyze this hashtag"
15- "What is [competitor] posting / analyze their profile"
16- "Read the comments on this video"
17- "Which sounds and hooks are working right now"
18 
19Not for writing a script (use `tt-hook-scripter`) or a caption (use `tt-caption-writer`).
20 
21## Setup (optional)
22 
23The read layer uses **Apify** (no login). Free token at `https://console.apify.com/account/integrations`, set `APIFY_TOKEN`. Video scanning is about $1.70 per 1,000, comments about $0.50 per 1,000. No token? Paste the videos or comments and the skill runs the same analysis.
24 
25## Input
26 
27- A hashtag (niche scan), a profile (self or competitor), or a video URL (comments)
28- Optional: the goal (trend scan / competitor read / community management)
29 
30## Output
31 
321. **Niche pulse** - top videos for the hashtag ranked by plays, the hooks and sounds behind the winners
332. **Competitor read** - a profile's recent videos ranked, the pattern in their hits
343. **Comment read** - what commenters keep asking, superfans, comments to reply to or pin
354. **Action list** - the hook/sound/format to try, who to engage, which comment to answer on camera
36 
37## Steps
38 
391. **Pull the data.** Niche: `lib.ApifyClient().fetch_niche_videos(hashtag, max_items=20)`. Profile: `fetch_profile_videos(username)`. Comments: `fetch_video_comments(video_url)`. Falls back to pasted data if no token.
402. **Rank by performance.** Sort by plays, then engagement rate (likes+comments over plays). Normalize against the author's follower count so a small creator's breakout is not buried under a big account.
413. **Extract the pattern.** For the top videos, name the shared hook (first-second shape), the sound, the format (talking-head, text-overlay, skit), and the length. That is the repeatable part.
424. **Note the sounds.** Recurring sounds across the top videos are a trend to ride; flag them for `tt-trend-mapper`.
435. **Read the comments.** Cluster into questions, agreement, pushback. Recurring questions become video ideas (answer on camera); pinned/high-like comments show what the room cares about.
446. **Build the action list.** Try-this (winning hook + sound), engage (specific commenters), answer-on-camera (a recurring question). Route to `tt-hook-scripter` / `tt-caption-writer`.
457. **Deliver the report** in the Output shape, with the raw ranked videos attached.
46 
47## What the read layer exposes
48 
49| Method | Returns |
50|---|---|
51| `fetch_niche_videos(hashtag, max_items)` | top videos for a hashtag: text, plays, likes, comments, shares, author fans, sound |
52| `fetch_profile_videos(username, max_items)` | a profile's recent videos with the same fields |
53| `fetch_video_comments(video_url, max_items)` | comments (the engagement signal, since likers are private) |
54 
55## Hard rules
56 
57Global voice rules: see root `SKILL.md` Voice rules. Additional skill-specific rules:
58 
59- Be honest that this reads **commenters, not likers** (TikTok keeps likers private). Do not imply a full liker roster.
60- **Normalize by follower count** before calling a video a winner, or you extract "big account" effects, not "good video" effects.
61- Never invent a video, a count, a sound, or a comment. If the data is thin, say so.
62- A pattern (hook or sound) is only a trend if it recurs across several top videos.
63 
64## Related skills
65 
66- `tt-hook-scripter` - script a video around the winning hook the data found
67- `tt-trend-mapper` - ride a sound or format the scan surfaced
68- `tt-caption-writer` - caption it
69- `tt-content-planner` - feed the winning patterns into a plan
70 

Discussion

Alternatives

Also in Posting & scheduling
Linkedin comment drafterDraft a LinkedIn comment on someone else's post from its URL, or reshare (repost) it to your feed with optional commentary. Use when the user pastes a post URL and asks to comment, engage, be first commenter, or repost with their thoughts. Produces 1-3 variants in the user's voice, picks a reaction, and publishes via Publora on approval. Not for replying to existing comments (use linkedin-reply-handler).Marketing · MITLinkedin content plannerGenerate a 7-day LinkedIn content plan from a theme, audience, and pillars. Produces per-day post pillar, format, hook type, CTA, posting time, daily comment targets, and a weekly inbound-readiness check. Use when the user wants to plan a week or month of content, not draft a single post (use linkedin-post-writer).Marketing · MITLinkedin employee advocacyStand up and run a LinkedIn employee advocacy program for a marketing or sales team. Covers 14-day launch playbook, brand-guideline governance, per-post time budget, cadence benchmarks, and team ROI (reach, engagement, pipeline). Triggers on "employee advocacy", "get the team posting", "scale LinkedIn across team", "advocacy ROI". Not for planning one person's own calendar (use linkedin-content-planner).Marketing · MITInstagram Audience InsightsRead your Instagram niche and profile from real data via Apify, no login. Scan a hashtag for the posts traveling now (likes, comments, owner) to see the format and hook that works. Pull profile stats for any handle, yours or a competitor's: followers, posts, bio, category. Instagram hides who liked or commented on other accounts, so this is discovery plus profiles, not engagers. Triggers on "what works in my niche", "scan the hashtag", "competitor stats". Not for writing captions (use ig-caption-writer).Marketing · MIT