Knowledge Islands plugin-marketplace standard
You are helping audit, conform, or scaffold a plugin-marketplace repo — a generated Claude plugin marketplace that carries the Knowledge Islands governance skills and agents onto the Claude Cowork surface. The reference instance is knowledgeislands/ki-plugins. It is one repo shape with one canonical layout, so a new one is scaffolded to it and an existing one is auditable against it. This skill carries that standard and the audit procedure.
The repo is a lossy, per-surface projection of the ki-agentic-harness (ADR-KI-HARNESS-002): the harness skills/ and agents/governance/ are the single source of truth, and the marketplace is generated from them — never hand-maintained. This skill audits only the declared on-disk projection shape; a PASS does not establish freshness, byte equality, generator execution, installation, enablement, or loaded runtime state. Generating the projection and enabling it on each surface are ki-binding's job; the repo's GitHub configuration, LICENSE, and standard files are ki-repo's; Markdown/TOML house style is ki-authoring's.
The full, quotable standard lives in the plugin-marketplace standard; the criteria live in the rubric. The native ki repo audit --skill ki-repo-plugins operation runs the mechanical structural checks. The exact repository tree and both manifest contracts are embedded here and in the standard, so this skill intentionally needs no separate exemplars file.
The canonical shape at a glance
ki-repo-plugins/ # a generated Claude plugin marketplace (NOT hand-edited)
├── .claude-plugin/
│ └── marketplace.json # marketplace manifest — exactly ONE plugin entry
├── knowledge-islands/ # the single plugin — the projection of the harness
│ ├── .claude-plugin/plugin.json # plugin manifest — name / version / description / author
│ ├── skills/<name>/ # every harness skill, copied VERBATIM (each carries a SKILL.md)
│ └── agents/<name>.md # governance agents, FLATTENED from harness agents/governance/
├── .ki.toml # declares [skills.ki-repo-plugins] (+ [skills.ki-repo]); NO TypeScript toolchain
├── CLAUDE.md README.md LICENSE .gitignore .editorconfig # repo scaffold — untouched by regen
Three rules define the shape — most audit findings are a violation of one:
- Projection, not source.
.claude-plugin/andknowledge-islands/are generated byte-for-byte byki-binding-claudethroughbun run ki:binding:build-plugin <repo>; re-running reproduces them exactly. Content is never edited here — you edit the harness source (skills/,agents/governance/) and regenerate. The repo scaffold (LICENSE,README.md,.ki.toml,.gitignore,CLAUDE.md) is owned by the repo and left untouched by regeneration. - Skills + agents only (v1). The plugin ships
skills/andagents/and no.mcp.json— the KI MCP servers are host-local and do not run in Cowork's gVisor sandbox, so they are deferred, not projected. - One marketplace, one plugin.
marketplace.jsonnames the marketplace (ki-repo-plugins) and lists exactly one plugin (knowledge-islands) whosesourceis./knowledge-islands;owner.nameand the plugin'sauthor.nameare bothKnowledge Islands, andplugin.json'sversiontracks the harnesspackage.jsonversion at generation time.
Operating modes
Every governance skill carries the universal four AUDIT · CONFORM · EDUCATE · REFRESH; EDUCATE here scaffolds a new marketplace repo. Invoked as help / -h / ?, it explains itself and stops — the generated HELP block (name, purpose, invocation, modes, off-ramps), taking no action. With no mode it does the same, then, in an interactive session only, offers the mode choice via AskUserQuestion, prompting for any argument-hint target the chosen mode shows.
Mode AUDIT
→ Read references/mode-audit.md
Mode CONFORM
→ Read references/mode-conform.md
Mode EDUCATE
→ Read references/mode-educate.md
Mode REFRESH
→ Read references/mode-refresh.md
Notes
- The projection is generated by
ki-binding-claude. The two skills share one boundary:ki-binding-claudeowns generation and Cowork enablement;ki-repo-pluginsowns the repo's on-disk shape. Neither re-checks the other's half. - The reference instance keeps a public-but-proprietary LICENSE (public visibility ≠ open licence), a deliberate divergence from
ki-repo's public-⇒-MIT default. It is documented in the repo's.ki.toml; do not silently flip it to MIT. - A stale projection (the on-disk skill/agent set lagging the harness) is the most common real finding and is never fixed by editing here — regenerate via
ki-binding-claude. - Full detail: the plugin-marketplace standard, the rubric, and the tracked source list.
- The native session is report-only: it never rewrites generated content, changes scaffold files, invokes the external generator, or publishes commands.