eliasoulkadi/shokunin/agent-tools
Claude Code and agent skill by eliasoulkadi/shokunin
- community
Checking that the SKILL.md file is still in the repository.
Run 150+ AI apps via inference.sh CLI - image generation, video creation, LLMs, search, 3D, Twitter automation. Models: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter, and many more. Use when running AI apps, generating images/videos, calling LLMs, web search, or automating Twitter. Triggers: inference.sh, infsh, ai model, run ai, serverless ai, ai api, flux, veo, claude api, image generation, video generation, openrouter, tavily, exa search, twitter api, grok
Install
npx vskill@latest install eliasoulkadi/shokunin/agent-toolsSKILL.md
inference.sh
Run 150+ AI apps in the cloud with a simple CLI. No GPU required.
[Image: [inference.sh]](https://cloud.inference.sh/app/files/u/4mg21r6ta37mpaz6ktzwtt8krr/01kgjw8atdxgkrsr8a2t5peq7b.jpeg)
Install CLI
What does the installer do? The install script detects your OS and architecture, downloads the correct binary fromdist.inference.sh, verifies its SHA-256 checksum, and places it in your PATH. That's it — no elevated permissions, no background processes, no telemetry. If you have cosign installed, the installer also verifies the Sigstore signature automatically.Manual install (if you prefer not to pipe to sh):```bash# Download the binary and checksumscurl -LO https://dist.inference.sh/cli/checksums.txtcurl -LO $(curl -fsSL https://dist.inference.sh/cli/manifest.json | grep -o '"url":"[^"]*"' | grep $(uname -s | tr A-Z a-z)-$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') | head -1 | cut -d'"' -f4)# Verify checksumsha256sum -c checksums.txt --ignore-missing# Extract and installtar -xzf inferencesh-cli-*.tar.gzmv inferencesh-cli-* ~/.local/bin/inferencesh```
Quick Examples
Local File Uploads
The CLI automatically uploads local files when you provide a path instead of a URL:
Commands
| Task | Command | |
|---|---|---|
| List all apps | infsh app list | |
| Search apps | infsh app list --search "flux" | |
| Filter by category | infsh app list --category image | |
| Get app details | infsh app get google/veo-3-1-fast | |
| Generate sample input | infsh app sample google/veo-3-1-fast --save input.json | |
| Run app | infsh app run google/veo-3-1-fast --input input.json | |
| Run without waiting | infsh app run <app> --input input.json --no-wait | |
| Check task status | infsh task get <task-id> |
What's Available
| Category | Examples | |
|---|---|---|
| Image | FLUX, Gemini 3 Pro, Grok Imagine, Seedream 4.5, Reve, Topaz Upscaler | |
| Video | Veo 3.1, Seedance 1.5, Wan 2.5, OmniHuman, Fabric, HunyuanVideo Foley | |
| LLMs | Claude Opus/Sonnet/Haiku, Gemini 3 Pro, Kimi K2, GLM-4, any OpenRouter model | |
| Search | Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract | |
| 3D | Rodin 3D Generator | |
| Twitter/X | post-tweet, post-create, dm-send, user-follow, post-like, post-retweet | |
| Utilities | Media merger, caption videos, image stitching, audio extraction |
Related Skills
Reference Files
Documentation
- Agent Skills Overview - The open standard for AI capabilities
- Getting Started - Introduction to inference.sh
- What is inference.sh? - Platform overview
- Apps Overview - Understanding the app ecosystem
- CLI Setup - Installing the CLI
- Workflows vs Agents - When to use each
- Why Agent Runtimes Matter - Runtime benefits
Workflow
- Discover —
infsh app list --search "<keyword>"orinfsh app list --category <image|video|llm|search|3d|x|utility>to find the right app - Inspect —
infsh app get <app-id>for description, pricing, input schema, and rate limits - Generate sample input —
infsh app sample <app-id> --save input.jsonto get a valid input template pre-filled with defaults - Customize — edit the JSON input file: replace prompts, file paths, or configuration values
- Run —
infsh app run <app-id> --input input.jsonfor synchronous execution, or--no-waitfor long-running tasks - Check status —
infsh task get <task-id>to poll progress of async tasks;infsh task logs <task-id>for streaming output - Retrieve output — outputs are URLs (images, videos) or text responses; download with
infsh task download <task-id>
For multi-step pipelines, chain apps: run the first app, extract its output URL, feed it as input to the next app (e.g., generate image → upscale, or generate video → add audio).
Error Handling
| Error | Cause | Fix | ||
|---|---|---|---|---|
infsh: command not found | CLI not installed or not in PATH | Run `curl -fsSL https://cli.inference.sh | sh` or check PATH includes the install directory | |
401 Unauthorized | Not logged in or token expired | Run infsh login and re-authenticate | ||
402 Payment Required | Account has no credits or payment method | Check infsh billing; add credits via inference.sh dashboard | ||
429 Too Many Requests | Rate limit exceeded for the app or account tier | Wait for the Retry-After header duration; for paid tiers, request a limit increase | ||
400 Bad Request on file upload | File path does not exist, is a directory, or exceeds size limits | Verify the file path with ls -la; check the app's max input size in infsh app get <app-id> | ||
Task timed out (HTTP 504 or task status failed) | App execution exceeded max duration | Check infsh task get <task-id> for error details; retry with smaller input or check app status page | ||
502 Bad Gateway or connection errors | inference.sh backend or model provider is down | Check https://status.inference.sh; retry with exponential backoff (2s, 4s, 8s) | ||
| Output URL returns 404 | Generated asset expired (files are ephemeral) | Re-run the job; for permanent storage, download immediately with infsh task download <task-id> | ||
JSON parse error on --input | Input file is not valid JSON or schema mismatch | Use infsh app sample <app-id> --save input.json to regenerate a valid template | ||
| Image/video generation produces blank or corrupted output | Model inference failed silently | Re-run the job; check app-specific known issues in infsh app get <app-id>; try a different model for the same task |
Checklist
- [ ] App is authenticated before running (
infsh login check) - [ ] Model supports the requested input format (image/video/text sizes)
- [ ] Task ID saved for async operations to retrieve results later
- [ ] Credit cost checked before bulk operations
- [ ] Output format confirmed (URL, file, or stdout) before passing to next step
Sources
- inference.sh CLI documentation — installation, commands, authentication
- inference.sh Apps Catalog — full app library with schemas and examples
- OpenRouter API — LLM model routing and pricing
- FLUX documentation (fal.ai, replicate.com) — image generation parameters and best practices
- Veo API (Google DeepMind) — video generation capabilities and limitations
- Tavily Search API (tavily.com) — web search and extraction endpoints
- Exa API (exa.ai) — semantic search and content extraction
- x.com Developer API — Twitter/X posting, DMs, and engagement endpoints
Anti-Patterns
| Anti-pattern | Why it fails | Fix | |
|---|---|---|---|
Not checking infsh app get before running | Input schema varies between apps; guessing fields causes 400 errors | Always run infsh app sample first to see the exact schema | |
| Hardcoding file paths without verifying they exist | The CLI auto-uploads relative paths; missing files produce confusing errors | Use absolute paths or verify relative paths with Test-Path before running | |
Not using --no-wait for long-running tasks | Synchronous runs block the terminal for minutes on video/3D generation | Use --no-wait and poll with infsh task get <id> for tasks expected to take > 30s | |
| Ignoring rate limits and credit costs | Each app has different pricing; some cost $0.50+ per run | Check infsh app get <app-id> for cost estimate before bulk/generating runs | |
| Using the cheapest model for everything | OpenRouter free models may have lower quality or stricter rate limits | Match model quality to task importance; paid tiers are more reliable | |
| Not saving task IDs | Async tasks complete after the terminal session; without the ID you can't retrieve results | Log all task IDs: infsh task get <id> > task-<id>-result.json | |
| Running image generation without checking supported resolutions/aspect ratios | Models silently crop or stretch to supported dimensions | Check infsh app get for supported_sizes or aspect_ratios field |
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.pack/skills/agent-tools/SKILL.md
Popularity
- Repository stars
- 91
- Repository forks
- 10
- 7-day trend score
- 23
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/eliasoulkadi/shokunin/agent-tools)