Publish a VETTED post/tweet to an X (Twitter) account through the owner's real logged-in Chrome (live-tab, low-ban-risk path), rate-guarded and draft-first. Trigger on "/x-post", "tweet this", "post to X". Counts length the way X does (every link = 23 chars) and refuses over-limit texts instead of silently truncating.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add tonydzi/second-brain-starter-kit --skill x-post --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of X Post?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tonydzi-x-post)More formats (shields.io, HTML) on the badges page.
---
name: x-post
description: >
Publish a VETTED post/tweet to an X (Twitter) account through the owner's real logged-in
Chrome (live-tab, low-ban-risk path), rate-guarded and draft-first. Trigger on "/x-post",
"tweet this", "post to X". Counts length the way X does (every link = 23 chars) and refuses
over-limit texts instead of silently truncating.
license: MIT
---
# /x-post — post to X from the owner's account (Chrome, draft-first)
**Why.** EN teasers (from /episode) kept piling up as drafts — there was no poster for X. Same safe pattern as /fb-post: a live logged-in tab, never headless.
## 0. Safety catch (mandatory)
```bash
python "$USERPROFILE/.claude/scripts/_shared/social_guard.py" check x --text "<final text>"
```
`BLOCKED` (exit 3) → STOP and report (the 6/day limit, or a duplicate). Do not work around it.
## 1. The text (the owner's voice, top model)
Take a ready draft (an /episode EN teaser or an intention-lane text) or write it with the top model. A single tweet is ≤280 characters — count BEFORE opening the browser; longer → a thread (each tweet ≤280, chained by reply) or offer the operator a shorter version.
## 2. Tier-2 gate (draft-first)
Show the final text (+ the thread split, if it is a thread) → wait for an explicit `+`. Nothing is published without it.
## 3. The browser (Claude-in-Chrome, a live tab)
> Browser work stays local on this machine; never drag the window to the foreground elsewhere.
> ⛔ IP gate (2026-07-16): posting to X and other ban-sensitive social platforms happens ONLY from the hub `HUB-1` (a stable IP). Do NOT post from another machine — send the task to the hub as text. Canon: the "IP-sensitive actions from the hub only" rule.
1. `list_connected_browsers` → no extension → block and tell the operator (do not fall back to Playwright).
2. Open the `x.com` tab. **Verify the logged-in handle** (avatar / profile menu) against the registry. A different account → STOP and ask. Not logged in → block (we never touch login/2FA on X — checkpoint risk).
3. Composer: `find` "post composer / What's happening". Enter the text (`form_input`). **Do not press Post** until the gate in §2 is satisfied.
4. After the `+` — press Post. For a thread: use the "+" button in the composer after the first tweet, or reply to your own tweet.
5. A screenshot of the published post + the tweet URL (click the timestamp → address bar) is the proof.
## 4. Record it (AFTER a successful publication)
```bash
python "$USERPROFILE/.claude/scripts/_shared/social_guard.py" record x --text "<text>"
```
Report: the link + the screenshot + "x today N/6".
## Stop switches
- Any checkpoint / captcha / "unusual activity" from X → STOP immediately, report, zero retries.
- Never republish identical text; never post from someone else's account.
- Links in the text must be live and ours (link-safety).
## Related
`/fb-post` (the pattern this follows) · `/tg-post` · `/episode` (tiers: EN teaser → X) · the gate `scripts\_shared\social_guard.py` · the registry `00-System\Channels-Registry.md`.
---
<!-- CONTACT-FOOTER -->
## About & contact
Built and battle-tested at **Palo Alto AI Research Lab** — a fleet of Claude Code machines
running 24/7 as a second brain and synthetic cofounder. Every skill here survived real
production use before publication.
- 📦 All 101 skills: https://github.com/tonydzi/second-brain-starter-kit
- 👤 Author: **Anton Dziatkovskii** — Telegram [@tonydzi](https://t.me/tonydzi) · WhatsApp [+1 341 222 9178](https://wa.me/13412229178) · X [@Tony_Stef_](https://x.com/Tony_Stef_)
- 🧪 **Engineers: want to test-drive this setup?** Message me — I hand out free starter seeds to engineers who test and report back. Custom skill requests welcome.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!