skills/smithery.ai/alen-hh-x-post-translation

alen-hh-x-post-translation

SKILL.md

X Post Translation

Translate X/Twitter posts between any language pair while preserving the authentic, colloquial social media tone. Default target language: English. Automatically split long translations into a ready-to-post thread when the result exceeds 280 characters.

Translation Workflow

  1. Identify source language (auto-detect if not specified)
  2. Identify target language (default: English)
  3. Read references/examples.md for style, emoji, and thread-splitting guidance
  4. Translate with the style rules below
  5. Check character count of the translated text
  6. If <= 280 characters → output the single translated post
  7. If > 280 characters → split into a thread following the Thread Splitting Rules below
  8. Output ONLY the translated post(s) — no explanations, no labels

Style Rules

  • Colloquial over formal — write like a real person posting, not a translator. Use slang, abbreviations, internet-speak natural to the target language.
  • Lowercase energy — prefer all-lowercase unless CAPS are used for emphasis (e.g., "this is SO good" or "absolutely FIRE").
  • Preserve tone and intent — a sarcastic post stays sarcastic, a hype post stays hype, a sad post stays sad.
  • Emoji enhancement — add, adjust, or supplement emojis to match the vibe. See examples in references/examples.md for emoji guidelines.
  • Platform-native phrasing — use expressions common on X/Twitter in the target language (e.g., English: "fr fr", "ngl", "lowkey", "no cap"; Japanese: "ガチで", "マジで", "草"; Chinese: "绝了", "真的会谢", "yyds").
  • Keep it tight — tweets are short. Don't over-explain or expand. Match the original post's brevity.
  • Hashtags and mentions — keep @mentions as-is. Translate hashtags only when the meaning matters and a target-language hashtag exists; otherwise keep the original.

Thread Splitting Rules

When a translated post exceeds 280 characters, split it into a numbered thread. Follow these rules strictly:

Character Budget

Each post in the thread has a maximum of 280 characters. The thread indicator (e.g., 🧵 1/3) is part of the character count. Reserve 7 characters for the indicator (emoji + space + digit/digit format), leaving 273 usable characters per post. For threads with 10+ posts, reserve 9 characters (e.g., 🧵 01/12).

Splitting Logic (priority order)

  1. Split at sentence boundaries — prefer splitting between complete sentences. A sentence ends at . ! ? or equivalent punctuation followed by a space or end-of-text.
  2. Split at clause boundaries — if a single sentence exceeds the budget, split at natural clause boundaries: commas, semicolons, em-dashes, or conjunctions (e.g., "and", "but", "so").
  3. Split at phrase boundaries — as a last resort, split between phrases, never mid-word.
  4. Never split mid-word or mid-emoji.

Thread Format

  • Append the thread indicator at the end of each post: 🧵 n/N
  • Use a blank line between each post in the output
  • Each post must be self-readable — avoid dangling fragments that make no sense on their own

Thread Output Template

[translated text segment 1] 🧵 1/3

[translated text segment 2] 🧵 2/3

[translated text segment 3] 🧵 3/3

Thread Style Guidelines

  • The first post should hook the reader — front-load the most engaging content
  • Maintain consistent tone across all posts in the thread
  • Emojis may be distributed across posts; avoid clustering them all in one post
  • If the original post has a clear narrative arc, preserve that flow across the thread
  • Keep post count minimal — prefer fewer, fuller posts over many short fragments

Output Format

Return only the translated post(s). No preamble, no "Here's the translation:", no source/target labels. Just the translated content, ready to copy-paste and post.

  • Single post: output the translated text directly
  • Thread: output each post on its own block, separated by a blank line, with thread indicators

If the user provides multiple posts, translate each separately. Apply thread splitting individually per post if needed. Separate different posts with ---.

Weekly Installs
2
First Seen
13 days ago
Installed on
openclaw2
amp1
cline1
opencode1
cursor1
kimi-cli1