Skip to content

Wire the marketplace ingest pipeline — six plugin cards are stale, one by 27 versions #476

Description

@orioltf

Problem

This repository is a registered source on the Unic AI Artefact Marketplace — unic-agents-plugins — and nothing has pushed to it since whoever registered it did so once by hand. There is no ci/map-to-envelope.mjs and no workflow that mentions the ingest endpoint.

The catalogue it serves colleagues is therefore stale. Measured 2026-09-07 by comparing each plugin.json against marketplace_search_artefacts:

plugin this repo marketplace
unic-archon-dlc 0.28.0 0.1.2 27 minor versions behind
unic-pr-review 2.1.12 2.1.9 3 patches behind
unic-spec-review 0.1.11 0.1.11 current
unic-confluence 3.0.0 3.0.0 current
auto-format 0.5.15 0.5.15 current
pr-review 1.4.0 1.4.0 current, deprecated

unic-archon-dlc is the sharp one: the card every Unic colleague sees advertises 0.1.2, from before the whole two-axis redesign.

What to do

Wire the pipeline the marketplace expects, per marketplace_get_contribution_guide section B:

  1. Generate an ingest token on the marketplace's detail page (owner-only, shown once, vpmk_…) and store it as the CI secret MARKETPLACE_INGEST_TOKEN.
  2. Copy the current mapper to ci/map-to-envelope.mjs from https://vp.unic.com/docs/marketplace/templates/map-to-envelope.mjs
  3. Add a workflow that maps and pushes the full set on each push to main. VP diffs it; re-runs are no-ops.
node ci/map-to-envelope.mjs <kind> . > body.json
curl -sS -f -X POST "https://infaz-prod-0-0-func-mktingest.azurewebsites.net/api/marketplace/ingest" \
  -H "X-VP-Token: $MARKETPLACE_INGEST_TOKEN" -H "Content-Type: application/json" --data-binary @body.json

A ready-made GitHub Action template is at https://vp.unic.com/docs/marketplace/templates/pipeline-github-action.yml

Two things to get right

provenance.author must survive. The templates send it with the push, and the guide is explicit that it is the only way the marketplace can say who changed an artefact — VP cannot resolve it afterwards. If the workflow is written by hand rather than copied, this is the field that gets dropped silently.

Push to the sidecar, not the hub. The VP hub is IP-locked; …func-mktingest… is the public ingest reachable from GitHub-hosted runners. A workflow pointed at the hub fails from CI and works from a laptop, which is the worst way to find out.

Scope

The six plugins only. All six are completeness: pointer today, which is correct for Claude Code plugins — the guide states they need no body because they are obtainable via /plugin install. Shipping their command markdown is optional.

Publishing a bare SKILL.md from this repository is a different matter and a different ticket, because a skill without its body leaves colleagues at this repo's login wall.

Acceptance criteria

Not written yet — hence needs-specs. Whoever writes them should decide what evidence counts: the marketplace card's own state line reads nothing registered · metadata only · whole skills n/total, and marketplace_search_artefacts returns the version per artefact, so "the card shows 0.28.0" is checkable by reading rather than by running anything.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    repoArea: monorepo-wide / cross-cutting workresolvedImplemented; ready for a PRtech-debtInternal restructuring; no behaviour change

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions