hive.x-automation

Automates posting, replying, deleting, and search-and-engage workflows on X via browser automation.

11.0k|5.7k|Updated Jan 12, 2026
One-click install
npx skills add https://github.com/aden-hive/hive --skill hive-x-automation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hive.x-automation
Source: https://github.com/aden-hive/hive/tree/main/core/framework/skills/_preset_skills/x-automation
Command: npx skills add https://github.com/aden-hive/hive --skill hive-x-automation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Automating X (Twitter) through a browser is fragile: the Draft.js compose editor silently disables the Post button, media buttons open unreachable native file dialogs, and rate limits or anti-bot challenges can wedge a run. This Skill provides verified selectors, timing expectations, and recovery procedures so browser-driven X automation actually completes.

Core Features & Use Cases

  • Verified post, reply, delete, and search-and-engage flows: Step-by-step browser automation sequences using stable data-testid selectors verified against the live site.
  • Draft.js compose handling: Click-first typing, Input.insertText, disabled-button verification, and a recovery dance for when the Post button stays disabled.
  • Safe media uploads: Sets files directly on the hidden input[type='file'] element instead of clicking the photo button that triggers an unreachable OS file picker.
  • Rate-limit and anti-bot safety: Documented action limits, challenge detection, deduplication via a task queue, and stop-and-surface rules.
  • Use Case: Run a daily job-market reply campaign: search live posts matching a query, reply to 5-10 unreplied tweets with human-cadence delays, and record each tweet URL in the progress queue for crash-resume dedup.

Quick Start

Activate the browser-automation skill first, then follow the x-automation playbook to post a tweet with an image using the verified compose flow.

Frequently Asked Questions about hive.x-automation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate posting a tweet with browser automation?

Navigate to x.com/home, open the compose modal with the N shortcut, click the tweetTextarea_0 element to focus Draft.js, type with browser_type, verify the tweetButton is not disabled, then click it. Always sleep 1.5-3 seconds after navigation and modal opens for SPA hydration.

How do I upload an image to a tweet without opening the file picker?

Set the file directly on the hidden input element with browser_upload using selector input[data-testid='fileInput'] and an absolute file path. Never click the photo button, since it opens a native OS dialog unreachable via CDP. Verify the preview thumbnail rendered before posting.

Why does the X Post button stay disabled after typing text?

Draft.js only enters edit mode after a native click-sourced focus event, so typing without clicking first leaves the button disabled. Recover by clicking the textarea again, pressing End, typing a space, then Backspace to force React to recompute the content state.

What are the rate limits for automated X replies?

Keep replies to 5-10 per run with randomized 10-20 second delays, tweets under roughly 50 per hour, and likes around 200-300 per day. Watch for 429 responses, 'unable to Tweet' banners, or redirects to /account/access, and stop the run if any appear.

How do I avoid replying to the same tweet twice across runs?

Extract each tweet's URL from its /status/ link and use it as a task key in the colony progress queue. Before enqueuing, query the tasks table for the URL; existing rows with done status are skipped, giving crash-resume and cross-day deduplication.