-
Notifications
You must be signed in to change notification settings - Fork 1
Register Agora in Claude Code
Agora is a self-hosted, curated Claude Code plugin marketplace. To use the plugins it indexes, you first add agora as a marketplace in Claude Code, then install plugins from it — including the agora plugin itself, which gives you the agora:run skill.
There are two ways to register agora:
- Path A — Add it in Claude Code (recommended): use the native plugin manager UI; no clone required.
-
Path B — Local bootstrap: clone the repo and run a setup script that registers a local-directory marketplace pointer and compiles
marketplace.json.
Note: Agora exposes exactly one skill,
agora:run. There are noagora:<verb>slash commands — you invokeagora:runand describe your intent in natural language. To get that skill, install theagoraplugin from the marketplace (Path A step 4).
Want to index your own plugins? This page covers adding the canonical
nitekeeper/agoramarketplace (which currently isn't accepting third-party plugins). To publish your own plugins, run your own Agora instance — see Run Your Own Agora.
Related pages: Home · Run Your Own Agora
In Claude Code, run the /plugin command. The slash menu labels it Manage Claude Code plugins. This opens the plugin manager.

Switch to the Marketplaces tab. The plugin manager has these tabs: Plugins, Discover, Installed, Marketplaces, and Errors. The Marketplaces tab shows Manage marketplaces, a + Add Marketplace entry, and any marketplaces you've already added.
The footer shows the available hotkeys: Enter to select · u to update · d to remove · Esc to go back.

Choose + Add Marketplace. In the Add Marketplace dialog, you'll see Enter marketplace source: with example formats (owner/repo (GitHub); git@github.com:owner/repo.git (SSH); https://example.com/marketplace.json; ./path/to/marketplace).
Type the agora source and press Enter:
https://github.com/nitekeeper/agora
The following forms are all accepted and resolve to the same marketplace:
https://github.com/nitekeeper/agora-
nitekeeper/agora(theowner/reposhort form) -
git@github.com:nitekeeper/agora.git(the SSH form)
The footer shows: Enter to add · Esc to cancel.

After adding, agora appears in the Marketplaces list. Now install plugins from it: open the Plugins or Discover tab, select an agora plugin, and install it.
To get the agora:run skill, install the agora plugin from the marketplace. (The agora plugin is itself indexed in the marketplace, so installing it is how a consumer obtains agora:run.) Installing and enabling the agora plugin is also what activates the session-start update available banner — see The update banner below.
Note: There is no screenshot for this install step — follow the on-screen tabs and prompts in the plugin manager.
Path B is for power users and contributors who want to register a checkout of agora as a local-directory marketplace pointer rather than a remote marketplace. Unlike Path A (which adds agora as a remote marketplace), the bootstrap points the marketplace at your local clone and compiles the artifact from your working tree.
Prerequisites — these scripts call the GitHub API, so all three must be present:
gitonPATHghCLI onPATHand authenticated (gh auth statusexits 0)- Python 3.11+ with
pip install -r requirements.txtappliedIf a dependency is missing, the scripts fail loudly with a remediation hint — they never silently degrade.
git clone https://github.com/nitekeeper/agora.gitFrom the agora repo root:
python3 scripts/setup.pysetup.py does exactly two things:
-
Registers the marketplace in
~/.claude/settings.json(writes anextraKnownMarketplaces.agoraentry pointing at your local agora checkout). A timestamped backup is created before any overwrite. -
Compiles
plugins.jsoninto.claude-plugin/marketplace.jsonso the artifact is fresh.
It does not install the update banner. The session-start "update available" banner is provided by the agora plugin's SessionStart hook (hooks/session_start.py), and it only runs once you install and enable the agora plugin in Claude Code — it is not a side effect of this bootstrap script. See The update banner.
setup.py is interactive by default (prompts Apply changes? [y/N]:). To skip the prompt:
python3 scripts/setup.py --yesThe script is idempotent — re-running it when agora is already registered prints No changes needed to ~/.claude/settings.json (agora already registered). and still runs a fresh compile.
When the script finishes it prints next steps:
- Restart Claude Code (or run
/reload-plugins). - Open the plugin manager (
/plugin) > Marketplaces > agora to browse plugins. - Install plugins from the UI.
Note: The script's own output prints
/plugins(plural) in step 2, but the actual command that opens the plugin manager is/plugin(singular) — the same command used in Path A and Verify.
The session-start update available banner is not installed by scripts/setup.py. It is part of the agora plugin itself: the plugin ships a SessionStart hook (hooks/session_start.py) that, on each session start, refreshes the local check cache and prints any plugins whose indexed version is behind the latest release.
To get the banner:
- Add the agora marketplace (Path A or Path B).
- Install and enable the agora plugin from the marketplace (Path A step 4).
Once the agora plugin is enabled, the banner appears automatically at the start of each session when updates are pending. You can refresh the cache on demand and apply upgrades by invoking agora:run and asking it to check for updates or to update a plugin.
Confirm agora is registered:
- Run
/plugin, open the Marketplaces tab, and check that agora appears in the list. - After installing a plugin, switch to the Installed tab to confirm it's present.
- If you installed the agora plugin, verify the
agora:runskill is available (invoke it and describe an intent, e.g. "list registered plugins").
The agora marketplace currently indexes four plugins: atelier, memex, agora (itself), and loom-agent-chat.
Marketplace doesn't appear after adding it.
Restart Claude Code or run /reload-plugins, then re-open /plugin and check the Marketplaces tab again. If you used Path B, this restart (or /reload-plugins) is what makes the new registration take effect.
Path B fails on a missing dependency or auth error.
The bootstrap calls the GitHub API, so it requires git, an authenticated gh CLI (gh auth status must exit 0), and Python 3.11+ with requirements.txt installed. The scripts fail loudly with a remediation hint — read the message and resolve the named dependency, then re-run python3 scripts/setup.py.
setup.py refuses to run with a JSON error.
If ~/.claude/settings.json exists but isn't valid JSON, setup.py stops with ~/.claude/settings.json is not valid JSON — fix manually before running setup. Fix the file's JSON, then re-run. (A missing or empty settings file is fine — it's treated as {}.)
The update banner never shows.
The banner comes from the agora plugin's SessionStart hook, not from the bootstrap. Make sure you have installed and enabled the agora plugin (Path A step 4), then restart Claude Code. The banner only appears when there are pending updates; invoke agora:run and ask it to refresh the update check.
Wiki for github.com/nitekeeper/agora — a self-hosted, curated Claude Code plugin marketplace.