Skip to content

Quick start

This guide walks you through running a local SkillsCtl registry server and connecting the CLI to it. The whole process takes about five minutes.

  • Go 1.21 or later (to run the server from source)
  • SkillsCtl CLI installed

Clone the repository if you haven’t already:

Terminal window
git clone https://github.com/nebari-dev/skillsctl.git
cd skillsctl

Start the server:

Terminal window
go run ./backend/cmd/server

You should see output like:

2026/03/18 10:00:00 auth disabled (no OIDC_ISSUER_URL)
2026/03/18 10:00:00 starting server on :8080 (db: skillsctl.db)

The server listens on port 8080. Leave this terminal open.

In a new terminal, hit the health endpoint:

Terminal window
curl localhost:8080/healthz

Expected response:

ok

Run the interactive setup:

Terminal window
skillsctl config init

The prompts ask for a server URL and skills directory. Accept the defaults by pressing Enter:

No configuration found. Let's set up skillsctl.
API URL [http://localhost:8080]:
Skills directory [/home/you/.claude/skills]:
Config saved to /home/you/.config/skillsctl/config.yaml

Verify the configuration was saved:

Terminal window
skillsctl config list
api_url: http://localhost:8080

List available skills (the local server starts empty):

Terminal window
skillsctl explore
No skills found.

That’s expected - you’re connected and ready to publish your first skill.

When the server starts without OIDC configuration, it runs in dev mode. In dev mode:

  • Authentication is disabled - no login required
  • All API operations are allowed without credentials
  • A default user identity is injected automatically for ownership tracking

Dev mode is useful for local development and evaluation. For production deployments, configure OIDC. See the server documentation for details.