How to use it
- Hit Copy the whole skill.
- 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. - 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 gooseworks-ai/goose-skills/skills/monitoring/capabilities/twitter-mention-tracker#main ~/.claude/skills/twitter-mention-trackerFor one project only, change the path to .claude/skills/twitter-mention-tracker.
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.
Paste into Claude, ChatGPT or Cursor.
Show the full text102 lines
Twitter Mention Tracker
Search Twitter/X posts using the Apify apidojo/tweet-scraper actor.
Quick Start
Requires APIFY_API_TOKEN env var (or --token flag).
# Search with date range (recommended -- uses Twitter native since:/until: operators)
python3 skills/twitter-mention-tracker/scripts/search_twitter.py \
--query "YourCompany" --since 2026-02-15 --until 2026-02-23
# Quick summary of recent mentions
python3 skills/twitter-mention-tracker/scripts/search_twitter.py \
--query "@yourhandle" --max-tweets 20 --output summary
# Search without date filtering
python3 skills/twitter-mention-tracker/scripts/search_twitter.py \
--query "AI content marketing" --max-tweets 50
Date Filtering
Important: The apidojo/tweet-scraper actor's built-in date parameters are unreliable.
This script embeds since:YYYY-MM-DD and until:YYYY-MM-DD directly into the search query
string, using Twitter's native advanced search syntax. This ensures date filtering works
correctly server-side.
How the Script Works
- Builds a search term with the query quoted and date operators appended
- Calls the Apify
apidojo/tweet-scraperactor via REST API - Polls until the run completes, then fetches the dataset
- Deduplicates by tweet ID/URL
- Applies optional keyword filtering (client-side)
- Sorts by likes (descending) and outputs JSON or summary
CLI Reference
| Flag | Default | Description |
|---|---|---|
--query |
required | Search query (quoted in Twitter search) |
--since |
none | Start date YYYY-MM-DD (inclusive) |
--until |
none | End date YYYY-MM-DD (exclusive) |
--max-tweets |
50 | Max tweets to scrape |
--keywords |
none | Additional filter keywords (comma-separated, OR logic) |
--output |
json | Output format: json or summary |
--token |
env var | Apify token (prefer APIFY_API_TOKEN env var) |
--timeout |
300 | Max seconds to wait for the Apify run |
Direct API Usage
{
"searchTerms": ["\"YourCompany\" since:2026-02-15 until:2026-02-22"],
"maxTweets": 50,
"searchMode": "live"
}
Output Format
Tweets are returned as JSON array sorted by likes. Each tweet has:
{
"id": "...",
"text": "Tweet text...",
"fullText": "Full tweet text...",
"likeCount": 42,
"retweetCount": 5,
"replyCount": 3,
"viewCount": 1200,
"createdAt": "2026-02-18T12:00:00.000Z",
"author": {"userName": "handle", "name": "Display Name", ...},
"twitterUrl": "https://twitter.com/..."
}
Common Workflows
Competitor Monitoring
python3 skills/twitter-mention-tracker/scripts/search_twitter.py \
--query "CompetitorName" --since 2026-02-15 --until 2026-02-23 --output summary
Brand Mention Tracking
python3 skills/twitter-mention-tracker/scripts/search_twitter.py \
--query "@YourHandle OR \"YourBrand\"" --max-tweets 100
| 1 | |
| 2 | name twitter-mention-tracker |
| 3 | description > |
| 4 | Search and scrape Twitter/X posts using Apify. Use when you need to find tweets, |
| 5 | track brand mentions, monitor competitors on Twitter, or analyze Twitter discussions. |
| 6 | Uses Twitter native search syntax (since:/until:) for reliable date filtering. |
| 7 | |
| 8 | |
| 9 | # Twitter Mention Tracker |
| 10 | |
| 11 | Search Twitter/X posts using the Apify `apidojo/tweet-scraper` actor. |
| 12 | |
| 13 | ## Quick Start |
| 14 | |
| 15 | Requires `APIFY_API_TOKEN` env var (or `--token` flag). |
| 16 | |
| 17 | |
| 18 | # Search with date range (recommended -- uses Twitter native since:/until: operators) |
| 19 | python3 skills/twitter-mention-tracker/scripts/search_twitter.py \ |
| 20 | --query "YourCompany" --since 2026-02-15 --until 2026-02-23 |
| 21 | |
| 22 | # Quick summary of recent mentions |
| 23 | python3 skills/twitter-mention-tracker/scripts/search_twitter.py \ |
| 24 | --query "@yourhandle" --max-tweets 20 --output summary |
| 25 | |
| 26 | # Search without date filtering |
| 27 | python3 skills/twitter-mention-tracker/scripts/search_twitter.py \ |
| 28 | --query "AI content marketing" --max-tweets 50 |
| 29 | |
| 30 | |
| 31 | ## Date Filtering |
| 32 | |
| 33 | **Important:** The `apidojo/tweet-scraper` actor's built-in date parameters are unreliable. |
| 34 | This script embeds `since:YYYY-MM-DD` and `until:YYYY-MM-DD` directly into the search query |
| 35 | string, using Twitter's native advanced search syntax. This ensures date filtering works |
| 36 | correctly server-side. |
| 37 | |
| 38 | ## How the Script Works |
| 39 | |
| 40 | Builds a search term with the query quoted and date operators appended |
| 41 | Calls the Apify `apidojo/tweet-scraper` actor via REST API |
| 42 | Polls until the run completes, then fetches the dataset |
| 43 | Deduplicates by tweet ID/URL |
| 44 | Applies optional keyword filtering (client-side) |
| 45 | Sorts by likes (descending) and outputs JSON or summary |
| 46 | |
| 47 | ## CLI Reference |
| 48 | |
| 49 | | Flag | Default | Description | |
| 50 | |------|---------|-------------| |
| 51 | | `--query` | *required* | Search query (quoted in Twitter search) | |
| 52 | | `--since` | none | Start date YYYY-MM-DD (inclusive) | |
| 53 | | `--until` | none | End date YYYY-MM-DD (exclusive) | |
| 54 | | `--max-tweets` | 50 | Max tweets to scrape | |
| 55 | | `--keywords` | none | Additional filter keywords (comma-separated, OR logic) | |
| 56 | | `--output` | json | Output format: `json` or `summary` | |
| 57 | | `--token` | env var | Apify token (prefer `APIFY_API_TOKEN` env var) | |
| 58 | | `--timeout` | 300 | Max seconds to wait for the Apify run | |
| 59 | |
| 60 | ## Direct API Usage |
| 61 | |
| 62 | |
| 63 | { |
| 64 | "searchTerms": ["\"YourCompany\" since:2026-02-15 until:2026-02-22"], |
| 65 | "maxTweets": 50, |
| 66 | "searchMode": "live" |
| 67 | } |
| 68 | |
| 69 | |
| 70 | ## Output Format |
| 71 | |
| 72 | Tweets are returned as JSON array sorted by likes. Each tweet has: |
| 73 | |
| 74 | |
| 75 | { |
| 76 | "id": "...", |
| 77 | "text": "Tweet text...", |
| 78 | "fullText": "Full tweet text...", |
| 79 | "likeCount": 42, |
| 80 | "retweetCount": 5, |
| 81 | "replyCount": 3, |
| 82 | "viewCount": 1200, |
| 83 | "createdAt": "2026-02-18T12:00:00.000Z", |
| 84 | "author": {"userName": "handle", "name": "Display Name", ...}, |
| 85 | "twitterUrl": "https://twitter.com/..." |
| 86 | } |
| 87 | |
| 88 | |
| 89 | ## Common Workflows |
| 90 | |
| 91 | ### Competitor Monitoring |
| 92 | |
| 93 | python3 skills/twitter-mention-tracker/scripts/search_twitter.py \ |
| 94 | --query "CompetitorName" --since 2026-02-15 --until 2026-02-23 --output summary |
| 95 | |
| 96 | |
| 97 | ### Brand Mention Tracking |
| 98 | |
| 99 | python3 skills/twitter-mention-tracker/scripts/search_twitter.py \ |
| 100 | --query "@YourHandle OR \"YourBrand\"" --max-tweets 100 |
| 101 | |
| 102 |
Discussion
Alternatives
Also in Posting & schedulingLinkedin 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).Linkedin 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).Linkedin 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).Instagram 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).