skills/engagement-interaction/SKILL.md
Automates X/Twitter engagement actions — like, unlike, reply, bookmark, hide replies, and auto-like by keyword. Also bulk-unlikes all posts. Use when users want to automate likes, send replies, manage bookmarks on tweets, hide replies, or clear their entire likes history.
npx skillsauth add harryvik990/X-auto engagement-interactionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Browser automation for X/Twitter engagement — liking, replying, bookmarking, hiding replies, and bulk unlike.
| Goal | File | Navigate to |
|------|------|-------------|
| Like/unlike/reply/bookmark tweets | src/engagementManager.js | Tweet URL or timeline |
| Auto-like by keyword | src/engagementManager.js | x.com/home or search page |
| Get engagement analytics for a post | src/engagementManager.js | Tweet URL |
| Hide replies on your posts | src/engagementManager.js | Reply URL |
| Unlike ALL liked posts | src/unlikeAllPosts.js | x.com/USERNAME/likes |
File: src/engagementManager.js
Puppeteer-based module for individual and bulk engagement actions.
| Function | Purpose |
|----------|---------|
| likeTweet(page, tweetUrl) | Like a specific tweet (skips if already liked) |
| unlikeTweet(page, tweetUrl) | Unlike a specific tweet |
| replyToTweet(page, tweetUrl, text, { media? }) | Reply with text and optional media |
| bookmarkTweet(page, tweetUrl) | Bookmark a tweet |
| unbookmarkTweet(page, tweetUrl) | Remove a bookmark |
| hideReply(page, replyUrl) | Hide a reply on your post |
| autoLikeByKeyword(page, { keywords, limit, delay, url }) | Auto-like posts matching keywords |
| getEngagementAnalytics(page, tweetUrl) | Get likes, reposts, replies, impressions |
Scrolls a timeline or search page and likes posts containing any of the specified keywords. Empty keywords array likes all posts.
await autoLikeByKeyword(page, {
keywords: ['AI', 'javascript'],
limit: 20,
delay: 2000,
url: 'https://x.com/home',
});
Navigates to a tweet, types a reply, optionally attaches media, and submits.
File: src/unlikeAllPosts.js
Browser console script that unlikes every post in your Likes tab. Supports keyword filters, dry run mode, rate limit detection, and exports a log.
x.com/YOUR_USERNAME/likesmaxUnlikes: Infinity — cap on unlikesskipKeywords: [] — keep likes containing these wordsonlyKeywords: [] — only unlike posts matching these wordsdryRun: false — preview without unlikingwindow.XActions.pause() / .resume() / .abort() / .status()| Element | Selector |
|---------|----------|
| Like button | [data-testid="like"] |
| Unlike button | [data-testid="unlike"] |
| Reply button | [data-testid="reply"] |
| Reply input | [data-testid="tweetTextarea_0"] |
| Reply submit | [data-testid="tweetButton"] |
| Share button | [data-testid="share"] |
| Bookmark | [data-testid="bookmark"] |
| Remove bookmark | [data-testid="removeBookmark"] |
| Hide reply | [data-testid="hideReply"] |
| Tweet | article[data-testid="tweet"] |
| Tweet text | [data-testid="tweetText"] |
[data-testid="toast"] with 60s cooldowndryRun: true to preview first| Problem | Solution |
|---------|----------|
| Like button not found | Tweet may already be liked — check for unlike button |
| Reply not posting | Verify tweetTextarea_0 selector; tweet may have reply restrictions |
| Auto-like stops early | Rate limit hit — script waits 60s and retries |
| Unlike All stops after ~20 | Rate limit — wait 1 hour and re-run |
tools
Free MCP server providing 68+ tools for AI agents to automate X/Twitter. Scrapes profiles, followers, tweets. Posts, follows, likes, retweets, downloads videos, analyzes sentiment, monitors brands, manages DMs, runs workflows, and more. Uses local Puppeteer -- no API keys or payments required. Compatible with Claude Desktop, Cursor, Windsurf, VS Code. Use when setting up or using AI agent Twitter automation via MCP.
tools
Command-line interface for scraping X/Twitter data, managing MCP server config, and running automation. Scrapes profiles, followers, tweets, search results, and more from terminal. Outputs text, JSON, or CSV. Uses Puppeteer stealth. Use when running Twitter operations from command line or automated pipelines.
content-media
Researches trending topics and competitor threads to generate high-engagement thread content with optimized hooks, value ladders, and calls to action. Use when creating threads or planning viral content.
tools
Mass unfollow on X/Twitter via browser console scripts. Unfollows everyone, only non-followers, non-followers with username logging, smart time-based unfollow with whitelists, and follow/following ratio management. Use when cleaning up a following list, removing non-followers, bulk unfollowing accounts, or optimizing your follow ratio.