# Share and rate configs

> Publish a whole agent (one clai profile), or an MCP server, shell context, Agent Skill, theme or prompt, to the public hub, and rate and discuss the ones you use.

Canonical URL: https://www.clai.chat/docs/guides/community-hub/ · Version: 1.0 · Updated: 2026-10-26

Full site index: https://www.clai.chat/llms.txt

The Hub, the agent hub at <https://www.clai.chat/hub/>, is where clai users publish
the parts of a setup that are worth copying, above all whole agents. Reading
and downloading needs no account. Publishing, rating and commenting need a
sign-in with GitHub or Google.

Every agent has an address made of its author's handle and its name:
`https://www.clai.chat/hub/<handle>/<name>/`, and the same pair is its
target, `cchub:<handle>/<name>`. In clai 1.0 you download the file and put it
in your config directory yourself, or run it where it is with `-prp`; the
agent page also shows the `clai -prp cchub:…` line, for a clai that reads
remote targets.

## What the Hub holds

| Kind          | What it is                            | Where it goes             |
| ------------- | ------------------------------------- | ------------------------- |
| Agent         | `profiles/<name>.json`                | `<config>/profiles/`      |
| MCP server    | `mcpServers/<name>.json`              | `<config>/mcpServers/`    |
| Shell context | `shellContexts/<name>.json`           | `<config>/shellContexts/` |
| Skill         | a `SKILL.md` file                     | `<config>/skills/<name>/` |
| Theme         | `theme.json`                          | `<config>/`               |
| Prompt        | a system prompt to paste in a profile | -                         |

`<config>` is what `clai confdir` prints: `<os.UserConfigDir()>/.clai`, which
is `~/.config/.clai` on Linux. See
[Configuration](/docs/reference/configuration/) for every file and field.

## Agents

An agent is one clai profile: its model, prompt, built-in tools and MCP
servers in a single JSON file, so the file you download is the file clai
runs. The agent page reads the profile and puts what it does on your machine
above its prompt:

- **Runs on your machine** lists every MCP server's command and arguments, or
  its URL. A server started with `npx`, `pnpx`, `bunx` or `uvx` and no
  `@version` is marked _not pinned_: it fetches the newest package each time
  the agent starts.
- **Secrets it expects** lists the `envfile` paths, `auth.token_env` names and
  `env` keys the profile names. The values are yours to supply.
- **Setup** lists the model, the built-in tools, banned commands, the shell
  context and any key clai does not read.

An agent installed from the Hub and published again carries a `source`
stamp naming the target it came from, and its page says "based on" that
agent, with a link.

## Publish

Sign in, open **Share an agent**, pick a kind, and paste the file. The first
time, the form asks for your Hub handle: 2 to 39 lower-case letters, digits
and dashes, suggested from your GitHub login when you signed in with GitHub.
You choose it once, it is shown as the author of everything you publish, and
it is never given to anyone else, even after you delete your account.

A title of 1 to 80 characters is required. The name in the address is
optional: left blank, it comes from the title. The summary (at most 280
characters), the readme (at most 8 KiB) and the example run (what follows
`clai -prp cchub:<handle>/<name>`, one line, at most 300 characters) are
optional. An agent or an MCP server must be a JSON object.

Remove every secret first. The form refuses the common credential shapes
(`sk-`, `AKIA`, `ghp_`, `AIza`, `xox[baprs]-`), any key ending in `KEY`,
`TOKEN`, `SECRET` or `PASSWORD` with a value written beside it, and an MCP
`env` value of 20 or more characters with no space, since clai does not
expand variables inside `env`. Name a key with `envfile` or
`auth.token_env` instead. That check is a net, not a guarantee: a key in a
shape it does not know still reaches the page.

## Versions

The author publishes a new version from the agent's page. The kind and the
address stay; ratings and comments carry over, and each comment shows the
version it was written against. Every version keeps its own download link,
so a scheduled run can stay on the version you read:

```sh
curl -fsSL https://www.clai.chat/hub/<handle>/<name>/v/<n>/raw \
  -o "$(clai confdir)/profiles/<name>.json"
clai -p <name> q "Do your hourly run."
```

`/hub/<handle>/<name>/raw` always serves the newest version. The page's
**For scripts** line pins the version and adds its SHA-256,
`cchub:<handle>/<name>@<n>#sha256=<hex>`, so a run with no terminal to ask
in gets exactly the bytes you read. A link from before handles,
`/hub/<slug>/`, redirects to the agent's address. Read the file before you
use it. A shared agent can name commands, MCP servers and tool filters that
run on your machine with your keys.

## Rate and discuss

A signed-in reader rates an agent or config from one to five stars. One
account holds one rating per config, and a second vote replaces the first. An
author cannot rate their own.

Anyone signed in can comment, up to 2,000 characters and ten comments an
hour. A comment shows its writer's current rating beside it. The writer, the
author of the agent and an admin can remove a comment.

The list shows agents first; pick another kind, or **Everything**, above it.
It ranks by the mean with a prior of four three-star votes, so one five-star
rating does not outrank an agent with a history. Sort by newest to see what
arrived last, or by most discussed.

## Withdraw

The author can withdraw a config from its page. It then answers 404 to every
public read, every version's link included, and disappears from the author's
list and page. Deleting an account removes its configs, their versions and comments,
the comments it wrote, and every rating it gave or received.
