# Twitter Automation

> Route high-level Twitter/X automation setup, readiness, starter-menu, and ambiguous workflow requests to independent flat peer skills after ThreadWave checks. Use for start ThreadWave, open ThreadWave, show the ThreadWave menu, or an exact standalone `threadwave` or `tw` request, plus Twitter automation setup, readiness, repair, and workflow selection. Do not use when the request already clearly asks to create/post tweets, create/send replies, or run the daily agent; activate twitter-post, twitter-reply, or twitter-agent directly. 中文：用于启动 ThreadWave、打开 ThreadWave 菜单、单独输入 `threadwave` 或 `tw`、推特自动化安装、就绪检查、修复和模糊工作流路由；明确的发推、回复或日常代理请求应直接使用对应的平级技能。

- Skill: `ohmyskyhigh/twitter-automation` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add ohmyskyhigh/twitter-automation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ohmyskyhigh/twitter-automation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT-0
- Author: ohmyskyhigh (https://skillmd.com/u/ohmyskyhigh)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ohmyskyhigh/twitter-automation

---


# Twitter Automation

Act only as the optional high-level router for the flat ThreadWave Twitter skill suite. Never contain, copy, proxy, or execute the workflows owned by `twitter-post`, `twitter-reply`, or `twitter-agent`.

## Flat Peer Contract

Treat these as independent installed siblings:

```text
twitter-automation -> routes to twitter-post
                   -> routes to twitter-reply
                   -> routes to twitter-agent
```

Every destination skill can activate directly. None depends on this skill. Route by skill name only; never use a relative path, nested skill folder, import, or copied procedure.

## Language

Respond in English or Simplified Chinese from explicit preference, latest message, conversation language, then English. Preserve the original request and exact user content without translation or normalization.

## Starter Menu

For a request such as `start ThreadWave`, `open ThreadWave`, or `启动 ThreadWave`, or when the entire trimmed request is exactly `threadwave` or `tw` (case-insensitive), activate `threadwave-preflight` once in `greeting-balance` mode, then show the starter menu and wait. Do not treat `tw` followed by a CLI subcommand or other text as a starter alias. Greeting-balance is a read-only balance lookup, not a readiness check, and authorizes no workflow or X mutation.

Render this approved setup panda exactly once in a preformatted block above the menu. Preserve every space and line break; do not replace it with an image, emoji, or newly invented art.

```text
        ▄█████▄    ▄█████▄
       █████████  █████████
       ▀██████████████████▀
       ██▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀██
       ██ ██████  ██████ ██
       ██ ██████▄▄██████ ██
       ██▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀██
         ▀██████████████▀
```

Below the panda, show the returned balance as `Credits: <number> remaining.` / `积分：剩余 <number>。` When the lightweight lookup is unavailable, show `Credits: unavailable.` / `积分：暂时无法查询。` and continue to the menu without login, setup, repair, or another command.

Present these choices in the user's language:

1. Draft a tweet — route to `twitter-post`.
2. Generate replies — route to `twitter-reply`.
3. Run daily growth — route to `twitter-agent`.
4. Check setup and readiness — remain here and activate `threadwave-preflight`.

Accept a number, label, or clear equivalent as the choice. Preserve any additional direction the user supplies. For choices 1–3, activate the named peer and stop; that destination owns preflight and its complete workflow. Apart from the one greeting-balance lookup, do not run regular preflight or a destination workflow before the user chooses.

## Routing Flow

Classify only the workflow owner:

- setup, dependency, CLI, extension, readiness, or repair: remain here;
- ad-hoc tweet creation, one-to-five tweet tasks, or one exact post: `twitter-post`;
- ad-hoc reply creation, five-to-ten discovery reply tasks, target discovery, or one exact reply: `twitter-reply`;
- daily growth, strategy, plan, scheduled daily work, reviews, or outcomes: `twitter-agent`.

When the request already has a clear destination, activate that peer with the unchanged request and stop this router flow. Do not run router preflight first; the destination peer owns its mandatory preflight.

If a destination peer is unavailable, preserve the request and direct the user to `https://www.threadwave.xyz/cli/setup/agent.md`. Never emulate the missing peer.

## Setup And Readiness Flow

For setup/readiness requests only, activate `threadwave-preflight` by skill name. Require every release-index roster skill, the supported CLI contract, and Chrome extension setup to be confirmed ready.

If any module is missing or invalid, let preflight run the canonical setup-guide recovery after approval. Version drift (older, below-minimum, or ahead-of-public) and unconfirmed version checks follow preflight's continuation choices instead of blocking. Setup completion grants no approval for strategy, content, posting, replying, or another X mutation.

## Hard Boundaries

- Never invoke `tw task`, `tw draft`, `tw plan`, `tw scheduler`, or `tw action`.
- Never generate, review, approve, post, reply, or schedule content.
- Never keep operating after a peer handoff.
- Never ask the user to repeat content already supplied.
- Never treat a broad automation request as X mutation approval.

## Issue Report

For a report-worthy setup/readiness failure or explicit report request, activate `threadwave-preflight` in issue-report-only mode with sanitized metadata. State that the copy/paste report was not sent.

## Return Format

Use the starter menu instead of this status block while waiting for a starter-menu choice. For routing or readiness work, use:

```text
State: <routed | ready | waiting for you | blocked>
Owner: <twitter-post | twitter-reply | twitter-agent | twitter-automation>
Completed: <routing or readiness checks only>
Waiting for you: <one setup action, if any>
Next: <destination skill or setup guide>
Issue report: <copy/paste only; nothing sent>
```

