LLMSkillHub
Docs

Developer guide

How to find, install, write and publish a skill — in the browser, from a terminal, or from inside an agent. Everything here works against the live catalogue.

On this pageConnectThe toolsWhat it will not do

Connect

PROMPTLet your agent do it — it knows where its own config lives
Show the prompt
Connect my agent to the LLM SkillHub catalogue over MCP, so it can search
published skills mid-task instead of me stopping to look them up.

1. Connect the catalogue over MCP, so you can search it mid-task instead
   of me stopping to look things up. Say which client you are configuring before
   you change anything:

   - If you are Claude Code, use the command rather than editing a file:

       claude mcp add --transport http llmskillhub https://api.llmskillhub.com/mcp

     Add --scope user to make it available in every project rather than this one.

   - Any other client — Cursor, Codex, Gemini CLI, opencode, VS Code, Windsurf,
     Zed, Claude Desktop — keeps its MCP servers in its own configuration, in its
     own place. Use the mechanism your client actually documents. If you are not
     certain where that is, say so and show me the entry to paste rather than
     writing to a path you guessed at: JSON in a file nothing reads fails
     silently and looks like the server being down.

     {
       "mcpServers": {
         "llmskillhub": {
           "url": "https://api.llmskillhub.com/mcp"
         }
       }
     }

2. If the llmsh CLI is already on this machine — check with "command -v llmsh" —
   you can run it over stdio instead of over HTTP:

     {
       "mcpServers": {
         "llmskillhub": {
           "command": "llmsh",
           "args": ["mcp"]
         }
       }
     }

   These are not interchangeable. The URL is anonymous and sees only what is
   public. The stdio server sends my stored token if I am signed in, so it can
   also see my own versions before they are listed. Pick the URL unless I have
   said I want the second.

3. Check the server answers before telling me it is connected:

     curl -fsSL -X POST "https://api.llmskillhub.com/mcp" \
       -H "Content-Type: application/json" \
       -H "Accept: application/json, text/event-stream" \
       -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

   A healthy server lists five tools: search_skills, get_skill, read_skill_file,
   list_categories and install_command. Then reload or restart the client so it
   picks up the new server, and confirm it appears in whatever list it shows.

Everything over MCP is read-only: the tools search and read published files, and
install_command hands back a command rather than running it. Connecting the
catalogue cannot install anything by itself.

Tell me which client you configured, where the entry went, whether you used HTTP
or stdio, and what the tools/list check returned.

The catalogue speaks the Model Context Protocol, so an agent can search it mid-task instead of you stopping to look it up.

Which means it is not a Claude-only catalogue, whatever the skills happen to be called. Anything that speaks MCP can search all of this and read any published file from it — Cursor, Codex, Gemini CLI, opencode, VS Code, Windsurf, Zed, Claude Code and Claude Desktop among them. One URL, nothing installed, and no account unless you want one — signing in is what makes your private skills visible to it. Each of those keeps its server list in its own file, but the block below is the part that differs between them.

Over HTTP — nothing to install

Any client that takes a remote server needs only the URL:

{
  "mcpServers": {
    "llmskillhub": {
      "url": "https://api.llmskillhub.com/mcp"
    }
  }
}

Over stdio — if you have the CLI

The same tools from the same code, reaching the catalogue through the same public API:

{
  "mcpServers": {
    "llmskillhub": {
      "command": "llmsh",
      "args": ["mcp"]
    }
  }
}

Both see what the credential they carry sees. The stdio server sends your stored token, so it finds your own versions before they are listed and your private skills. The URL is anonymous unless you give it a token — add an Authorization: Bearer header and it sees the same, limited to whatever that token’s reach allows. Without one it is the public catalogue, which is what makes it safe to paste anywhere.

The tools

search_skillsthe same search the website uses, meaning included — describe the task
get_skilldescription, licence, every version and its digest
read_skill_fileany file from a published version; SKILL.md by default
list_categoriesthe category vocabulary
install_commandthe command to install one

read_skill_file is the one worth reaching for before recommending anything: it returns the instructions an agent would actually load, with hidden and bidirectional characters revealed rather than passed through. It defaults to SKILL.md, so a name alone answers “what does this actually do”.

Anywhere a skill is named, name takes owner/slug or just slug. A name belongs to its publisher rather than to the catalogue, so two people may each have a pricing-strategy; the short form works until one of those names is shared, and then the reply lists who has it so the next call can say whose. search_skills is for finding something by what it does;get_skill is for a name you already hold.

A search result says which kind of answer it is. When every word matched it reads N skill(s) for …; when nothing contained every word it reads related to … and says so plainly, so an agent can tell a match from a near miss without opening each one.

What it will not do

Nothing here writes to your disk. install_command hands back the command instead of running it. Installing puts a third party’s instructions somewhere an agent will load them, and that is a decision for a person rather than for a model — over HTTP it is also the only honest answer, since the server cannot reach your machine at all.

Nothing here needs an account for the public catalogue: every tool only reads. A token, if you give it one, widens what it can read to the private skills that token reaches — and nothing more, since no tool writes. Revoke it from your account page like any other.