social-listening-researchlisted
Install: claude install-skill franciscobmacedo/postreef-skills
# Social listening and research over creator content
The failure mode of this task is a confident deck built on twelve videos and two hundred comments. Do the work so the output states its sample, its method, and its uncertainty, and it will still be more useful than most "insights" reports.
## 1. Build the URL set, and write down how
There is no good free search API for TikTok or Instagram content, and YouTube's Data API `search.list` costs 100 quota units per call (100 calls/day on the free quota). So the set is usually assembled by hand or semi-manually:
- **YouTube**: `search.list` with `q`, `order=relevance|viewCount|date`, `publishedAfter`; or `yt-dlp "ytsearch50:query" --flat-playlist --print "%(webpage_url)s %(view_count)s %(title)s"` (no API key; same bot-wall caveats as any yt-dlp use).
- **TikTok / Instagram**: browse hashtags/search in a browser and collect URLs; the user often already has them. Don't pretend a scraper gave you a representative sample.
- **Record the sampling rule** in the output: "top 30 YouTube results for 'X review' by relevance on 2026-09-02, plus 20 TikToks from #X collected manually". Everything downstream inherits that bias.
Deduplicate (same video reposted), and keep a `urls.txt` with one URL per line.
## 2. Extract the same fields from every item
Consistency matters more than richness. Define one schema and run it over every URL. Example for category/competitor research:
```json
{
"type": "object",
"properties": {
"product