Skip to Content
UI GuidePublishing Packages

Publishing Packages

The Nexora Marketplace  is open to anyone with an account — there is no separate publisher tier. Every registered user can both publish and install packages. This guide walks through creating an account, generating an API key for private package access, and publishing your first package.

The Marketplace runs as a standalone site (marketplace.nexora.parendum.com) with its own account system, separate from your Nexora instance login. You need to register there even if you already have a Nexora account.


Creating a Marketplace Account

  1. Go to marketplace.nexora.parendum.com/signup .
  2. Choose a username, enter your email, and set a password.
  3. Submit the form. You are logged in immediately — no email verification step.

Your public profile is available at /u/{username} and shows your published packages and liked packages.


Generating an API Key

Personal API keys (nmk_…) let your Nexora instance authenticate with the Marketplace when importing private packages. Public packages resolve without a key.

  1. In the Marketplace, go to Settings → API Keys.
  2. Click New Key and give it a name (e.g. “my-nexora-instance”).
  3. Copy the full key — it is shown once only. You can hold up to 10 keys and revoke any of them from this page.

The key prefix (nmk_) identifies it as a Marketplace personal key. Treat it like a password.


Connecting Your Nexora Instance

To allow your Nexora instance to install your private packages:

  1. In your Nexora instance, open Profile → API Keys.
  2. Paste your nmk_… key into the Marketplace API key field and save.

Your instance now attaches the key as a bearer token when importing packages, so private packages you own or have been granted access to resolve correctly.


Publishing a Package

Basic Info

Go to marketplace.nexora.parendum.com/publish .

Fill in the package metadata:

  • Name — 2 to 100 characters. The slug is auto-generated as slugify(name)-username.
  • Type — one of skill, tool, persona, or agent.
  • Description — up to 500 characters. Shown on the package card in browse results.
  • Icon — a single emoji displayed as the package avatar.
  • Tags — up to 10 lowercased tags used for filtering in the catalog.
  • Version — a version string (default 1.0.0). Shown on the detail page; no version history is kept.
  • Visibilitypublic (discoverable by everyone) or private (only you and users/groups you grant access).

Files

The Files step accepts the actual package contents as a {filename: content} map. These files are zipped on download.

Each package type has a default manifest template pre-filled in the UI:

TypeTypical files
skillskill.json (manifest), SKILL.md (instructions), executor.py (optional runner)
tooltool.json (manifest), TOOL.md (usage docs), executor.py (optional runner)
personapersona.json (manifest with system_prompt, tone, communication_style)
agentagent.json (manifest with soul/capabilities definition)

The backend does not enforce a per-type schema beyond the package_type field — the manifest JSON is freeform. Follow the template conventions to ensure your package is importable by Nexora instances.

Dependencies

Optionally declare other Marketplace packages that your package depends on. Enter each dependency by its slug (e.g. web-search-ivanc).

Declared dependencies are:

  • Resolved and shown on the package detail page as linked cards.
  • Emitted into a .nexora.deps file inside the download ZIP. Nexora’s auto-install reads this file to fetch and install dependencies alongside your package.

Readme

A markdown README rendered on the package detail page. Supports standard markdown including code fences, tables, and links.

Review and Publish

Review the package summary. Click Publish — the package goes live immediately. There is no moderation or approval queue; new packages are publicly visible (or privately accessible) as soon as you submit.

Your package page is at marketplace.nexora.parendum.com/p/{slug}.


Earning Reputation and Discoverability

A newly published package starts in the New tier with no track record. The Marketplace ranks browse results to favor reputable, trending packages, so a brand-new package is less discoverable at first — it is shown lower in browse results and is not eligible for the Featured surface.

This is by design, not a penalty. Your package is never hidden: anyone who searches for it by name will still find it immediately. As it earns community trust, it climbs the rankings and its trust tier improves.

Reputation grows from signals you build over time:

  • Likes and downloads — real adoption is the strongest signal.
  • Age and maturity — packages that stay useful over time gain standing.
  • Your publisher track record — your account age, your other packages, your total downloads, and verified-publisher status all help your packages start from a stronger position.

Unresolved abuse reports work against a package’s standing, so quality and good behavior compound.

To give a package the best start: write a clear README, use accurate tags and description, keep the package focused and working, and build a track record across your published packages. Encourage early users to like packages they find useful — engagement is what moves a package from New toward Established and Trusted.


Updating a Package

From a published package’s detail page, click Edit to open the edit view. You can update:

  • Name, description, icon, tags, version string
  • Files (replaces the existing file map)
  • Manifest JSON
  • Dependencies (by slug)
  • Readme
  • Visibility (public ↔ private)

Versioning is a single mutable string — there is no version history. Updating a package overwrites the current files and manifest in place. Nexora instances that installed an earlier version will not be automatically updated; users must re-import to get the latest files.


Private Packages and Access Control

Private packages are only resolvable by:

  • The author
  • Individual users explicitly granted access
  • Members of a group the package is shared with

Granting individual access

  1. Open your package’s Edit page and click the Access tab.
  2. Under Users, enter the username of the person you want to grant access and click Grant.
  3. To revoke, click Remove next to their entry.

Sharing with a group

Groups let you share packages with a defined set of users at once.

  1. Create a group in Settings → Groups: give it a name and invite members by username.
  2. On the Access tab of your package, under Groups, select the group and click Add.
  3. All current and future members of the group can now install your private package.

Group membership is managed from Settings → Groups. You can invite and remove members at any time; access updates immediately.


Importing a Package into Nexora

Once published, any Nexora instance can install your package via its Import Link:

  1. On your package’s detail page, click Copy Import Link. The link is:
    https://marketplace.nexora.parendum.com/api/packages/{slug}
  2. In your Nexora instance, paste the link into the Import URL field on the Skills, Tools, Personas, or Agents page and confirm.
  3. Your instance fetches the metadata and creates the corresponding skill, tool, persona, or agent in your organization.

For private packages, make sure the target instance has a Marketplace API key configured that belongs to a user with access (see Connecting Your Nexora Instance).

If a package has an elevated or high warning level (a new or low-track-record package), importing it shows a third-party disclaimer and an at-your-own-risk confirmation the importer must accept before the package is created — in both the web UI and the NexoraCLI terminal client. Trusted and standard packages import without the extra prompt. See Trust tiers and warnings.

Nexora instances import all four package types — skill, tool, persona, and agent. Importing an agent also auto-installs the leaf skill/tool/persona packages it declares as dependencies (nested agent dependencies are recorded but not recursively installed).


TopicPage
Browsing and installing packagesMarketplace
Skills in your instanceSkills
Tools in your instanceTools
Personas in your instancePersonas