twitter-automation

Automatisez Twitter/X avec publication, engagement et gestion des utilisateurs via l'interface CLI inference.sh. Applications : x/post-tweet, x/post-create (avec média), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capacités : publier des tweets, planifier du contenu, aimer des publications, retweeter, envoyer des messages directs, suivre des utilisateurs, obtenir des profils. Utilisation pour : automatisation des réseaux sociaux, planification de contenu, bots d'engagement, croissance d'audience, API X. Déclencheurs : twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x...

npx skills add https://github.com/halt-catch-fire/skills --skill twitter-automation

Install the belt CLI skill: npx skills add belt-sh/cli

Twitter/X Automation

Automate Twitter/X via inference.sh CLI.

Twitter/X Automation

Quick Start

Requires inference.sh CLI (belt). Install instructions

belt login

# Post a tweet
belt app run x/post-tweet --input '{"text": "Hello from inference.sh!"}'

Available Apps

AppApp IDDescription
Post Tweetx/post-tweetPost text tweets
Create Postx/post-createPost with media
Like Postx/post-likeLike a tweet
Retweetx/post-retweetRetweet a post
Delete Postx/post-deleteDelete a tweet
Get Postx/post-getGet tweet by ID
Send DMx/dm-sendSend direct message
Follow Userx/user-followFollow a user
Get Userx/user-getGet user profile

Examples

Post a Tweet

belt app run x/post-tweet --input '{"text": "Just shipped a new feature! 🚀"}'

Post with Media

belt app sample x/post-create --save input.json

# Edit input.json:
# {
#   "text": "Check out this AI-generated image!",
#   "media_url": "https://your-image-url.jpg"
# }

belt app run x/post-create --input input.json

Like a Tweet

belt app run x/post-like --input '{"tweet_id": "1234567890"}'

Retweet

belt app run x/post-retweet --input '{"tweet_id": "1234567890"}'

Send a DM

belt app run x/dm-send --input '{
  "recipient_id": "user_id_here",
  "text": "Hey! Thanks for the follow."
}'

Follow a User

belt app run x/user-follow --input '{"username": "elonmusk"}'

Get User Profile

belt app run x/user-get --input '{"username": "OpenAI"}'

Get Tweet Details

belt app run x/post-get --input '{"tweet_id": "1234567890"}'

Delete a Tweet

belt app run x/post-delete --input '{"tweet_id": "1234567890"}'

Workflow: Generate AI Image and Post

# 1. Generate image
belt app run falai/flux-dev-lora --input '{"prompt": "sunset over mountains"}' > image.json

# 2. Post to Twitter with the image URL
belt app run x/post-create --input '{
  "text": "AI-generated art of a sunset 🌅",
  "media_url": "<image-url-from-step-1>"
}'

Workflow: Generate and Post Video

# 1. Generate video
belt app run google/veo-3-1-fast --input '{"prompt": "waves on a beach"}' > video.json

# 2. Post to Twitter
belt app run x/post-create --input '{
  "text": "AI-generated video 🎬",
  "media_url": "<video-url-from-step-1>"
}'

Related Skills

# Full platform skill (all apps)
npx skills add inference-sh/skills@infsh-cli

# Image generation (create images to post)
npx skills add inference-sh/skills@ai-image-generation

# Video generation (create videos to post)
npx skills add inference-sh/skills@ai-video-generation

# AI avatars (create presenter videos)
npx skills add inference-sh/skills@ai-avatar-video

Browse all apps: belt app list

Documentation

Plus de skills de halt-catch-fire

ai-image-generation
halt-catch-fire
Générez des images IA avec GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve et plus de 50 modèles via l'interface CLI inference.sh. Modèles : GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capacités : texte vers image, image vers image, inpainting, LoRA, édition d'image, upscaling, rendu de texte. Utilisation pour : art IA, maquettes de produits, concept art, graphiques pour réseaux sociaux, visuels marketing, illustrations. Déclencheurs : flux, génération d'image, image IA, texte vers...
creativemediaimage
ai-video-generation
halt-catch-fire
We need to translate the given text from English to French. The text describes an AI video generation skill. We must preserve the name "ai-video-generation" but it's not in the text, so we ignore. Preserve product names, protocol names, URLs, numbers, technical terms. So "Google Veo", "Seedance 2.0", "HappyHorse", "Wan", "Grok", "inference.sh CLI", "Veo 3.1", "Veo 3", "Seedance 2.0", "HappyHorse 1.0", "Wan 2.5", "Grok Imagine Video", "OmniHuman", "Fabric", "HunyuanVideo", "text-to-video", "image-to-video", "reference-to-video", "video editing", "lipsync", "avatar animation", "video upscaling", "foley sound", "social media videos", "marketing content", "explainer videos", "product demos", "AI avatars",
creativevideomedia
ai-avatar-video
halt-catch-fire
We need to translate the given text from English to French, preserving the name "ai-avatar-video" and other technical terms. The text describes creating AI avatar and talking head videos via inference.sh CLI. It recommends P-Video-Avatar, and lists other options: OmniHuman, Fabric, PixVerse. Audio options: Inworld TTS-2, ElevenLabs, Kokoro. Capabilities: audio-driven avatars, text-to-avatar, lipsync videos, talking head generation, virtual presenters, UGC content. Use for: AI presenters, explainer videos, virtual influencers, dubbing, marketing videos, UGC ads, gaming avatars,... We must not include the name "ai-avatar-video" unless it appears in the source text. It does not appear in the source text, so we omit it. We translate the rest naturally. Keep product names, protocol names, URLs, numbers, technical terms as is. So "inference.sh CLI" stays, "P-Video-Avatar", "OmniHuman", "F
videocreativemedia
agent-browser
halt-catch-fire
Automatisation de navigateur pour agents IA via inference.sh. Naviguer sur des pages web, interagir avec des éléments en utilisant les références @e, prendre des captures d'écran, enregistrer des vidéos. Capacités : scraping web, remplissage de formulaires, clics, saisie, glisser-déposer, téléchargement de fichiers, exécution JavaScript. Utilisation pour : automatisation web, extraction de données, tests, navigation agent, recherche. Déclencheurs : navigateur, automatisation web, scraping, navigation, clic, remplissage de formulaire, capture d'écran, navigation web, playwright, navigateur headless, agent web, surf internet, enregistrement vidéo
browser-automationweb-scrapingtesting
web-search
halt-catch-fire
Recherche web et extraction de contenu avec Tavily et Exa via l'interface en ligne de commande inference.sh. Applications : Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract. Capacités : recherche assistée par IA, extraction de contenu, réponses directes, recherche documentaire. Utilisation pour : recherche, pipelines RAG, vérification des faits, agrégation de contenu, agents. Déclencheurs : recherche web, tavily, exa, api de recherche, extraction de contenu, recherche, recherche internet, recherche IA, assistant de recherche, scraping web, rag, alternative à perplexity
researchweb-scrapingapi
infsh-cli
halt-catch-fire
We need to translate the given text from English to French, preserving the name "infsh-cli" and other technical terms, product names, protocol names, URLs, numbers, etc. The instruction says: "Do not include the name unless it appears in the source text." The name "infsh-cli" is not in the source text, so we don't include it. The source text has "inference.sh CLI" - that should be preserved as is? The instruction says preserve product names, so "inference.sh CLI" should stay. Also "FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter" are product names, keep them. "Twitter" is a product name. "AI" is a term, keep as is or translate? Usually "IA" in French, but the instruction says preserve technical terms? "AI" is a common acronym, often kept as is. But in French, "IA" is used. However, the instruction says "preserve product names
developmentapicreative
landing-page-design
halt-catch-fire
We need to translate the given text from English to French. The text is a description of an agent skill for landing page design. We must preserve the name "landing-page-design" but it's not in the text, so we don't include it. We translate only the text inside <text>. No extra labels. Keep technical terms like "CTA", "F-pattern", "SaaS", etc. as is or translate if appropriate? The instruction says preserve technical terms, so "CTA" stays, "F-pattern" might be kept or translated? Usually "F-pattern" is a known term, but in French it might be "motif en F" or keep as is. Since it's a technical term, I'll keep "F-pattern" as is. "above-the-fold" is a term, often kept as "above-the-fold" or "au-dessus de la ligne de flottaison". I'll keep as "above-the-fold" for consistency. "social proof" -> "preuve sociale". "mobile design" -> "conception mobile
product-photography
halt-catch-fire
We need to translate the given text from English to French. The text describes an AI product photography skill. We must preserve the name "product-photography" but it's not in the text, so we don't include it. We translate only the text inside <text>. No extra labels. Keep technical terms like "packshot", "hero shot", "lifestyle shots", "e-commerce", "Amazon" as is or with appropriate French translation? The instruction says preserve product names, protocol names, URLs, numbers, technical terms. "Amazon" is a product name, keep as is. "packshot" is a technical term, often kept in English in French contexts, but could be translated? The instruction says preserve technical terms, so keep "packshot". "hero shot" is also technical, keep. "lifestyle shots" - "lifestyle" is often used in French, but "shots" might be translated as "photos" or kept. I'll keep "lifestyle shots" as is. "studio lighting" - "éclairage studio".
creativeecommerceimage