x-tweet
Draft short social posts from public-safe source material. Posting is optional
and requires explicit approval plus the --confirm-post flag in
scripts/post_tweet.py.
Modes
| Command |
What it does |
/tweet [topic] |
Draft from topic, review, and ask before any posting step |
/tweet suggest |
Turn public-safe recent work into draft angles |
/tweet draft [topic] |
Generate and save to queue without posting |
/tweet queue |
View saved drafts |
/tweet thread [topic] |
Generate a short thread draft |
/tweet stats |
Optional local metrics review |
Flow
- Read only public-safe source material.
- Apply voice-rules.md.
- Run the content-humanizer checklist.
- Check anti-patterns.md.
- Scan for private paths, keys, IPs, chat IDs, internal repo names, and screenshots.
- Show the draft.
- Stop unless the user explicitly approves posting.
- If approved, call
scripts/post_tweet.py --confirm-post.
Privacy Rules
Private activity is source material only. Never expose:
- local file paths, commit hashes, private repo names, or internal architecture
- API keys, tokens, cookies, account IDs, chat IDs, or usernames
- stack traces, dashboards, production incidents, logs, or private metrics
- assistant configuration, private prompts, transcripts, or session state
Reframe private details into public lessons before drafting.
Posting
Posting uses X API v2 only when configured locally:
X_API_KEY=replace_me
X_API_SECRET=replace_me
X_ACCESS_TOKEN=replace_me
X_ACCESS_TOKEN_SECRET=replace_me
SOCIAL_USERNAME=example_user
Dry run:
python3 scripts/post_tweet.py "Draft text" --dry-run
Confirmed post:
python3 scripts/post_tweet.py "Approved text" --confirm-post
Draft Queue
Drafts live under CONTENT_PIPELINE_HOME, defaulting to
~/content-pipeline.
1---2name: x-tweet3description: Draft, review, and optionally post short social updates with explicit approval gates, fake examples, and local draft storage.4---56# x-tweet78Draft short social posts from public-safe source material. Posting is optional9and requires explicit approval plus the `--confirm-post` flag in10`scripts/post_tweet.py`.1112## Modes1314| Command | What it does |15|---|---|16| `/tweet [topic]` | Draft from topic, review, and ask before any posting step |17| `/tweet suggest` | Turn public-safe recent work into draft angles |18| `/tweet draft [topic]` | Generate and save to queue without posting |19| `/tweet queue` | View saved drafts |20| `/tweet thread [topic]` | Generate a short thread draft |21| `/tweet stats` | Optional local metrics review |2223## Flow24251. Read only public-safe source material.262. Apply [voice-rules.md](references/voice-rules.md).273. Run the content-humanizer checklist.284. Check [anti-patterns.md](references/anti-patterns.md).295. Scan for private paths, keys, IPs, chat IDs, internal repo names, and screenshots.306. Show the draft.317. Stop unless the user explicitly approves posting.328. If approved, call `scripts/post_tweet.py --confirm-post`.3334## Privacy Rules3536Private activity is source material only. Never expose:3738- local file paths, commit hashes, private repo names, or internal architecture39- API keys, tokens, cookies, account IDs, chat IDs, or usernames40- stack traces, dashboards, production incidents, logs, or private metrics41- assistant configuration, private prompts, transcripts, or session state4243Reframe private details into public lessons before drafting.4445## Posting4647Posting uses X API v2 only when configured locally:4849```env50X_API_KEY=replace_me51X_API_SECRET=replace_me52X_ACCESS_TOKEN=replace_me53X_ACCESS_TOKEN_SECRET=replace_me54SOCIAL_USERNAME=example_user55```5657Dry run:5859```bash60python3 scripts/post_tweet.py "Draft text" --dry-run61```6263Confirmed post:6465```bash66python3 scripts/post_tweet.py "Approved text" --confirm-post67```6869## Draft Queue7071Drafts live under `CONTENT_PIPELINE_HOME`, defaulting to72`~/content-pipeline`.