skillterm vs shell-gpt
One-shot LLM command generator (Python)
shell-gpt and skillterm both sit between you and an LLM in the terminal, but they target different surfaces. shell-gpt is best when you want one command back from a prompt right now. skillterm is best when you want a per-tool SKILL.md generated once and then queried every time you press Tab. They are complementary, not competitive.
shell-gpt rows describe its documented behaviour (pip install, LLM-backed, --shell / --code modes, chat sessions, function calling). We avoid version-dependent specifics. skillterm rows come from the neul-labs/skillterm README and docs/*.
| Dimension | skillterm | shell-gpt | Advantage |
|---|---|---|---|
| Primary surface | Generate SKILL.md and serve it at Tab | Generate a single command (or answer) per prompt | Comparable |
| Implementation language | Rust | Python | Comparable |
| Install | cargo install skillterm | pip install shell-gpt | Comparable |
| LLM access pattern | Headless agent runtime (Claude Code / Codex) — gets web search, web fetch, bash for free | Direct LLM API call | skillterm |
| Bootstrap meta-skills | skill-creator + saas-detector loaded each run | No equivalent concept | skillterm |
| Durable artefact | SKILL.md (Claude-compatible) per tool, re-used forever | Per-invocation output; chat history is the persistence | skillterm |
| Shell tab integration | eval "$(skillterm init <shell>)" — zsh / bash / fish | Not the primary use case | skillterm |
| Generation source | Man page, URL (--from-url), or web search (--from-search) | LLM completion only | skillterm |
| Cost shape | One generation per tool, free re-use thereafter | Per-invocation LLM cost | skillterm |
| Sharing a result | Publish to registry, install by name or gh:user/repo | Copy/paste a command | skillterm |
| License | MIT | MIT | Comparable |
Pick skillterm when
- ▸You want persistent, per-tool knowledge that drives Tab completion on every future invocation
- ▸You want Claude Code (or Codex) to do the generation using web search, web fetch, and bash — not a single API call
- ▸You want the durable artefact (SKILL.md) to be portable to other Claude agents and human-readable as documentation
- ▸You want skills you can share via a registry or a GitHub reference
Pick shell-gpt when
- ▸You want a one-shot natural-language → shell command flow and nothing more
- ▸You already live in Python and want a pip-installable tool with no Rust toolchain in the picture
- ▸You want a chat-style assistant in the terminal as much as a command generator
- ▸You do not need the completion-layer integration that skillterm builds
They often compose.
It is reasonable to use shell-gpt for one-shot prompts and skillterm for persistent per-tool completion in the same shell. They occupy different niches in the AI-CLI stack.