Skip to content
Automation
Skill

/direct-messages

Sends, manages, and automates direct messages on X/Twitter. Supports personalized bulk DMs with templates, conversation management, message request filtering, and DM export. The agent uses this skill when a user needs to send DMs, manage conversations, or automate direct

From plugin
xactions
44349 skills
Install
$ npx -y skills add nirholas/XActions --skill direct-messages --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition โ†’
  • You can call itInvoke it directly when you want it.
  • Slash command/direct-messages

Context preview

The summary Claude sees to decide when to auto-load this skill.

Sends, manages, and automates direct messages on X/Twitter. Supports personalized bulk DMs with templates, conversation management, message request filtering, and DM export. The agent uses this skill when a user needs to send DMs, manage conversations, or automate direct

SKILL.md

direct-messages.SKILL.md
name: direct-messages
description: Sends, manages, and automates direct messages on X/Twitter. Supports personalized bulk DMs with templates, conversation management, message request filtering, and DM export. The agent uses this skill when a user needs to send DMs, manage conversations, or automate direct messaging workflows.
license: Apache-2.0
metadata:
  author: nichxbt
  version: "3.0"

Direct Messages

Browser console scripts for sending, managing, and exporting X/Twitter DMs.

Available Scripts

| Script | File | Purpose | |--------|------|---------| | Send Direct Messages | `src/sendDirectMessage.js` | Send personalized DMs to a list of users | | DM Manager | `src/dmManager.js` | Core DM management (read, filter, organize, export) |

Send Direct Messages

**File:** `src/sendDirectMessage.js`

Send personalized DMs to multiple users with message templates and rate limiting.

Configuration

const CONFIG = {
  targetUsers: ['user1', 'user2'],
  messageTemplate: 'Hey {username}! ๐Ÿ‘‹ Just wanted to connect.',
  limits: {
    messagesPerSession: 10,
    delayBetweenMessages: 30000,
  },
  skipIfAlreadyMessaged: true,
  dryRun: true,
};

How to use

1. Navigate to `x.com/messages` 2. Edit CONFIG with target users and message template 3. Set `dryRun: false` when ready 4. Open DevTools (F12) โ†’ Console 5. Paste the script โ†’ Enter

Safety features

  • Tracks sent messages in `localStorage` to avoid duplicates
  • Configurable delay between messages (30s default)
  • Session limit prevents over-messaging
  • Dry-run mode previews actions without sending

**Warning:** Mass DMing can get your account restricted. Only message users who have open DMs or follow you.

DM Manager

**File:** `src/dmManager.js`

Core module for reading, filtering, organizing, and exporting DM conversations. Supports message requests, conversation search, and DM privacy settings.

How to use

1. Navigate to `x.com/messages` 2. Open DevTools (F12) โ†’ Console 3. Paste the script โ†’ Enter

Key Selectors

| Element | Selector | |---------|----------| | New message button | `[data-testid="NewDM_Button"]` | | Search people | `[data-testid="searchPeople"]` | | Message input | `[data-testid="dmComposerTextInput"]` | | Send button | `[data-testid="dmComposerSendButton"]` | | Conversation list | `[data-testid="conversation"]` | | Message bubble | `[data-testid="messageEntry"]` | | Message requests | `[data-testid="messageRequests"]` | | Back button | `[data-testid="app-bar-back"]` |

Notes

  • DM scripts require being on the Messages page (`x.com/messages`)
  • Group chats support up to 50 participants
  • Message requests from non-followers must be approved before replying
  • Add delays (30s+) between bulk DMs to avoid rate limits
  • `{username}` placeholder in templates is replaced with the recipient's handle
  • Sent history is persisted in `localStorage` across sessions
Read more
Ships withxactions

โšก The Complete X/Twitter Automation Toolkit โ€” Scrapers, MCP server for AI agents (Claude/GPT), CLI, browser scripts. No API fees. Open source. Unfollow people who don't follow back. Monitor real-time analytics. Auto follow, like, comment, scrape, without API. Follow Bot. Like bot. Grow your account automatically.

Get the whole plugin

Other skills on xactions.