---
title: The registry
description: noriskillsets.dev is the registry the client installs from — public and per-org private, versioned, searchable.
status: verified
sidebar:
  order: 3
---

The client installs skillsets from a **registry** —
[noriskillsets.dev](https://noriskillsets.dev) — a searchable catalog of
skillsets, skills, and subagents.

## Public and org registries

- The **public registry** at `noriskillsets.dev` hosts community and Nori
  skillsets. Any logged-in user can publish; new packages are moderated before
  they appear in search. Downloading from it needs no account.
- **Private org registries** live at `<org>.noriskillsets.dev` and require org
  membership. Reference their packages as `org/name`, or point a command at
  one with `--registry <url>`.

## Auth

`sks login` authenticates with email/password, Google SSO (`--google`), or an
org API token (`--token`); auth state is stored under the `auth` key of
`~/.nori-config.json`. In CI, set `NORI_API_TOKEN` instead — tokens are
self-describing (`nori_<org>_<64 hex>`), so the org registry URL is derived
from the token itself.

## Versioning

Packages are semver-versioned via `nori.json`. Pin a version with
`download <package>@<version>`; inspect what's available with
`--list-versions` on `download` or `upload`.

:::note
There is no `update` command. Updating is re-downloading: run `download`
again, or rely on `redownloadOnSwitch` (enabled by default), which refreshes a
skillset from the registry every time you switch to it.
:::

## Next steps

- [Publishing](/skillsets/guides/publishing/) — uploading, version bumps, and
  CI tokens
- [Commands](/skillsets/reference/commands/) — `download`, `upload`, `login`,
  and the rest
