twitter-agent
Build and run a Twitter/X agent with a distinct personality and automated workflows
Skill by Eskyee
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/eskyee-twitter-agent
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/twitter-agent
What's inside
- Skill name
twitter-agent- Description
- Build and run a Twitter/X agent with a distinct personality and automated workflows
- License
- MIT
- Instructions
- 380 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: "twitter-agent" does not match folder "bankr-twitter-agent"
Files (1)
- SKILL.md
SKILL.md (first lines)
# 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 suggested approve/reject instruction (e.g. "reply 'approve <draft-id>' to post, 'reject <draft-id>' to discard").
3. Append a `pending-approval` entry to `twitter-storyline.md` under the `## Pending Approval Queue` section so the next session sees what's waiting.
4. Configure the automation to deliver to Telegram in Bankr's automation setup (select Telegram as the output destination when creating the automation).
5. Wait for the user to manually run the skill with an approval command (e.g. "approve pending draft <id>") or reject.From Eskyee/agentbot-opensource, MIT.
More from Eskyee/agentbot-opensource
- 0.555score
endaoment
Eskyee
Donate to charities onchain via Endaoment.
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
0xwork
Eskyee
Find and complete paid tasks on the 0xWork decentralized marketplace (Base chain, USDC escrow).
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
capacitr
Eskyee
Paste a URL or free text and get matched Polymarket / Hyperliquid / Deribit markets with Quotient edge scores.
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
codegrid
Eskyee
CodeGrid is a native macOS canvas where multiple coding agents (Claude, Codex, Gemini, Cursor, Grok, shells) run side by side in panes and collaborate via a…
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
ens-primary-name
Eskyee
Set your primary ENS name on Base and other L2s.
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
erc-8004
Eskyee
Register AI agents on Ethereum mainnet using ERC-8004 (Trustless Agents).
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
agenticbets
Eskyee
Place prediction bets on token prices on Base via AgenticBets.
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
alchemy
alchemyplatform
Blockchain API access via Alchemy.
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
checkr
Eskyee
Access real-time X/Twitter attention intelligence for Base chain tokens via the checkr API.
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
clanker
Eskyee
Deploy ERC20 tokens on Base, Ethereum, Arbitrum, and other EVM chains using the Clanker SDK.
SkillCFreshness: C★ 16Claude Code +9 - 0.550score
aeon-defi-monitor
Eskyee
Watchlist monitor for DeFi pools, lending markets, and vaults.
SkillCFreshness: C★ 16Claude Code +9 - 0.550score
aeon-monitor-kalshi
Eskyee
Watchlist-driven Kalshi prediction-market monitor with cross-venue arb detection vs paired Polymarket markets (fee + slippage adjusted).
SkillCFreshness: C★ 16Claude Code +9
Signals
- Stars
- 16
- Forks
- 2
- Open issues
- 0
- Last commit (this folder)
- Jun 15, 2026 (4 months ago)
- Last release
- Jun 5, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Eskyee/agentbot-opensource
- Website
- agentbot.sh
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Eskyee
- 0.555score
checkr
Eskyee
Access real-time X/Twitter attention intelligence for Base chain tokens via the checkr API.
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
clanker
Eskyee
Deploy ERC20 tokens on Base, Ethereum, Arbitrum, and other EVM chains using the Clanker SDK.
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
agenticbets
Eskyee
Place prediction bets on token prices on Base via AgenticBets.
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
capacitr
Eskyee
Paste a URL or free text and get matched Polymarket / Hyperliquid / Deribit markets with Quotient edge scores.
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
0xwork
Eskyee
Find and complete paid tasks on the 0xWork decentralized marketplace (Base chain, USDC escrow).
SkillCFreshness: C★ 16Claude Code +9 - 0.555score
codegrid
Eskyee
CodeGrid is a native macOS canvas where multiple coding agents (Claude, Codex, Gemini, Cursor, Grok, shells) run side by side in panes and collaborate via a…
SkillCFreshness: C★ 16Claude Code +9
Cite this page
twitter-agent skill. Agent Mart. https://agentmart.dev/skills/eskyee-twitter-agent (last updated 2026-10-24)