XBlueSky

Cc Marketspec — Data skill for Claude Code

Data community

Headless data standard + deterministic generator for Claude Code plugin marketplaces — describe your marketplace as data, emit one render-agnostic manifest.json.

How to install Cc Marketspec

This entry records only its repository, not the path inside it, so there is no exact command to give. Open XBlueSky/cc-marketspec and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Cc Marketspec does

Headless data standard + deterministic generator for Claude Code plugin marketplaces — describe your marketplace as data, emit one render-agnostic manifest.json. Ships data, not design.

Alternatives in Data

  • HTML Video — Programmatic video for coding agents — HTML to video on your laptop 4.5k ★
  • Portaljs Add Dcat — Make a PortalJS portal harvestable by national/EU/US open-data portals — emit standards-compliant DCAT catalog 2.3k ★
  • Chart Design — Design a chart or data visualization — selects the right chart type, applies accessible color palettes, adds a 309 ★

README

cc-marketspec logo

cc-marketspec

[![npm version](https://img.shields.io/npm/v/@xbluesky/cc-marketspec.svg)](https://www.npmjs.com/package/@xbluesky/cc-marketspec) [![CI](https://github.com/XBlueSky/cc-marketspec/actions/workflows/ci.yml/badge.svg)](https://github.com/XBlueSky/cc-marketspec/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Node >=20](https://img.shields.io/node/v/@xbluesky/cc-marketspec.svg)](https://nodejs.org)

**[Live showcase site →](https://cc-marketspec.pages.dev)**

A **headless data standard + generator** for the *presentation* of a Claude Code plugin marketplace.

You describe a marketplace as data; `cc-marketspec` joins it with the native plugin manifests, derives what's already encoded there, validates, and emits a single **`.cc-marketspec/dist/manifest.json`** — a render-agnostic document any website can be built from. **It ships data, not design.** How the site looks is the consumer's.

Mental model: native layer vs presentation layer

  • Native (Claude Code defines): marketplace.json, plugin.json, .mcp.json, skills/*/SKILL.md · commands/*.md · agents/*.md frontmatter, hooks/hooks.json. Identity + structure. You maintain these anyway for the plugins to work.
  • Presentation (this standard): .cc-marketspec/catalog.yaml (marketplace-level) + .cc-marketspec/entries/plugin-.yaml (per plugin). Only what native can't express.

**Rule: presentation never restates native facts** — it references them or adds presentation value. The generator joins the two by marketplace plugin id, which must match the `plugin.json` name.

Canonical bundle

.claude-plugin/marketplace.json
.cc-marketspec/
├── .gitignore              # /dist/
├── catalog.yaml            # authored, schemaVersion: "1.1"
├── entries/
│   └── plugin-.yaml    # authored marketplac