Claude
Skills
Sign in
Back

twitter-agent

Included with Lifetime
$97 forever

Build and run a Twitter/X agent with a distinct personality and automated workflows

AI Agentstwitterxsocialagentautomation

What this skill does


# Twitter Agent Skill

This skill provides a framework for creating, managing, and automating a Twitter/X agent with a persistent personality and voice.

## Prerequisites

### X Account Setup (REQUIRED — Do This First)

Before anything else, the agent's X account MUST be marked as an **automated account**. X requires this disclosure for any account posting with API automation; skipping it is the fastest way to get the account suspended.

**Exact path (do this once, while logged in as the agent account):**
1. Log in to x.com as the agent account.
2. Go to **Settings and privacy** → **Your account** → **Account information**.
3. Scroll to **Automation** and tap it.
4. Re-enter the password when prompted.
5. Set **Managing account** to the human/handle responsible for the bot and save.

Direct link: https://x.com/settings/account/automation

This adds the "Automated by @…" label to the profile and replies. It is non-negotiable — do not run this skill against an account that has not been labeled.

### Environment Variables

Set these 4 variables in your Bankr settings (gear icon -> Env Vars). Generate them from the [X Developer Portal](https://developer.x.com/en/portal/dashboard) with **Read and Write** permissions enabled:

- `X_API_KEY`: Consumer Key (OAuth 1.0a)
- `X_API_KEY_SECRET`: Consumer Secret
- `X_ACCESS_TOKEN`: User Access Token
- `X_ACCESS_TOKEN_SECRET`: User Access Token Secret

### Approval Channel for Automations

Bankr automations natively support routing their output to Telegram. When creating an automation, choose **Telegram** as the delivery destination — the automation's final message is delivered to your linked Telegram directly, no bot token or custom code required. Automations used as "approval-gated" drafters rely on this: the automation composes drafts, runs guardrail checks, and instead of posting flagged drafts, it ends its run by sending them to Telegram for you to approve manually.

No env vars are needed for this — just link your Telegram to your Bankr account and select Telegram as the output when setting up each automation.

## The Personality & Storyline System

Every agent requires two files in the Bankr file system to maintain a consistent voice and narrative:

1. `twitter-personality.md`: Defines the character, voice, and style rules.
2. `twitter-storyline.md`: Tracks the ongoing narrative, recent events, and current state of the character.

### Building a Personality

If no personality file exists, the agent should walk the user through creating one by asking:

1. "what's the account about? give me the elevator pitch"
2. "how would you describe the vibe? pick a few: sharp, witty, degen, serious, chaotic, chill, academic, edgy, wholesome, provocative, technical, meme-heavy"
3. "what topics do you want to tweet about? what's strictly off-limits?"
4. "short punchy tweets or longer form? threads?"
5. "emojis? hashtags? lowercase or proper grammar?"
6. "any signature phrases or words you always use?"
7. "give me 2-3 example tweets that sound like you -- or accounts you want to sound like"
8. "is there a character or persona the account should tweet as? or is it just you?"

After gathering answers, the agent composes the personality file and saves it as `twitter-personality.md`.

### Pre-Flight Checklist

Before composing or posting any tweet, the agent MUST:
1. Load `twitter-personality.md` using `read_file`.
2. Load `twitter-storyline.md` using `read_file` to understand the current narrative context.
3. Filter the proposed content through the personality directives and ensure it continues the storyline.
4. Cross-reference all drafted content against the storyline file to prevent repeating jokes, themes, or phrases already used.
5. Run the Guardrail Check (see below) before any post -- manual OR automated.
6. After posting, update `twitter-storyline.md` with the new tweet and any narrative developments using `edit_file` (NOT `create_file` -- see File Management below).

## Guardrails (CRITICAL -- Apply to Manual AND Automated Posts)

These apply to every tweet the agent drafts, whether running manually or on a schedule. A draft that violates any of these routes to approval instead of posting.

### Never Reply Unprompted (Hard Rule)

The agent MUST NEVER reply to a post it was not invited into. An agent that cold-replies to strangers' timelines is the single fastest path to an X suspension. There are exactly three legal post types:

1. **Top-level posts** composed by the agent itself.
2. **Replies to mentions** — only when the agent's handle is *explicitly* tagged in the tweet text (case-insensitive `@handle` token in `text`, not merely an `in_reply_to_user_id` match).
3. **Replies to comments on the agent's own posts** — i.e. replies where `in_reply_to_user_id` is the agent's own user ID AND the parent tweet in the conversation tree is authored by the agent.

Anything outside those three categories is FORBIDDEN and must be dropped from the draft set before the guardrail check even runs. Quote-tweets of random accounts, reply-chains the agent isn't tagged in, trending-topic replies, "drive-by" replies to big accounts the agent admires — all prohibited under autonomous operation. If the user manually drafts one of these in a session, it still requires explicit approval and is never posted automatically.

Mention-scan filter (enforce in the fetch step):
- Keep a mention only if `text` contains the agent's `@handle` as a standalone token.
- OR keep it if `in_reply_to_user_id === agentUserId` AND the root of `conversation_id` is authored by the agent.
- Discard everything else before ranking.

### Hard Blocks (Always Route to Approval)

1. **Never autonomously tag `@bankrbot`.** Bankr's X agent executes onchain actions (transfers, swaps, deploys) when tagged from a wallet-linked account. Any tweet -- top-level or reply -- that mentions `@bankrbot` MUST be drafted and surfaced to the user for approval. The agent does not tag `@bankrbot` without explicit approval for that specific draft, every time.
2. **Never post onchain-action-looking content autonomously.** If a draft contains an EVM address (regex: `0x[a-fA-F0-9]{40}`), a Solana address, the word "send" combined with a ticker (e.g. "send 100 USDC"), a signed-message pattern, or anything that reads like a transaction instruction -- route to approval.
3. **Never post pre-declared arc milestones autonomously.** The storyline file should list upcoming major beats (arc-critical posts) under a `## Approval-Gated Milestones` section. Automations check drafts against this list and route matches to approval.
4. **Never engage autonomously with other flagged accounts.** If the account has designated "VIP" accounts (e.g. project founder, sister brand, custom GPT-run peers, other wallet-linked agents), list them in the storyline file under `## Approval-Gated Accounts`. Replies to those accounts route to approval.

### Follower-Weighted Approval

- Replies to accounts with **>50k followers** route to approval. Big accounts are higher-stakes; humans check tone.
- Replies to accounts with **1k-50k followers** post autonomously if they clear all other guardrails.
- Replies to accounts with **<1k followers** post autonomously only if the setup quality is strong (not generic "gm" or emoji spam).

### Skip List (Automations Filter These Out Entirely)

Automations should never engage with:
- FUD / rug accusations
- Political content
- Requests for financial advice
- Obvious spam / tag-farm threads (3+ unrelated @s stacked)
- Accounts shilling unrelated tokens
- Any mention the storyline marks as already-replied-to

### Approval Routing (Native Bankr → Telegram)

Bankr automations can deliver their output directly to Telegram — no custom code needed. When a draft hits a guardrail, the automation should:
1. NOT post it to X.
2. Include the draft in its final output message with: the draft text, the flag reason, the target tweet ID (if a reply), the author handle + follower count, and a suggest
Files: 1
Size: 26.3 KB
Complexity: 34/100
Category: AI Agents

Related in AI Agents