X / Twitter Account Operations
/install twitter-account-operations
X / Twitter Account Operations
This skill is the operating doctrine for every X/Twitter automation run on a brand, professional or personal account.
The goal is not to click fast. The goal is to operate Chrome like a careful human operator: stable browser, correct context, useful action, no spam, no reputational risk.
Drop-in for any niche (legal, medical, software, finance, creator, ecommerce). Replace the placeholders in section 0 with your own values.
0. Configure for your brand
Before running anything, fill these placeholders in your local copy or your agent's memory:
| Placeholder | Example | Your value |
|---|---|---|
\x3CBRAND_NAME> |
"Acme Studio" | — |
\x3CBRAND_DOMAIN> |
"acme.studio" | — |
\x3CX_HANDLE> |
"@AcmeStudio" | — |
\x3CBROWSER_PROFILE> |
"x-live" | — |
\x3CBROWSER_PORT> |
"9222" | — |
\x3CNICHE_KEYWORDS> |
"retrait permis OR contester amende" | — |
\x3CWORKSPACE_DIR> |
"~/.openclaw/workspace/twitter-\x3Cbrand>" | — |
All shell snippets below assume an OpenClaw browser CLI bound by CDP, but the doctrine works with any browser-automation stack (Playwright, Puppeteer, Chrome MCP). Swap the CLI calls for your own.
Quick config (copy-paste YAML)
If your agent reads config from YAML, drop this in \x3CWORKSPACE_DIR>/config.yaml:
brand:
name: \x3CBRAND_NAME>
domain: \x3CBRAND_DOMAIN>
x:
handle: \x3CX_HANDLE> # e.g. "@AcmeStudio"
browser_profile: \x3CBROWSER_PROFILE> # e.g. "x-live"
browser_port: \x3CBROWSER_PORT> # e.g. 9222
discovery:
niche_keywords: \x3CNICHE_KEYWORDS> # e.g. "retrait permis OR contester amende"
workspace:
dir: \x3CWORKSPACE_DIR> # e.g. "~/.openclaw/workspace/twitter-acme"
alerts:
channel: telegram | slack | discord
webhook: \x3CYOUR_WEBHOOK_URL>
schedule:
timezone: Europe/Paris # everything else is relative to this
windows:
morning_post: "09:00"
noon_post: "12:30"
evening_post: "18:00"
reply_passes: ["11:00", "15:00", "19:30"]
metrics_recap: "21:30"
Compatibility
The skill is markdown — it works wherever an agent reads SKILL.md:
| Stack | Skill install path |
|---|---|
| Claude Code | ~/.claude/skills/twitter-account-operations/ |
| OpenClaw | ~/.openclaw/skills/twitter-account-operations/ |
| ClawHub-published | one-click install via clawhub.ai |
| Cursor / Copilot CLI | drop SKILL.md into your project's .cursorrules or AGENTS.md |
| Any LLM agent reading markdown rules | concatenate SKILL.md into your system prompt |
1. Browser architecture
Physical profile
The active browser profile is:
\x3CBROWSER_PROFILE>(CDP direct profile attached tohttp://127.0.0.1:\x3CBROWSER_PORT>)
Use it through the OpenClaw browser CLI when the cron has no browser tool:
openclaw browser --browser-profile \x3CBROWSER_PROFILE> status
openclaw browser --browser-profile \x3CBROWSER_PROFILE> tabs
openclaw browser --browser-profile \x3CBROWSER_PROFILE> open https://x.com/notifications
openclaw browser --browser-profile \x3CBROWSER_PROFILE> snapshot --limit 160
openclaw browser --browser-profile \x3CBROWSER_PROFILE> click \x3Cref>
openclaw browser --browser-profile \x3CBROWSER_PROFILE> type \x3Cref> "text"
openclaw browser --browser-profile \x3CBROWSER_PROFILE> press Enter
The profiles tw-post, tw-engage, and tw-stealth below are operating roles, not necessarily separate physical profiles. With one physical profile, keep the same separation by workflow, tab discipline, and resting page.
Role: tw-post
Main account cockpit. Use for direct account action.
Use for:
- original posts
- threads
- replies sent from the account
- notifications
- DMs if enabled
- profile checks
- metrics visible on profile or analytics
- result posts
Default page: https://x.com/notifications
Mental model: act as the account. Protect it. Do not clutter it.
Role: tw-engage
Search and discovery radar. Use to find what deserves action.
Use for:
- keyword searches
- live searches
- monitoring public conversations
- finding potential replies
- competitor observation
- news or trend discovery
Default page:
https://x.com/search?q=\x3CNICHE_KEYWORDS_URL_ENCODED>&f=live
Mental model: discover, qualify, decide. Do not post impulsively from discovery.
Role: tw-stealth
Quiet maintenance bay. Use for low-noise maintenance.
Use for:
- following cleanup
- list or account curation
- quiet profile review
- non-public maintenance
Default page: https://x.com/home
Mental model: maintain quietly. No noisy engagement.
Operational law
tw-post= act as the accounttw-engage= discover what to react totw-stealth= maintain quietly- stability matters more than speed
Never collapse all workflows into chaotic browsing.
2. Human-like browser behavior
Open the right page first
Do not begin from a random existing tab.
Examples:
- notifications check →
https://x.com/notifications - keyword monitor → live search URL
- reply pass → search or candidate conversation first, then account action
- original post → clean composer flow
- metrics recap → profile or analytics
- result publish → site result page first, then clean X composer
Let the page load
After opening a page:
- wait for visible content
- confirm the session is logged in
- confirm the UI is interactive
- only then act
Never click or type into half-loaded pages.
Read before acting
First real action is observation.
Before any public action:
- read the page
- understand the thread or notification
- check whether the brand can add real value
- check reputational risk
Click carefully
Click once. Then verify.
After each click, confirm:
- the expected panel opened
- the expected thread loaded
- the composer is active if needed
- no wrong account or wrong tab is active
No stacked clicks. No impatient double-clicking.
Type carefully
Before submitting:
- focus the field
- paste or type once
- verify the full text appeared
- verify spacing, links, and media
- verify the tone is brand-safe
Keep one task per tab
Each tab needs one purpose.
When done:
- close extra tabs
- close stale composers
- return to a resting page
Safe resting page: https://x.com/notifications
Protect the account
Never publish just because a cron fired.
If the slot is weak:
- use a stronger fallback
- draft locally
- or do nothing
Quality protects the brand.
3. Cron-by-cron guide
Weekly Planning
Role: no browser required first. Use tw-engage only if checking live topics.
Goal: plan a credible week of content.
Interaction style:
- Read local memory, post log, reply log, ideas, learnings.
- Use your site pages as source priority.
- If browsing X, use search/discovery discipline.
- Produce a plan, not spam.
Avoid:
- inventing performance data
- planning too many posts
- weak angles
Notifications Check
Role: tw-post
First page: https://x.com/notifications
Goal: detect mentions, questions, useful replies, high-signal followers.
Interaction style:
- Open notifications.
- Wait until feed is usable.
- Read before acting.
- Reply only if useful, safe, and on-topic.
- Like only when appropriate.
- Inspect profiles before follow-back.
Avoid:
- replying to everything
- generic filler
- expert-grade advice on a precise personal case
- escalating polemics
Keyword Monitor (morning / midday / evening)
Role: tw-engage
First page: live search URL with brand keywords.
Goal: identify qualified public conversations.
Interaction style:
- Open live search.
- Scan newest relevant posts.
- Open promising items only.
- Evaluate freshness, source, relevance, and fit.
- Capture candidates.
- Do not force action if nothing is strong.
Avoid:
- treating stale content as urgent
- replying to trolls
- posting from raw impulse
- using
tw-postfor casual discovery unless only one physical profile exists
Reply Pass (midday / afternoon / evening)
Role: discovery in tw-engage, public action in tw-post.
First page: candidate conversation or live search.
Goal: send at most 2 useful replies per run.
Interaction style:
- Review candidate conversations.
- Read full visible context.
- Draft concise, useful, prudent reply.
- Check: no promise, no exact advice, no aggressive CTA.
- Publish only if value is clear.
- Log the reply.
Avoid:
- generic replies
- repeating the same CTA
- giving a private consultation in public
- engaging hostile threads
Original Post — Morning
Role: tw-post
First page: clean composer flow.
Goal: publish one practical, answer-first post.
Interaction style:
- Read post log and ideas first.
- Choose a fresh topic.
- Draft locally before composer.
- Open composer only when copy is ready.
- Paste once.
- Verify final text.
- Publish.
- Confirm the post went live.
- Update post log.
Avoid:
- duplicate topics
- weak filler
- posting without final verification
Original Post — Noon
Role: tw-post
Goal: publish a sober news / myth-vs-reality / threshold / deadline post.
Interaction style:
- same as morning
- verify any factual claim before posting
- if the source is weak, do not publish
Avoid:
- sensationalism
- uncertain claims
- clickbait
Original Post — Evening
Role: tw-post
Goal: publish a practical case study, common mistake, or field-specific tip.
Interaction style:
- draft locally
- anonymize everything
- avoid identifiable client/customer facts
- publish only if useful
Avoid:
- exposing client/case details
- implying guaranteed results
- emotional pressure tactics
Thread Generator (Tue / Fri)
Role: tw-post
First page: clean composer/thread flow.
Goal: publish one pedagogical thread from existing site content.
Interaction style:
- Select a source page or article.
- Draft full thread locally.
- One idea per tweet.
- Verify prudence and readability.
- Open composer.
- Build thread carefully.
- Check order before publishing.
- Publish once.
- Confirm live thread.
- Update post log.
Avoid:
- building directly in browser without local fallback
- losing thread text
- publishing if composer is unstable
Result / Win Publish
Role: tw-post
Goal: publish a short, sober, anonymized post if a new result page exists on \x3CBRAND_DOMAIN>.
Interaction style:
- Check the site first.
- Confirm the result is public.
- Draft a cautious post.
- Do not add private details.
- Publish only if the result is new and appropriate.
Avoid:
- duplicating old results
- overclaiming
- promising the same outcome to others
Daily Metrics Recap
Role: tw-post if metrics require profile or analytics.
First page: profile, then analytics only if usable.
Goal: capture real daily observations and recommendations.
Interaction style:
- Review post log and reply log.
- Open profile if needed.
- Record visible metrics only.
- If analytics is broken, say so.
- Do not invent numbers.
Avoid:
- fake metrics
- strategy claims unsupported by visible data
4. Recovery and failure handling
Browser down
- Restart only the affected profile.
- Reopen its default page.
- Confirm logged-in state.
- Confirm UI interactivity.
- Resume only after checks pass.
Browser frozen
- Reload expected page once.
- If still broken, restart browser profile.
- Reopen default page.
- Check interactivity.
- If still broken, report exact blocker.
tw-post / account cockpit unstable
Treat as critical.
Do not post, reply, DM, like, or follow until stable.
Recovery:
- Stop public action.
- Close stale composer if possible.
- Restart browser profile if needed.
- Open notifications.
- Confirm simple navigation works.
- Continue only if stable.
Too many tabs
- List tabs.
- Keep the necessary working tab.
- Close duplicate or stale tabs.
- Return to resting page.
Page loaded but unusable
- Verify failure is real.
- Refresh once.
- If still broken, record blocker.
- Use fallback if available.
- Never hallucinate state.
Composer stuck
- Stop adding inputs.
- Inspect once.
- Close composer cleanly if possible.
- Retry one clean time only.
- If still broken, save locally and abort.
Cron cannot safely complete
- Stop.
- Preserve browser stability.
- Report exact blocker.
- Do not fake completion.
5. Anti-patterns
Never:
- mix all workflows chaotically
- guess without reading the UI
- leave cluttered tabs
- force posts when the slot is weak
- reply generically
- use noisy engagement during maintenance
- act like a script
- publish expert-grade advice on a specific personal case
- promise a result
- denigrate anyone
- post at night (off-brand windows)
- invent analytics
6. Final doctrine
Choose the correct role. Open the correct page. Let the UI load. Read before acting. Click once. Verify the result. Recover cleanly when broken. Leave the browser cleaner than you found it.
tw-post = act as the account.
tw-engage = discover what to react to.
tw-stealth = maintain quietly.
Stability matters more than speed.
7. First-run checklist
Before enabling any cron, run through this checklist:
- Section 0 placeholders filled in your local copy / agent memory.
- X account profile bio is brand-aligned but not aggressively promotional.
- Browser profile launched at
http://127.0.0.1:\x3CBROWSER_PORT>and logged in. - Loading
https://x.com/notificationsfrom your profile renders the feed (= session OK). -
\x3CWORKSPACE_DIR>/memory/directory exists with the memory files used by your crons (post log, reply log, ideas, learnings, recaps). - Alert channel (Telegram / Slack / Discord) webhook tested with a "hello" message.
- At least 1 week of manual posting before letting automation drive the account — establishes a baseline tone and avoids day-1 algorithmic flags.
A bash one-liner to init the memory files:
mkdir -p "\x3CWORKSPACE_DIR>/memory" && cd "$_" && touch x-recaps.md x-post-log.md x-reply-log.md x-ideas.md x-learnings.md x-metrics-log.md
(The GitHub repo ships an init-memory.sh script that does the same interactively.)
8. Reply skeletons (drop-in templates)
These are skeletons, not finished replies — fill the brackets, then humanize.
Skeleton A — Answer-first (most replies)
[Direct answer in 1 sentence, no hedging].
[1-2 sentences of reasoning or the underlying rule].
[Optional: 1 concrete next step the OP can take themselves].
Skeleton B — Empathy + redirect (sensitive topic)
That's a tough spot.
[1 sentence that validates without overclaiming "I know what you're going through"].
The general framework here is [...]. A specialist in [...] can review your specific situation.
Skeleton C — Correction (politely)
Small precision: [the corrected fact, sourced if possible].
[Why it matters in 1 sentence].
(Not blaming OP — common confusion).
What to never paste verbatim
- Anything with
[bracket]placeholders still in it (final read-through is mandatory). - The exact same skeleton more than twice in a 7-day window — vary the structure.
9. FAQ
Q: Do I need OpenClaw to use this skill? A: No. OpenClaw browser CLI is the example stack — the doctrine works with Playwright, Puppeteer, Chrome MCP, or any CDP-capable tool. Swap the CLI calls.
Q: Can I use this skill for multiple X accounts?
A: Yes — clone the workspace dir per account. Each account gets its own memory/ and its own browser profile. Use a different \x3CBROWSER_PORT> per account so they don't collide.
Q: How does this interact with X API rate limits? A: The skill is browser-driven, not API-driven — you're not consuming X API quota. You are, however, subject to X's behavioral throttling on the UI side, which is exactly why the doctrine caps actions per role and per minute.
Q: Should I post threads or single tweets? A: Default to single tweets. Run a thread once per week max (Tue or Fri) when you have actual depth worth a thread. Threads-for-the-sake-of-threads get under-engaged.
Q: What about X Premium / Blue / verification? A: Orthogonal. The doctrine doesn't change. Verified accounts get slightly more leeway on rate limits but also more visibility for any misstep — so the discipline matters more, not less.
Q: What if X bans/suspends my account?
A: Stop everything. Do not appeal automatically. Manual review only. Document the suspension in x-learnings.md with the exact last 5 actions before suspension.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install twitter-account-operations - 安装完成后,直接呼叫该 Skill 的名称或使用
/twitter-account-operations触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
X / Twitter Account Operations 是什么?
Operating doctrine for X/Twitter account automation — stable Chrome sessions, role separation (post / engage / stealth), human-like interaction, careful post... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 33 次。
如何安装 X / Twitter Account Operations?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install twitter-account-operations」即可一键安装,无需额外配置。
X / Twitter Account Operations 是免费的吗?
是的,X / Twitter Account Operations 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
X / Twitter Account Operations 支持哪些平台?
X / Twitter Account Operations 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 X / Twitter Account Operations?
由 Alexandre Bloch(@alexbloch-ia)开发并维护,当前版本 v1.0.1。