Files
hermes-agent/optional-skills/devops/cli/SKILL.md
Teknium 5ceed021dc feat(gateway): skill-aware slash commands, paginated /commands, Telegram 100-cap (#3934)
* feat(gateway): skill-aware slash commands, paginated /commands, Telegram 100-cap

Map active skills to Telegram's slash command menu so users can
discover and invoke skills directly. Three changes:

1. Telegram menu now includes active skill commands alongside built-in
   commands, capped at 100 entries (Telegram Bot API limit). Overflow
   commands remain callable but hidden from the picker. Logged at
   startup when cap is hit.

2. New /commands [page] gateway command for paginated browsing of all
   commands + skills. /help now shows first 10 skill commands and
   points to /commands for the full list.

3. When a user types a slash command that matches a disabled or
   uninstalled skill, they get actionable guidance:
   - Disabled: 'Enable it with: hermes skills config'
   - Optional (not installed): 'Install with: hermes skills install official/<path>'

Built on ideas from PR #3921 by @kshitijk4poor.

* chore: move 21 niche skills to optional-skills

Move specialized/niche skills from built-in (skills/) to optional
(optional-skills/) to reduce the default skill count. Users can
install them with: hermes skills install official/<category>/<name>

Moved skills (21):
- mlops: accelerate, chroma, faiss, flash-attention,
  hermes-atropos-environments, huggingface-tokenizers, instructor,
  lambda-labs, llava, nemo-curator, pinecone, pytorch-lightning,
  qdrant, saelens, simpo, slime, tensorrt-llm, torchtitan
- research: domain-intel, duckduckgo-search
- devops: inference-sh cli

Built-in skills: 96 → 75
Optional skills: 22 → 43

* fix: only include repo built-in skills in Telegram menu, not user-installed

User-installed skills (from hub or manually added) stay accessible via
/skills and by typing the command directly, but don't get registered
in the Telegram slash command picker. Only skills whose SKILL.md is
under the repo's skills/ directory are included in the menu.

This keeps the Telegram menu focused on the curated built-in set while
user-installed skills remain discoverable through /skills and /commands.
2026-03-30 10:57:30 -07:00

4.5 KiB

name, description, version, author, license, metadata
name description version author license metadata
inference-sh-cli Run 150+ AI apps via inference.sh CLI (infsh) — image generation, video creation, LLMs, search, 3D, social automation. Uses the terminal tool. Triggers: inference.sh, infsh, ai apps, flux, veo, image generation, video generation, seedream, seedance, tavily 1.0.0 okaris MIT
hermes
tags related_skills
AI
image-generation
video
LLM
search
inference
FLUX
Veo
Claude

inference.sh CLI

Run 150+ AI apps in the cloud with a simple CLI. No GPU required.

All commands use the terminal tool to run infsh commands.

When to Use

  • User asks to generate images (FLUX, Reve, Seedream, Grok, Gemini image)
  • User asks to generate video (Veo, Wan, Seedance, OmniHuman)
  • User asks about inference.sh or infsh
  • User wants to run AI apps without managing individual provider APIs
  • User asks for AI-powered search (Tavily, Exa)
  • User needs avatar/lipsync generation

Prerequisites

The infsh CLI must be installed and authenticated. Check with:

infsh me

If not installed:

curl -fsSL https://cli.inference.sh | sh
infsh login

See references/authentication.md for full setup details.

Workflow

1. Always Search First

Never guess app names — always search to find the correct app ID:

infsh app list --search flux
infsh app list --search video
infsh app list --search image

2. Run an App

Use the exact app ID from the search results. Always use --json for machine-readable output:

infsh app run <app-id> --input '{"prompt": "your prompt here"}' --json

3. Parse the Output

The JSON output contains URLs to generated media. Present these to the user with MEDIA:<url> for inline display.

Common Commands

Image Generation

# Search for image apps
infsh app list --search image

# FLUX Dev with LoRA
infsh app run falai/flux-dev-lora --input '{"prompt": "sunset over mountains", "num_images": 1}' --json

# Gemini image generation
infsh app run google/gemini-2-5-flash-image --input '{"prompt": "futuristic city", "num_images": 1}' --json

# Seedream (ByteDance)
infsh app run bytedance/seedream-5-lite --input '{"prompt": "nature scene"}' --json

# Grok Imagine (xAI)
infsh app run xai/grok-imagine-image --input '{"prompt": "abstract art"}' --json

Video Generation

# Search for video apps
infsh app list --search video

# Veo 3.1 (Google)
infsh app run google/veo-3-1-fast --input '{"prompt": "drone shot of coastline"}' --json

# Seedance (ByteDance)
infsh app run bytedance/seedance-1-5-pro --input '{"prompt": "dancing figure", "resolution": "1080p"}' --json

# Wan 2.5
infsh app run falai/wan-2-5 --input '{"prompt": "person walking through city"}' --json

Local File Uploads

The CLI automatically uploads local files when you provide a path:

# Upscale a local image
infsh app run falai/topaz-image-upscaler --input '{"image": "/path/to/photo.jpg", "upscale_factor": 2}' --json

# Image-to-video from local file
infsh app run falai/wan-2-5-i2v --input '{"image": "/path/to/image.png", "prompt": "make it move"}' --json

# Avatar with audio
infsh app run bytedance/omnihuman-1-5 --input '{"audio": "/path/to/audio.mp3", "image": "/path/to/face.jpg"}' --json

Search & Research

infsh app list --search search
infsh app run tavily/tavily-search --input '{"query": "latest AI news"}' --json
infsh app run exa/exa-search --input '{"query": "machine learning papers"}' --json

Other Categories

# 3D generation
infsh app list --search 3d

# Audio / TTS
infsh app list --search tts

# Twitter/X automation
infsh app list --search twitter

Pitfalls

  1. Never guess app IDs — always run infsh app list --search <term> first. App IDs change and new apps are added frequently.
  2. Always use --json — raw output is hard to parse. The --json flag gives structured output with URLs.
  3. Check authentication — if commands fail with auth errors, run infsh login or verify INFSH_API_KEY is set.
  4. Long-running apps — video generation can take 30-120 seconds. The terminal tool timeout should be sufficient, but warn the user it may take a moment.
  5. Input format — the --input flag takes a JSON string. Make sure to properly escape quotes.

Reference Docs

  • references/authentication.md — Setup, login, API keys
  • references/app-discovery.md — Searching and browsing the app catalog
  • references/running-apps.md — Running apps, input formats, output handling
  • references/cli-reference.md — Complete CLI command reference