Skip to Content
DocsCloud OSSkill Marketplace

Community Marketplace

Browse community-published apps, skills, widgets, themes, and MCP plugins from a single gallery. Install in one click. Leave reviews. Verified authors publish through Control Center; every plan can browse, with per-category install caps on community.

Phase З.3 update. The single-category Phase Б.4 skill marketplace expanded into a unified gallery. The Skills tab now lives next to Apps, Widgets, Themes, and Plugins — each category has its own permission whitelist, install cap, and dispatch path on the OS side. Existing skill manifests authored before З.3 keep working: an empty kind field defaults to skills, and Phase Б.4 permission names are still on the whitelist.

This is the final instalment of Phase Б (AI as operational plane), alongside zero-shot provisioning, proactive Molly, and voice mode — extended in Phase З.3 to the multi-category gallery.

Categories

  • Apps — one-click templates for Docker, Compose, and Helm workloads.
  • Skills — AI skills that extend Molly with tools and workflows.
  • Widgets — dashboard widgets for the Cosmic shell.
  • Themes — UI themes, palettes, and animated backgrounds (no permissions allowed).
  • Plugins — MCP outbound plugins and external tool integrations.

Each category is gated by a per-category install cap on the community plan and an unlimited cap on Pro+. The CP-side moderator queue is shared across every category — flagged or pending items appear in /admin/marketplace/queue until a global admin approves or rejects them.

What you get

  • Skills → Browse tab — search, filter by category, sort by popularity / recent / rating.
  • Skill cards with author + verified badge, install count, 1-5 star rating, install button. Yellow ribbon on cards from unverified authors so you read the manifest before installing.
  • Skill detail drawer — slide-over with full description, manifest, permissions list, reviews. Install button verifies the Ed25519 manifest signature and SHA-256 of the package before unpacking.
  • Reviews + ratings — 1-5 stars with a body. Aggregate updates atomically on every review.
  • Pro+ publishing — verified authors publish through Control Center. Per-author Ed25519 keypair lives on CP and never leaves.

Installing a skill

  1. Open Skills in the OS dock.
  2. Click the Browse tab.
  3. Search for what you want, or pick a category. Sort by popularity / recent / rating.
  4. Click any card to open the detail drawer. Review the manifest, the permissions the skill is requesting, and the reviews from other users.
  5. Click Install. Quazzar:
    • Downloads the package from the CP-configured storage backend (S3 / R2 / local disk).
    • Verifies the SHA-256 of the package against the manifest’s package_sha256.
    • Verifies the Ed25519 signature on the manifest using the author’s public key (fetched from /api/v1/marketplace/keys/{author_id} and cached for 7 days).
    • Unpacks into ~/.quazzar/skills/<name>-<version>/ with directory-traversal protection.
    • Writes a marketplace.json source marker and registers the skill with the existing skill registry, marked source: "marketplace".

Sandbox limits enforced at install: the manifest’s permissions list maps to sandbox capabilities. The installer rejects on permission mismatch (e.g. a skill that asks for network when your tier doesn’t allow it).

Plans

TierBrowseInstallPublish
Free (Community)≤5 active
Prounlimited✅ (verified author required)
Team / Enterpriseunlimited✅ (verified author required)

Surfaced in /api/license/orbit-features as marketplace_install (always-on; cap enforced at install time) and marketplace_publish (Pro+ only).

Author verification

Verified-author status is set by Control Center. The current criteria:

  • Email + phone confirmed.
  • Paid plan ≥ Pro for ≥ 30 days.
  • Manual review for skills that request sensitive permissions (network, chat_inject).

A green check appears next to verified-author names everywhere they appear (cards + detail drawer + reviews). Unverified authors get a yellow “Unverified” ribbon — discoverable, but the user knows.

Trust + sandbox

  • Manifest signing: every published skill manifest is canonicalised (JSON with sorted keys, signature field excluded) and signed server-side at publish time using the author’s Ed25519 keypair. The keypair lives on CP and never leaves it. Authors cannot self-sign — CP is the issuance authority.
  • Package integrity: the installer fetches package_sha256 from the manifest and verifies the package bytes before unpacking. Mismatch → the install aborts with ErrSHAMismatch.
  • Sandbox: the existing internal/plugin/sandbox enforces CPU / RAM / network limits per skill. Permissions in the manifest map to sandbox capabilities; the installer rejects on permission mismatch.

API surface

Public (no auth required):

  • GET /api/v1/marketplace/skills — list with filters (q, category, sort, page, limit).
  • GET /api/v1/marketplace/skills/{name} — latest version with manifest.
  • GET /api/v1/marketplace/skills/{name}/versions/{version} — pinned version.
  • GET /api/v1/marketplace/skills/{name}/reviews — reviews list.
  • GET /api/v1/marketplace/skills/{name}/ratings — aggregate (cheap poll surface).
  • GET /api/v1/marketplace/keys/{author_id} — author Ed25519 public key (raw 32 bytes, base64 in JSON).

Authenticated:

  • POST /api/v1/marketplace/skills — publish (requires verified_author=true).
  • POST /api/v1/marketplace/skills/{name}/reviews — post a review (rating 1-5 + body).

Limitations & roadmap

  • No paid skills / revenue share — Pro+ later.
  • No auto-update channels — manual update only in MVP. Periodic update notifications come in v2.
  • No private skill registries — single canonical CP marketplace.
  • OS-side REST proxy not yet wired — the marketplace client + installer are constructed in main.go but a thin OS-side /api/skills/marketplace/... proxy that the frontend hooks talk to is a follow-up. The web hooks already call those paths so the swap is small.